You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2013/07/18 10:08:06 UTC

svn commit: r1504384 - in /syncope/branches/1_1_X/core/src: main/java/org/apache/syncope/core/rest/controller/UserController.java test/java/org/apache/syncope/core/rest/UserTestITCase.java test/resources/content.xml

Author: mdisabatino
Date: Thu Jul 18 08:08:06 2013
New Revision: 1504384

URL: http://svn.apache.org/r1504384
Log:
SYNCOPE-402 Set propagation status to assigned resource when primary resource failed.

Modified:
    syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
    syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java
    syncope/branches/1_1_X/core/src/test/resources/content.xml

Modified: syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java?rev=1504384&r1=1504383&r2=1504384&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java (original)
+++ syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java Thu Jul 18 08:08:06 2013
@@ -41,6 +41,7 @@ import org.apache.syncope.common.types.A
 import org.apache.syncope.common.types.AuditElements.Category;
 import org.apache.syncope.common.types.AuditElements.Result;
 import org.apache.syncope.common.types.AuditElements.UserSubCategory;
+import org.apache.syncope.common.types.PropagationTaskExecStatus;
 import org.apache.syncope.common.types.ResourceOperation;
 import org.apache.syncope.core.audit.AuditManager;
 import org.apache.syncope.core.connid.ConnObjectUtil;
@@ -50,6 +51,7 @@ import org.apache.syncope.core.persisten
 import org.apache.syncope.core.persistence.dao.AttributableSearchDAO;
 import org.apache.syncope.core.persistence.dao.UserDAO;
 import org.apache.syncope.core.propagation.PropagationByResource;
+import org.apache.syncope.core.propagation.PropagationException;
 import org.apache.syncope.core.propagation.PropagationTaskExecutor;
 import org.apache.syncope.core.propagation.impl.DefaultPropagationHandler;
 import org.apache.syncope.core.propagation.impl.PropagationManager;
@@ -300,7 +302,12 @@ public class UserController {
                 created, userTO.getPassword(), userTO.getVirtualAttributes());
 
         final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
-        taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+        try {
+            taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+        } catch (PropagationException e) {
+            LOG.error("Error propagation primary resource", e);
+            completeWhenErroredPrimaryPropagation(propagations, tasks);
+        }
 
         notificationManager.createTasks(created.getResult().getKey(), created.getPerformedTasks());
 
@@ -354,8 +361,8 @@ public class UserController {
                 tasks.addAll(propagationManager.getUserUpdateTaskIds(
                         updated,
                         changedPwd,
-                        userMod.getVirtualAttributesToBeRemoved(), 
-                        userMod.getVirtualAttributesToBeUpdated(), 
+                        userMod.getVirtualAttributesToBeRemoved(),
+                        userMod.getVirtualAttributesToBeUpdated(),
                         toBeExcluded));
             }
 
@@ -367,10 +374,10 @@ public class UserController {
 
             if (!nonPwdPropByRes.isEmpty()) {
                 tasks.addAll(propagationManager.getUserUpdateTaskIds(
-                        updated, 
+                        updated,
                         null,
-                        userMod.getVirtualAttributesToBeRemoved(), 
-                        userMod.getVirtualAttributesToBeUpdated(), 
+                        userMod.getVirtualAttributesToBeRemoved(),
+                        userMod.getVirtualAttributesToBeUpdated(),
                         pwdResourceNames));
             }
 
@@ -378,7 +385,12 @@ public class UserController {
         }
 
         final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
-        taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+        try {
+            taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+        } catch (PropagationException e) {
+            LOG.error("Error propagation primary resource", e);
+            completeWhenErroredPrimaryPropagation(propagations, tasks);
+        }
 
         // 3. create notification tasks
         notificationManager.createTasks(updated.getResult().getKey(), updated.getPerformedTasks());
@@ -699,7 +711,14 @@ public class UserController {
         userTO.setId(userId);
 
         final List<PropagationStatusTO> propagations = new ArrayList<PropagationStatusTO>();
-        taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+
+        try {
+            taskExecutor.execute(tasks, new DefaultPropagationHandler(connObjectUtil, propagations));
+        } catch (PropagationException e) {
+            LOG.error("Error propagation primary resource", e);
+            completeWhenErroredPrimaryPropagation(propagations, tasks);
+        }
+
         userTO.setPropagationStatusTOs(propagations);
 
         uwfAdapter.delete(userId);
@@ -758,4 +777,32 @@ public class UserController {
 
         return res;
     }
+
+    private void completeWhenErroredPrimaryPropagation(
+            final List<PropagationStatusTO> propagations, final List<PropagationTask> tasks) {
+        
+        final String failedResource = propagations.get(propagations.size() - 1).getResource();
+        
+        LOG.debug("Propagation error: {} primary resource failed to propagate", failedResource);
+
+        for (PropagationTask propagationTask : tasks) {
+            if (!containsPropagationStatusTO(propagationTask.getResource().getName(), propagations)) {
+                final PropagationStatusTO propagationStatusTO = new PropagationStatusTO();
+                propagationStatusTO.setResource(propagationTask.getResource().getName());
+                propagationStatusTO.setStatus(PropagationTaskExecStatus.FAILURE);
+                propagationStatusTO.setExecutionMessage(
+                        "Propagation error: " + failedResource + " primary resource failed to propagate.");
+                propagations.add(propagationStatusTO);
+            }
+        }
+    }
+
+    private boolean containsPropagationStatusTO(final String resource, final List<PropagationStatusTO> propagations) {
+        for (PropagationStatusTO status : propagations) {
+            if (resource.equals(status.getResource())) {
+                return true;
+            }
+        }
+        return false;
+    }
 }

Modified: syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java?rev=1504384&r1=1504383&r2=1504384&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java (original)
+++ syncope/branches/1_1_X/core/src/test/java/org/apache/syncope/core/rest/UserTestITCase.java Thu Jul 18 08:08:06 2013
@@ -241,13 +241,8 @@ public class UserTestITCase extends Abst
         userMod.setPassword("newPassword");
         userMod.addResourceToBeAdded("ws-target-resource-1");
 
-        sce = null;
-        try {
-            userTO = userService.update(userMod.getId(), userMod);
-        } catch (SyncopeClientCompositeErrorException scce) {
-            sce = scce.getException(SyncopeClientExceptionType.Propagation);
-        }
-        assertNotNull(sce);
+        userTO = userService.update(userMod.getId(), userMod);
+        assertNotNull(userTO.getPropagationStatusTOs().get(0).getExecutionMessage());
 
         // 4. update assigning a resource NOT forcing mandatory constraints
         // BUT not primary: must succeed
@@ -1815,12 +1810,15 @@ public class UserTestITCase extends Abst
         assertNotNull(userTO);
     }
 
-    @Test(expected = SyncopeClientCompositeErrorException.class)
+    @Test
     public void issueSYNCOPE279() {
         UserTO userTO = getUniqueSampleTO("syncope279@apache.org");
         userTO.getResources().clear();
         userTO.addResource("ws-target-resource-timeout");
-        createUser(userTO);
+        userTO = createUser(userTO);
+        assertEquals("ws-target-resource-timeout", userTO.getPropagationStatusTOs().get(0).getResource());
+        assertNotNull(userTO.getPropagationStatusTOs().get(0).getExecutionMessage());
+        assertEquals(PropagationTaskExecStatus.UNSUBMITTED, userTO.getPropagationStatusTOs().get(0).getStatus());
     }
 
     @Test
