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:02:04 UTC
[17/24] syncope git commit: [SYNCOPE-822] UUID keys
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
index e754798..77fd1c9 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/UserTO.java
@@ -60,7 +60,7 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
private Integer failedLogins;
- private Long securityQuestion;
+ private String securityQuestion;
private String securityAnswer;
@@ -70,7 +70,7 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
private final List<MembershipTO> memberships = new ArrayList<>();
- private final List<Long> dynGroups = new ArrayList<>();
+ private final List<String> dynGroups = new ArrayList<>();
@Override
public String getType() {
@@ -156,11 +156,11 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
this.lastLoginDate = lastLoginDate;
}
- public Long getSecurityQuestion() {
+ public String getSecurityQuestion() {
return securityQuestion;
}
- public void setSecurityQuestion(final Long securityQuestion) {
+ public void setSecurityQuestion(final String securityQuestion) {
this.securityQuestion = securityQuestion;
}
@@ -190,8 +190,8 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
@JsonIgnore
@Override
- public Map<Pair<String, Long>, RelationshipTO> getRelationshipMap() {
- Map<Pair<String, Long>, RelationshipTO> result = new HashMap<>(getRelationships().size());
+ public Map<Pair<String, String>, RelationshipTO> getRelationshipMap() {
+ Map<Pair<String, String>, RelationshipTO> result = new HashMap<>(getRelationships().size());
for (RelationshipTO relationship : getRelationships()) {
result.put(Pair.of(relationship.getType(), relationship.getRightKey()), relationship);
}
@@ -208,8 +208,8 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
@JsonIgnore
@Override
- public Map<Long, MembershipTO> getMembershipMap() {
- Map<Long, MembershipTO> result = new HashMap<>(getMemberships().size());
+ public Map<String, MembershipTO> getMembershipMap() {
+ Map<String, MembershipTO> result = new HashMap<>(getMemberships().size());
for (MembershipTO membership : getMemberships()) {
result.put(membership.getRightKey(), membership);
}
@@ -222,7 +222,7 @@ public class UserTO extends AnyTO implements RelatableTO, GroupableTO {
@XmlElement(name = "role")
@JsonProperty("dynGroups")
@Override
- public List<Long> getDynGroups() {
+ public List<String> getDynGroups() {
return dynGroups;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
index 1d0534d..2d0710a 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/VirSchemaTO.java
@@ -29,7 +29,7 @@ public class VirSchemaTO extends AbstractSchemaTO {
private String resource;
- private long provision;
+ private String provision;
private String extAttrName;
@@ -49,11 +49,11 @@ public class VirSchemaTO extends AbstractSchemaTO {
this.resource = resource;
}
- public long getProvision() {
+ public String getProvision() {
return provision;
}
- public void setProvision(final long provision) {
+ public void setProvision(final String provision) {
this.provision = provision;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
index 43e6d2c..97be831 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormTO.java
@@ -38,7 +38,7 @@ public class WorkflowFormTO extends AbstractBaseBean {
private static final long serialVersionUID = -7044543391316529128L;
- private long userKey;
+ private String userKey;
private String taskId;
@@ -54,11 +54,11 @@ public class WorkflowFormTO extends AbstractBaseBean {
private final List<WorkflowFormPropertyTO> properties = new ArrayList<>();
- public long getUserKey() {
+ public String getUserKey() {
return userKey;
}
- public void setUserKey(final long userKey) {
+ public void setUserKey(final String userKey) {
this.userKey = userKey;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java b/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java
index 951a4ca..556a25f 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/types/ClientExceptionType.java
@@ -30,6 +30,7 @@ public enum ClientExceptionType {
DataIntegrityViolation(Response.Status.CONFLICT),
EntityExists(Response.Status.CONFLICT),
GenericPersistence(Response.Status.BAD_REQUEST),
+ HasChildren(Response.Status.BAD_REQUEST),
InvalidSecurityAnswer(Response.Status.BAD_REQUEST),
InvalidEntity(Response.Status.BAD_REQUEST),
InvalidLogger(Response.Status.BAD_REQUEST),
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
----------------------------------------------------------------------
diff --git a/common/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java b/common/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
index 4eeaf8f..a0ef746 100644
--- a/common/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
+++ b/common/lib/src/test/java/org/apache/syncope/common/lib/JSONTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNotNull;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.UUID;
import org.apache.syncope.common.lib.patch.PasswordPatch;
import org.apache.syncope.common.lib.patch.StringPatchItem;
import org.apache.syncope.common.lib.patch.StringReplacePatchItem;
@@ -70,7 +71,7 @@ public class JSONTest {
@Test
public void patch() throws IOException {
UserPatch patch = new UserPatch();
- patch.setKey(12L);
+ patch.setKey(UUID.randomUUID().toString());
patch.setUsername(new StringReplacePatchItem.Builder().value("newusername").build());
assertNotNull(patch.getUsername().getValue());
patch.setPassword(new PasswordPatch.Builder().
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/RESTHeaders.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/RESTHeaders.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/RESTHeaders.java
index 0b69531..9312543 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/RESTHeaders.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/RESTHeaders.java
@@ -25,10 +25,6 @@ public final class RESTHeaders {
public static final String DOMAIN = "X-Syncope-Domain";
- public static final String USER_KEY = "X-Syncope-User-Key";
-
- public static final String USERNAME = "X-Syncope-Username";
-
public static final String OWNED_ENTITLEMENTS = "X-Syncope-Entitlements";
public static final String RESOURCE_KEY = "X-Syncope-Key";
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
index eb37f52..73d0bb3 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AbstractQuery.java
@@ -92,11 +92,11 @@ public abstract class AbstractQuery extends AbstractBaseBean {
this.size = size;
}
- @QueryParam(JAXRSService.PARAM_ORDERBY)
public String getOrderBy() {
return orderBy;
}
+ @QueryParam(JAXRSService.PARAM_ORDERBY)
public void setOrderBy(final String orderBy) {
this.orderBy = orderBy;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/BulkExecDeleteQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/BulkExecDeleteQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/BulkExecDeleteQuery.java
index 4030a15..10e36bc 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/BulkExecDeleteQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/BulkExecDeleteQuery.java
@@ -32,7 +32,7 @@ public class BulkExecDeleteQuery extends AbstractBaseBean {
private final BulkExecDeleteQuery instance = new BulkExecDeleteQuery();
- public Builder key(final long key) {
+ public Builder key(final String key) {
instance.setKey(key);
return this;
}
@@ -62,7 +62,7 @@ public class BulkExecDeleteQuery extends AbstractBaseBean {
}
}
- private Long key;
+ private String key;
private Date startedBefore;
@@ -72,13 +72,13 @@ public class BulkExecDeleteQuery extends AbstractBaseBean {
private Date endedAfter;
- public Long getKey() {
+ public String getKey() {
return key;
}
@NotNull
@PathParam("key")
- public void setKey(final Long key) {
+ public void setKey(final String key) {
this.key = key;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecuteQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecuteQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecuteQuery.java
index c550e78..1b1f5ca 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecuteQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ExecuteQuery.java
@@ -33,7 +33,7 @@ public class ExecuteQuery extends AbstractBaseBean {
private final ExecuteQuery instance = new ExecuteQuery();
- public Builder key(final long key) {
+ public Builder key(final String key) {
instance.setKey(key);
return this;
}
@@ -53,19 +53,19 @@ public class ExecuteQuery extends AbstractBaseBean {
}
}
- private Long key;
+ private String key;
private Date startAt;
private Boolean dryRun;
- public Long getKey() {
+ public String getKey() {
return key;
}
@NotNull
@PathParam("key")
- public void setKey(final Long key) {
+ public void setKey(final String key) {
this.key = key;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskExecQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskExecQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskExecQuery.java
index 626b0bb..f7a9692 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskExecQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskExecQuery.java
@@ -32,21 +32,21 @@ public class TaskExecQuery extends AbstractQuery {
return new TaskExecQuery();
}
- public Builder key(final Long key) {
+ public Builder key(final String key) {
getInstance().setKey(key);
return this;
}
}
- private Long key;
+ private String key;
- public Long getKey() {
+ public String getKey() {
return key;
}
@NotNull
@PathParam("key")
- public void setKey(final Long key) {
+ public void setKey(final String key) {
this.key = key;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskQuery.java
index fb8b048..c869a15 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/TaskQuery.java
@@ -56,7 +56,7 @@ public class TaskQuery extends AbstractQuery {
}
}
- public Builder notification(final Long notification) {
+ public Builder notification(final String notification) {
switch (getInstance().getType()) {
case NOTIFICATION:
getInstance().setNotification(notification);
@@ -79,7 +79,7 @@ public class TaskQuery extends AbstractQuery {
}
}
- public Builder anyTypeKey(final Long anyTypeKey) {
+ public Builder anyTypeKey(final String anyTypeKey) {
switch (getInstance().getType()) {
case PROPAGATION:
case NOTIFICATION:
@@ -110,11 +110,11 @@ public class TaskQuery extends AbstractQuery {
private String resource;
- private Long notification;
+ private String notification;
private AnyTypeKind anyTypeKind;
- private Long anyTypeKey;
+ private String anyTypeKey;
private Boolean details;
@@ -137,12 +137,12 @@ public class TaskQuery extends AbstractQuery {
this.resource = resource;
}
- public Long getNotification() {
+ public String getNotification() {
return notification;
}
@QueryParam(JAXRSService.PARAM_NOTIFICATION)
- public void setNotification(final Long notification) {
+ public void setNotification(final String notification) {
this.notification = notification;
}
@@ -155,13 +155,13 @@ public class TaskQuery extends AbstractQuery {
this.anyTypeKind = anyTypeKind;
}
- public Long getAnyTypeKey() {
+ public String getAnyTypeKey() {
return anyTypeKey;
}
@Min(1)
@QueryParam(JAXRSService.PARAM_ANYTYPE_KEY)
- public void setAnyTypeKey(final Long anyTypeKey) {
+ public void setAnyTypeKey(final String anyTypeKey) {
this.anyTypeKey = anyTypeKey;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 c0b520c..56d3bfd 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
@@ -55,7 +55,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@GET
@Path("{key}/{schemaType}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- Set<AttrTO> read(@NotNull @PathParam("key") Long key, @NotNull @PathParam("schemaType") SchemaType schemaType);
+ Set<AttrTO> read(@NotNull @PathParam("key") String key, @NotNull @PathParam("schemaType") SchemaType schemaType);
/**
* Reads the attribute, owned by the given any object, for the given schema type and schema.
@@ -69,7 +69,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@Path("{key}/{schemaType}/{schema}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
AttrTO read(
- @NotNull @PathParam("key") Long key,
+ @NotNull @PathParam("key") String key,
@NotNull @PathParam("schemaType") SchemaType schemaType,
@NotNull @PathParam("schema") String schema);
@@ -82,7 +82,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- TO read(@NotNull @PathParam("key") Long key);
+ TO read(@NotNull @PathParam("key") String key);
/**
* Returns a paged list of any objects matching the given query.
@@ -133,7 +133,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
Response update(
- @NotNull @PathParam("key") Long key,
+ @NotNull @PathParam("key") String key,
@NotNull @PathParam("schemaType") SchemaType schemaType,
@NotNull AttrTO attrTO);
@@ -162,7 +162,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
void delete(
- @NotNull @PathParam("key") Long key,
+ @NotNull @PathParam("key") String key,
@NotNull @PathParam("schemaType") SchemaType schemaType,
@NotNull @PathParam("schema") String schema);
@@ -177,7 +177,7 @@ public interface AnyService<TO extends AnyTO, P extends AnyPatch> extends JAXRSS
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- Response delete(@NotNull @PathParam("key") Long key);
+ Response delete(@NotNull @PathParam("key") String key);
/**
* Executes resource-related operations on given any object.
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 50778a8..d080648 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
@@ -84,7 +84,7 @@ public interface ConnectorService extends JAXRSService {
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- ConnInstanceTO read(@NotNull @PathParam("key") Long key, @QueryParam("lang") String lang);
+ ConnInstanceTO read(@NotNull @PathParam("key") String key, @QueryParam("lang") String lang);
/**
* Returns connector instance for matching resource.
@@ -138,7 +138,7 @@ public interface ConnectorService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String key);
/**
* Checks whether the connection to resource could be established.
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 c0ed504..3baf310 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
@@ -50,7 +50,7 @@ public interface NotificationService extends JAXRSService {
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- NotificationTO read(@NotNull @PathParam("key") Long key);
+ NotificationTO read(@NotNull @PathParam("key") String key);
/**
* Returns a list of all notifications.
@@ -88,7 +88,7 @@ public interface NotificationService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String key);
/**
* Returns details about notification job.
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 073e5dd..2177d51 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
@@ -50,7 +50,7 @@ public interface PolicyService extends JAXRSService {
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- <T extends AbstractPolicyTO> T read(@NotNull @PathParam("key") Long key);
+ <T extends AbstractPolicyTO> T read(@NotNull @PathParam("key") String key);
/**
* Returns a list of policies of the matching type.
@@ -90,6 +90,6 @@ public interface PolicyService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String key);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 17259f2..75e7a1b 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
@@ -81,9 +81,9 @@ public interface RealmService extends JAXRSService {
void update(@NotNull RealmTO realmTO);
/**
- * Deletes the notification matching the given key.
+ * Deletes the realm under the given path.
*
- * @param fullPath key for notification to be deleted
+ * @param fullPath realm path
*/
@DELETE
@Path("{fullPath:.*}")
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 cd810e8..2fceb88 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
@@ -58,7 +58,7 @@ public interface ReportService extends JAXRSService {
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- ReportTO read(@NotNull @PathParam("key") Long key);
+ ReportTO read(@NotNull @PathParam("key") String key);
/**
* Returns a list of all existing reports.
@@ -96,7 +96,7 @@ public interface ReportService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String key);
/**
* Returns the list of recently completed report executions, ordered by end date descendent.
@@ -116,7 +116,7 @@ public interface ReportService extends JAXRSService {
*/
@DELETE
@Path("executions/{executionKey}")
- void deleteExecution(@NotNull @PathParam("executionKey") Long executionKey);
+ void deleteExecution(@NotNull @PathParam("executionKey") String executionKey);
/**
* Deletes the report executions belonging matching the given query.
@@ -151,7 +151,7 @@ public interface ReportService extends JAXRSService {
@Path("executions/{executionKey}/stream")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
Response exportExecutionResult(
- @NotNull @PathParam("executionKey") Long executionKey,
+ @NotNull @PathParam("executionKey") String executionKey,
@QueryParam("format") ReportExecExportFormat fmt);
/**
@@ -172,5 +172,5 @@ public interface ReportService extends JAXRSService {
*/
@POST
@Path("jobs/{key}")
- void actionJob(@NotNull @PathParam("key") Long key, @QueryParam("action") JobAction action);
+ void actionJob(@NotNull @PathParam("key") String key, @QueryParam("action") JobAction action);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 2aeb6aa..6fa1e82 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
@@ -59,7 +59,7 @@ public interface ResourceService extends JAXRSService {
ConnObjectTO readConnObject(
@NotNull @PathParam("key") String key,
@NotNull @PathParam("anyTypeKey") String anyTypeKey,
- @NotNull @PathParam("anyKey") Long anyKey);
+ @NotNull @PathParam("anyKey") String anyKey);
/**
* Returns a paged list of connector objects from external resource, for the given type, matching
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/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 546365e..08ebbfe 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
@@ -56,7 +56,7 @@ public interface SecurityQuestionService extends JAXRSService {
@GET
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- SecurityQuestionTO read(@NotNull @PathParam("key") Long key);
+ SecurityQuestionTO read(@NotNull @PathParam("key") String key);
/**
* Creates a new security question.
@@ -85,7 +85,7 @@ public interface SecurityQuestionService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String 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/550ee4f4/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 965c9c7..c1727d3 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
@@ -65,7 +65,7 @@ public interface TaskService extends JAXRSService {
@Path("{key}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
<T extends AbstractTaskTO> T read(
- @NotNull @PathParam("key") Long key,
+ @NotNull @PathParam("key") String key,
@QueryParam(JAXRSService.PARAM_DETAILS) @DefaultValue("true") boolean details);
/**
@@ -106,7 +106,7 @@ public interface TaskService extends JAXRSService {
*/
@DELETE
@Path("{key}")
- void delete(@NotNull @PathParam("key") Long key);
+ void delete(@NotNull @PathParam("key") String key);
/**
* Returns a paged list of task executions matching the given query.
@@ -137,7 +137,7 @@ public interface TaskService extends JAXRSService {
*/
@DELETE
@Path("executions/{executionKey}")
- void deleteExecution(@NotNull @PathParam("executionKey") Long executionKey);
+ void deleteExecution(@NotNull @PathParam("executionKey") String executionKey);
/**
* Deletes the task executions belonging matching the given query.
@@ -191,5 +191,5 @@ public interface TaskService extends JAXRSService {
*/
@POST
@Path("jobs/{key}")
- void actionJob(@NotNull @PathParam("key") Long key, @QueryParam("action") JobAction action);
+ void actionJob(@NotNull @PathParam("key") String key, @QueryParam("action") JobAction action);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
index df57bd5..d443e35 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
@@ -23,10 +23,8 @@ import javax.ws.rs.BeanParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
-import javax.ws.rs.OPTIONS;
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;
@@ -44,26 +42,6 @@ import org.apache.syncope.common.rest.api.beans.AnyListQuery;
public interface UserService extends AnyService<UserTO, UserPatch> {
/**
- * Gives the username for the provided user key.
- *
- * @param key user key
- * @return Response object featuring HTTP header with username matching the given key
- */
- @OPTIONS
- @Path("{key}/username")
- Response getUsername(@NotNull @PathParam("key") Long key);
-
- /**
- * Gives the user key for the provided username.
- *
- * @param username username
- * @return Response object featuring HTTP header with key matching the given username
- */
- @OPTIONS
- @Path("{username}/key")
- Response getUserKey(@NotNull @PathParam("username") String username);
-
- /**
* Returns a paged list of existing users matching the given query.
*
* @param listQuery query conditions
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserWorkflowService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserWorkflowService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserWorkflowService.java
index f9362e0..a4ecc46 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserWorkflowService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserWorkflowService.java
@@ -55,7 +55,7 @@ public interface UserWorkflowService extends JAXRSService {
@GET
@Path("forms/{userKey}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- WorkflowFormTO getFormForUser(@NotNull @PathParam("userKey") Long userKey);
+ WorkflowFormTO getFormForUser(@NotNull @PathParam("userKey") String userKey);
/**
* Claims the form for the given task id.
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
index 42701e0..e1b778e 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractAnyLogic.java
@@ -82,7 +82,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
}
protected Pair<TO, List<LogicActions>> beforeCreate(final TO input) {
- Realm realm = realmDAO.find(input.getRealm());
+ Realm realm = realmDAO.findByFullPath(input.getRealm());
if (realm == null) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRealm);
sce.getElements().add(input.getRealm());
@@ -115,7 +115,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
}
protected Pair<P, List<LogicActions>> beforeUpdate(final P input, final String realmPath) {
- Realm realm = realmDAO.find(realmPath);
+ Realm realm = realmDAO.findByFullPath(realmPath);
if (realm == null) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRealm);
sce.getElements().add(realmPath);
@@ -135,7 +135,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
}
protected Pair<TO, List<LogicActions>> beforeDelete(final TO input) {
- Realm realm = realmDAO.find(input.getRealm());
+ Realm realm = realmDAO.findByFullPath(input.getRealm());
if (realm == null) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRealm);
sce.getElements().add(input.getRealm());
@@ -205,7 +205,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
return effective;
}
- protected void securityChecks(final Set<String> effectiveRealms, final String realm, final Long key) {
+ protected void securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
if (!IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
@Override
@@ -224,7 +224,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
}
}
- public abstract TO read(Long key);
+ public abstract TO read(String key);
public abstract int count(String realm);
@@ -232,7 +232,7 @@ public abstract class AbstractAnyLogic<TO extends AnyTO, P extends AnyPatch>
public abstract ProvisioningResult<TO> update(P anyPatch, boolean nullPriorityAsync);
- public abstract ProvisioningResult<TO> delete(Long key, boolean nullPriorityAsync);
+ public abstract ProvisioningResult<TO> delete(String key, boolean nullPriorityAsync);
public abstract List<TO> list(
int page, int size, List<OrderByClause> orderBy,
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractJobLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractJobLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractJobLogic.java
index 2841c9d..ac4af1c 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractJobLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractJobLogic.java
@@ -42,7 +42,7 @@ abstract class AbstractJobLogic<T extends AbstractBaseBean> extends AbstractTran
@Autowired
protected SchedulerFactoryBean scheduler;
- protected abstract Triple<JobType, Long, String> getReference(final JobKey jobKey);
+ protected abstract Triple<JobType, String, String> getReference(final JobKey jobKey);
protected List<JobTO> listJobs() {
List<JobTO> jobTOs = new ArrayList<>();
@@ -53,7 +53,7 @@ abstract class AbstractJobLogic<T extends AbstractBaseBean> extends AbstractTran
JobTO jobTO = new JobTO();
- Triple<JobType, Long, String> reference = getReference(jobKey);
+ Triple<JobType, String, String> reference = getReference(jobKey);
if (reference != null) {
jobTOs.add(jobTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractResourceAssociator.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractResourceAssociator.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractResourceAssociator.java
index 3bd4492..577455b 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractResourceAssociator.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AbstractResourceAssociator.java
@@ -24,19 +24,19 @@ import org.apache.syncope.common.lib.to.ProvisioningResult;
public abstract class AbstractResourceAssociator<A extends AnyTO> extends AbstractLogic<A> {
- public abstract A unlink(Long key, Collection<String> resources);
+ public abstract A unlink(String key, Collection<String> resources);
- public abstract A link(Long key, Collection<String> resources);
+ public abstract A link(String key, Collection<String> resources);
public abstract ProvisioningResult<A> unassign(
- Long key, Collection<String> resources, boolean nullPriorityAsync);
+ String key, Collection<String> resources, boolean nullPriorityAsync);
public abstract ProvisioningResult<A> assign(
- Long key, Collection<String> resources, boolean changepwd, String password, boolean nullPriorityAsync);
+ String key, Collection<String> resources, boolean changepwd, String password, boolean nullPriorityAsync);
public abstract ProvisioningResult<A> deprovision(
- Long key, Collection<String> resources, boolean nullPriorityAsync);
+ String key, Collection<String> resources, boolean nullPriorityAsync);
public abstract ProvisioningResult<A> provision(
- Long key, Collection<String> resources, boolean changepwd, String password, boolean nullPriorityAsync);
+ String key, Collection<String> resources, boolean changepwd, String password, boolean nullPriorityAsync);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
index a03ca58..d6dafda 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyObjectLogic.java
@@ -73,7 +73,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Transactional(readOnly = true)
@Override
- public AnyObjectTO read(final Long key) {
+ public AnyObjectTO read(final String key) {
return binder.getAnyObjectTO(key);
}
@@ -146,7 +146,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
before.getLeft().getRealm());
securityChecks(effectiveRealms, before.getLeft().getRealm(), null);
- Pair<Long, List<PropagationStatus>> created = provisioningManager.create(before.getLeft(), nullPriorityAsync);
+ Pair<String, List<PropagationStatus>> created = provisioningManager.create(before.getLeft(), nullPriorityAsync);
return after(binder.getAnyObjectTO(created.getKey()), created.getRight(), before.getRight());
}
@@ -167,13 +167,13 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
realm);
securityChecks(effectiveRealms, realm, before.getLeft().getKey());
- Pair<Long, List<PropagationStatus>> updated = provisioningManager.update(anyObjectPatch, nullPriorityAsync);
+ Pair<String, List<PropagationStatus>> updated = provisioningManager.update(anyObjectPatch, nullPriorityAsync);
return after(binder.getAnyObjectTO(updated.getKey()), updated.getRight(), before.getRight());
}
@Override
- public ProvisioningResult<AnyObjectTO> delete(final Long key, final boolean nullPriorityAsync) {
+ public ProvisioningResult<AnyObjectTO> delete(final String key, final boolean nullPriorityAsync) {
AnyObjectTO anyObject = binder.getAnyObjectTO(key);
Pair<AnyObjectTO, List<LogicActions>> before = beforeDelete(anyObject);
@@ -191,7 +191,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
@Override
- public AnyObjectTO unlink(final Long key, final Collection<String> resources) {
+ public AnyObjectTO unlink(final String key, final Collection<String> resources) {
// security checks
AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
@@ -213,7 +213,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
@Override
- public AnyObjectTO link(final Long key, final Collection<String> resources) {
+ public AnyObjectTO link(final String key, final Collection<String> resources) {
// security checks
AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
@@ -236,7 +236,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public ProvisioningResult<AnyObjectTO> unassign(
- final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
+ final String key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
@@ -260,7 +260,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public ProvisioningResult<AnyObjectTO> assign(
- final Long key,
+ final String key,
final Collection<String> resources,
final boolean changepwd,
final String password,
@@ -288,7 +288,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public ProvisioningResult<AnyObjectTO> deprovision(
- final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
+ final String key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
AnyObjectTO anyObjectTO = binder.getAnyObjectTO(key);
@@ -307,7 +307,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
@Override
public ProvisioningResult<AnyObjectTO> provision(
- final Long key,
+ final String key,
final Collection<String> resources,
final boolean changePwd,
final String password,
@@ -332,12 +332,12 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
protected AnyObjectTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof AnyObjectTO) {
key = ((AnyObjectTO) args[i]).getKey();
} else if (args[i] instanceof AnyObjectPatch) {
@@ -346,7 +346,7 @@ public class AnyObjectLogic extends AbstractAnyLogic<AnyObjectTO, AnyObjectPatch
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getAnyObjectTO(key);
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
index 19129d1..2a5e89b 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/AnyTypeLogic.java
@@ -75,7 +75,7 @@ public class AnyTypeLogic extends AbstractTransactionalLogic<AnyTypeTO> {
public AnyTypeTO create(final AnyTypeTO anyTypeTO) {
if (StringUtils.isBlank(anyTypeTO.getKey())) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.RequiredValuesMissing);
- sce.getElements().add(AnyType.class.getSimpleName() + " name");
+ sce.getElements().add(AnyType.class.getSimpleName() + " key");
throw sce;
}
if (anyTypeDAO.find(anyTypeTO.getKey()) != null) {
@@ -117,12 +117,12 @@ public class AnyTypeLogic extends AbstractTransactionalLogic<AnyTypeTO> {
AnyTypeTO deleted = binder.getAnyTypeTO(anyType);
try {
anyTypeDAO.delete(key);
+ EntitlementsHolder.getInstance().removeFor(deleted.getKey());
} catch (IllegalArgumentException e) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidAnyType);
sce.getElements().add(e.getMessage());
throw sce;
}
- EntitlementsHolder.getInstance().removeFor(deleted.getKey());
return deleted;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
index 0546f8f..8f7ec57 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ConnectorLogic.java
@@ -108,7 +108,7 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.CONNECTOR_DELETE + "')")
- public ConnInstanceTO delete(final Long key) {
+ public ConnInstanceTO delete(final String key) {
ConnInstance connInstance = connInstanceDAO.find(key);
if (connInstance == null) {
throw new NotFoundException("Connector '" + key + "'");
@@ -155,7 +155,7 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.CONNECTOR_READ + "')")
@Transactional(readOnly = true)
- public ConnInstanceTO read(final Long key, final String lang) {
+ public ConnInstanceTO read(final String key, final String lang) {
CurrentLocale.set(StringUtils.isBlank(lang) ? Locale.ENGLISH : new Locale(lang));
ConnInstance connInstance = connInstanceDAO.find(key);
@@ -262,19 +262,19 @@ public class ConnectorLogic extends AbstractTransactionalLogic<ConnInstanceTO> {
protected ConnInstanceTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof ConnInstanceTO) {
key = ((ConnInstanceTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getConnInstanceTO(connInstanceDAO.find(key));
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
index 344675c..232010e 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/GroupLogic.java
@@ -81,7 +81,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
protected GroupProvisioningManager provisioningManager;
@Override
- protected void securityChecks(final Set<String> effectiveRealms, final String realm, final Long key) {
+ protected void securityChecks(final Set<String> effectiveRealms, final String realm, final String key) {
if (!IterableUtils.matchesAny(effectiveRealms, new Predicate<String>() {
@Override
@@ -97,7 +97,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_READ + "')")
@Transactional(readOnly = true)
@Override
- public GroupTO read(final Long key) {
+ public GroupTO read(final String key) {
return binder.getGroupTO(key);
}
@@ -105,7 +105,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@Transactional(readOnly = true)
public List<GroupTO> own() {
return CollectionUtils.collect(
- userDAO.findAllGroups(userDAO.find(AuthContextUtils.getUsername())),
+ userDAO.findAllGroups(userDAO.findByUsername(AuthContextUtils.getUsername())),
new Transformer<Group, GroupTO>() {
@Override
@@ -182,7 +182,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
before.getLeft().getRealm());
securityChecks(effectiveRealms, before.getLeft().getRealm(), null);
- Pair<Long, List<PropagationStatus>> created =
+ Pair<String, List<PropagationStatus>> created =
provisioningManager.create(before.getLeft(), nullPriorityAsync);
return after(binder.getGroupTO(created.getKey()), created.getRight(), before.getRight());
@@ -201,14 +201,14 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
securityChecks(effectiveRealms, before.getLeft().getRealm().getValue(), before.getLeft().getKey());
}
- Pair<Long, List<PropagationStatus>> updated = provisioningManager.update(groupPatch, nullPriorityAsync);
+ Pair<String, List<PropagationStatus>> updated = provisioningManager.update(groupPatch, nullPriorityAsync);
return after(binder.getGroupTO(updated.getKey()), updated.getRight(), before.getRight());
}
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_DELETE + "')")
@Override
- public ProvisioningResult<GroupTO> delete(final Long key, final boolean nullPriorityAsync) {
+ public ProvisioningResult<GroupTO> delete(final String key, final boolean nullPriorityAsync) {
GroupTO group = binder.getGroupTO(key);
Pair<GroupTO, List<LogicActions>> before = beforeDelete(group);
@@ -240,7 +240,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
- public GroupTO unlink(final Long key, final Collection<String> resources) {
+ public GroupTO unlink(final String key, final Collection<String> resources) {
// security checks
GroupTO group = binder.getGroupTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
@@ -263,7 +263,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
- public GroupTO link(final Long key, final Collection<String> resources) {
+ public GroupTO link(final String key, final Collection<String> resources) {
// security checks
GroupTO group = binder.getGroupTO(key);
Set<String> effectiveRealms = getEffectiveRealms(
@@ -287,7 +287,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
public ProvisioningResult<GroupTO> unassign(
- final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
+ final String key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
GroupTO group = binder.getGroupTO(key);
@@ -312,7 +312,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
public ProvisioningResult<GroupTO> assign(
- final Long key,
+ final String key,
final Collection<String> resources,
final boolean changepwd,
final String password,
@@ -341,7 +341,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
public ProvisioningResult<GroupTO> deprovision(
- final Long key, final Collection<String> resources, final boolean nullPriorityAsync) {
+ final String key, final Collection<String> resources, final boolean nullPriorityAsync) {
// security checks
GroupTO group = binder.getGroupTO(key);
@@ -361,7 +361,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@PreAuthorize("hasRole('" + StandardEntitlement.GROUP_UPDATE + "')")
@Override
public ProvisioningResult<GroupTO> provision(
- final Long key,
+ final String key,
final Collection<String> resources,
final boolean changePwd,
final String password,
@@ -384,12 +384,12 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
@Override
protected GroupTO resolveReference(final Method method, final Object... args) throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof GroupTO) {
key = ((GroupTO) args[i]).getKey();
} else if (args[i] instanceof GroupPatch) {
@@ -398,7 +398,7 @@ public class GroupLogic extends AbstractAnyLogic<GroupTO, GroupPatch> {
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getGroupTO(key);
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
index 79f2baa..95597f0 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/NotificationLogic.java
@@ -51,7 +51,7 @@ public class NotificationLogic extends AbstractJobLogic<NotificationTO> {
private NotificationDataBinder binder;
@PreAuthorize("hasRole('" + StandardEntitlement.NOTIFICATION_READ + "')")
- public NotificationTO read(final Long key) {
+ public NotificationTO read(final String key) {
Notification notification = notificationDAO.find(key);
if (notification == null) {
LOG.error("Could not find notification '" + key + "'");
@@ -93,7 +93,7 @@ public class NotificationLogic extends AbstractJobLogic<NotificationTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.NOTIFICATION_DELETE + "')")
- public NotificationTO delete(final Long key) {
+ public NotificationTO delete(final String key) {
Notification notification = notificationDAO.find(key);
if (notification == null) {
LOG.error("Could not find notification '" + key + "'");
@@ -107,9 +107,9 @@ public class NotificationLogic extends AbstractJobLogic<NotificationTO> {
}
@Override
- protected Triple<JobType, Long, String> getReference(final JobKey jobKey) {
+ protected Triple<JobType, String, String> getReference(final JobKey jobKey) {
return JobManager.NOTIFICATION_JOB.equals(jobKey)
- ? Triple.of(JobType.NOTIFICATION, 0L, NotificationJob.class.getSimpleName())
+ ? Triple.of(JobType.NOTIFICATION, (String) null, NotificationJob.class.getSimpleName())
: null;
}
@@ -127,19 +127,19 @@ public class NotificationLogic extends AbstractJobLogic<NotificationTO> {
protected NotificationTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof NotificationTO) {
key = ((NotificationTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getNotificationTO(notificationDAO.find(key));
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
index 7452138..0cffd0c 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/PolicyLogic.java
@@ -88,7 +88,7 @@ public class PolicyLogic extends AbstractTransactionalLogic<AbstractPolicyTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_READ + "')")
- public <T extends AbstractPolicyTO> T read(final Long key) {
+ public <T extends AbstractPolicyTO> T read(final String key) {
Policy policy = policyDAO.find(key);
if (policy == null) {
throw new NotFoundException("Policy " + key + " not found");
@@ -98,7 +98,7 @@ public class PolicyLogic extends AbstractTransactionalLogic<AbstractPolicyTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_DELETE + "')")
- public <T extends AbstractPolicyTO> T delete(final Long key) {
+ public <T extends AbstractPolicyTO> T delete(final String key) {
Policy policy = policyDAO.find(key);
if (policy == null) {
throw new NotFoundException("Policy " + key + " not found");
@@ -114,19 +114,19 @@ public class PolicyLogic extends AbstractTransactionalLogic<AbstractPolicyTO> {
protected AbstractPolicyTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof AbstractPolicyTO) {
key = ((AbstractPolicyTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getPolicyTO(policyDAO.find(key));
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
index c9822a5..2b78a3e 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/RealmLogic.java
@@ -26,12 +26,14 @@ import java.util.Set;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.RealmTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.StandardEntitlement;
import org.apache.syncope.core.persistence.api.dao.AnySearchDAO;
+import org.apache.syncope.core.persistence.api.dao.DuplicateException;
import org.apache.syncope.core.persistence.api.dao.NotFoundException;
import org.apache.syncope.core.persistence.api.dao.RealmDAO;
import org.apache.syncope.core.persistence.api.dao.search.AnyCond;
@@ -57,7 +59,7 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_LIST + "')")
public List<RealmTO> list(final String fullPath) {
- Realm realm = realmDAO.find(fullPath);
+ Realm realm = realmDAO.findByFullPath(fullPath);
if (realm == null) {
LOG.error("Could not find realm '" + fullPath + "'");
@@ -75,12 +77,17 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_CREATE + "')")
public RealmTO create(final String parentPath, final RealmTO realmTO) {
+ String fullPath = StringUtils.appendIfMissing(parentPath, "/") + realmTO.getName();
+ if (realmDAO.findByFullPath(fullPath) != null) {
+ throw new DuplicateException(fullPath);
+ }
+
return binder.getRealmTO(realmDAO.save(binder.create(parentPath, realmTO)));
}
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_UPDATE + "')")
public RealmTO update(final RealmTO realmTO) {
- Realm realm = realmDAO.find(realmTO.getFullPath());
+ Realm realm = realmDAO.findByFullPath(realmTO.getFullPath());
if (realm == null) {
LOG.error("Could not find realm '" + realmTO.getFullPath() + "'");
@@ -95,17 +102,21 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.REALM_DELETE + "')")
public RealmTO delete(final String fullPath) {
- Realm realm = realmDAO.find(fullPath);
+ Realm realm = realmDAO.findByFullPath(fullPath);
if (realm == null) {
LOG.error("Could not find realm '" + fullPath + "'");
throw new NotFoundException(fullPath);
}
+ if (!realmDAO.findChildren(realm).isEmpty()) {
+ throw SyncopeClientException.build(ClientExceptionType.HasChildren);
+ }
+
Set<String> adminRealms = Collections.singleton(realm.getFullPath());
- AnyCond idCond = new AnyCond(AttributeCond.Type.ISNOTNULL);
- idCond.setSchema("id");
- SearchCond allMatchingCond = SearchCond.getLeafCond(idCond);
+ AnyCond keyCond = new AnyCond(AttributeCond.Type.ISNOTNULL);
+ keyCond.setSchema("key");
+ SearchCond allMatchingCond = SearchCond.getLeafCond(keyCond);
int users = searchDAO.count(adminRealms, allMatchingCond, AnyTypeKind.USER);
int groups = searchDAO.count(adminRealms, allMatchingCond, AnyTypeKind.GROUP);
int anyObjects = searchDAO.count(adminRealms, allMatchingCond, AnyTypeKind.ANY_OBJECT);
@@ -141,7 +152,7 @@ public class RealmLogic extends AbstractTransactionalLogic<RealmTO> {
if (fullPath != null) {
try {
- return binder.getRealmTO(realmDAO.find(fullPath));
+ return binder.getRealmTO(realmDAO.findByFullPath(fullPath));
} catch (Throwable e) {
LOG.debug("Unresolved reference", e);
throw new UnresolvedReferenceException(e);
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
index 33f8e0e..9a57a59 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
@@ -146,7 +146,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_READ + "')")
- public ReportTO read(final Long key) {
+ public ReportTO read(final String key) {
Report report = reportDAO.find(key);
if (report == null) {
throw new NotFoundException("Report " + key);
@@ -155,7 +155,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_EXECUTE + "')")
- public ExecTO execute(final Long key, final Date startAt) {
+ public ExecTO execute(final String key, final Date startAt) {
Report report = reportDAO.find(key);
if (report == null) {
throw new NotFoundException("Report " + key);
@@ -194,7 +194,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_READ + "')")
- public ReportExec getReportExec(final Long executionKey) {
+ public ReportExec getReportExec(final String executionKey) {
ReportExec reportExec = reportExecDAO.find(executionKey);
if (reportExec == null) {
throw new NotFoundException("Report execution " + executionKey);
@@ -280,7 +280,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_DELETE + "')")
- public ReportTO delete(final Long key) {
+ public ReportTO delete(final String key) {
Report report = reportDAO.find(key);
if (report == null) {
throw new NotFoundException("Report " + key);
@@ -304,7 +304,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_DELETE + "')")
- public ExecTO deleteExecution(final Long executionKey) {
+ public ExecTO deleteExecution(final String executionKey) {
ReportExec reportExec = reportExecDAO.find(executionKey);
if (reportExec == null) {
throw new NotFoundException("Report execution " + executionKey);
@@ -317,7 +317,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_DELETE + "')")
public BulkActionResult deleteExecutions(
- final Long key,
+ final String key,
final Date startedBefore, final Date startedAfter, final Date endedBefore, final Date endedAfter) {
Report report = reportDAO.find(key);
@@ -341,8 +341,8 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@Override
- protected Triple<JobType, Long, String> getReference(final JobKey jobKey) {
- Long key = JobNamer.getReportKeyFromJobName(jobKey.getName());
+ protected Triple<JobType, String, String> getReference(final JobKey jobKey) {
+ String key = JobNamer.getReportKeyFromJobName(jobKey.getName());
Report report = reportDAO.find(key);
return report == null
@@ -357,7 +357,7 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.REPORT_EXECUTE + "')")
- public void actionJob(final Long key, final JobAction action) {
+ public void actionJob(final String key, final JobAction action) {
Report report = reportDAO.find(key);
if (report == null) {
throw new NotFoundException("Report " + key);
@@ -370,21 +370,21 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
protected ReportTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args) && ("create".equals(method.getName())
|| "update".equals(method.getName())
|| "delete".equals(method.getName()))) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof ReportTO) {
key = ((ReportTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getReportTO(reportDAO.find(key));
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
index da51c71..5c2dad4 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ResourceLogic.java
@@ -114,12 +114,12 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
public ResourceTO create(final ResourceTO resourceTO) {
if (StringUtils.isBlank(resourceTO.getKey())) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.RequiredValuesMissing);
- sce.getElements().add("Resource name");
+ sce.getElements().add("Resource key");
throw sce;
}
if (resourceDAO.find(resourceTO.getKey()) != null) {
- throw new DuplicateException("Resource '" + resourceTO.getKey() + "'");
+ throw new DuplicateException(resourceTO.getKey());
}
ExternalResource resource = null;
@@ -215,7 +215,7 @@ public class ResourceLogic extends AbstractTransactionalLogic<ResourceTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.RESOURCE_GET_CONNOBJECT + "')")
@Transactional(readOnly = true)
- public ConnObjectTO readConnObject(final String key, final String anyTypeKey, final Long anyKey) {
+ public ConnObjectTO readConnObject(final String key, final String anyTypeKey, final String anyKey) {
Triple<ExternalResource, AnyType, Provision> init = connObjectInit(key, anyTypeKey);
// 1. find any
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
index 1e94c96..2eb14c5 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
@@ -30,6 +30,7 @@ import org.apache.syncope.common.lib.to.AbstractSchemaTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
import org.apache.syncope.common.lib.to.VirSchemaTO;
+import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.ClientExceptionType;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.syncope.common.lib.types.StandardEntitlement;
@@ -150,6 +151,8 @@ public class SchemaLogic extends AbstractTransactionalLogic<AbstractSchemaTO> {
List<AnyTypeClass> classes = new ArrayList<>(anyTypeClasses == null ? 0 : anyTypeClasses.size());
if (anyTypeClasses != null) {
+ anyTypeClasses.remove(AnyTypeKind.USER.name());
+ anyTypeClasses.remove(AnyTypeKind.GROUP.name());
for (String anyTypeClass : anyTypeClasses) {
AnyTypeClass clazz = anyTypeClassDAO.find(anyTypeClass);
if (clazz == null) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/SecurityQuestionLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SecurityQuestionLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SecurityQuestionLogic.java
index fb45942..3f13a29 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SecurityQuestionLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SecurityQuestionLogic.java
@@ -53,20 +53,20 @@ public class SecurityQuestionLogic extends AbstractTransactionalLogic<SecurityQu
return CollectionUtils.collect(securityQuestionDAO.findAll(),
new Transformer<SecurityQuestion, SecurityQuestionTO>() {
- @Override
- public SecurityQuestionTO transform(final SecurityQuestion input) {
- return binder.getSecurityQuestionTO(input);
- }
- }, new ArrayList<SecurityQuestionTO>());
+ @Override
+ public SecurityQuestionTO transform(final SecurityQuestion input) {
+ return binder.getSecurityQuestionTO(input);
+ }
+ }, new ArrayList<SecurityQuestionTO>());
}
@PreAuthorize("isAuthenticated()")
- public SecurityQuestionTO read(final Long securityQuestionId) {
- SecurityQuestion securityQuestion = securityQuestionDAO.find(securityQuestionId);
+ public SecurityQuestionTO read(final String key) {
+ SecurityQuestion securityQuestion = securityQuestionDAO.find(key);
if (securityQuestion == null) {
- LOG.error("Could not find security question '" + securityQuestionId + "'");
+ LOG.error("Could not find security question '" + key + "'");
- throw new NotFoundException(String.valueOf(securityQuestionId));
+ throw new NotFoundException(String.valueOf(key));
}
return binder.getSecurityQuestionTO(securityQuestion);
@@ -93,25 +93,25 @@ public class SecurityQuestionLogic extends AbstractTransactionalLogic<SecurityQu
}
@PreAuthorize("hasRole('" + StandardEntitlement.SECURITY_QUESTION_DELETE + "')")
- public SecurityQuestionTO delete(final Long securityQuestionId) {
- SecurityQuestion securityQuestion = securityQuestionDAO.find(securityQuestionId);
+ public SecurityQuestionTO delete(final String key) {
+ SecurityQuestion securityQuestion = securityQuestionDAO.find(key);
if (securityQuestion == null) {
- LOG.error("Could not find security question '" + securityQuestionId + "'");
+ LOG.error("Could not find security question '" + key + "'");
- throw new NotFoundException(String.valueOf(securityQuestionId));
+ throw new NotFoundException(String.valueOf(key));
}
SecurityQuestionTO deleted = binder.getSecurityQuestionTO(securityQuestion);
- securityQuestionDAO.delete(securityQuestionId);
+ securityQuestionDAO.delete(key);
return deleted;
}
@PreAuthorize("isAnonymous() or hasRole('" + StandardEntitlement.ANONYMOUS + "')")
- public SecurityQuestionTO read(final String username) {
+ public SecurityQuestionTO readForUsername(final String username) {
if (username == null) {
throw new NotFoundException("Null username");
}
- User user = userDAO.find(username);
+ User user = userDAO.findByUsername(username);
if (user == null) {
throw new NotFoundException("User " + username);
}
@@ -129,19 +129,19 @@ public class SecurityQuestionLogic extends AbstractTransactionalLogic<SecurityQu
protected SecurityQuestionTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof SecurityQuestionTO) {
key = ((SecurityQuestionTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
return binder.getSecurityQuestionTO(securityQuestionDAO.find(key));
} catch (Throwable ignore) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/550ee4f4/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
index 515d440..9d88b43 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
@@ -149,9 +149,9 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
public int count(
final TaskType type,
final String resource,
- final Long notification,
+ final String notification,
final AnyTypeKind anyTypeKind,
- final Long anyTypeKey) {
+ final String anyTypeKey) {
return taskDAO.count(
type, resourceDAO.find(resource), notificationDAO.find(notification), anyTypeKind, anyTypeKey);
@@ -162,9 +162,9 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
public <T extends AbstractTaskTO> List<T> list(
final TaskType type,
final String resource,
- final Long notification,
+ final String notification,
final AnyTypeKind anyTypeKind,
- final Long anyTypeKey,
+ final String anyTypeKey,
final int page,
final int size,
final List<OrderByClause> orderByClauses,
@@ -182,7 +182,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_READ + "')")
- public <T extends AbstractTaskTO> T read(final Long key, final boolean details) {
+ public <T extends AbstractTaskTO> T read(final String key, final boolean details) {
Task task = taskDAO.find(key);
if (task == null) {
throw new NotFoundException("Task " + key);
@@ -191,7 +191,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_EXECUTE + "')")
- public ExecTO execute(final Long key, final Date startAt, final boolean dryRun) {
+ public ExecTO execute(final String key, final Date startAt, final boolean dryRun) {
Task task = taskDAO.find(key);
if (task == null) {
throw new NotFoundException("Task " + key);
@@ -255,7 +255,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_DELETE + "')")
- public <T extends AbstractTaskTO> T delete(final Long key) {
+ public <T extends AbstractTaskTO> T delete(final String key) {
Task task = taskDAO.find(key);
if (task == null) {
throw new NotFoundException("Task " + key);
@@ -276,13 +276,13 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_READ + "')")
- public int countExecutions(final Long key) {
+ public int countExecutions(final String key) {
return taskExecDAO.count(key);
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_READ + "')")
public List<ExecTO> listExecutions(
- final Long key, final int page, final int size, final List<OrderByClause> orderByClauses) {
+ final String key, final int page, final int size, final List<OrderByClause> orderByClauses) {
Task task = taskDAO.find(key);
if (task == null) {
@@ -311,7 +311,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_DELETE + "')")
- public ExecTO deleteExecution(final Long execKey) {
+ public ExecTO deleteExecution(final String execKey) {
TaskExec taskExec = taskExecDAO.find(execKey);
if (taskExec == null) {
throw new NotFoundException("Task execution " + execKey);
@@ -324,7 +324,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_DELETE + "')")
public BulkActionResult deleteExecutions(
- final Long key,
+ final String key,
final Date startedBefore, final Date startedAfter, final Date endedBefore, final Date endedAfter) {
Task task = taskDAO.find(key);
@@ -348,8 +348,8 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@Override
- protected Triple<JobType, Long, String> getReference(final JobKey jobKey) {
- Long key = JobNamer.getTaskKeyFromJobName(jobKey.getName());
+ protected Triple<JobType, String, String> getReference(final JobKey jobKey) {
+ String key = JobNamer.getTaskKeyFromJobName(jobKey.getName());
Task task = taskDAO.find(key);
return task == null || !(task instanceof SchedTask)
@@ -364,7 +364,7 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
}
@PreAuthorize("hasRole('" + StandardEntitlement.TASK_EXECUTE + "')")
- public void actionJob(final Long key, final JobAction action) {
+ public void actionJob(final String key, final JobAction action) {
Task task = taskDAO.find(key);
if (task == null) {
throw new NotFoundException("Task " + key);
@@ -377,21 +377,21 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
protected AbstractTaskTO resolveReference(final Method method, final Object... args)
throws UnresolvedReferenceException {
- Long key = null;
+ String key = null;
if (ArrayUtils.isNotEmpty(args)
&& !"deleteExecution".equals(method.getName()) && !"readExecution".equals(method.getName())) {
for (int i = 0; key == null && i < args.length; i++) {
- if (args[i] instanceof Long) {
- key = (Long) args[i];
+ if (args[i] instanceof String) {
+ key = (String) args[i];
} else if (args[i] instanceof AbstractTaskTO) {
key = ((AbstractTaskTO) args[i]).getKey();
}
}
}
- if ((key != null) && !key.equals(0L)) {
+ if (key != null) {
try {
final Task task = taskDAO.find(key);
return binder.getTaskTO(task, taskUtilsFactory.getInstance(task), false);