You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/04/19 15:01:52 UTC

[05/24] syncope git commit: [SYNCOPE-822] UUID keys

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
index 9a9b1b0..5dd41ab 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java
@@ -45,19 +45,19 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     private static final Logger LOG = LoggerFactory.getLogger(CamelUserProvisioningManager.class);
 
     @Override
-    public Pair<Long, List<PropagationStatus>> create(final UserTO userTO, final boolean nullPriorityAsync) {
+    public Pair<String, List<PropagationStatus>> create(final UserTO userTO, final boolean nullPriorityAsync) {
         return create(userTO, true, false, null, Collections.<String>emptySet(), nullPriorityAsync);
     }
 
     @Override
-    public Pair<Long, List<PropagationStatus>> create(
+    public Pair<String, List<PropagationStatus>> create(
             final UserTO userTO, final boolean storePassword, final boolean nullPriorityAsync) {
 
         return create(userTO, storePassword, false, null, Collections.<String>emptySet(), nullPriorityAsync);
     }
 
     @Override
-    public Pair<Long, List<PropagationStatus>> create(
+    public Pair<String, List<PropagationStatus>> create(
             final UserTO userTO, final Set<String> excludedResources, final boolean nullPriorityAsync) {
 
         return create(userTO, false, false, null, excludedResources, nullPriorityAsync);
@@ -65,7 +65,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> create(
+    public Pair<String, List<PropagationStatus>> create(
             final UserTO userTO,
             final boolean storePassword,
             final boolean disablePwdPolicyCheck,
@@ -95,7 +95,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> update(final UserPatch userPatch, final boolean nullPriorityAsync) {
+    public Pair<String, List<PropagationStatus>> update(final UserPatch userPatch, final boolean nullPriorityAsync) {
         PollingConsumer pollingConsumer = getConsumer("direct:updatePort");
 
         Map<String, Object> props = new HashMap<>();
@@ -113,21 +113,21 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public Pair<Long, List<PropagationStatus>> update(
+    public Pair<String, List<PropagationStatus>> update(
             final UserPatch anyPatch, final Set<String> excludedResources, final boolean nullPriorityAsync) {
 
         return update(anyPatch, new ProvisioningReport(), null, excludedResources, nullPriorityAsync);
     }
 
     @Override
-    public List<PropagationStatus> delete(final Long key, final boolean nullPriorityAsync) {
+    public List<PropagationStatus> delete(final String key, final boolean nullPriorityAsync) {
         return delete(key, Collections.<String>emptySet(), nullPriorityAsync);
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public List<PropagationStatus> delete(
-            final Long key, final Set<String> excludedResources, final boolean nullPriorityAsync) {
+            final String key, final Set<String> excludedResources, final boolean nullPriorityAsync) {
 
         PollingConsumer pollingConsumer = getConsumer("direct:deletePort");
 
@@ -147,7 +147,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public Long unlink(final UserPatch userPatch) {
+    public String unlink(final UserPatch userPatch) {
         PollingConsumer pollingConsumer = getConsumer("direct:unlinkPort");
 
         sendMessage("direct:unlinkUser", userPatch);
@@ -159,12 +159,12 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
         }
 
         exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
-        return exchange.getIn().getBody(Long.class);
+        return exchange.getIn().getBody(String.class);
     }
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> activate(
+    public Pair<String, List<PropagationStatus>> activate(
             final StatusPatch statusPatch, final boolean nullPriorityAsync) {
 
         PollingConsumer pollingConsumer = getConsumer("direct:statusPort");
@@ -178,7 +178,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
         if (statusPatch.isOnSyncope()) {
             sendMessage("direct:activateUser", statusPatch.getKey(), props);
         } else {
-            WorkflowResult<Long> updated =
+            WorkflowResult<String> updated =
                     new WorkflowResult<>(statusPatch.getKey(), null, statusPatch.getType().name().toLowerCase());
             sendMessage("direct:userStatusPropagation", updated, props);
         }
@@ -194,7 +194,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> reactivate(
+    public Pair<String, List<PropagationStatus>> reactivate(
             final StatusPatch statusPatch, final boolean nullPriorityAsync) {
 
         PollingConsumer pollingConsumer = getConsumer("direct:statusPort");
@@ -207,7 +207,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
         if (statusPatch.isOnSyncope()) {
             sendMessage("direct:reactivateUser", statusPatch.getKey(), props);
         } else {
-            WorkflowResult<Long> updated =
+            WorkflowResult<String> updated =
                     new WorkflowResult<>(statusPatch.getKey(), null, statusPatch.getType().name().toLowerCase());
             sendMessage("direct:userStatusPropagation", updated, props);
         }
@@ -223,7 +223,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> suspend(
+    public Pair<String, List<PropagationStatus>> suspend(
             final StatusPatch statusPatch, final boolean nullPriorityAsync) {
 
         PollingConsumer pollingConsumer = getConsumer("direct:statusPort");
@@ -236,7 +236,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
         if (statusPatch.isOnSyncope()) {
             sendMessage("direct:suspendUser", statusPatch.getKey(), props);
         } else {
-            WorkflowResult<Long> updated =
+            WorkflowResult<String> updated =
                     new WorkflowResult<>(statusPatch.getKey(), null, statusPatch.getType().name().toLowerCase());
             sendMessage("direct:userStatusPropagation", updated, props);
         }
@@ -251,7 +251,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public Long link(final UserPatch anyPatch) {
+    public String link(final UserPatch anyPatch) {
         PollingConsumer pollingConsumer = getConsumer("direct:linkPort");
 
         sendMessage("direct:linkUser", anyPatch);
@@ -263,13 +263,13 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
         }
 
         exchange.getIn().setBody((exchange.getIn().getBody(UserPatch.class).getKey()));
-        return exchange.getIn().getBody(Long.class);
+        return exchange.getIn().getBody(String.class);
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public List<PropagationStatus> provision(
-            final Long key,
+            final String key,
             final boolean changePwd,
             final String password,
             final Collection<String> resources,
@@ -298,7 +298,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     @Override
     @SuppressWarnings("unchecked")
     public List<PropagationStatus> deprovision(
-            final Long user, final Collection<String> resources, final boolean nullPriorityAsync) {
+            final String user, final Collection<String> resources, final boolean nullPriorityAsync) {
 
         PollingConsumer pollingConsumer = getConsumer("direct:deprovisionPort");
 
@@ -319,7 +319,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
 
     @Override
     @SuppressWarnings("unchecked")
-    public Pair<Long, List<PropagationStatus>> update(
+    public Pair<String, List<PropagationStatus>> update(
             final UserPatch userPatch,
             final ProvisioningReport result,
             final Boolean enabled,
@@ -358,7 +358,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public void internalSuspend(final Long key) {
+    public void internalSuspend(final String key) {
         PollingConsumer pollingConsumer = getConsumer("direct:internalSuspendUserPort");
 
         sendMessage("direct:internalSuspendUser", key);
@@ -371,7 +371,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public void requestPasswordReset(final Long key) {
+    public void requestPasswordReset(final String key) {
         PollingConsumer pollingConsumer = getConsumer("direct:requestPwdResetPort");
 
         sendMessage("direct:requestPwdReset", key);
@@ -384,7 +384,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag
     }
 
     @Override
-    public void confirmPasswordReset(final Long key, final String token, final String password) {
+    public void confirmPasswordReset(final String key, final String token, final String password) {
         PollingConsumer pollingConsumer = getConsumer("direct:confirmPwdResetPort");
 
         Map<String, Object> props = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java
index 40afe61..c35c4a5 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java
@@ -46,7 +46,7 @@ public class AnyObjectCreateProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        WorkflowResult<Long> created = (WorkflowResult) exchange.getIn().getBody();
+        WorkflowResult<String> created = (WorkflowResult) exchange.getIn().getBody();
         AnyObjectTO any = exchange.getProperty("any", AnyObjectTO.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java
index f4ef0a5..7d0b966 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java
@@ -46,7 +46,7 @@ public class AnyObjectDeleteProcessor implements Processor {
 
     @Override
     public void process(final Exchange exchange) throws Exception {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         @SuppressWarnings("unchecked")
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java
index f03c9f5..f6d0166 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java
@@ -49,7 +49,7 @@ public class AnyObjectDeprovisionProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         List<String> resources = exchange.getProperty("resources", List.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java
index 584aaa5..d81c8fd 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java
@@ -44,7 +44,7 @@ public class AnyObjectProvisionProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         List<String> resources = exchange.getProperty("resources", List.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java
index e222643..3564aeb 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java
@@ -50,7 +50,7 @@ public class AnyObjectUpdateProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        WorkflowResult<Long> updated = (WorkflowResult) exchange.getIn().getBody();
+        WorkflowResult<String> updated = (WorkflowResult) exchange.getIn().getBody();
         AnyObjectPatch anyObjectPatch = exchange.getProperty("anyPatch", AnyObjectPatch.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateInPullProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateInPullProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateInPullProcessor.java
index 791b4b3..f3a7558 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateInPullProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateInPullProcessor.java
@@ -49,10 +49,10 @@ public class GroupCreateInPullProcessor implements Processor {
     @Override
     @SuppressWarnings("unchecked")
     public void process(final Exchange exchange) {
-        WorkflowResult<Long> created = (WorkflowResult) exchange.getIn().getBody();
+        WorkflowResult<String> created = (WorkflowResult) exchange.getIn().getBody();
 
         GroupTO groupTO = exchange.getProperty("any", GroupTO.class);
-        Map<Long, String> groupOwnerMap = exchange.getProperty("groupOwnerMap", Map.class);
+        Map<String, String> groupOwnerMap = exchange.getProperty("groupOwnerMap", Map.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java
index 785bd0f..2b85af7 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java
@@ -46,7 +46,7 @@ public class GroupCreateProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        WorkflowResult<Long> created = (WorkflowResult) exchange.getIn().getBody();
+        WorkflowResult<String> created = (WorkflowResult) exchange.getIn().getBody();
         GroupTO any = exchange.getProperty("any", GroupTO.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
@@ -61,8 +61,7 @@ public class GroupCreateProcessor implements Processor {
                 ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class);
         taskExecutor.execute(tasks, propagationReporter, nullPriorityAsync);
 
-        exchange.getOut().setBody(new ImmutablePair<>(
-                created.getResult(), propagationReporter.getStatuses()));
+        exchange.getOut().setBody(new ImmutablePair<>(created.getResult(), propagationReporter.getStatuses()));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java
index 30f9218..83b8578 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java
@@ -53,7 +53,7 @@ public class GroupDeleteProcessor implements Processor {
 
     @Override
     public void process(final Exchange exchange) throws Exception {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         @SuppressWarnings("unchecked")
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
@@ -62,7 +62,7 @@ public class GroupDeleteProcessor implements Processor {
 
         // Generate propagation tasks for deleting users from group resources, if they are on those resources only
         // because of the reason being deleted (see SYNCOPE-357)
-        for (Map.Entry<Long, PropagationByResource> entry
+        for (Map.Entry<String, PropagationByResource> entry
                 : groupDAO.findUsersWithTransitiveResources(key).entrySet()) {
 
             tasks.addAll(propagationManager.getDeleteTasks(
@@ -71,7 +71,7 @@ public class GroupDeleteProcessor implements Processor {
                     entry.getValue(),
                     excludedResources));
         }
-        for (Map.Entry<Long, PropagationByResource> entry
+        for (Map.Entry<String, PropagationByResource> entry
                 : groupDAO.findAnyObjectsWithTransitiveResources(key).entrySet()) {
 
             tasks.addAll(propagationManager.getDeleteTasks(

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java
index 1c59157..1fd1e3d 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java
@@ -49,7 +49,7 @@ public class GroupDeprovisionProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         List<String> resources = exchange.getProperty("resources", List.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java
index ff1f43a..fc6aaa6 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java
@@ -44,7 +44,7 @@ public class GroupProvisionProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         List<String> resources = exchange.getProperty("resources", List.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java
index 6cb270f..86ea3af 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java
@@ -54,7 +54,7 @@ public class GroupUpdateProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) {
-        WorkflowResult<Long> updated = (WorkflowResult) exchange.getIn().getBody();
+        WorkflowResult<String> updated = (WorkflowResult) exchange.getIn().getBody();
         GroupPatch groupPatch = exchange.getProperty("anyPatch", GroupPatch.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java
index 0800bd3..a27a961 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java
@@ -51,7 +51,7 @@ public class UserCreateProcessor implements Processor {
     @Override
     public void process(final Exchange exchange) {
         if ((exchange.getIn().getBody() instanceof WorkflowResult)) {
-            WorkflowResult<Pair<Long, Boolean>> created = (WorkflowResult) exchange.getIn().getBody();
+            WorkflowResult<Pair<String, Boolean>> created = (WorkflowResult) exchange.getIn().getBody();
             UserTO actual = exchange.getProperty("actual", UserTO.class);
             Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
             Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java
index 0356afe..949afb6 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java
@@ -49,7 +49,7 @@ public class UserDeleteProcessor implements Processor {
     @SuppressWarnings("unchecked")
     @Override
     public void process(final Exchange exchange) throws Exception {
-        Long key = (Long) exchange.getIn().getBody();
+        String key = exchange.getIn().getBody(String.class);
         Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java
index a97a5b9..3cdf8d7 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java
@@ -48,7 +48,7 @@ public class UserDeprovisionProcessor implements Processor {
 
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         @SuppressWarnings("unchecked")
         List<String> resources = exchange.getProperty("resources", List.class);
         Boolean nullPriorityAsync = exchange.getProperty("nullPriorityAsync", Boolean.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserInternalSuspendProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserInternalSuspendProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserInternalSuspendProcessor.java
index e565872..df362de 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserInternalSuspendProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserInternalSuspendProcessor.java
@@ -43,7 +43,7 @@ public class UserInternalSuspendProcessor implements Processor {
     @Override
     public void process(final Exchange exchange) {
         @SuppressWarnings("unchecked")
-        Pair<WorkflowResult<Long>, Boolean> updated = (Pair) exchange.getIn().getBody();
+        Pair<WorkflowResult<String>, Boolean> updated = (Pair) exchange.getIn().getBody();
 
         // propagate suspension if and only if it is required by policy
         if (updated != null && updated.getValue()) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java
index fdb42cb..7e76bf3 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java
@@ -55,7 +55,7 @@ public class UserProvisionProcessor implements Processor {
 
     @Override
     public void process(final Exchange exchange) {
-        Long key = exchange.getIn().getBody(Long.class);
+        String key = exchange.getIn().getBody(String.class);
         Boolean changePwd = exchange.getProperty("changePwd", Boolean.class);
         String password = exchange.getProperty("password", String.class);
         @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInPullProcessor.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInPullProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInPullProcessor.java
index 2790c57..2265952 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInPullProcessor.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInPullProcessor.java
@@ -44,12 +44,12 @@ public class UserSetStatusInPullProcessor implements Processor {
         WorkflowResult<Map.Entry<UserPatch, Boolean>> updated = (WorkflowResult) exchange.getIn().getBody();
 
         Boolean enabled = exchange.getProperty("enabled", Boolean.class);
-        Long key = exchange.getProperty("key", Long.class);
+        String key = exchange.getProperty("key", String.class);
 
         if (enabled != null) {
             User user = userDAO.find(key);
 
-            WorkflowResult<Long> enableUpdate = null;
+            WorkflowResult<String> enableUpdate = null;
             if (user.isSuspended() == null) {
                 enableUpdate = uwfAdapter.activate(key, null);
             } else if (enabled && user.isSuspended()) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/build-tools/src/main/resources/testdb.sql
----------------------------------------------------------------------
diff --git a/fit/build-tools/src/main/resources/testdb.sql b/fit/build-tools/src/main/resources/testdb.sql
index 0bbab3e..706c760 100644
--- a/fit/build-tools/src/main/resources/testdb.sql
+++ b/fit/build-tools/src/main/resources/testdb.sql
@@ -38,15 +38,15 @@ INSERT INTO test2 VALUES ('verdi', 'password321', 'true');
 -- this table is for issueSYNCOPE230
 DROP TABLE testpull IF EXISTS;
 CREATE TABLE testpull (
-id NUMBER(10) PRIMARY KEY,
+id CHAR(36) PRIMARY KEY,
 username VARCHAR(80),
 surname VARCHAR(80),
 email VARCHAR(80));
 
-INSERT INTO testpull VALUES (965, 'issuesyncope230', 'Surname', 'syncope230@syncope.apache.org');
+INSERT INTO testpull VALUES ('a54b3794-b231-47be-b24a-11e1a42949f6', 'issuesyncope230', 'Surname', 'syncope230@syncope.apache.org');
 
 DROP TABLE testPRINTER IF EXISTS;
 CREATE TABLE testPRINTER (
-id VARCHAR(10) PRIMARY KEY,
+id CHAR(36) PRIMARY KEY,
 location VARCHAR(80),
 lastModification TIMESTAMP);

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/console-reference/src/main/resources/console.properties
----------------------------------------------------------------------
diff --git a/fit/console-reference/src/main/resources/console.properties b/fit/console-reference/src/main/resources/console.properties
index 0de5557..b197ef0 100644
--- a/fit/console-reference/src/main/resources/console.properties
+++ b/fit/console-reference/src/main/resources/console.properties
@@ -30,7 +30,7 @@ rootPath=/syncope/rest/
 
 activitiModelerDirectory=${activiti-modeler.directory}
 
-reconciliationReportKey=2
+reconciliationReportKey=c3520ad9-179f-49e7-b315-d684d216dd97
 
 page.dashboard=org.apache.syncope.client.console.pages.Dashboard
 page.realms=org.apache.syncope.client.console.pages.Realms

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/console-reference/src/test/resources/rebel.xml
----------------------------------------------------------------------
diff --git a/fit/console-reference/src/test/resources/rebel.xml b/fit/console-reference/src/test/resources/rebel.xml
index c22249f..ca52ec1 100644
--- a/fit/console-reference/src/test/resources/rebel.xml
+++ b/fit/console-reference/src/test/resources/rebel.xml
@@ -36,11 +36,11 @@ under the License.
       </dir>
     </link>
     <link target="/">
-      <dir name="${basedir}/../../client/console/target/classes">
+      <dir name="${basedir}/../../client/console/target/classes/META-INF/resources">
       </dir>
     </link>
     <link target="/">
-      <dir name="${basedir}/../../ext/camel/client-console/target/classes">
+      <dir name="${basedir}/../../ext/camel/client-console/target/classes/META-INF/resources">
       </dir>
     </link>
   </web>

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/main/resources/userWorkflow.bpmn20.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/userWorkflow.bpmn20.xml b/fit/core-reference/src/main/resources/userWorkflow.bpmn20.xml
index 0b05bef..1af0f14 100644
--- a/fit/core-reference/src/main/resources/userWorkflow.bpmn20.xml
+++ b/fit/core-reference/src/main/resources/userWorkflow.bpmn20.xml
@@ -35,15 +35,16 @@ under the License.
     <exclusiveGateway id="createGW"/>
     <sequenceFlow id="createAsAnonymous2Approval" sourceRef="createGW" targetRef="createApproval">
       <conditionExpression xsi:type="tFormalExpression">
-        <![CDATA[${wfExecutor == 'anonymous' || activitiUtils.isUserIngroup(user, 9)}]]>
+        <![CDATA[${wfExecutor == 'anonymous' || activitiUtils.isUserIngroup(user, '0cbcabd2-4410-4b6b-8f05-a052b451d18f')}]]>
       </conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="create2Activate" sourceRef="createGW" targetRef="enableGW">
       <conditionExpression xsi:type="tFormalExpression">
-        <![CDATA[${!activitiUtils.isUserIngroup(user, 9)}]]>
+        <![CDATA[${!activitiUtils.isUserIngroup(user, '0cbcabd2-4410-4b6b-8f05-a052b451d18f')}]]>
       </conditionExpression>
     </sequenceFlow>
-    <userTask id="createApproval" name="Create approval" activiti:candidateGroups="7" activiti:formKey="createApproval">
+    <userTask id="createApproval" name="Create approval"
+              activiti:candidateGroups="bf825fe1-7320-4a54-bd64-143b5c18ab97" activiti:formKey="createApproval">
       <extensionElements>
         <activiti:formProperty id="username" name="Username" type="string" expression="${user.username}" writable="false"/>
         <activiti:formProperty id="approve" name="Approve?" type="boolean" variable="approve" required="true"/>
@@ -61,7 +62,7 @@ under the License.
     <exclusiveGateway id="enableGW"/>
     <sequenceFlow id="createApprovalGW2OptIn" sourceRef="enableGW" targetRef="generateToken">
       <conditionExpression xsi:type="tFormalExpression">
-        <![CDATA[${activitiUtils.isUserIngroup(user, 11)}]]>
+        <![CDATA[${activitiUtils.isUserIngroup(user, '268fed79-f440-4390-9435-b273768eb5d6')}]]>
       </conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="createApprovalGW2Activate" sourceRef="enableGW" targetRef="activate">

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index f71d3b9..d3f8793 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -18,8 +18,6 @@
  */
 package org.apache.syncope.fit;
 
-import static org.junit.Assert.assertNotNull;
-
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Locale;
@@ -53,7 +51,6 @@ import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.syncope.common.lib.types.ConnConfProperty;
 import org.apache.syncope.common.lib.types.PatchOperation;
 import org.apache.syncope.common.lib.types.SchemaType;
-import org.apache.syncope.common.rest.api.RESTHeaders;
 import org.apache.syncope.common.rest.api.service.AnyObjectService;
 import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
 import org.apache.syncope.common.rest.api.service.AnyTypeService;
@@ -318,7 +315,7 @@ public abstract class AbstractITCase {
     }
 
     protected UserTO readUser(final String username) {
-        return userService.read(Long.valueOf(userService.getUserKey(username).getHeaderString(RESTHeaders.USER_KEY)));
+        return userService.read(username);
     }
 
     protected ProvisioningResult<UserTO> createUser(final UserTO userTO) {
@@ -343,7 +340,7 @@ public abstract class AbstractITCase {
                 });
     }
 
-    protected ProvisioningResult<UserTO> deleteUser(final Long key) {
+    protected ProvisioningResult<UserTO> deleteUser(final String key) {
         return userService.delete(key).
                 readEntity(new GenericType<ProvisioningResult<UserTO>>() {
                 });
@@ -367,7 +364,7 @@ public abstract class AbstractITCase {
                 });
     }
 
-    protected ProvisioningResult<AnyObjectTO> deleteAnyObject(final Long key) {
+    protected ProvisioningResult<AnyObjectTO> deleteAnyObject(final String key) {
         return anyObjectService.delete(key).
                 readEntity(new GenericType<ProvisioningResult<AnyObjectTO>>() {
                 });
@@ -391,7 +388,7 @@ public abstract class AbstractITCase {
                 });
     }
 
-    protected ProvisioningResult<GroupTO> deleteGroup(final Long key) {
+    protected ProvisioningResult<GroupTO> deleteGroup(final String key) {
         return groupService.delete(key).
                 readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
                 });

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
index af4f961..d2148e1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
@@ -170,26 +170,26 @@ public class CLIITCase extends AbstractITCase {
 
     @Test
     public void userRead() {
-        final long userId1 = 1;
-        final long userId2 = 2;
-        final long userId3 = 3;
-        final long userId4 = 4;
-        final long userId5 = 5;
+        final String userKey1 = "1417acbe-cbf6-4277-9372-e75e04f97000";
+        final String userKey2 = "74cd8ece-715a-44a4-a736-e17b46c4e7e6";
+        final String userKey3 = "b3cbc78d-32e6-4bd4-92e0-bbe07566a2ee";
+        final String userKey4 = "c9b2dec2-00a7-4855-97c0-d854842b4b24";
+        final String userKey5 = "823074dc-d280-436d-a7dd-07399fae48ec";
         try {
             PROCESS_BUILDER.command(getCommand(
                     new UserCommand().getClass().getAnnotation(Command.class).name(),
                     UserCommand.UserOptions.READ_BY_ID.getOptionName(),
-                    String.valueOf(userId1)));
+                    String.valueOf(userKey1)));
             Process process = PROCESS_BUILDER.start();
             String result = IOUtils.toString(process.getInputStream());
-            assertTrue(result.contains("username: " + userService.read(userId1).getUsername()));
+            assertTrue(result.contains("username: " + userService.read(userKey1).getUsername()));
             process.destroy();
 
             PROCESS_BUILDER.command(getCommand(
                     new UserCommand().getClass().getAnnotation(Command.class).name(),
                     UserCommand.UserOptions.READ_BY_ID.getOptionName(),
-                    String.valueOf(userId1), String.valueOf(userId2),
-                    String.valueOf(userId3), String.valueOf(userId4), String.valueOf(userId5)));
+                    String.valueOf(userKey1), String.valueOf(userKey2),
+                    String.valueOf(userKey3), String.valueOf(userKey4), String.valueOf(userKey5)));
             Process process2 = PROCESS_BUILDER.start();
             long users = IterableUtils.countMatches(IOUtils.readLines(process2.getInputStream()),
                     new Predicate<String>() {
@@ -206,16 +206,16 @@ public class CLIITCase extends AbstractITCase {
             PROCESS_BUILDER.command(getCommand(
                     new UserCommand().getClass().getAnnotation(Command.class).name(),
                     UserCommand.UserOptions.READ_BY_ID.getOptionName(),
-                    String.valueOf(userId1), String.valueOf(userId2),
-                    String.valueOf(userId3), String.valueOf(userId4), String.valueOf(userId5)));
+                    String.valueOf(userKey1), String.valueOf(userKey2),
+                    String.valueOf(userKey3), String.valueOf(userKey4), String.valueOf(userKey5)));
             Process process3 = PROCESS_BUILDER.start();
             String result3 = IOUtils.toString(process3.getInputStream());
             assertTrue(
-                    result3.contains("username: " + userService.read(userId1).getUsername())
-                    && result3.contains("username: " + userService.read(userId2).getUsername())
-                    && result3.contains("username: " + userService.read(userId3).getUsername())
-                    && result3.contains("username: " + userService.read(userId4).getUsername())
-                    && result3.contains("username: " + userService.read(userId5).getUsername()));
+                    result3.contains("username: " + userService.read(userKey1).getUsername())
+                    && result3.contains("username: " + userService.read(userKey2).getUsername())
+                    && result3.contains("username: " + userService.read(userKey3).getUsername())
+                    && result3.contains("username: " + userService.read(userKey4).getUsername())
+                    && result3.contains("username: " + userService.read(userKey5).getUsername()));
             process3.destroy();
         } catch (IOException e) {
             fail(e.getMessage());
@@ -266,8 +266,7 @@ public class CLIITCase extends AbstractITCase {
                     "wrong"));
             final Process process = PROCESS_BUILDER.start();
             final String result = IOUtils.toString(process.getInputStream());
-            assertTrue(result.contains(
-                    "- Error reading wrong. It isn't a valid policy value because it isn't a boolean value"));
+            assertTrue(result.contains("- Policy wrong doesn't exist"));
 
             process.destroy();
         } catch (IOException e) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
index 2b32490..f6e1a24 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
@@ -86,8 +86,6 @@ public abstract class AbstractConsoleITCase extends AbstractITCase {
 
                     @Override
                     public void component(final ListItem<?> object, final IVisit<Component> visit) {
-                        System.out.println("EEEEEEEEEEE " + object.getPath());
-                        
                         try {
                             Method getter = PropertyResolver.getPropertyGetter(property, object.getModelObject());
                             if (getter != null && getter.invoke(object.getModelObject()).equals(key)) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index e2e7d50..feaa2f1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -29,8 +29,8 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
     protected static final String PLAIN_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
             + "accordionPanel:tabs:0:body:content:container:content:searchContainer:resultTable";
 
-    protected static final String DATATABLE_PATH
-            = "body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
+    protected static final String DATATABLE_PATH =
+            "body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
 
     @Before
     public void login() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
index 88ae5b2..40befd3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
@@ -24,13 +24,13 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.Before;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
 import org.apache.wicket.markup.html.form.TextField;
+import org.junit.Before;
 
 @FixMethodOrder(MethodSorters.JVM)
 public class AnyObjectsITCase extends AbstractConsoleITCase {
@@ -65,7 +65,8 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:3:link");
 
         Component component = findComponentByProp("key", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
+                "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         wicketTester.clickLink(component.getPageRelativePath() + ":cells:3:cell:panelClone:cloneLink");
@@ -82,7 +83,8 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:3:link");
 
         Component component = findComponentByProp("key", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
+                "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         wicketTester.clickLink(component.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
@@ -121,7 +123,8 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
 
         component = findComponentByProp("key", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
+                "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
     }
 
@@ -131,7 +134,8 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:3:link");
 
         Component component = findComponentByProp("key", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
+                "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         wicketTester.assertComponent(component.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink",

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
index fcce73f..bff9cab 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
@@ -231,7 +231,8 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:3:link");
 
         Component component = findComponentByProp("key", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", 1L);
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
+                "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         wicketTester.clickLink(component.getPageRelativePath()

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
index 9153cde..ad97b3e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
@@ -64,7 +64,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:2:link");
 
         Component component = findComponentByProp("name", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "root");
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "secretary");
         assertNotNull(component);
 
         wicketTester.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelClone:cloneLink");
@@ -74,7 +74,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
 
         FormTester formTester = wicketTester.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
-        
+
         formTester.submit("buttons:cancel");
     }
 
@@ -84,7 +84,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:2:link");
 
         Component component = findComponentByProp("name", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "root");
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "secretary");
         assertNotNull(component);
 
         wicketTester.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelEdit:editLink");
@@ -134,9 +134,8 @@ public class GroupsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
 
         component = findComponentByProp("name", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "root");
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "secretary");
         assertNotNull(component);
-
     }
 
     @Test
@@ -145,7 +144,7 @@ public class GroupsITCase extends AbstractConsoleITCase {
         wicketTester.clickLink("body:content:body:tabbedPanel:tabs-container:tabs:2:link");
 
         Component component = findComponentByProp("name", searchResultContainer
-                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "root");
+                + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "secretary");
         assertNotNull(component);
 
         wicketTester.assertComponent(component.getPageRelativePath() + ":cells:4:cell:panelDelete:deleteLink",

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
index c7a8ee3..70f5881 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
@@ -41,7 +41,8 @@ public class LogsITCase extends AbstractConsoleITCase {
     @Before
     public void login() {
         doLogin(ADMIN_UNAME, ADMIN_PWD);
-        browsingToLogs();
+        wicketTester.clickLink("body:configurationLI:configurationUL:logsLI:logs");
+        wicketTester.assertRenderedPage(Logs.class);
     }
 
     @Test
@@ -113,9 +114,4 @@ public class LogsITCase extends AbstractConsoleITCase {
                 });
         return result;
     }
-
-    private void browsingToLogs() {
-        wicketTester.clickLink("body:configurationLI:configurationUL:logsLI:logs");
-        wicketTester.assertRenderedPage(Logs.class);
-    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
index d6bc897..10d5531 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
@@ -20,11 +20,13 @@ package org.apache.syncope.fit.console;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import org.apache.syncope.client.console.pages.SecurityQuestions;
 import org.apache.wicket.Component;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
 import org.junit.FixMethodOrder;
@@ -40,8 +42,8 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
         wicketTester.assertComponent(
                 "body:content:securityQuestionPanel:outerObjectsRepeater:0:outer", Modal.class);
 
-        FormTester formTester
-                = wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
+        FormTester formTester =
+                wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
         formTester.setValue("content:securityQuestionDetailsPanel:container:form:content:textField",
                 name);
 
@@ -63,10 +65,10 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
 
     @Test
     public void read() {
-        wicketTester.assertLabel(
+        Label label = (Label) wicketTester.getComponentFromLastRenderedPage(
                 "body:content:securityQuestionPanel:container:content:searchContainer:resultTable:"
-                + "tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:2:cell",
-                "What&#039;s your mother&#039;s maiden name?");
+                + "tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:2:cell");
+        assertTrue(label.getDefaultModelObjectAsString().startsWith("What&#039;s your "));
 
         wicketTester.assertComponent(
                 "body:content:securityQuestionPanel:container:content:"
@@ -77,24 +79,24 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
 
     @Test
     public void create() {
-        createRealm("What's your favorite team?");
+        createRealm("What's your preferred team?");
     }
 
     @Test
     public void update() {
-        createRealm("What's your favorite color?");
+        createRealm("What's your preferred color?");
         Component result = findComponentByProp("content", "body:content:securityQuestionPanel:container:content:"
                 + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
-                "What's your favorite color?");
+                "What's your preferred color?");
 
         assertNotNull(result);
 
         wicketTester.clickLink(result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
 
-        FormTester formTester
-                = wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
+        FormTester formTester =
+                wicketTester.newFormTester("body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:form");
         formTester.setValue("content:securityQuestionDetailsPanel:container:form:content:textField",
-                "What's your favorite car?");
+                "What's your preferred car?");
 
         wicketTester.clickLink(
                 "body:content:securityQuestionPanel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
@@ -105,13 +107,12 @@ public class SecurityQuestionsITCase extends AbstractConsoleITCase {
 
     @Test
     public void delete() {
-        String name = "What's your favorite color?";
+        String name = "What's your preferred color?";
         createRealm(name);
 
         Component result = findComponentByProp("content", "body:content:securityQuestionPanel:container:content:"
                 + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 name);
-
         assertNotNull(result);
 
         wicketTester.getRequest().addParameter("confirm", "true");

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
index 99fadcf..6f1e677 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
@@ -47,22 +47,22 @@ import org.apache.syncope.fit.AbstractITCase;
 
 public abstract class AbstractTaskITCase extends AbstractITCase {
 
-    protected static final Long PULL_TASK_ID = 4L;
+    protected static final String PULL_TASK_KEY = "c41b9b71-9bfa-4f90-89f2-84787def4c5c";
 
-    protected static final Long SCHED_TASK_ID = 5L;
+    protected static final String SCHED_TASK_KEY = "e95555d2-1b09-42c8-b25b-f4c4ec597979";
 
     protected static class ThreadExec implements Callable<ExecTO> {
 
         private final TaskService taskService;
 
-        private final Long taskKey;
+        private final String taskKey;
 
         private final int maxWaitSeconds;
 
         private final boolean dryRun;
 
         public ThreadExec(
-                final TaskService taskService, final Long taskKey, final int maxWaitSeconds, final boolean dryRun) {
+                final TaskService taskService, final String taskKey, final int maxWaitSeconds, final boolean dryRun) {
 
             this.taskService = taskService;
             this.taskKey = taskKey;
@@ -91,7 +91,7 @@ public abstract class AbstractTaskITCase extends AbstractITCase {
         }
     }
 
-    protected static ExecTO execTask(final TaskService taskService, final Long taskKey, final String initialStatus,
+    protected static ExecTO execTask(final TaskService taskService, final String taskKey, final String initialStatus,
             final int maxWaitSeconds, final boolean dryRun) {
 
         AbstractTaskTO taskTO = taskService.read(taskKey, true);
@@ -127,24 +127,24 @@ public abstract class AbstractTaskITCase extends AbstractITCase {
     }
 
     public static ExecTO execProvisioningTask(
-            final TaskService taskService, final Long taskKey, final int maxWaitSeconds, final boolean dryRun) {
+            final TaskService taskService, final String taskKey, final int maxWaitSeconds, final boolean dryRun) {
 
         return execTask(taskService, taskKey, "JOB_FIRED", maxWaitSeconds, dryRun);
     }
 
     protected static ExecTO execNotificationTask(
-            final TaskService taskService, final Long taskKey, final int maxWaitSeconds) {
+            final TaskService taskService, final String taskKey, final int maxWaitSeconds) {
 
         return execTask(taskService, taskKey, NotificationJob.Status.SENT.name(), maxWaitSeconds, false);
     }
 
     protected void execProvisioningTasks(final TaskService taskService,
-            final Set<Long> taskKeys, final int maxWaitSeconds, final boolean dryRun) throws Exception {
+            final Set<String> taskKeys, final int maxWaitSeconds, final boolean dryRun) throws Exception {
 
         ExecutorService service = Executors.newFixedThreadPool(taskKeys.size());
         List<Future<ExecTO>> futures = new ArrayList<>();
 
-        for (Long key : taskKeys) {
+        for (String key : taskKeys) {
             futures.add(service.submit(new ThreadExec(taskService, key, maxWaitSeconds, dryRun)));
             // avoid flooding the test server
             try {
@@ -162,7 +162,7 @@ public abstract class AbstractTaskITCase extends AbstractITCase {
 
     protected NotificationTaskTO findNotificationTaskBySender(final String sender) {
         PagedResult<NotificationTaskTO> tasks =
-                taskService.list(new TaskQuery.Builder(TaskType.NOTIFICATION).build());
+                taskService.list(new TaskQuery.Builder(TaskType.NOTIFICATION).page(1).size(100).build());
         assertNotNull(tasks);
         assertFalse(tasks.getResult().isEmpty());
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
index bfc936d..b653de8 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.util.Set;
+import java.util.UUID;
 import javax.ws.rs.core.Response;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.SyncopeConstants;
@@ -78,7 +79,8 @@ public class AnyObjectITCase extends AbstractITCase {
         // 1. create anyObject in realm /odd and attempt to assign group 15, from realm /even => exception
         AnyObjectTO anyObjectTO = getSampleTO("createInvalidMembership");
         anyObjectTO.setRealm("/odd");
-        anyObjectTO.getMemberships().add(new MembershipTO.Builder().group(15L).build());
+        anyObjectTO.getMemberships().add(
+                new MembershipTO.Builder().group("034740a9-fa10-453b-af37-dc7897e98fb1").build());
 
         try {
             createAnyObject(anyObjectTO);
@@ -91,13 +93,13 @@ public class AnyObjectITCase extends AbstractITCase {
         anyObjectTO.setRealm("/even/two");
 
         anyObjectTO = createAnyObject(anyObjectTO).getAny();
-        assertTrue(anyObjectTO.getMembershipMap().containsKey(15L));
+        assertTrue(anyObjectTO.getMembershipMap().containsKey("034740a9-fa10-453b-af37-dc7897e98fb1"));
     }
 
     @Test
     public void delete() {
         try {
-            anyObjectService.delete(0L);
+            anyObjectService.delete(UUID.randomUUID().toString());
         } catch (SyncopeClientException e) {
             assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
         }
@@ -131,7 +133,7 @@ public class AnyObjectITCase extends AbstractITCase {
 
     @Test
     public void read() {
-        AnyObjectTO anyObjectTO = anyObjectService.read(1L);
+        AnyObjectTO anyObjectTO = anyObjectService.read("fc6dbc3a-6c07-4965-8781-921e7401a4a5");
         assertNotNull(anyObjectTO);
         assertNotNull(anyObjectTO.getPlainAttrs());
         assertFalse(anyObjectTO.getPlainAttrs().isEmpty());
@@ -200,7 +202,8 @@ public class AnyObjectITCase extends AbstractITCase {
     @Test
     public void issueSYNCOPE756() {
         AnyObjectTO anyObjectTO = getSampleTO("issueSYNCOPE756");
-        anyObjectTO.getRelationships().add(new RelationshipTO.Builder().right(AnyTypeKind.USER.name(), 1).build());
+        anyObjectTO.getRelationships().add(new RelationshipTO.Builder().right(
+                AnyTypeKind.USER.name(), "1417acbe-cbf6-4277-9372-e75e04f97000").build());
 
         try {
             createAnyObject(anyObjectTO).getAny();

http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 43c9938..2ea5c65 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -35,9 +35,9 @@ import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.IterableUtils;
 import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.client.lib.SyncopeClient;
+import org.apache.syncope.common.lib.EntityTOUtils;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.common.lib.patch.DeassociationPatch;
@@ -83,8 +83,8 @@ import org.springframework.jdbc.core.JdbcTemplate;
 @FixMethodOrder(MethodSorters.JVM)
 public class AuthenticationITCase extends AbstractITCase {
 
-    private int getFailedLogins(final UserService userService, final long userId) {
-        UserTO readUserTO = userService.read(userId);
+    private int getFailedLogins(final UserService userService, final String userKey) {
+        UserTO readUserTO = userService.read(userKey);
         assertNotNull(readUserTO);
         assertNotNull(readUserTO.getFailedLogins());
         return readUserTO.getFailedLogins();
@@ -179,13 +179,13 @@ public class AuthenticationITCase extends AbstractITCase {
         UserService userService2 = clientFactory.create(userTO.getUsername(), "password123").
                 getService(UserService.class);
 
-        UserTO readUserTO = userService2.read(1L);
+        UserTO readUserTO = userService2.read("1417acbe-cbf6-4277-9372-e75e04f97000");
         assertNotNull(readUserTO);
 
         UserService userService3 = clientFactory.create("puccini", ADMIN_PWD).getService(UserService.class);
 
         try {
-            userService3.read(3L);
+            userService3.read("b3cbc78d-32e6-4bd4-92e0-bbe07566a2ee");
             fail();
         } catch (SyncopeClientException e) {
             assertNotNull(e);
@@ -206,31 +206,25 @@ public class AuthenticationITCase extends AbstractITCase {
         UserService userService2 = clientFactory.create(userTO.getUsername(), "password123").
                 getService(UserService.class);
 
-        PagedResult<UserTO> matchedUsers = userService2.search(
+        PagedResult<UserTO> matchingUsers = userService2.search(
                 new AnySearchQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
                 fiql(SyncopeClient.getUserSearchConditionBuilder().isNotNull("key").query()).build());
-        assertNotNull(matchedUsers);
-        assertFalse(matchedUsers.getResult().isEmpty());
-        Set<Long> matchedUserKeys = CollectionUtils.collect(matchedUsers.getResult(),
-                new Transformer<UserTO, Long>() {
-
-            @Override
-            public Long transform(final UserTO input) {
-                return input.getKey();
-            }
-        }, new HashSet<Long>());
-        assertTrue(matchedUserKeys.contains(1L));
-        assertFalse(matchedUserKeys.contains(2L));
-        assertFalse(matchedUserKeys.contains(5L));
+        assertNotNull(matchingUsers);
+        assertFalse(matchingUsers.getResult().isEmpty());
+        Set<String> matchingUserKeys = CollectionUtils.collect(matchingUsers.getResult(),
+                EntityTOUtils.<UserTO>keyTransformer(), new HashSet<String>());
+        assertTrue(matchingUserKeys.contains("1417acbe-cbf6-4277-9372-e75e04f97000"));
+        assertFalse(matchingUserKeys.contains("74cd8ece-715a-44a4-a736-e17b46c4e7e6"));
+        assertFalse(matchingUserKeys.contains("823074dc-d280-436d-a7dd-07399fae48ec"));
 
         // 2. user assigned to role 4, with search entitlement on realm /even/two
         UserService userService3 = clientFactory.create("puccini", ADMIN_PWD).getService(UserService.class);
 
-        matchedUsers = userService3.search(
+        matchingUsers = userService3.search(
                 new AnySearchQuery.Builder().realm("/even/two").
                 fiql(SyncopeClient.getUserSearchConditionBuilder().isNotNull("loginDate").query()).build());
-        assertNotNull(matchedUsers);
-        assertTrue(IterableUtils.matchesAll(matchedUsers.getResult(), new Predicate<UserTO>() {
+        assertNotNull(matchingUsers);
+        assertTrue(IterableUtils.matchesAll(matchingUsers.getResult(), new Predicate<UserTO>() {
 
             @Override
             public boolean evaluate(final UserTO matched) {
@@ -242,7 +236,7 @@ public class AuthenticationITCase extends AbstractITCase {
     @Test
     public void delegatedUserCRUD() {
         String roleKey = null;
-        Long delegatedAdminKey = null;
+        String delegatedAdminKey = null;
         try {
             // 1. create role for full user administration, under realm /even/two
             RoleTO role = new RoleTO();
@@ -335,22 +329,22 @@ public class AuthenticationITCase extends AbstractITCase {
 
         userTO = createUser(userTO).getAny();
         assertNotNull(userTO);
-        long userId = userTO.getKey();
+        String userKey = userTO.getKey();
 
         UserService userService2 = clientFactory.create(userTO.getUsername(), "password123").
                 getService(UserService.class);
-        assertEquals(0, getFailedLogins(userService2, userId));
+        assertEquals(0, getFailedLogins(userService2, userKey));
 
         // authentications failed ...
         SyncopeClient badPwdClient = clientFactory.create(userTO.getUsername(), "wrongpwd1");
         assertReadFails(badPwdClient);
         assertReadFails(badPwdClient);
 
-        assertEquals(2, getFailedLogins(userService, userId));
+        assertEquals(2, getFailedLogins(userService, userKey));
 
         UserService userService4 = clientFactory.create(userTO.getUsername(), "password123").
                 getService(UserService.class);
-        assertEquals(0, getFailedLogins(userService4, userId));
+        assertEquals(0, getFailedLogins(userService4, userKey));
     }
 
     @Test
@@ -360,7 +354,7 @@ public class AuthenticationITCase extends AbstractITCase {
         userTO.getRoles().add("User manager");
 
         userTO = createUser(userTO).getAny();
-        long userKey = userTO.getKey();
+        String userKey = userTO.getKey();
         assertNotNull(userTO);
 
         assertEquals(0, getFailedLogins(userService, userKey));
@@ -476,7 +470,8 @@ public class AuthenticationITCase extends AbstractITCase {
 
         // 1. create user with group 9 (users with group 9 are defined in workflow as subject to approval)
         UserTO userTO = UserITCase.getUniqueSampleTO("createWithReject@syncope.apache.org");
-        userTO.getMemberships().add(new MembershipTO.Builder().group(9L).build());
+        userTO.getMemberships().add(
+                new MembershipTO.Builder().group("0cbcabd2-4410-4b6b-8f05-a052b451d18f").build());
 
         userTO = createUser(userTO).getAny();
         assertNotNull(userTO);
@@ -551,7 +546,7 @@ public class AuthenticationITCase extends AbstractITCase {
     public void issueSYNCOPE706() {
         String username = getUUIDString();
         try {
-            userService.getUserKey(username);
+            userService.read(username);
             fail();
         } catch (SyncopeClientException e) {
             assertEquals(ClientExceptionType.NotFound, e.getType());