@@ -1906,39 +1904,35 @@ public class UserTestITCase extends Abst
         pwdCipherAlgo.setValue("AES");
         configurationService.update(pwdCipherAlgo.getKey(), pwdCipherAlgo);
 
-        try {
-            // 3. create user with no resources
-            UserTO userTO = getUniqueSampleTO("syncope136_AES@apache.org");
-            userTO.getResources().clear();
+        // 3. create user with no resources
+        UserTO userTO = getUniqueSampleTO("syncope136_AES@apache.org");
+        userTO.getResources().clear();
 
-            userTO = userService.create(userTO).readEntity(UserTO.class);
-            assertNotNull(userTO);
+        userTO = userService.create(userTO).readEntity(UserTO.class);
+        assertNotNull(userTO);
 
-            // 4. update user, assign a propagation primary resource but don't provide any password
-            UserMod userMod = new UserMod();
-            userMod.setId(userTO.getId());
-            userMod.addResourceToBeAdded("ws-target-resource-1");
+        // 4. update user, assign a propagation primary resource but don't provide any password
+        UserMod userMod = new UserMod();
+        userMod.setId(userTO.getId());
+        userMod.addResourceToBeAdded("ws-target-resource-1");
 
-            userTO = userService.update(userMod.getId(), userMod);
-            assertNotNull(userTO);
+        userTO = userService.update(userMod.getId(), userMod);
+        assertNotNull(userTO);
 
-            // 5. verify that propagation was successful
-            List<PropagationStatusTO> props = userTO.getPropagationStatusTOs();
-            assertNotNull(props);
-            assertEquals(1, props.size());
-            PropagationStatusTO prop = props.iterator().next();
-            assertNotNull(prop);
-            assertEquals("ws-target-resource-1", prop.getResource());
-            assertEquals(PropagationTaskExecStatus.SUCCESS, prop.getStatus());
-        } catch (Exception e) {
-            LOG.error("Unexpected exception", e);
-        } finally {
-            // 6. restore initial cipher algorithm
-            pwdCipherAlgo.setValue(origpwdCipherAlgo);
-            configurationService.update(pwdCipherAlgo.getKey(), pwdCipherAlgo);
-        }
+        // 5. verify that propagation was successful
+        List<PropagationStatusTO> props = userTO.getPropagationStatusTOs();
+        assertNotNull(props);
+        assertEquals(1, props.size());
+        PropagationStatusTO prop = props.iterator().next();
+        assertNotNull(prop);
+        assertEquals("ws-target-resource-1", prop.getResource());
+        assertEquals(PropagationTaskExecStatus.SUBMITTED, prop.getStatus());
+        
+        // 6. restore initial cipher algorithm
+        pwdCipherAlgo.setValue(origpwdCipherAlgo);
+        configurationService.update(pwdCipherAlgo.getKey(), pwdCipherAlgo);
     }
-
+    
     @Test
     public void isseSYNCOPE136Random() {
         // 1. create user with no resources
@@ -2306,6 +2300,35 @@ public class UserTestITCase extends Abst
         assertEquals(2, toBeUpdated.getPropagationStatusTOs().size());
     }
 
+    @Test
+    public void issueSYNCOPE402() {
+        // 1. create an user with strict mandatory attributes only
+        UserTO userTO = new UserTO();
+        String userId = getUUIDString() + "syncope402@syncope.apache.org";
+        userTO.setUsername(userId);
+        userTO.setPassword("password");
+
+        userTO.addAttribute(attributeTO("userId", userId));
+        userTO.addAttribute(attributeTO("fullname", userId));
+        userTO.addAttribute(attributeTO("surname", userId));
+
+        userTO = createUser(userTO);
+        assertNotNull(userTO);
+        assertTrue(userTO.getResources().isEmpty());
+
+        //2. update assigning a resource NOT forcing mandatory constraints
+        // AND primary: must fail with PropagationException
+        UserMod userMod = new UserMod();
+        userMod.setId(userTO.getId());
+        userMod.setPassword("newPassword");
+        userMod.addResourceToBeAdded("ws-target-resource-1");
+        userMod.addResourceToBeAdded("resource-testdb");
+        userTO = userService.update(userMod.getId(), userMod);
+        assertEquals("ws-target-resource-1", userTO.getPropagationStatusTOs().get(1).getResource());
+        assertNotNull(userTO.getPropagationStatusTOs().get(1).getExecutionMessage());
+        assertEquals(PropagationTaskExecStatus.UNSUBMITTED, userTO.getPropagationStatusTOs().get(1).getStatus());
+    }
+
     private boolean getBooleanAttribute(ConnObjectTO connObjectTO, String attrName) {
         return Boolean.parseBoolean(getStringAttribute(connObjectTO, attrName));
     }

Modified: syncope/branches/1_1_X/core/src/test/resources/content.xml
URL: http://svn.apache.org/viewvc/syncope/branches/1_1_X/core/src/test/resources/content.xml?rev=1504384&r1=1504383&r2=1504384&view=diff
==============================================================================
--- syncope/branches/1_1_X/core/src/test/resources/content.xml (original)
+++ syncope/branches/1_1_X/core/src/test/resources/content.xml Thu Jul 18 08:08:06 2013
@@ -18,831 +18,837 @@ specific language governing permissions 
 under the License.
 -->
 <dataset>
-  <SyncopeConf confKey="password.cipher.algorithm" confValue="SHA1"/>
-  <SyncopeConf confKey="smtp.host" confValue="not-existing"/>
-  <SyncopeConf confKey="smtp.port" confValue="25"/>
-  <!-- notificationjob.cronExpression:
-  + not existing: NotificationJob runs according to Notification.DEFAULT_CRON_EXP
-  + provided as empty string: NotificationJob disabled
-  + provided as non-empty string: NotificationJob runs according to the given value -->
-  <SyncopeConf confKey="notificationjob.cronExpression" confValue=""/>
-  <SyncopeConf confKey="token.length" confValue="256"/>
-  <SyncopeConf confKey="token.expireTime" confValue="60"/>
-  <SyncopeConf confKey="createRequest.allowed" confValue="true"/>
-
-  <!-- sample policies -->
-  <Policy DTYPE="SyncPolicy" id="1" description="sync policy 1" type="GLOBAL_SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%2F%3E"/>
-  <Policy DTYPE="PasswordPolicy" id="2" description="global password policy" type="GLOBAL_PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E1%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E8%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Efalse%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Efalse%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Efalse%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Efalse%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Efalse%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Efalse%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWithN
 onAlpha%3Efalse%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
-  <Policy DTYPE="SyncPolicy" id="3" description="sync policy 2" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%3E%0A++%3CuAltSearchSchemas%3E%0A++++%3Cstring%3Eusername%3C%2Fstring%3E%0A++++%3Cstring%3Efirstname%3C%2Fstring%3E%0A++%3C%2FuAltSearchSchemas%3E%0A++%3CconflictResolutionAction%3EALL%3C%2FconflictResolutionAction%3E%0A%3C%2Forg.apache.syncope.common.types.SyncPolicySpec%3E"/>
-  <Policy DTYPE="PasswordPolicy" id="4" description="sample password policy" type="PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E0%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E10%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Efalse%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Etrue%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Efalse%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Efalse%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Efalse%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Efalse%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWithNonAlpha
 %3Efalse%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
