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 2015/06/11 16:17:53 UTC

[63/70] syncope git commit: Improving REST update methods signature thanks to CXF-6447

Improving REST update methods signature thanks to CXF-6447


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/df60b3b4
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/df60b3b4
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/df60b3b4

Branch: refs/heads/master
Commit: df60b3b4166cfb924dac08c6f81a7f49bd2a5f8c
Parents: 6239afa
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Jun 10 16:03:09 2015 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Jun 10 16:03:09 2015 +0200

----------------------------------------------------------------------
 .../console/rest/ConnectorRestClient.java       |  2 +-
 .../client/console/rest/GroupRestClient.java    |  2 +-
 .../console/rest/NotificationRestClient.java    |  2 +-
 .../client/console/rest/PolicyRestClient.java   |  2 +-
 .../client/console/rest/ReportRestClient.java   |  2 +-
 .../client/console/rest/ResourceRestClient.java |  2 +-
 .../client/console/rest/SchemaRestClient.java   |  6 +--
 .../rest/SecurityQuestionRestClient.java        |  6 +--
 .../client/console/rest/TaskRestClient.java     |  4 +-
 .../client/console/rest/UserRestClient.java     |  2 +-
 .../client/console/rest/UserSelfRestClient.java |  2 +-
 .../apache/syncope/common/lib/mod/AnyMod.java   |  2 +
 .../syncope/common/lib/to/AbstractPolicyTO.java |  2 +
 .../syncope/common/lib/to/AbstractSchemaTO.java |  2 +
 .../syncope/common/lib/to/AbstractTaskTO.java   |  2 +
 .../syncope/common/lib/to/AnyTypeClassTO.java   |  2 +
 .../apache/syncope/common/lib/to/AnyTypeTO.java |  2 +
 .../syncope/common/lib/to/ConnInstanceTO.java   |  2 +
 .../syncope/common/lib/to/NotificationTO.java   |  2 +
 .../apache/syncope/common/lib/to/RealmTO.java   |  2 +
 .../apache/syncope/common/lib/to/ReportTO.java  |  2 +
 .../syncope/common/lib/to/ResourceTO.java       |  2 +
 .../apache/syncope/common/lib/to/RoleTO.java    |  2 +
 .../common/lib/to/SecurityQuestionTO.java       |  2 +
 .../common/rest/api/service/AnyService.java     |  3 +-
 .../rest/api/service/AnyTypeClassService.java   |  3 +-
 .../common/rest/api/service/AnyTypeService.java |  3 +-
 .../rest/api/service/ConnectorService.java      |  3 +-
 .../rest/api/service/NotificationService.java   | 17 ++++---
 .../common/rest/api/service/PolicyService.java  | 17 ++++---
 .../common/rest/api/service/RealmService.java   |  3 +-
 .../common/rest/api/service/ReportService.java  | 29 ++++++------
 .../rest/api/service/ResourceService.java       |  3 +-
 .../common/rest/api/service/RoleService.java    |  3 +-
 .../common/rest/api/service/SchemaService.java  | 27 +++++------
 .../api/service/SecurityQuestionService.java    | 26 +++++------
 .../common/rest/api/service/TaskService.java    | 29 ++++++------
 .../rest/api/service/UserSelfService.java       |  8 ++--
 .../rest/cxf/service/AbstractAnyService.java    |  5 +--
 .../cxf/service/AnyTypeClassServiceImpl.java    |  3 +-
 .../rest/cxf/service/AnyTypeServiceImpl.java    |  3 +-
 .../rest/cxf/service/ConnectorServiceImpl.java  |  3 +-
 .../cxf/service/NotificationServiceImpl.java    | 11 +++--
 .../rest/cxf/service/PolicyServiceImpl.java     | 12 +++--
 .../core/rest/cxf/service/RealmServiceImpl.java |  4 +-
 .../rest/cxf/service/ReportServiceImpl.java     | 19 ++++----
 .../rest/cxf/service/ResourceServiceImpl.java   |  3 +-
 .../core/rest/cxf/service/RoleServiceImpl.java  |  3 +-
 .../rest/cxf/service/SchemaServiceImpl.java     | 13 +++---
 .../service/SecurityQuestionServiceImpl.java    | 11 +++--
 .../core/rest/cxf/service/TaskServiceImpl.java  | 47 ++++++++++----------
 .../rest/cxf/service/UserSelfServiceImpl.java   |  3 +-
 .../fit/core/reference/AbstractITCase.java      |  6 +--
 .../fit/core/reference/AnyTypeClassITCase.java  |  2 +-
 .../fit/core/reference/AnyTypeITCase.java       |  4 +-
 .../core/reference/AuthenticationITCase.java    |  2 +-
 .../fit/core/reference/ConnectorITCase.java     | 12 ++---
 .../fit/core/reference/DerSchemaITCase.java     |  6 +--
 .../syncope/fit/core/reference/GroupITCase.java | 13 +++---
 .../fit/core/reference/NotificationITCase.java  |  2 +-
 .../fit/core/reference/PlainSchemaITCase.java   | 10 ++---
 .../fit/core/reference/PolicyITCase.java        |  2 +-
 .../syncope/fit/core/reference/RealmITCase.java |  4 +-
 .../fit/core/reference/ReportITCase.java        |  2 +-
 .../fit/core/reference/ResourceITCase.java      |  8 ++--
 .../syncope/fit/core/reference/RoleITCase.java  |  4 +-
 .../fit/core/reference/SchedTaskITCase.java     |  2 +-
 .../core/reference/SecurityQuestionITCase.java  |  2 +-
 .../fit/core/reference/SyncTaskITCase.java      | 16 +++----
 .../syncope/fit/core/reference/UserITCase.java  | 39 ++++++++--------
 .../fit/core/reference/UserSelfITCase.java      |  6 ++-
 .../fit/core/reference/VirAttrITCase.java       |  8 ++--
 72 files changed, 258 insertions(+), 264 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
index 3298d3f..8dab310 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/ConnectorRestClient.java
@@ -85,7 +85,7 @@ public class ConnectorRestClient extends BaseRestClient {
         Set<ConnConfProperty> filteredConf = filterProperties(connectorTO.getConfiguration());
         connectorTO.getConfiguration().clear();
         connectorTO.getConfiguration().addAll(filteredConf);
-        getService(ConnectorService.class).update(connectorTO.getKey(), connectorTO);
+        getService(ConnectorService.class).update(connectorTO);
     }
 
     public ConnInstanceTO delete(final Long id) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
