From af24d34127f8ccfe859cc23434ca73261e49d145 Mon Sep 17 00:00:00 2001
From: andrug <andrug@localhost>
Date: Wed, 02 Apr 2008 10:53:44 +0000
Subject: [PATCH] createFolder(): do not create folder if already exists

---
 opendj-sdk/opends/tests/system-tests/phases/shared/functions/stafcmd.xml |   69 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/opendj-sdk/opends/tests/system-tests/phases/shared/functions/stafcmd.xml b/opendj-sdk/opends/tests/system-tests/phases/shared/functions/stafcmd.xml
index 8178af6..0992780 100755
--- a/opendj-sdk/opends/tests/system-tests/phases/shared/functions/stafcmd.xml
+++ b/opendj-sdk/opends/tests/system-tests/phases/shared/functions/stafcmd.xml
@@ -508,36 +508,61 @@
     </function-map-args>
 
     <sequence>
+      <script>
+        cmdRC = 0
+      </script>
       <call function="'writeStartTagOperation'">
       { 'tagName' : 'createFolder',
         'fileFd'  : fileFd }
       </call>
-      <call function="'writeMessage'">
-        {
-          'content'  : 'Create directory %s on %s' % (foldername,location) ,
-          'fileFd'   : fileFd
-        }
+      
+      <call function="'isFile'">
+      {
+        'location' : location,
+        'fileName' : foldername
+      }
       </call>
-      
-      <stafcmd name="'STAF Command: Create Folder'">
-        <location>'%s' % location</location>
-        <service>'fs'</service>
-        <request>
-          'CREATE DIRECTORY %s FULLPATH' % foldername
-        </request>
-      </stafcmd>
-      
       <script>
-        cmdRC=RC
-        cmdResult=STAFResult
+        fileExist = STAXResult
       </script>
-      
-       <call function="'checkRC'">
-          { 'returncode' : cmdRC ,
-            'result'     : cmdResult ,
-            'fileFd'     : fileFd
+      <if expr="fileExist == TRUE">
+        <call function="'writeMessage'">
+          {
+            'content'  : '%s: Directory %s already exists, skip' %\
+                         (location,foldername),
+            'fileFd'   : fileFd
           }
-      </call>
+        </call>
+      <else>
+        <sequence>
+          <call function="'writeMessage'">
+            {
+              'content'  : 'Create directory %s on %s' % (foldername,location) ,
+              'fileFd'   : fileFd
+            }
+          </call>
+          <stafcmd name="'STAF Command: Create Folder'">
+            <location>'%s' % location</location>
+            <service>'fs'</service>
+            <request>
+              'CREATE DIRECTORY %s FULLPATH' % foldername
+            </request>
+          </stafcmd>
+          
+          <script>
+            cmdRC=RC
+            cmdResult=STAFResult
+          </script>
+          
+           <call function="'checkRC'">
+              { 'returncode' : cmdRC ,
+                'result'     : cmdResult ,
+                'fileFd'     : fileFd
+              }
+          </call>
+        </sequence>
+      </else>
+      </if>
       <call function="'writeEndTagOperation'">{'fileFd' : fileFd}</call>
       
       <return>cmdRC</return>

--
Gitblit v1.10.0