-  <Policy DTYPE="AccountPolicy" id="5" description="global account policy" type="GLOBAL_ACCOUNT" specification="%3Corg.apache.syncope.common.types.AccountPolicySpec%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E0%3C%2FminLength%3E%0A++%3CallUpperCase%3Efalse%3C%2FallUpperCase%3E%0A++%3CallLowerCase%3Efalse%3C%2FallLowerCase%3E%0A++%3CpropagateSuspension%3Efalse%3C%2FpropagateSuspension%3E%0A++%3CpermittedLoginRetries%3E0%3C%2FpermittedLoginRetries%3E%0A%3C%2Forg.apache.syncope.common.types.AccountPolicySpec%3E"/>
-  <Policy DTYPE="AccountPolicy" id="6" description="sample account policy" type="ACCOUNT" specification="%3Corg.apache.syncope.common.types.AccountPolicySpec%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E4%3C%2FminLength%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A++%3CallUpperCase%3Efalse%3C%2FallUpperCase%3E%0A++%3CallLowerCase%3Efalse%3C%2FallLowerCase%3E%0A++%3CpropagateSuspension%3Efalse%3C%2FpropagateSuspension%3E%0A++%3CpermittedLoginRetries%3E3%3C%2FpermittedLoginRetries%3E%0A%3C%2Forg.apache.syncope.common.types.AccountPolicySpec%3E"/>
-  <Policy DTYPE="SyncPolicy" id="7" description="sync policy 1" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%2F%3E"/>
-  <Policy DTYPE="PasswordPolicy" id="8" description="sample password policy" type="PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E0%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E10%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Etrue%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Etrue%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Etrue%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Etrue%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Etrue%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Etrue%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWithNonAlpha%3Efa
 lse%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
-  <Policy DTYPE="SyncPolicy" id="9" description="sync policy for java rule" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%3E%0A++%3CconflictResolutionAction%3EIGNORE%3C/conflictResolutionAction%3E%0A%3C/org.apache.syncope.common.types.SyncPolicySpec%3E"/>
+    <SyncopeConf confKey="password.cipher.algorithm" confValue="SHA1"/>
+    <SyncopeConf confKey="smtp.host" confValue="not-existing"/>
+    <SyncopeConf confKey="smtp.port" confValue="25"/>
+    <!-- notificationjob.cronExpression:
+    + not existing: NotificationJob runs according to Notification.DEFAULT_CRON_EXP
+    + provided as empty string: NotificationJob disabled
+    + provided as non-empty string: NotificationJob runs according to the given value -->
+    <SyncopeConf confKey="notificationjob.cronExpression" confValue=""/>
+    <SyncopeConf confKey="token.length" confValue="256"/>
+    <SyncopeConf confKey="token.expireTime" confValue="60"/>
+    <SyncopeConf confKey="createRequest.allowed" confValue="true"/>
+
+    <!-- sample policies -->
+    <Policy DTYPE="SyncPolicy" id="1" description="sync policy 1" type="GLOBAL_SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%2F%3E"/>
+    <Policy DTYPE="PasswordPolicy" id="2" description="global password policy" type="GLOBAL_PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E1%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E8%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Efalse%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Efalse%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Efalse%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Efalse%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Efalse%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Efalse%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWit
 hNonAlpha%3Efalse%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
+    <Policy DTYPE="SyncPolicy" id="3" description="sync policy 2" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%3E%0A++%3CuAltSearchSchemas%3E%0A++++%3Cstring%3Eusername%3C%2Fstring%3E%0A++++%3Cstring%3Efirstname%3C%2Fstring%3E%0A++%3C%2FuAltSearchSchemas%3E%0A++%3CconflictResolutionAction%3EALL%3C%2FconflictResolutionAction%3E%0A%3C%2Forg.apache.syncope.common.types.SyncPolicySpec%3E"/>
+    <Policy DTYPE="PasswordPolicy" id="4" description="sample password policy" type="PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E0%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E10%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Efalse%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Etrue%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Efalse%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Efalse%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Efalse%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Efalse%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWithNonAlp
 ha%3Efalse%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
+    <Policy DTYPE="AccountPolicy" id="5" description="global account policy" type="GLOBAL_ACCOUNT" specification="%3Corg.apache.syncope.common.types.AccountPolicySpec%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E0%3C%2FminLength%3E%0A++%3CallUpperCase%3Efalse%3C%2FallUpperCase%3E%0A++%3CallLowerCase%3Efalse%3C%2FallLowerCase%3E%0A++%3CpropagateSuspension%3Efalse%3C%2FpropagateSuspension%3E%0A++%3CpermittedLoginRetries%3E0%3C%2FpermittedLoginRetries%3E%0A%3C%2Forg.apache.syncope.common.types.AccountPolicySpec%3E"/>
+    <Policy DTYPE="AccountPolicy" id="6" description="sample account policy" type="ACCOUNT" specification="%3Corg.apache.syncope.common.types.AccountPolicySpec%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E4%3C%2FminLength%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A++%3CallUpperCase%3Efalse%3C%2FallUpperCase%3E%0A++%3CallLowerCase%3Efalse%3C%2FallLowerCase%3E%0A++%3CpropagateSuspension%3Efalse%3C%2FpropagateSuspension%3E%0A++%3CpermittedLoginRetries%3E3%3C%2FpermittedLoginRetries%3E%0A%3C%2Forg.apache.syncope.common.types.AccountPolicySpec%3E"/>
+    <Policy DTYPE="SyncPolicy" id="7" description="sync policy 1" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%2F%3E"/>
+    <Policy DTYPE="PasswordPolicy" id="8" description="sample password policy" type="PASSWORD" specification="%3Corg.apache.syncope.common.types.PasswordPolicySpec%3E%0A++%3ChistoryLength%3E0%3C%2FhistoryLength%3E%0A++%3CmaxLength%3E0%3C%2FmaxLength%3E%0A++%3CminLength%3E10%3C%2FminLength%3E%0A++%3CnonAlphanumericRequired%3Etrue%3C%2FnonAlphanumericRequired%3E%0A++%3CalphanumericRequired%3Efalse%3C%2FalphanumericRequired%3E%0A++%3CdigitRequired%3Etrue%3C%2FdigitRequired%3E%0A++%3ClowercaseRequired%3Etrue%3C%2FlowercaseRequired%3E%0A++%3CuppercaseRequired%3Etrue%3C%2FuppercaseRequired%3E%0A++%3CmustStartWithDigit%3Etrue%3C%2FmustStartWithDigit%3E%0A++%3CmustntStartWithDigit%3Efalse%3C%2FmustntStartWithDigit%3E%0A++%3CmustEndWithDigit%3Etrue%3C%2FmustEndWithDigit%3E%0A++%3CmustntEndWithDigit%3Efalse%3C%2FmustntEndWithDigit%3E%0A++%3CmustStartWithNonAlpha%3Efalse%3C%2FmustStartWithNonAlpha%3E%0A++%3CmustStartWithAlpha%3Efalse%3C%2FmustStartWithAlpha%3E%0A++%3CmustntStartWithNonAlpha%3E
 false%3C%2FmustntStartWithNonAlpha%3E%0A++%3CmustntStartWithAlpha%3Efalse%3C%2FmustntStartWithAlpha%3E%0A++%3CmustEndWithNonAlpha%3Efalse%3C%2FmustEndWithNonAlpha%3E%0A++%3CmustEndWithAlpha%3Efalse%3C%2FmustEndWithAlpha%3E%0A++%3CmustntEndWithNonAlpha%3Efalse%3C%2FmustntEndWithNonAlpha%3E%0A++%3CmustntEndWithAlpha%3Efalse%3C%2FmustntEndWithAlpha%3E%0A++%3CprefixesNotPermitted%3E%0A++++%3Cstring%3Enotpermitted1%3C%2Fstring%3E%0A++++%3Cstring%3Enotpermitted2%3C%2Fstring%3E%0A++%3C%2FprefixesNotPermitted%3E%0A%3C%2Forg.apache.syncope.common.types.PasswordPolicySpec%3E"/>