index a146857..b4b848c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/GroupRestClient.java
@@ -98,7 +98,7 @@ public class GroupRestClient extends AbstractAnyRestClient {
         GroupTO result;
         synchronized (this) {
             GroupService service = getService(etag, GroupService.class);
-            result = service.update(groupMod.getKey(), groupMod).readEntity(GroupTO.class);
+            result = service.update(groupMod).readEntity(GroupTO.class);
             resetClient(GroupService.class);
         }
         return result;

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java
index b33e4dc..ac2eb03 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java
@@ -41,7 +41,7 @@ public class NotificationRestClient extends BaseRestClient {
     }
 
     public void update(final NotificationTO notificationTO) {
-        getService(NotificationService.class).update(notificationTO.getKey(), notificationTO);
+        getService(NotificationService.class).update(notificationTO);
     }
 
     public void delete(final Long key) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/PolicyRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/PolicyRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/PolicyRestClient.java
index c1f019f..e58f734 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/PolicyRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/PolicyRestClient.java
@@ -62,7 +62,7 @@ public class PolicyRestClient extends BaseRestClient {
     }
 
     public <T extends AbstractPolicyTO> void updatePolicy(final T policy) {
-        getService(PolicyService.class).update(policy.getKey(), policy);
+        getService(PolicyService.class).update(policy);
     }
 
     public void delete(final Long id, final Class<? extends AbstractPolicyTO> policyClass) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
index 617a2c7..05af975 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
@@ -77,7 +77,7 @@ public class ReportRestClient extends BaseRestClient implements ExecutionRestCli
     }
 
     public void update(final ReportTO reportTO) {
-        getService(ReportService.class).update(reportTO.getKey(), reportTO);
+        getService(ReportService.class).update(reportTO);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/ResourceRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ResourceRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ResourceRestClient.java
index f5431db..15bf7aa 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/ResourceRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/ResourceRestClient.java
@@ -69,7 +69,7 @@ public class ResourceRestClient extends BaseRestClient {
     }
 
     public void update(final ResourceTO resourceTO) {
-        getService(ResourceService.class).update(resourceTO.getKey(), resourceTO);
+        getService(ResourceService.class).update(resourceTO);
     }
 
     public void delete(final String name) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
index 8a145dc..6b9f244 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
@@ -153,7 +153,7 @@ public class SchemaRestClient extends BaseRestClient {
     }
 
     public void updatePlainSchema(final PlainSchemaTO schemaTO) {
-        getService(SchemaService.class).update(SchemaType.PLAIN, schemaTO.getKey(), schemaTO);
+        getService(SchemaService.class).update(SchemaType.PLAIN, schemaTO);
     }
 
     public PlainSchemaTO deletePlainSchema(final String name) {
@@ -177,7 +177,7 @@ public class SchemaRestClient extends BaseRestClient {
     }
 
     public void updateVirSchema(final VirSchemaTO schemaTO) {
-        getService(SchemaService.class).update(SchemaType.VIRTUAL, schemaTO.getKey(), schemaTO);
+        getService(SchemaService.class).update(SchemaType.VIRTUAL, schemaTO);
     }
 
     public DerSchemaTO deleteDerSchema(final String name) {
@@ -191,7 +191,7 @@ public class SchemaRestClient extends BaseRestClient {
     }
 
     public void updateDerSchema(final DerSchemaTO schemaTO) {
-        getService(SchemaService.class).update(SchemaType.DERIVED, schemaTO.getKey(), schemaTO);
+        getService(SchemaService.class).update(SchemaType.DERIVED, schemaTO);
     }
 
     public VirSchemaTO deleteVirSchema(final String name) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/SecurityQuestionRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SecurityQuestionRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SecurityQuestionRestClient.java
index 119b3b5..2fd07e0 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SecurityQuestionRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SecurityQuestionRestClient.java
@@ -37,11 +37,11 @@ public class SecurityQuestionRestClient extends BaseRestClient {
     }
 
     public void update(final SecurityQuestionTO securityQuestionTO) {
-        getService(SecurityQuestionService.class).update(securityQuestionTO.getKey(), securityQuestionTO);
+        getService(SecurityQuestionService.class).update(securityQuestionTO);
     }
 
-    public void delete(final Long securityQuestionId) {
-        getService(SecurityQuestionService.class).delete(securityQuestionId);
+    public void delete(final Long securityQuestionKey) {
+        getService(SecurityQuestionService.class).delete(securityQuestionKey);
     }
 
     public SecurityQuestionTO readByUser(final String username) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/TaskRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/TaskRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/TaskRestClient.java
index cea466e..32236a9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/TaskRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/TaskRestClient.java
@@ -131,11 +131,11 @@ public class TaskRestClient extends BaseRestClient implements ExecutionRestClien
     }
 
     public void updateSchedTask(final SchedTaskTO taskTO) {
-        getService(TaskService.class).update(taskTO.getKey(), taskTO);
+        getService(TaskService.class).update(taskTO);
     }
 
     public void updateSyncTask(final SyncTaskTO taskTO) {
-        getService(TaskService.class).update(taskTO.getKey(), taskTO);
+        getService(TaskService.class).update(taskTO);
     }
 
     public BulkActionResult bulkAction(final BulkAction action) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
index bfe6385..f517c4c 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserRestClient.java
@@ -73,7 +73,7 @@ public class UserRestClient extends AbstractAnyRestClient {
         UserTO result;
         synchronized (this) {
             UserService service = getService(etag, UserService.class);
-            result = service.update(userMod.getKey(), userMod).readEntity(UserTO.class);
+            result = service.update(userMod).readEntity(UserTO.class);
             resetClient(UserService.class);
         }
         return result;

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/client/console/src/main/java/org/apache/syncope/client/console/rest/UserSelfRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserSelfRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserSelfRestClient.java
index 13e1555..9668672 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/UserSelfRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/UserSelfRestClient.java
@@ -52,7 +52,7 @@ public class UserSelfRestClient extends BaseRestClient {
     }
 
     public void update(final UserMod userMod) {
-        getService(UserSelfService.class).update(userMod.getKey(), userMod);
+        getService(UserSelfService.class).update(userMod);
     }
 
     public void delete() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/mod/AnyMod.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/mod/AnyMod.java b/common/lib/src/main/java/org/apache/syncope/common/lib/mod/AnyMod.java
index f84e65a..0fbd6aa 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/mod/AnyMod.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/mod/AnyMod.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.HashSet;
 import java.util.Set;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlType;
@@ -60,6 +61,7 @@ public abstract class AnyMod extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractPolicyTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractPolicyTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractPolicyTO.java
index 9202fba..2c5fcb4 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractPolicyTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractPolicyTO.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import java.util.ArrayList;
 import java.util.List;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -62,6 +63,7 @@ public abstract class AbstractPolicyTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractSchemaTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractSchemaTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractSchemaTO.java
index b3a37a8..afd6e6b 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractSchemaTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractSchemaTO.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.common.lib.to;
 
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlSeeAlso;
 import javax.xml.bind.annotation.XmlType;
@@ -38,6 +39,7 @@ public abstract class AbstractSchemaTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final String key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractTaskTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractTaskTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractTaskTO.java
index 21e1cb0..21e665b 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractTaskTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AbstractTaskTO.java
@@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
 
 import java.util.ArrayList;
 import java.util.List;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -47,6 +48,7 @@ public abstract class AbstractTaskTO extends AbstractStartEndBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
index 9b696f8..508d2cb 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeClassTO.java
@@ -21,6 +21,7 @@ package org.apache.syncope.common.lib.to;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -45,6 +46,7 @@ public class AnyTypeClassTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final String key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
index 3722b81..a5a7104 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTypeTO.java
@@ -21,6 +21,7 @@ package org.apache.syncope.common.lib.to;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -44,6 +45,7 @@ public class AnyTypeTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final String key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
index 5c25783..2111570 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnInstanceTO.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -71,6 +72,7 @@ public class ConnInstanceTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
index 5487410..01f70d0 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/NotificationTO.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -91,6 +92,7 @@ public class NotificationTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final Long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
index 9a25be2..faef389 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/RealmTO.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.common.lib.to;
 
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 import org.apache.syncope.common.lib.AbstractBaseBean;
@@ -68,6 +69,7 @@ public class RealmTO extends AbstractBaseBean {
         return fullPath;
     }
 
+    @PathParam("fullPath")
     public void setFullPath(final String fullPath) {
         this.fullPath = fullPath;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
index 80f74f3..533f8d1 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -54,6 +55,7 @@ public class ReportTO extends AbstractStartEndBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
index 7fbac89..79d33a1 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ResourceTO.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -98,6 +99,7 @@ public class ResourceTO extends AbstractAnnotatedBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final String key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
index 1a12fdb..fab8a06 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/RoleTO.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
@@ -49,6 +50,7 @@ public class RoleTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
index dd73f2c..83a8c55 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/SecurityQuestionTO.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.common.lib.to;
 
+import javax.ws.rs.PathParam;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 import org.apache.syncope.common.lib.AbstractBaseBean;
@@ -36,6 +37,7 @@ public class SecurityQuestionTO extends AbstractBaseBean {
         return key;
     }
 
+    @PathParam("key")
     public void setKey(final long key) {
         this.key = key;
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
index 90fbf7d..93167cb 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
@@ -100,7 +100,6 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
     /**
      * Updates any object matching the provided key.
      *
-     * @param key key of any object to be updated
      * @param anyMod modification to be applied to any object matching the provided key
      * @return <tt>Response</tt> object featuring the updated any object enriched with propagation status information
      * - {@link AnyTO} as <tt>Entity</tt>
@@ -114,7 +113,7 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
     @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    Response update(@NotNull @PathParam("key") Long key, @NotNull MOD anyMod);
+    Response update(@NotNull MOD anyMod);
 
     /**
      * Deletes any object matching provided key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
index 21831cf..18bf1c4 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
@@ -78,13 +78,12 @@ public interface AnyTypeClassService extends JAXRSService {
     /**
      * Updates the anyTypeClass matching the provided key.
      *
-     * @param key anyTypeClass key to be updated
      * @param anyTypeClassTO anyTypeClass to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("key") String key, @NotNull AnyTypeClassTO anyTypeClassTO);
+    void update(@NotNull AnyTypeClassTO anyTypeClassTO);
 
     /**
      * Deletes the anyTypeClass matching the provided key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
index ddedd25..c4a8c02 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
@@ -78,13 +78,12 @@ public interface AnyTypeService extends JAXRSService {
     /**
      * Updates the anyType matching the provided key.
      *
-     * @param key anyType key to be updated
      * @param anyTypeTO anyType to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("key") String key, @NotNull AnyTypeTO anyTypeTO);
+    void update(@NotNull AnyTypeTO anyTypeTO);
 
     /**
      * Deletes the anyType matching the provided key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
index e0c240f..2518a74 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
@@ -154,13 +154,12 @@ public interface ConnectorService extends JAXRSService {
     /**
      * Updates the connector instance matching the provided key.
      *
-     * @param key connector instance key to be updated
      * @param connInstanceTO connector instance to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("key") Long key, @NotNull ConnInstanceTO connInstanceTO);
+    void update(@NotNull ConnInstanceTO connInstanceTO);
 
     /**
      * Deletes the connector instance matching the provided key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
index a210014..ae33d5a 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
@@ -44,13 +44,13 @@ public interface NotificationService extends JAXRSService {
     /**
      * Returns notification with matching id.
      *
-     * @param notificationKey key of notification to be read
+     * @param key key of notification to be read
      * @return notification with matching key
      */
     @GET
-    @Path("{notificationKey}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    NotificationTO read(@NotNull @PathParam("notificationKey") Long notificationKey);
+    NotificationTO read(@NotNull @PathParam("key") Long key);
 
     /**
      * Returns a list of all notifications.
@@ -78,20 +78,19 @@ public interface NotificationService extends JAXRSService {
     /**
      * Updates the notification matching the given key.
      *
-     * @param notificationKey key of notification to be updated
      * @param notificationTO notification to be stored
      */
     @PUT
-    @Path("{notificationKey}")
+    @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("notificationKey") Long notificationKey, @NotNull NotificationTO notificationTO);
+    void update(@NotNull NotificationTO notificationTO);
 
     /**
      * Deletes the notification matching the given key.
      *
-     * @param notificationKey key for notification to be deleted
+     * @param key key for notification to be deleted
      */
     @DELETE
-    @Path("{notificationKey}")
-    void delete(@NotNull @PathParam("notificationKey") Long notificationKey);
+    @Path("{key}")
+    void delete(@NotNull @PathParam("key") Long key);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
index c098ace..980da9f 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
@@ -46,14 +46,14 @@ public interface PolicyService extends JAXRSService {
     /**
      * Returns the policy matching the given key.
      *
-     * @param policyKey key of requested policy
+     * @param key key of requested policy
      * @param <T> response type (extending PolicyTO)
      * @return policy with matching id
      */
     @GET
-    @Path("{policyKey}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractPolicyTO> T read(@NotNull @PathParam("policyKey") Long policyKey);
+    <T extends AbstractPolicyTO> T read(@NotNull @PathParam("key") Long key);
 
     /**
      * Returns a list of policies of the matching type.
@@ -83,23 +83,22 @@ public interface PolicyService extends JAXRSService {
     /**
      * Updates policy matching the given key.
      *
-     * @param policyKey key of policy to be updated
      * @param policyTO Policy to replace existing policy
      * @param <T> response type (extending PolicyTO)
      */
     @PUT
-    @Path("{policyKey}")
+    @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractPolicyTO> void update(@NotNull @PathParam("policyKey") Long policyKey, @NotNull T policyTO);
+    <T extends AbstractPolicyTO> void update(@NotNull T policyTO);
 
     /**
      * Delete policy matching the given key.
      *
-     * @param policyKey key of policy to be deleted
+     * @param key key of policy to be deleted
      * @param <T> response type (extending PolicyTO)
      */
     @DELETE
-    @Path("{policyKey}")
-    <T extends AbstractPolicyTO> void delete(@NotNull @PathParam("policyKey") Long policyKey);
+    @Path("{key}")
+    <T extends AbstractPolicyTO> void delete(@NotNull @PathParam("key") Long key);
 
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
index c8343ae..74b2333 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
@@ -80,13 +80,12 @@ public interface RealmService extends JAXRSService {
     /**
      * Updates the realm under the given path.
      *
-     * @param fullPath full path of the realm
      * @param realmTO realm to be stored
      */
     @PUT
     @Path("{fullPath:.*}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("fullPath") String fullPath, @NotNull RealmTO realmTO);
+    void update(@NotNull RealmTO realmTO);
 
     /**
      * Deletes the notification matching the given key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
index 996f784..b5ce7ec 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
@@ -64,13 +64,13 @@ public interface ReportService extends JAXRSService {
     /**
      * Returns report with matching key.
      *
-     * @param reportKey key of report to be read
+     * @param key key of report to be read
      * @return report with matching key
      */
     @GET
-    @Path("{reportKey}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    ReportTO read(@NotNull @PathParam("reportKey") Long reportKey);
+    ReportTO read(@NotNull @PathParam("key") Long key);
 
     /**
      * Returns report execution with matching key.
@@ -109,22 +109,21 @@ public interface ReportService extends JAXRSService {
     /**
      * Updates report with matching key.
      *
-     * @param reportKey id for report to be updated
      * @param reportTO report to be stored
      */
     @PUT
-    @Path("{reportKey}")
+    @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("reportKey") Long reportKey, ReportTO reportTO);
+    void update(@NotNull ReportTO reportTO);
 
     /**
      * Deletes report with matching key.
      *
-     * @param reportKey Deletes report with matching key
+     * @param key Deletes report with matching key
      */
     @DELETE
-    @Path("{reportKey}")
-    void delete(@NotNull @PathParam("reportKey") Long reportKey);
+    @Path("{key}")
+    void delete(@NotNull @PathParam("key") Long key);
 
     /**
      * Deletes report execution with matching key.
@@ -138,13 +137,13 @@ public interface ReportService extends JAXRSService {
     /**
      * Executes the report with matching key.
      *
-     * @param reportKey key of report to be executed
+     * @param key key of report to be executed
      * @return report execution result
      */
     @POST
-    @Path("{reportKey}/execute")
+    @Path("{key}/execute")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    ReportExecTO execute(@NotNull @PathParam("reportKey") Long reportKey);
+    ReportExecTO execute(@NotNull @PathParam("key") Long key);
 
     /**
      * Exports the report execution with matching key in the requested format.
@@ -173,10 +172,10 @@ public interface ReportService extends JAXRSService {
     /**
      * Executes an action on an existing report's job.
      *
-     * @param reportKey report key
+     * @param key report key
      * @param action
      */
     @POST
-    @Path("{reportKey}")
-    void actionJob(@PathParam("reportKey") Long reportKey, @QueryParam("action") JobAction action);
+    @Path("{key}")
+    void actionJob(@PathParam("key") Long key, @QueryParam("action") JobAction action);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
index 41204a0..cac9132 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
@@ -98,13 +98,12 @@ public interface ResourceService extends JAXRSService {
     /**
      * Updates the resource matching the given name.
      *
-     * @param key name of resource to be updated
      * @param resourceTO resource to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("key") String key, @NotNull ResourceTO resourceTO);
+    void update(@NotNull ResourceTO resourceTO);
 
     /**
      * Deletes the resource matching the given name.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
index 881e1bc..d6afa1f 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
@@ -78,13 +78,12 @@ public interface RoleService extends JAXRSService {
     /**
      * Updates the role matching the provided key.
      *
-     * @param key role key to be updated
      * @param roleTO role to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("key") Long key, @NotNull RoleTO roleTO);
+    void update(@NotNull RoleTO roleTO);
 
     /**
      * Deletes the role matching the provided key.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
index 352e310..68f0f43 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
@@ -23,6 +23,7 @@ import javax.validation.constraints.NotNull;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
+import javax.ws.rs.MatrixParam;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
@@ -43,18 +44,18 @@ import org.apache.syncope.common.lib.types.SchemaType;
 public interface SchemaService extends JAXRSService {
 
     /**
-     * Returns schema matching the given kind, type and name.
+     * Returns schema matching the given type and key.
      *
      * @param <T> actual SchemaTO
      * @param type type for schemas to be read
-     * @param schemaKey name of schema to be read
+     * @param key name of schema to be read
      * @return schema matching the given kind, type and name
      */
     @GET
     @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
     <T extends AbstractSchemaTO> T read(
-            @NotNull @PathParam("type") SchemaType type, @NotNull @PathParam("key") String schemaKey);
+            @NotNull @PathParam("type") SchemaType type, @NotNull @PathParam("key") String key);
 
     /**
      * Returns a list of schemas with matching kind and type.
@@ -65,7 +66,7 @@ public interface SchemaService extends JAXRSService {
      */
     @GET
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractSchemaTO> List<T> list(@NotNull @PathParam("type") SchemaType type);
+    <T extends AbstractSchemaTO> List<T> list(@NotNull @MatrixParam("type") SchemaType type);
 
     /**
      * Creates a new schema.
@@ -80,33 +81,27 @@ public interface SchemaService extends JAXRSService {
     })
     @POST
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractSchemaTO> Response create(
-            @NotNull @PathParam("type") SchemaType type, @NotNull T schemaTO);
+    <T extends AbstractSchemaTO> Response create(@NotNull @PathParam("type") SchemaType type, @NotNull T schemaTO);
 
     /**
-     * Updates the schema matching the given kind, type and name.
+     * Updates the schema matching the given type and key.
      *
      * @param <T> actual SchemaTO
      * @param type type for schemas to be updated
-     * @param schemaKey name of schema to be updated
      * @param schemaTO updated schema to be stored
      */
     @PUT
     @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractSchemaTO> void update(
-            @NotNull @PathParam("type") SchemaType type,
-            @NotNull @PathParam("key") String schemaKey, @NotNull T schemaTO);
+    <T extends AbstractSchemaTO> void update(@NotNull @PathParam("type") SchemaType type, @NotNull T schemaTO);
 
     /**
-     * Deletes the schema matching the given kind, type and name.
+     * Deletes the schema matching the given type and key.
      *
      * @param type type for schema to be deleted
-     * @param schemaKey name of schema to be deleted
+     * @param key name of schema to be deleted
      */
     @DELETE
     @Path("{key}")
-    void delete(
-            @NotNull @PathParam("type") SchemaType type,
-            @NotNull @PathParam("key") String schemaKey);
+    void delete(@NotNull @PathParam("type") SchemaType type, @NotNull @PathParam("key") String key);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
index 12a73cf..f0dcf27 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
@@ -51,15 +51,15 @@ public interface SecurityQuestionService extends JAXRSService {
     List<SecurityQuestionTO> list();
 
     /**
-     * Returns security question with matching id.
+     * Returns security question with matching key.
      *
-     * @param securityQuestionId security question id to be read
-     * @return security question with matching id
+     * @param key security question key to be read
+     * @return security question with matching key
      */
     @GET
-    @Path("{securityQuestionId}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    SecurityQuestionTO read(@NotNull @PathParam("securityQuestionId") Long securityQuestionId);
+    SecurityQuestionTO read(@NotNull @PathParam("key") Long key);
 
     /**
      * Creates a new security question.
@@ -76,25 +76,23 @@ public interface SecurityQuestionService extends JAXRSService {
     Response create(@NotNull SecurityQuestionTO securityQuestionTO);
 
     /**
-     * Updates the security question matching the provided id.
+     * Updates the security question matching the provided key.
      *
-     * @param securityQuestionId security question id to be updated
      * @param securityQuestionTO security question to be stored
      */
     @PUT
-    @Path("{securityQuestionId}")
+    @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("securityQuestionId") Long securityQuestionId,
-            @NotNull SecurityQuestionTO securityQuestionTO);
+    void update(@NotNull SecurityQuestionTO securityQuestionTO);
 
     /**
-     * Deletes the security question matching the provided id.
+     * Deletes the security question matching the provided key.
      *
-     * @param securityQuestionId security question id to be deleted
+     * @param key security question key to be deleted
      */
     @DELETE
-    @Path("{securityQuestionId}")
-    void delete(@NotNull @PathParam("securityQuestionId") Long securityQuestionId);
+    @Path("{key}")
+    void delete(@NotNull @PathParam("key") Long key);
 
     /**
      * Ask for security question configured for the user matching the given username, if any.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
index 84b7cbf..5e39b2a 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
@@ -58,14 +58,14 @@ public interface TaskService extends JAXRSService {
     /**
      * Returns the task matching the given key.
      *
-     * @param taskKey key of task to be read
+     * @param key key of task to be read
      * @param <T> type of taskTO
      * @return task with matching id
      */
     @GET
-    @Path("{taskKey}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    <T extends AbstractTaskTO> T read(@NotNull @PathParam("taskKey") Long taskKey);
+    <T extends AbstractTaskTO> T read(@NotNull @PathParam("key") Long key);
 
     /**
      * Returns the task execution with the given id.
@@ -109,22 +109,21 @@ public interface TaskService extends JAXRSService {
     /**
      * Updates the task matching the provided key.
      *
-     * @param taskKey key of task to be updated
      * @param taskTO updated task to be stored
      */
     @PUT
-    @Path("{taskKey}")
+    @Path("{key}")
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    void update(@NotNull @PathParam("taskKey") Long taskKey, @NotNull AbstractTaskTO taskTO);
+    void update(@NotNull AbstractTaskTO taskTO);
 
     /**
      * Deletes the task matching the provided key.
      *
-     * @param taskKey key of task to be deleted
+     * @param key key of task to be deleted
      */
     @DELETE
-    @Path("{taskKey}")
-    void delete(@NotNull @PathParam("taskKey") Long taskKey);
+    @Path("{key}")
+    void delete(@NotNull @PathParam("key") Long key);
 
     /**
      * Deletes the task execution matching the provided key.
@@ -138,14 +137,14 @@ public interface TaskService extends JAXRSService {
     /**
      * Executes the task matching the given id.
      *
-     * @param taskKey key of task to be executed
+     * @param key key of task to be executed
      * @param dryRun if true, task will only be simulated
      * @return execution report for the task matching the given id
      */
     @POST
-    @Path("{taskKey}/execute")
+    @Path("{key}/execute")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    TaskExecTO execute(@NotNull @PathParam("taskKey") Long taskKey,
+    TaskExecTO execute(@NotNull @PathParam("key") Long key,
             @QueryParam("dryRun") @DefaultValue("false") boolean dryRun);
 
     /**
@@ -185,10 +184,10 @@ public interface TaskService extends JAXRSService {
     /**
      * Executes an action on an existing task's job.
      *
-     * @param taskKey task key
+     * @param key task key
      * @param action
      */
     @POST
-    @Path("{taskKey}")
-    void actionJob(@PathParam("taskKey") Long taskKey, @QueryParam("action") JobAction action);
+    @Path("{key}")
+    void actionJob(@PathParam("key") Long key, @QueryParam("action") JobAction action);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
index f57f2cf..dd2fe7e 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
@@ -25,7 +25,6 @@ import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
@@ -74,8 +73,7 @@ public interface UserSelfService extends JAXRSService {
     /**
      * Self-updates user.
      *
-     * @param userKey id of user to be updated
-     * @param userMod modification to be applied to user matching the provided userKey
+     * @param userMod modification to be applied to user matching the provided key
      * @return <tt>Response</tt> object featuring the updated user - {@link UserTO} as <tt>Entity</tt>
      */
     @Descriptions({
@@ -83,10 +81,10 @@ public interface UserSelfService extends JAXRSService {
                 value = "Featuring the updated user - <tt>UserTO</tt> as <tt>Entity</tt>")
     })
     @POST
-    @Path("{userKey}")
+    @Path("{key}")
     @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-    Response update(@NotNull @PathParam("userKey") Long userKey, @NotNull UserMod userMod);
+    Response update(@NotNull UserMod userMod);
 
     /**
      * Self-deletes user.

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
index 7cf4a08..93afe01 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
@@ -107,12 +107,11 @@ public abstract class AbstractAnyService<TO extends AnyTO, MOD extends AnyMod>
     }
 
     @Override
-    public Response update(final Long key, final MOD anyMod) {
-        TO any = getAnyLogic().read(key);
+    public Response update(final MOD anyMod) {
+        TO any = getAnyLogic().read(anyMod.getKey());
 
         checkETag(any.getETagValue());
 
-        anyMod.setKey(key);
         TO updated = getAnyLogic().update(anyMod);
         return modificationResponse(updated);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeClassServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeClassServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeClassServiceImpl.java
index 3683e61..54a546a 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeClassServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeClassServiceImpl.java
@@ -54,8 +54,7 @@ public class AnyTypeClassServiceImpl extends AbstractServiceImpl implements AnyT
     }
 
     @Override
-    public void update(final String key, final AnyTypeClassTO anyTypeTO) {
-        anyTypeTO.setKey(key);
+    public void update(final AnyTypeClassTO anyTypeTO) {
         logic.update(anyTypeTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeServiceImpl.java
index bb3c699..5f0e8ec 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AnyTypeServiceImpl.java
@@ -54,8 +54,7 @@ public class AnyTypeServiceImpl extends AbstractServiceImpl implements AnyTypeSe
     }
 
     @Override
-    public void update(final String key, final AnyTypeTO anyTypeTO) {
-        anyTypeTO.setKey(key);
+    public void update(final AnyTypeTO anyTypeTO) {
         logic.update(anyTypeTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
index d80caf9..6725bf9 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
@@ -112,8 +112,7 @@ public class ConnectorServiceImpl extends AbstractServiceImpl implements Connect
     }
 
     @Override
-    public void update(final Long key, final ConnInstanceTO connInstanceTO) {
-        connInstanceTO.setKey(key);
+    public void update(final ConnInstanceTO connInstanceTO) {
         logic.update(connInstanceTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/NotificationServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/NotificationServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/NotificationServiceImpl.java
index 017b0b3..dbd3461 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/NotificationServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/NotificationServiceImpl.java
@@ -44,8 +44,8 @@ public class NotificationServiceImpl extends AbstractServiceImpl implements Noti
     }
 
     @Override
-    public NotificationTO read(final Long notificationKey) {
-        return logic.read(notificationKey);
+    public NotificationTO read(final Long key) {
+        return logic.read(key);
     }
 
     @Override
@@ -54,13 +54,12 @@ public class NotificationServiceImpl extends AbstractServiceImpl implements Noti
     }
 
     @Override
-    public void update(final Long notificationKey, final NotificationTO notificationTO) {
-        notificationTO.setKey(notificationKey);
+    public void update(final NotificationTO notificationTO) {
         logic.update(notificationTO);
     }
 
     @Override
-    public void delete(final Long notificationKey) {
-        logic.delete(notificationKey);
+    public void delete(final Long key) {
+        logic.delete(key);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/PolicyServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/PolicyServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/PolicyServiceImpl.java
index a61e776..ecec019 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/PolicyServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/PolicyServiceImpl.java
@@ -48,8 +48,8 @@ public class PolicyServiceImpl extends AbstractServiceImpl implements PolicyServ
     }
 
     @Override
-    public void delete(final Long policyKey) {
-        logic.delete(policyKey);
+    public void delete(final Long key) {
+        logic.delete(key);
     }
 
     @Override
@@ -58,14 +58,12 @@ public class PolicyServiceImpl extends AbstractServiceImpl implements PolicyServ
     }
 
     @Override
-    public <T extends AbstractPolicyTO> T read(final Long policyKey) {
-        return logic.read(policyKey);
+    public <T extends AbstractPolicyTO> T read(final Long key) {
+        return logic.read(key);
     }
 
     @Override
-    public <T extends AbstractPolicyTO> void update(final Long policyKey, final T policyTO) {
-        policyTO.setKey(policyKey);
-
+    public <T extends AbstractPolicyTO> void update(final T policyTO) {
         switch (policyTO.getType()) {
             case ACCOUNT:
                 logic.update((AccountPolicyTO) policyTO);

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RealmServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RealmServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RealmServiceImpl.java
index ecf372d..0485c1d 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RealmServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RealmServiceImpl.java
@@ -56,8 +56,8 @@ public class RealmServiceImpl extends AbstractServiceImpl implements RealmServic
     }
 
     @Override
-    public void update(final String fullPath, final RealmTO realmTO) {
-        realmTO.setFullPath(StringUtils.prependIfMissing(fullPath, SyncopeConstants.ROOT_REALM));
+    public void update(final RealmTO realmTO) {
+        realmTO.setFullPath(StringUtils.prependIfMissing(realmTO.getFullPath(), SyncopeConstants.ROOT_REALM));
         logic.update(realmTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReportServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReportServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReportServiceImpl.java
index 405e105..9fa3d99 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReportServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ReportServiceImpl.java
@@ -57,8 +57,7 @@ public class ReportServiceImpl extends AbstractServiceImpl implements ReportServ
     }
 
     @Override
-    public void update(final Long reportKey, final ReportTO reportTO) {
-        reportTO.setKey(reportKey);
+    public void update(final ReportTO reportTO) {
         logic.update(reportTO);
     }
 
@@ -80,8 +79,8 @@ public class ReportServiceImpl extends AbstractServiceImpl implements ReportServ
     }
 
     @Override
-    public ReportTO read(final Long reportKey) {
-        return logic.read(reportKey);
+    public ReportTO read(final Long key) {
+        return logic.read(key);
     }
 
     @Override
@@ -108,13 +107,13 @@ public class ReportServiceImpl extends AbstractServiceImpl implements ReportServ
     }
 
     @Override
-    public ReportExecTO execute(final Long reportKey) {
-        return logic.execute(reportKey);
+    public ReportExecTO execute(final Long key) {
+        return logic.execute(key);
     }
 
     @Override
-    public void delete(final Long reportKey) {
-        logic.delete(reportKey);
+    public void delete(final Long key) {
+        logic.delete(key);
     }
 
     @Override
@@ -128,7 +127,7 @@ public class ReportServiceImpl extends AbstractServiceImpl implements ReportServ
     }
 
     @Override
-    public void actionJob(final Long reportKey, final JobAction action) {
-        logic.actionJob(reportKey, action);
+    public void actionJob(final Long key, final JobAction action) {
+        logic.actionJob(key, action);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
index b6c3f50..ae7c426 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
@@ -67,8 +67,7 @@ public class ResourceServiceImpl extends AbstractServiceImpl implements Resource
     }
 
     @Override
-    public void update(final String key, final ResourceTO resourceTO) {
-        resourceTO.setKey(key);
+    public void update(final ResourceTO resourceTO) {
         logic.update(resourceTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RoleServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RoleServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RoleServiceImpl.java
index d2efb3f..006767c 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RoleServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/RoleServiceImpl.java
@@ -54,8 +54,7 @@ public class RoleServiceImpl extends AbstractServiceImpl implements RoleService
     }
 
     @Override
-    public void update(final Long roleKey, final RoleTO roleTO) {
-        roleTO.setKey(roleKey);
+    public void update(final RoleTO roleTO) {
         logic.update(roleTO);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
index aa99255..e846a95 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
@@ -46,8 +46,8 @@ public class SchemaServiceImpl extends AbstractServiceImpl implements SchemaServ
     }
 
     @Override
-    public void delete(final SchemaType schemaType, final String schemaKey) {
-        logic.delete(schemaType, schemaKey);
+    public void delete(final SchemaType schemaType, final String key) {
+        logic.delete(schemaType, key);
     }
 
     @Override
@@ -56,15 +56,12 @@ public class SchemaServiceImpl extends AbstractServiceImpl implements SchemaServ
     }
 
     @Override
-    public <T extends AbstractSchemaTO> T read(final SchemaType schemaType, final String schemaKey) {
-        return logic.read(schemaType, schemaKey);
+    public <T extends AbstractSchemaTO> T read(final SchemaType schemaType, final String key) {
+        return logic.read(schemaType, key);
     }
 
     @Override
-    public <T extends AbstractSchemaTO> void update(
-            final SchemaType schemaType, final String schemaKey, final T schemaTO) {
-
-        schemaTO.setKey(schemaKey);
+    public <T extends AbstractSchemaTO> void update(final SchemaType schemaType, final T schemaTO) {
         logic.update(schemaType, schemaTO);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SecurityQuestionServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SecurityQuestionServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SecurityQuestionServiceImpl.java
index b094adc..37cc4552 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SecurityQuestionServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SecurityQuestionServiceImpl.java
@@ -40,8 +40,8 @@ public class SecurityQuestionServiceImpl extends AbstractServiceImpl implements
     }
 
     @Override
-    public SecurityQuestionTO read(final Long securityQuestionId) {
-        return logic.read(securityQuestionId);
+    public SecurityQuestionTO read(final Long key) {
+        return logic.read(key);
     }
 
     @Override
@@ -55,14 +55,13 @@ public class SecurityQuestionServiceImpl extends AbstractServiceImpl implements
     }
 
     @Override
-    public void update(final Long securityQuestionId, final SecurityQuestionTO securityQuestionTO) {
-        securityQuestionTO.setKey(securityQuestionId);
+    public void update(final SecurityQuestionTO securityQuestionTO) {
         logic.update(securityQuestionTO);
     }
 
     @Override
-    public void delete(final Long securityQuestionId) {
-        logic.delete(securityQuestionId);
+    public void delete(final Long key) {
+        logic.delete(key);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
index 29d4a0c..5fb19e2 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
@@ -64,8 +64,8 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
     }
 
     @Override
-    public void delete(final Long taskKey) {
-        logic.delete(taskKey);
+    public void delete(final Long key) {
+        logic.delete(key);
     }
 
     @Override
@@ -74,8 +74,8 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
     }
 
     @Override
-    public TaskExecTO execute(final Long taskKey, final boolean dryRun) {
-        return logic.execute(taskKey, dryRun);
+    public TaskExecTO execute(final Long key, final boolean dryRun) {
+        return logic.execute(key, dryRun);
     }
 
     @SuppressWarnings("unchecked")
@@ -93,8 +93,8 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
     }
 
     @Override
-    public <T extends AbstractTaskTO> T read(final Long taskKey) {
-        return logic.read(taskKey);
+    public <T extends AbstractTaskTO> T read(final Long key) {
+        return logic.read(key);
     }
 
     @Override
@@ -110,8 +110,7 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
     }
 
     @Override
-    public void update(final Long taskKey, final AbstractTaskTO taskTO) {
-        taskTO.setKey(taskKey);
+    public void update(final AbstractTaskTO taskTO) {
         if (taskTO instanceof SyncTaskTO) {
             logic.updateSync((SyncTaskTO) taskTO);
         } else if (taskTO instanceof SchedTaskTO) {
@@ -127,38 +126,38 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
 
         switch (bulkAction.getOperation()) {
             case DELETE:
-                for (String taskKey : bulkAction.getTargets()) {
+                for (String key : bulkAction.getTargets()) {
                     try {
                         result.getResults().put(
-                                String.valueOf(logic.delete(Long.valueOf(taskKey)).getKey()),
+                                String.valueOf(logic.delete(Long.valueOf(key)).getKey()),
                                 BulkActionResult.Status.SUCCESS);
                     } catch (Exception e) {
-                        LOG.error("Error performing delete for task {}", taskKey, e);
-                        result.getResults().put(taskKey, BulkActionResult.Status.FAILURE);
+                        LOG.error("Error performing delete for task {}", key, e);
+                        result.getResults().put(key, BulkActionResult.Status.FAILURE);
                     }
                 }
                 break;
 
             case DRYRUN:
-                for (String taskKey : bulkAction.getTargets()) {
+                for (String key : bulkAction.getTargets()) {
                     try {
-                        logic.execute(Long.valueOf(taskKey), true);
-                        result.getResults().put(taskKey, BulkActionResult.Status.SUCCESS);
+                        logic.execute(Long.valueOf(key), true);
+                        result.getResults().put(key, BulkActionResult.Status.SUCCESS);
                     } catch (Exception e) {
-                        LOG.error("Error performing dryrun for task {}", taskKey, e);
-                        result.getResults().put(taskKey, BulkActionResult.Status.FAILURE);
+                        LOG.error("Error performing dryrun for task {}", key, e);
+                        result.getResults().put(key, BulkActionResult.Status.FAILURE);
                     }
                 }
                 break;
 
             case EXECUTE:
-                for (String taskKey : bulkAction.getTargets()) {
+                for (String key : bulkAction.getTargets()) {
                     try {
-                        logic.execute(Long.valueOf(taskKey), false);
-                        result.getResults().put(taskKey, BulkActionResult.Status.SUCCESS);
+                        logic.execute(Long.valueOf(key), false);
+                        result.getResults().put(key, BulkActionResult.Status.SUCCESS);
                     } catch (Exception e) {
-                        LOG.error("Error performing execute for task {}", taskKey, e);
-                        result.getResults().put(taskKey, BulkActionResult.Status.FAILURE);
+                        LOG.error("Error performing execute for task {}", key, e);
+                        result.getResults().put(key, BulkActionResult.Status.FAILURE);
                     }
                 }
                 break;
@@ -175,7 +174,7 @@ public class TaskServiceImpl extends AbstractServiceImpl implements TaskService
     }
 
     @Override
-    public void actionJob(final Long taskKey, final JobAction action) {
-        logic.actionJob(taskKey, action);
+    public void actionJob(final Long key, final JobAction action) {
+        logic.actionJob(key, action);
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/UserSelfServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/UserSelfServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/UserSelfServiceImpl.java
index 74d58d1..18013d2 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/UserSelfServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/UserSelfServiceImpl.java
@@ -63,8 +63,7 @@ public class UserSelfServiceImpl extends AbstractServiceImpl implements UserSelf
     }
 
     @Override
-    public Response update(final Long userKey, final UserMod userMod) {
-        userMod.setKey(userKey);
+    public Response update(final UserMod userMod) {
         UserTO updated = logic.updateSelf(userMod);
         return modificationResponse(updated);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
index efe1b16..77e4c50 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
@@ -292,7 +292,7 @@ public abstract class AbstractITCase {
     }
 
     protected UserTO updateUser(final UserMod userMod) {
-        return userService.update(userMod.getKey(), userMod).readEntity(UserTO.class);
+        return userService.update(userMod).readEntity(UserTO.class);
     }
 
     protected UserTO deleteUser(final Long key) {
@@ -342,7 +342,7 @@ public abstract class AbstractITCase {
     }
 
     protected AnyObjectTO updateAnyObject(final AnyObjectMod anyObjectMod) {
-        return anyObjectService.update(anyObjectMod.getKey(), anyObjectMod).readEntity(AnyObjectTO.class);
+        return anyObjectService.update(anyObjectMod).readEntity(AnyObjectTO.class);
     }
 
     protected AnyObjectTO deleteAnyObject(final Long key) {
@@ -361,7 +361,7 @@ public abstract class AbstractITCase {
     }
 
     protected GroupTO updateGroup(final GroupMod groupMod) {
-        return groupService.update(groupMod.getKey(), groupMod).readEntity(GroupTO.class);
+        return groupService.update(groupMod).readEntity(GroupTO.class);
     }
 
     protected GroupTO deleteGroup(final Long key) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeClassITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeClassITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeClassITCase.java
index 4dbb796..557f4b3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeClassITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeClassITCase.java
@@ -72,7 +72,7 @@ public class AnyTypeClassITCase extends AbstractITCase {
         assertTrue(newClass.getVirSchemas().isEmpty());
 
         newClass.getDerSchemas().add("cn");
-        anyTypeClassService.update(newClass.getKey(), newClass);
+        anyTypeClassService.update(newClass);
 
         newClass = anyTypeClassService.read(newClass.getKey());
         assertNotNull(newClass);

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java
index 01da6f8..9fdc1e4 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java
@@ -85,7 +85,7 @@ public class AnyTypeITCase extends AbstractITCase {
         assertTrue(newType.getClasses().contains("csv"));
 
         newType.getClasses().remove("generic membership");
-        anyTypeService.update(newType.getKey(), newType);
+        anyTypeService.update(newType);
 
         newType = anyTypeService.read(newType.getKey());
         assertNotNull(newType);
@@ -154,7 +154,7 @@ public class AnyTypeITCase extends AbstractITCase {
         assertNotNull(other);
 
         other.getClasses().add(newClass.getKey());
-        anyTypeService.update(other.getKey(), other);
+        anyTypeService.update(other);
 
         other = anyTypeService.read(other.getKey());
         assertNotNull(other);

http://git-wip-us.apache.org/repos/asf/syncope/blob/df60b3b4/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java
index 5102e9b..a756401 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java
@@ -152,7 +152,7 @@ public class AuthenticationITCase extends AbstractITCase {
 
         // 5. update the schema create above (as user) - failure
         try {
-            schemaService2.update(SchemaType.PLAIN, schemaName, schemaTO);
+            schemaService2.update(SchemaType.PLAIN, schemaTO);
             fail("Schemaupdate as user should not work");
         } catch (AccessControlException e) {
             // CXF Service will throw this exception