+    <Policy DTYPE="SyncPolicy" id="9" description="sync policy for java rule" type="SYNC" specification="%3Corg.apache.syncope.common.types.SyncPolicySpec%3E%0A++%3CconflictResolutionAction%3EIGNORE%3C/conflictResolutionAction%3E%0A%3C/org.apache.syncope.common.types.SyncPolicySpec%3E"/>
     
-  <SyncopeUser id="1" workflowId="4" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
+    <SyncopeUser id="1" workflowId="4" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
                username="rossini" creationDate="2010-10-20 11:00:00" suspended="0"/>
-  <SyncopeUser id="2" workflowId="6" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
+    <SyncopeUser id="2" workflowId="6" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
                username="verdi" creationDate="2010-10-20 11:00:00" suspended="0"/>
-  <SyncopeUser id="3" workflowId="8" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
+    <SyncopeUser id="3" workflowId="8" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
                username="vivaldi" creationDate="2010-10-20 11:00:00" suspended="0"/>
-  <SyncopeUser id="4" workflowId="10" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
+    <SyncopeUser id="4" workflowId="10" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
                username="bellini" creationDate="2010-10-20 11:00:00" suspended="0"/>
-  <SyncopeUser id="5" workflowId="12" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
+    <SyncopeUser id="5" workflowId="12" status="active" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" cipherAlgorithm="SHA1"
                username="puccini" creationDate="2010-10-20 11:00:00" suspended="0"/>
 
-  <SyncopeRole id="1" name="root"/>
-  <SyncopeRole id="2" name="child" parent_id="1"/>
-  <SyncopeRole id="3" name="citizen"/>
-  <SyncopeRole id="4" name="employee" parent_id="3"/>
-  <SyncopeRole id="5" name="secretary" parent_id="4"/>
-  <SyncopeRole id="6"
+    <SyncopeRole id="1" name="root"/>
+    <SyncopeRole id="2" name="child" parent_id="1"/>
+    <SyncopeRole id="3" name="citizen"/>
+    <SyncopeRole id="4" name="employee" parent_id="3"/>
+    <SyncopeRole id="5" name="secretary" parent_id="4"/>
+    <SyncopeRole id="6"
                name="director" parent_id="4" userOwner_id="5"
                inheritAttributes="1" inheritDerivedAttributes="1" inheritVirtualAttributes="1"
                inheritPasswordPolicy="0" inheritAccountPolicy="0"
                passwordPolicy_id="4"
                accountPolicy_id="6"/>
-  <SyncopeRole id="7"
+    <SyncopeRole id="7"
                name="managingDirector" parent_id="6"
                inheritAttributes="1" inheritDerivedAttributes="1" inheritVirtualAttributes="1"
                inheritPasswordPolicy="1" inheritAccountPolicy="1" inheritOwner="1"/>
-  <SyncopeRole id="8"
+    <SyncopeRole id="8"
                name="otherchild" parent_id="1"
                inheritVirtualAttributes="1"
                passwordPolicy_id="4"/>
-  <SyncopeRole id="9" name="roleForWorkflowApproval" parent_id="1"/>
-  <SyncopeRole id="10"
+    <SyncopeRole id="9" name="roleForWorkflowApproval" parent_id="1"/>
+    <SyncopeRole id="10"
                name="managingConsultant" parent_id="6"
                inheritAttributes="1" inheritDerivedAttributes="1" inheritVirtualAttributes="1"
                inheritPasswordPolicy="1" inheritAccountPolicy="1" inheritOwner="0"/>
-  <SyncopeRole id="11" name="roleForWorkflowOptIn" parent_id="1"/>
-  <SyncopeRole id="12" name="aRoleForPropagation" parent_id="1"/>
-  <SyncopeRole id="13" name="bRoleForPropagation" parent_id="1"/>
-  <SyncopeRole id="14"
+    <SyncopeRole id="11" name="roleForWorkflowOptIn" parent_id="1"/>
+    <SyncopeRole id="12" name="aRoleForPropagation" parent_id="1"/>
+    <SyncopeRole id="13" name="bRoleForPropagation" parent_id="1"/>
+    <SyncopeRole id="14"
                name="artDirector" parent_id="4"
                inheritAttributes="1" inheritDerivedAttributes="1" inheritVirtualAttributes="1"
                inheritPasswordPolicy="0" inheritAccountPolicy="0"
                passwordPolicy_id="8"
                accountPolicy_id="6"/>
 
-  <Membership id="1" syncopeUser_id="1" syncopeRole_id="1"/>
-  <Membership id="2" syncopeUser_id="2" syncopeRole_id="1"/>
-  <Membership id="3" syncopeUser_id="2" syncopeRole_id="2"/>
-  <Membership id="4" syncopeUser_id="4" syncopeRole_id="7"/>
-  <Membership id="5" syncopeUser_id="1" syncopeRole_id="8"/>
-  <Membership id="6" syncopeUser_id="2" syncopeRole_id="3"/>
-  <Membership id="7" syncopeUser_id="5" syncopeRole_id="14"/>
+    <Membership id="1" syncopeUser_id="1" syncopeRole_id="1"/>
+    <Membership id="2" syncopeUser_id="2" syncopeRole_id="1"/>
+    <Membership id="3" syncopeUser_id="2" syncopeRole_id="2"/>
+    <Membership id="4" syncopeUser_id="4" syncopeRole_id="7"/>
+    <Membership id="5" syncopeUser_id="1" syncopeRole_id="8"/>
+    <Membership id="6" syncopeUser_id="2" syncopeRole_id="3"/>
+    <Membership id="7" syncopeUser_id="5" syncopeRole_id="14"/>
 
-  <USchema name="fullname" type="String"
+    <USchema name="fullname" type="String"
            mandatoryCondition="true" multivalue="0" uniqueConstraint="1" readonly="0"/>
-  <USchema name="userId" type="String"
+    <USchema name="userId" type="String"
            mandatoryCondition="true" multivalue="0" uniqueConstraint="1" readonly="0"
            validatorClass="org.apache.syncope.core.persistence.validation.attrvalue.EmailAddressValidator"/>
-  <USchema name="loginDate" type="Date"
+    <USchema name="loginDate" type="Date"
            mandatoryCondition="false" multivalue="1" uniqueConstraint="0" readonly="0"
            conversionPattern="yyyy-MM-dd"/>
-  <USchema name="firstname" type="String"
+    <USchema name="firstname" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
-  <USchema name="surname" type="String"
+    <USchema name="surname" type="String"
            mandatoryCondition="true" multivalue="0" uniqueConstraint="0" readonly="0"/>
-  <USchema name="type" type="String"
+    <USchema name="type" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
-  <USchema name="email" type="String"
+    <USchema name="email" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"
            validatorClass="org.apache.syncope.core.persistence.validation.attrvalue.EmailAddressValidator"/>
-  <USchema name="activationDate" type="Date"
+    <USchema name="activationDate" type="Date"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"
            conversionPattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
-  <USchema name="uselessReadonly" type="String"
+    <USchema name="uselessReadonly" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="1"/>
-  <USchema name="cool" type="Boolean"
+    <USchema name="cool" type="Boolean"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
-  <USchema name="gender" type="Enum"
+    <USchema name="gender" type="Enum"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"
            enumerationValues="M;F"/>
-  <USchema name="aLong" type="Long"
+    <USchema name="aLong" type="Long"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
 
-  <UDerSchema name="csvuserid" expression="firstname + ',' + surname"/>
+    <UDerSchema name="csvuserid" expression="firstname + ',' + surname"/>
 
-  <RSchema name="icon" type="String"
+    <RSchema name="icon" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
                 
-  <RSchema name="show" type="Boolean"
+    <RSchema name="show" type="Boolean"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
 
-  <RSchema name="rderived_sx" type="String"
+    <RSchema name="rderived_sx" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
 
-  <RSchema name="rderived_dx" type="String"
+    <RSchema name="rderived_dx" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
            
-  <RSchema name="title" type="String"
+    <RSchema name="title" type="String"
            mandatoryCondition="false" multivalue="1" uniqueConstraint="0" readonly="0"/>
 
-  <MSchema name="subscriptionDate" type="Date"
+    <MSchema name="subscriptionDate" type="Date"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"
            conversionPattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
 
-  <MSchema name="mderived_sx" type="String"
+    <MSchema name="mderived_sx" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
 
-  <MSchema name="mderived_dx" type="String"
+    <MSchema name="mderived_dx" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
            
-  <MSchema name="postalAddress" type="String"
+    <MSchema name="postalAddress" type="String"
            mandatoryCondition="false" multivalue="0" uniqueConstraint="0" readonly="0"/>
 
-  <UAttr id="99" owner_id="1" schema_name="type"/>
-  <UAttrValue id="9" attribute_id="99" stringValue="G"/>
-  <UAttr id="100" owner_id="1" schema_name="fullname"/>
-  <UAttrUniqueValue id="10" attribute_id="100" schema_name="fullname" stringValue="Gioacchino Rossini"/>
-  <UAttr id="101" owner_id="1" schema_name="firstname"/>
-  <UAttrValue id="11" attribute_id="101" stringValue="Gioacchino"/>
-  <UAttr id="102" owner_id="1" schema_name="surname"/>
-  <UAttrValue id="12" attribute_id="102" stringValue="Rossini"/>
-  <UAttr id="103" owner_id="1" schema_name="userId"/>
-  <UAttrUniqueValue id="13" attribute_id="103" schema_name="userId" stringValue="rossini@apache.org"/>
-  <UAttr id="104" owner_id="1" schema_name="loginDate"/>
-  <UAttrValue id="14" attribute_id="104" dateValue="2009-05-26"/>
-  <UAttrValue id="15" attribute_id="104" dateValue="2010-05-26 15:40:04"/>
-
-  <UAttr id="105" owner_id="2" schema_name="fullname"/>
-  <UAttrUniqueValue id="16" attribute_id="105" schema_name="fullname" stringValue="Giuseppe Verdi"/>
-  <UAttr id="106" owner_id="2" schema_name="firstname"/>
-  <UAttrValue id="17" attribute_id="106" stringValue="Giuseppe"/>
-  <UAttr id="107" owner_id="2" schema_name="surname"/>
-  <UAttrValue id="18" attribute_id="107" stringValue="Verdi"/>
-  <UAttr id="108" owner_id="2" schema_name="userId"/>
-  <UAttrUniqueValue id="19" attribute_id="108" schema_name="userId" stringValue="verdi@apache.org"/>
-
-  <UAttr id="109" owner_id="3" schema_name="firstname"/>
-  <UAttrValue id="20" attribute_id="109" stringValue="Antonio"/>
-  <UAttr id="110" owner_id="3" schema_name="surname"/>
-  <UAttrValue id="21" attribute_id="110" stringValue="Vivaldi"/>
-  <UAttr id="111" owner_id="3" schema_name="fullname"/>
-  <UAttrUniqueValue id="22" attribute_id="111" schema_name="fullname" stringValue="Antonio Vivaldi"/>
-  <UAttr id="112" owner_id="3" schema_name="userId"/>
-  <UAttrUniqueValue id="23" attribute_id="112" schema_name="userId" stringValue="vivaldi@apache.org"/>
-
-  <UAttr id="113" owner_id="4" schema_name="firstname"/>
-  <UAttrValue id="24" attribute_id="113" stringValue="Vincenzo"/>
-  <UAttr id="114" owner_id="4" schema_name="surname"/>
-  <UAttrValue id="25" attribute_id="114" stringValue="Bellini"/>
-  <UAttr id="115" owner_id="4" schema_name="fullname"/>
-  <UAttrUniqueValue id="26" attribute_id="115" schema_name="fullname" stringValue="Vincenzo Bellini"/>
-  <UAttr id="116" owner_id="4" schema_name="userId"/>
-  <UAttrUniqueValue id="27" attribute_id="116" schema_name="userId" stringValue="bellini@apache.org"/>
-  <UAttr id="117" owner_id="4" schema_name="loginDate"/>
-  <UAttrValue id="28" attribute_id="117" dateValue="2009-06-24"/>
-  <UAttr id="118" owner_id="4" schema_name="cool"/>
-  <UAttrValue id="29" attribute_id="118" booleanValue="1"/>
-  <UAttr id="119" owner_id="4" schema_name="gender"/>
-  <UAttrValue id="30" attribute_id="119" stringValue="M"/>
-  
-  <UAttr id="120" owner_id="5" schema_name="firstname"/>
-  <UAttrValue id="31" attribute_id="120" stringValue="Giacomo"/>
-  <UAttr id="121" owner_id="5" schema_name="surname"/>
-  <UAttrValue id="32" attribute_id="121" stringValue="Puccini"/>
-  <UAttr id="122" owner_id="5" schema_name="fullname"/>
-  <UAttrUniqueValue id="33" attribute_id="122" schema_name="fullname" stringValue="Giacomo Puccini"/>
-  <UAttr id="123" owner_id="5" schema_name="userId"/>
-  <UAttrUniqueValue id="34" attribute_id="123" schema_name="userId" stringValue="puccini@apache.org"/>
-  
-  <UAttr id="124" owner_id="2" schema_name="email"/>
-  <UAttrValue id="35" attribute_id="124" stringValue="verdi@syncope.org"/>
-  <UAttr id="125" owner_id="3" schema_name="email"/>
-  <UAttrValue id="36" attribute_id="125" stringValue="vivaldi@syncope.org"/>
-  <UAttr id="126" owner_id="3" schema_name="type"/>
-  <UAttrValue id="37" attribute_id="126" stringValue="F"/>
+    <UAttr id="99" owner_id="1" schema_name="type"/>
+    <UAttrValue id="9" attribute_id="99" stringValue="G"/>
+    <UAttr id="100" owner_id="1" schema_name="fullname"/>
+    <UAttrUniqueValue id="10" attribute_id="100" schema_name="fullname" stringValue="Gioacchino Rossini"/>
+    <UAttr id="101" owner_id="1" schema_name="firstname"/>
+    <UAttrValue id="11" attribute_id="101" stringValue="Gioacchino"/>
+    <UAttr id="102" owner_id="1" schema_name="surname"/>
+    <UAttrValue id="12" attribute_id="102" stringValue="Rossini"/>
+    <UAttr id="103" owner_id="1" schema_name="userId"/>
+    <UAttrUniqueValue id="13" attribute_id="103" schema_name="userId" stringValue="rossini@apache.org"/>
+    <UAttr id="104" owner_id="1" schema_name="loginDate"/>
+    <UAttrValue id="14" attribute_id="104" dateValue="2009-05-26"/>
+    <UAttrValue id="15" attribute_id="104" dateValue="2010-05-26 15:40:04"/>
+
+    <UAttr id="105" owner_id="2" schema_name="fullname"/>
+    <UAttrUniqueValue id="16" attribute_id="105" schema_name="fullname" stringValue="Giuseppe Verdi"/>
+    <UAttr id="106" owner_id="2" schema_name="firstname"/>
+    <UAttrValue id="17" attribute_id="106" stringValue="Giuseppe"/>
+    <UAttr id="107" owner_id="2" schema_name="surname"/>
+    <UAttrValue id="18" attribute_id="107" stringValue="Verdi"/>
+    <UAttr id="108" owner_id="2" schema_name="userId"/>
+    <UAttrUniqueValue id="19" attribute_id="108" schema_name="userId" stringValue="verdi@apache.org"/>
+
+    <UAttr id="109" owner_id="3" schema_name="firstname"/>
+    <UAttrValue id="20" attribute_id="109" stringValue="Antonio"/>
+    <UAttr id="110" owner_id="3" schema_name="surname"/>
+    <UAttrValue id="21" attribute_id="110" stringValue="Vivaldi"/>
+    <UAttr id="111" owner_id="3" schema_name="fullname"/>
+    <UAttrUniqueValue id="22" attribute_id="111" schema_name="fullname" stringValue="Antonio Vivaldi"/>
+    <UAttr id="112" owner_id="3" schema_name="userId"/>
+    <UAttrUniqueValue id="23" attribute_id="112" schema_name="userId" stringValue="vivaldi@apache.org"/>
+
+    <UAttr id="113" owner_id="4" schema_name="firstname"/>
+    <UAttrValue id="24" attribute_id="113" stringValue="Vincenzo"/>
+    <UAttr id="114" owner_id="4" schema_name="surname"/>
+    <UAttrValue id="25" attribute_id="114" stringValue="Bellini"/>
+    <UAttr id="115" owner_id="4" schema_name="fullname"/>
+    <UAttrUniqueValue id="26" attribute_id="115" schema_name="fullname" stringValue="Vincenzo Bellini"/>
+    <UAttr id="116" owner_id="4" schema_name="userId"/>
+    <UAttrUniqueValue id="27" attribute_id="116" schema_name="userId" stringValue="bellini@apache.org"/>
+    <UAttr id="117" owner_id="4" schema_name="loginDate"/>
+    <UAttrValue id="28" attribute_id="117" dateValue="2009-06-24"/>
+    <UAttr id="118" owner_id="4" schema_name="cool"/>
+    <UAttrValue id="29" attribute_id="118" booleanValue="1"/>
+    <UAttr id="119" owner_id="4" schema_name="gender"/>
+    <UAttrValue id="30" attribute_id="119" stringValue="M"/>
+  
+    <UAttr id="120" owner_id="5" schema_name="firstname"/>
+    <UAttrValue id="31" attribute_id="120" stringValue="Giacomo"/>
+    <UAttr id="121" owner_id="5" schema_name="surname"/>
+    <UAttrValue id="32" attribute_id="121" stringValue="Puccini"/>
+    <UAttr id="122" owner_id="5" schema_name="fullname"/>
+    <UAttrUniqueValue id="33" attribute_id="122" schema_name="fullname" stringValue="Giacomo Puccini"/>
+    <UAttr id="123" owner_id="5" schema_name="userId"/>
+    <UAttrUniqueValue id="34" attribute_id="123" schema_name="userId" stringValue="puccini@apache.org"/>
+  
+    <UAttr id="124" owner_id="2" schema_name="email"/>
+    <UAttrValue id="35" attribute_id="124" stringValue="verdi@syncope.org"/>
+    <UAttr id="125" owner_id="3" schema_name="email"/>
+    <UAttrValue id="36" attribute_id="125" stringValue="vivaldi@syncope.org"/>
+    <UAttr id="126" owner_id="3" schema_name="type"/>
+    <UAttrValue id="37" attribute_id="126" stringValue="F"/>
     
-  <RAttr id="600" owner_id="1" schema_name="icon"/>
-  <RAttr id="700" owner_id="2" schema_name="icon"/>
-  <RAttr id="800" owner_id="1" schema_name="show"/>
-  <RAttr id="900" owner_id="6" schema_name="icon"/>
-  <RAttr id="950" owner_id="4" schema_name="icon"/>
-
-  <RAttrValue attribute_id="600" id="40" stringValue="niceIcon"/>
-  <RAttrValue attribute_id="700" id="41" stringValue="badIcon"/>
-  <RAttrValue attribute_id="800" id="42" booleanValue="1"/>
-  <RAttrValue attribute_id="900" id="43" stringValue="icon6"/>
-  <RAttrValue attribute_id="950" id="44" stringValue="icon4"/>
+    <RAttr id="600" owner_id="1" schema_name="icon"/>
+    <RAttr id="700" owner_id="2" schema_name="icon"/>
+    <RAttr id="800" owner_id="1" schema_name="show"/>
+    <RAttr id="900" owner_id="6" schema_name="icon"/>
+    <RAttr id="950" owner_id="4" schema_name="icon"/>
+
+    <RAttrValue attribute_id="600" id="40" stringValue="niceIcon"/>
+    <RAttrValue attribute_id="700" id="41" stringValue="badIcon"/>
+    <RAttrValue attribute_id="800" id="42" booleanValue="1"/>
+    <RAttrValue attribute_id="900" id="43" stringValue="icon6"/>
+    <RAttrValue attribute_id="950" id="44" stringValue="icon4"/>
 
-  <RAttr id="992" owner_id="1" schema_name="rderived_sx"/>
-  <RAttrValue attribute_id="992" id="92" stringValue="sx"/>
+    <RAttr id="992" owner_id="1" schema_name="rderived_sx"/>
+    <RAttrValue attribute_id="992" id="92" stringValue="sx"/>
 
-  <RAttr id="993" owner_id="1" schema_name="rderived_dx"/>
-  <RAttrValue attribute_id="993" id="93" stringValue="dx"/>
+    <RAttr id="993" owner_id="1" schema_name="rderived_dx"/>
+    <RAttrValue attribute_id="993" id="93" stringValue="dx"/>
 
-  <RDerSchema name="rderiveddata" expression="rderived_sx + '-' + rderived_dx"/>
-  <RDerAttr id="1000" derivedSchema_name="rderiveddata" owner_id="1"/>
+    <RDerSchema name="rderiveddata" expression="rderived_sx + '-' + rderived_dx"/>
+    <RDerAttr id="1000" derivedSchema_name="rderiveddata" owner_id="1"/>
     
-  <RDerSchema name="displayProperty" expression="icon + ': ' + show"/>
+    <RDerSchema name="displayProperty" expression="icon + ': ' + show"/>
 
-  <RDerAttr id="1001" derivedSchema_name="displayProperty" owner_id="1"/>
-  <RDerAttr id="1002" derivedSchema_name="displayProperty" owner_id="4"/>
+    <RDerAttr id="1001" derivedSchema_name="displayProperty" owner_id="1"/>
+    <RDerAttr id="1002" derivedSchema_name="displayProperty" owner_id="4"/>
 
-  <RDerSchema name="rderToBePropagated" expression="rderived_sx + '-' + rderived_dx"/>
-  <RDerAttr id="1003" derivedSchema_name="rderToBePropagated" owner_id="1"/>
+    <RDerSchema name="rderToBePropagated" expression="rderived_sx + '-' + rderived_dx"/>
+    <RDerAttr id="1003" derivedSchema_name="rderToBePropagated" owner_id="1"/>
     
-  <!-- rderiveddata is used to verify der schema deletion -->
-  <RDerSchema name="rderivedschema" expression="rderived_sx + '-' + rderived_dx"/>
+    <!-- rderiveddata is used to verify der schema deletion -->
+    <RDerSchema name="rderivedschema" expression="rderived_sx + '-' + rderived_dx"/>
 
-  <RAttr id="994" owner_id="12" schema_name="title"/>
-  <RAttrValue attribute_id="994" id="94" stringValue="r12"/>
+    <RAttr id="994" owner_id="12" schema_name="title"/>
+    <RAttrValue attribute_id="994" id="94" stringValue="r12"/>
   
-  <RAttr id="995" owner_id="13" schema_name="title"/>
-  <RAttrValue attribute_id="995" id="95" stringValue="r13"/>
+    <RAttr id="995" owner_id="13" schema_name="title"/>
+    <RAttrValue attribute_id="995" id="95" stringValue="r13"/>
 
-  <MAttr id="100" owner_id="4" schema_name="subscriptionDate"/>
+    <MAttr id="100" owner_id="4" schema_name="subscriptionDate"/>
 
-  <MAttrValue attribute_id="100" id="90" dateValue="2009-05-26"/>
-  <MAttrValue attribute_id="100" id="91" dateValue="2010-05-26 15:40:04"/>
+    <MAttrValue attribute_id="100" id="90" dateValue="2009-05-26"/>
+    <MAttrValue attribute_id="100" id="91" dateValue="2010-05-26 15:40:04"/>
 
-  <MAttr id="102" owner_id="1" schema_name="mderived_sx"/>
-  <MAttrValue attribute_id="102" id="92" stringValue="sx"/>
+    <MAttr id="102" owner_id="1" schema_name="mderived_sx"/>
+    <MAttrValue attribute_id="102" id="92" stringValue="sx"/>
 
-  <MAttr id="103" owner_id="1" schema_name="mderived_dx"/>
-  <MAttrValue attribute_id="103" id="93" stringValue="dx"/>
+    <MAttr id="103" owner_id="1" schema_name="mderived_dx"/>
+    <MAttrValue attribute_id="103" id="93" stringValue="dx"/>
 
-  <MDerSchema name="mderiveddata" expression="mderived_sx + '-' + mderived_dx"/>
-  <MDerAttr id="100" derivedSchema_name="mderiveddata" owner_id="1"/>
+    <MDerSchema name="mderiveddata" expression="mderived_sx + '-' + mderived_dx"/>
+    <MDerAttr id="100" derivedSchema_name="mderiveddata" owner_id="1"/>
     
-  <MDerSchema name="mderToBePropagated" expression="mderived_sx + '-' + mderived_dx"/>
+    <MDerSchema name="mderToBePropagated" expression="mderived_sx + '-' + mderived_dx"/>
 
-  <UVirSchema name="virtualdata"/>
-  <UVirAttr id="1000" virtualSchema_name="virtualdata" owner_id="3"/>
+    <UVirSchema name="virtualdata"/>
+    <UVirAttr id="1000" virtualSchema_name="virtualdata" owner_id="3"/>
 
-  <UDerSchema name="cn" expression="surname + ', ' + firstname"/>
-  <UDerAttr id="100" derivedSchema_name="cn" owner_id="3"/>
-  <UDerAttr id="101" derivedSchema_name="cn" owner_id="1"/>
+    <UDerSchema name="cn" expression="surname + ', ' + firstname"/>
+    <UDerAttr id="100" derivedSchema_name="cn" owner_id="3"/>
+    <UDerAttr id="101" derivedSchema_name="cn" owner_id="1"/>
 
-  <UDerSchema name="noschema" expression="surname + ', ' + notfound"/>
+    <UDerSchema name="noschema" expression="surname + ', ' + notfound"/>
 
-  <MVirSchema name="mvirtualdata"/>
-  <RVirSchema name="rvirtualdata"/>
-  <RVirAttr id="100" virtualSchema_name="rvirtualdata" owner_id="4"/>
+    <MVirSchema name="mvirtualdata"/>
+    <RVirSchema name="rvirtualdata"/>
+    <RVirAttr id="100" virtualSchema_name="rvirtualdata" owner_id="4"/>
 
-  <ConnInstance id="100" displayName="ConnInstance100"
+    <ConnInstance id="100" displayName="ConnInstance100"
                 location="${connid.location}"
                 bundleName="org.connid.bundles.soap"
                 connectorName="org.connid.bundles.soap.WebServiceConnector"
                 version="${connid.soap.version}"
                 xmlConfiguration="%3Cset%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eendpoint%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Ehttp%3A//localhost%3A9080/wssample/services/provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eservicename%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eorg.connid.bundles.soap.provisioning.interfaces.Provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A
 %3C/set%3E"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="100" capabilities="SEARCH"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="ONE_PHASE_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="TWO_PHASES_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="100" capabilities="SEARCH"/>
 
-  <ConnInstance id="101" displayName="H2"
+    <ConnInstance id="101" displayName="H2"
                 location="connid://${testconnectorserver.key}@localhost:${testconnectorserver.port}"
                 bundleName="org.connid.bundles.db.table"
                 connectorName="org.connid.bundles.db.table.DatabaseTableConnector"
                 version="${connid.db.table.version}"
                 xmlConfiguration="%3Cset%3E%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3Euser%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Esa%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EenabledStatusValue%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Etrue%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A
 %20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EstatusColumn%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Estatus%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EdisabledStatusValue%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Efalse%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverr
 idable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EkeyColumn%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Etrue%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eid%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EjdbcUrlTemplate%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Ejdbc%3Ah2%3Atcp%3A%2F%2Flocalhost%3A9092%2Ftestdb
 %3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EpasswordColumn%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Epassword%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EdefaultStatusValue%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3
 Cvalues%3E%0A%3Cjava.lang.String%3Etrue%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3Etable%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Etrue%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Etest%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3Epassword%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Eorg.identityconnectors.common.security.GuardedString%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%
 2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Esa%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EjdbcDriver%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eorg.h2.Driver%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EcipherAlgorithm%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20
 %20%20%20%20%3Crequired%3Etrue%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3ESHA1%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EcipherAlgorithm%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Ejava.lang.String%3C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Etrue%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cjava.lang.String%3ESHA1%3C%2Fjava.lang.String%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A%20%20%20%20%3Cschema%3E%0A%20%20%20%20%20%20%3Cname%3EretrievePassword%3C%2Fname%3E%0A%20%20%20%20%20%20%3Ctype%3Eboolean%3
 C%2Ftype%3E%0A%20%20%20%20%20%20%3Crequired%3Efalse%3C%2Frequired%3E%0A%20%20%20%20%3C%2Fschema%3E%0A%0A%3Cvalues%3E%0A%3Cstring%3Etrue%3C%2Fstring%3E%0A%3C%2Fvalues%3E%0A%0A%20%20%20%20%3Coverridable%3Efalse%3C%2Foverridable%3E%0A%20%20%3C%2Forg.apache.syncope.common.types.ConnConfProperty%3E%0A%3C%2Fset%3E"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="SEARCH"/>
-  <ConnInstance_capabilities ConnInstance_id="101" capabilities="SYNC"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="ONE_PHASE_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="TWO_PHASES_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="SEARCH"/>
+    <ConnInstance_capabilities ConnInstance_id="101" capabilities="SYNC"/>
 
-  <ConnInstance id="102" displayName="ConnInstance102"
+    <ConnInstance id="102" displayName="ConnInstance102"
                 location="${connid.location}"
                 bundleName="org.connid.bundles.soap"
                 connectorName="org.connid.bundles.soap.WebServiceConnector"
                 version="${connid.soap.version}"
                 connRequestTimeout="10"
                 xmlConfiguration="%3Cset%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eservicename%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eorg.connid.bundles.soap.provisioning.interfaces.Provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eendpoint%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Ehttp%3A//localhost%3A9080/wssample/services/provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Etrue%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%3C/set%3E"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="102" capabilities="SEARCH"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="ONE_PHASE_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="TWO_PHASES_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="102" capabilities="SEARCH"/>
 
-  <ConnInstance id="103" displayName="ConnInstance103"
+    <ConnInstance id="103" displayName="ConnInstance103"
                 location="${connid.location}"
                 bundleName="org.connid.bundles.soap"
                 connectorName="org.connid.bundles.soap.WebServiceConnector"
                 version="${connid.soap.version}"
                 xmlConfiguration="%3Cset%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eendpoint%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Ehttp%3A//localhost%3A9080/wssample/services/provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eservicename%3C/name%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eorg.connid.bundles.soap.provisioning.interfaces.Provisioning%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%3C/set%3E"/
 >
 
-  <ConnInstance id="104" displayName="CSVDir"
+    <ConnInstance id="104" displayName="CSVDir"
                 location="${connid.location}"
                 bundleName="org.connid.bundles.csvdir"
                 connectorName="org.connid.bundles.csvdir.CSVDirConnector"
                 version="${connid.csvdir.version}"
                 xmlConfiguration="%3Cset%3E%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Ekeyseparator%3C/name%3E%0A++++++%3CdisplayName%3EKey+separator%3C/displayName%3E%0A++++++%3ChelpMessage%3ECharacter+used+to+separate+keys+in+a+multi-key+scenario%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3E%2C%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Eencoding%3C/name%3E%0A++++++%3CdisplayName%3EFile+encoding%3C/displayName%3E%0A++++++%3ChelpMessage%3EBasic+encoding+of+the+file%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Efalse%3C/required%3E%0A++++%3C/schema%3E%0A++++%3Coverridable%3Efa
 lse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EquotationRequired%3C/name%3E%0A++++++%3CdisplayName%3EValue+quotation+required%3C/displayName%3E%0A++++++%3ChelpMessage%3ESpecify+if+value+quotation+is+required%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.Boolean%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.Boolean%3Efalse%3C/java.lang.Boolean%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EfileMask%3C/name%3E%0A++++++%3CdisplayName%3EFile+mask%3C/displayName%3E%0A++++++%3ChelpMessage%3ERegular+expression+describing+files+to+be+processed%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3E
 true%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Etest.csv%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EpasswordColumnName%3C/name%3E%0A++++++%3CdisplayName%3EPassword+column+name%3C/displayName%3E%0A++++++%3ChelpMessage%3EName+of+the+column+used+to+specify+user+password%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Efalse%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Epassword%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EtextQualifier%3C/name%3E%0A++++++%3CdisplayName%3EText+qualifier%3C/displayN
 ame%3E%0A++++++%3ChelpMessage%3EDelimiter+to+determine+begin+and+end+of+text+in+value%3C/helpMessage%3E%0A++++++%3Ctype%3Echar%3C/type%3E%0A++++++%3Crequired%3Efalse%3C/required%3E%0A++++%3C/schema%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EdeleteColumnName%3C/name%3E%0A++++++%3CdisplayName%3EDelete+column+name%3C/displayName%3E%0A++++++%3ChelpMessage%3EName+of+the+column+used+to+specify+users+to+be+deleted%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Efalse%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Edeleted%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Es
 ourcePath%3C/name%3E%0A++++++%3CdisplayName%3ESource+path%3C/displayName%3E%0A++++++%3ChelpMessage%3EAbsolute+path+of+a+directory+where+are+located+CSV+files+to+be+processed%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3E${urlencoded.csvdir.path}%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EfieldDelimiter%3C/name%3E%0A++++++%3CdisplayName%3EfieldDelimiter%3C/displayName%3E%0A++++++%3ChelpMessage%3EfieldDelimiter%3C/helpMessage%3E%0A++++++%3Ctype%3Echar%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.Character%3E%2C%3C/java.lang.Character%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.ap
 ache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EkeyColumnNames%3C/name%3E%0A++++++%3CdisplayName%3EKey+column+name%3C/displayName%3E%0A++++++%3ChelpMessage%3EName+of+the+column+used+to+identify+user+uniquely%3C/helpMessage%3E%0A++++++%3Ctype%3E%5BLjava.lang.String%3B%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Ename%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Esurname%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EignoreHeader%3C/name%3E%0A++++++%3CdisplayName%3EIgnore+header%3C/displayName%3E%0A++++++%3ChelpMessage%3ESpecify+it+first+line+file+must+be+ignored%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.Boolean%3C/type%3E%0
 A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.Boolean%3Efalse%3C/java.lang.Boolean%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%0A++%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3Efields%3C/name%3E%0A++++++%3CdisplayName%3Efields%3C/displayName%3E%0A++++++%3ChelpMessage%3EColumn+names+separated+by+comma%3C/helpMessage%3E%0A++++++%3Ctype%3E%5BLjava.lang.String%3B%3C/type%3E%0A++++++%3Crequired%3Etrue%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Eid%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Ename%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Esurname%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Eemail%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Epassword%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Erole%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Emembership%3C/java.lang.Strin
 g%3E%0A%3Cjava.lang.String%3Estatus%3C/java.lang.String%3E%0A%3Cjava.lang.String%3Edeleted%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%3Corg.apache.syncope.common.types.ConnConfProperty%3E%0A++++%3Cschema%3E%0A++++++%3Cname%3EstatusColumn%3C/name%3E%0A++++++%3CdisplayName%3EstatusColumn%3C/displayName%3E%0A++++++%3ChelpMessage%3EStatus+column%3C/helpMessage%3E%0A++++++%3Ctype%3Ejava.lang.String%3C/type%3E%0A++++++%3Crequired%3Efalse%3C/required%3E%0A++++%3C/schema%3E%0A%3Cvalues%3E%0A%3Cjava.lang.String%3Estatus%3C/java.lang.String%3E%0A%3C/values%3E%0A++++%3Coverridable%3Efalse%3C/overridable%3E%0A++%3C/org.apache.syncope.common.types.ConnConfProperty%3E%0A%3C/set%3E"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_CREATE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_UPDATE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_DELETE"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="SEARCH"/>
-  <ConnInstance_capabilities ConnInstance_id="104" capabilities="SYNC"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="ONE_PHASE_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_CREATE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_UPDATE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="TWO_PHASES_DELETE"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="SEARCH"/>
+    <ConnInstance_capabilities ConnInstance_id="104" capabilities="SYNC"/>
     
-  <ConnInstance id="105" bundleName="org.connid.bundles.ldap" displayName="ApacheDS"
+    <ConnInstance id="105" bundleName="org.connid.bundles.ldap" displayName="ApacheDS"
                 location="${connid.location}"
                 connectorName="org.connid.bundles.ldap.LdapConnector"
                 version="${connid.ldap.version}" 

[... 760 lines stripped ...]