Reviewing several client-side builders, adjusting roles
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/b738d3e9 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/b738d3e9 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/b738d3e9 Branch: refs/heads/master Commit: b738d3e94877528cb74fc1b0b75c4c11e83aa16d Parents: 6ea34cd Author: Francesco Chicchiriccò <[email protected]> Authored: Thu Nov 19 16:52:42 2015 +0100 Committer: Francesco Chicchiriccò <[email protected]> Committed: Thu Nov 19 16:52:42 2015 +0100 ---------------------------------------------------------------------- .../entitlement/EntitlementResultManager.java | 1 - .../EntitlementSyncopeOperations.java | 8 +-- .../cli/commands/role/RoleResultManager.java | 1 - .../commands/role/RoleSyncopeOperations.java | 12 ++-- .../schema/SchemaSyncopeOperations.java | 15 ++-- .../cli/commands/user/UserResultManager.java | 12 ++-- .../commands/user/UserSyncopeOperations.java | 11 +-- .../console/rest/AnyObjectRestClient.java | 6 +- .../client/console/rest/GroupRestClient.java | 11 +-- .../client/console/rest/SchemaRestClient.java | 33 ++------- .../client/console/rest/TaskRestClient.java | 10 +-- .../client/console/rest/UserRestClient.java | 11 +-- .../enduser/resources/AbstractBaseResource.java | 14 +--- .../enduser/resources/SchemaResource.java | 29 +++----- .../resources/SecurityQuestionResource.java | 3 +- .../resources/UserSelfCreateResource.java | 3 +- .../resources/UserSelfUpdateResource.java | 4 +- .../syncope/client/lib/SyncopeClient.java | 57 +--------------- .../lib/builders/AbstractQueryBuilder.java | 57 ---------------- .../lib/builders/AnyListQueryBuilder.java | 68 ------------------ .../client/lib/builders/AnyQueryBuilder.java | 49 ------------- .../lib/builders/AnySearchQueryBuilder.java | 70 ------------------- .../builders/ConnObjectTOListQueryBuilder.java | 48 ------------- .../client/lib/builders/TaskQueryBuilder.java | 60 ---------------- .../syncope/common/lib/AnyOperations.java | 27 ++++---- .../syncope/common/lib/patch/UserPatch.java | 4 +- .../search/UserFiqlSearchConditionBuilder.java | 6 +- .../syncope/common/lib/search/UserProperty.java | 4 +- .../apache/syncope/common/lib/to/RoleTO.java | 16 +---- .../apache/syncope/common/lib/to/UserTO.java | 8 +-- .../org/apache/syncope/common/lib/JSONTest.java | 4 +- .../common/rest/api/beans/AbstractQuery.java | 36 ++++++++++ .../common/rest/api/beans/AnyListQuery.java | 23 +++++++ .../syncope/common/rest/api/beans/AnyQuery.java | 14 ++++ .../common/rest/api/beans/AnySearchQuery.java | 29 ++++++++ .../rest/api/beans/ConnObjectTOListQuery.java | 25 +++++++ .../common/rest/api/beans/SchemaQuery.java | 72 ++++++++++++++++++++ .../common/rest/api/beans/TaskQuery.java | 24 +++++++ .../common/rest/api/service/RoleService.java | 4 +- .../common/rest/api/service/SchemaService.java | 12 ++-- .../syncope/core/logic/AnyTypeClassLogic.java | 6 +- .../apache/syncope/core/logic/AnyTypeLogic.java | 6 +- .../apache/syncope/core/logic/DomainLogic.java | 6 +- .../syncope/core/logic/NotificationLogic.java | 18 ++--- .../core/logic/RelationshipTypeLogic.java | 6 +- .../apache/syncope/core/logic/RoleLogic.java | 26 +++---- .../apache/syncope/core/logic/SchemaLogic.java | 23 +++++-- .../core/misc/search/SearchCondVisitor.java | 2 +- .../core/misc/security/AuthDataAccessor.java | 35 +++++++--- .../misc/security/SyncopeGrantedAuthority.java | 4 +- .../misc/search/SearchCondConverterTest.java | 6 +- .../core/persistence/api/dao/RoleDAO.java | 8 +-- .../core/persistence/api/dao/SchemaDAO.java | 3 +- .../persistence/api/dao/search/RoleCond.java | 6 +- .../core/persistence/api/entity/Role.java | 6 +- .../persistence/jpa/dao/JPAAnySearchDAO.java | 30 ++++---- .../persistence/jpa/dao/JPAAnyTypeClassDAO.java | 7 +- .../persistence/jpa/dao/JPADerSchemaDAO.java | 12 ++-- .../persistence/jpa/dao/JPAPlainSchemaDAO.java | 12 ++-- .../core/persistence/jpa/dao/JPARoleDAO.java | 23 +------ .../persistence/jpa/dao/JPAVirSchemaDAO.java | 12 ++-- .../core/persistence/jpa/entity/JPARole.java | 22 ++---- .../persistence/jpa/entity/user/JPAUser.java | 6 +- .../entity/ExternalResourceValidator.java | 2 +- .../jpa/validation/entity/RoleCheck.java | 41 +++++++++++ .../jpa/validation/entity/RoleValidator.java | 40 +++++++++++ .../resources/META-INF/spring-orm-oracle.xml | 9 --- .../resources/META-INF/spring-orm-sqlserver.xml | 9 --- .../src/main/resources/META-INF/spring-orm.xml | 9 --- .../src/main/resources/views.xml | 4 +- .../persistence/jpa/inner/AnySearchTest.java | 4 +- .../core/persistence/jpa/inner/RoleTest.java | 23 +++---- .../persistence/jpa/outer/AnySearchTest.java | 2 +- .../core/persistence/jpa/outer/RealmTest.java | 4 +- .../core/persistence/jpa/outer/RoleTest.java | 4 +- .../test/resources/domains/MasterContent.xml | 56 +++++++-------- .../java/data/AnyTypeClassDataBinderImpl.java | 7 +- .../java/data/RoleDataBinderImpl.java | 23 +++---- .../java/data/UserDataBinderImpl.java | 14 ++-- .../core/rest/cxf/service/RoleServiceImpl.java | 10 +-- .../rest/cxf/service/SchemaServiceImpl.java | 5 +- .../fit/core/reference/AbstractTaskITCase.java | 4 +- .../fit/core/reference/AnyObjectITCase.java | 6 +- .../core/reference/AuthenticationITCase.java | 26 +++---- .../fit/core/reference/DerSchemaITCase.java | 7 +- .../core/reference/ExceptionMapperITCase.java | 27 ++++---- .../syncope/fit/core/reference/GroupITCase.java | 10 +-- .../fit/core/reference/MultitenancyITCase.java | 7 +- .../fit/core/reference/PlainSchemaITCase.java | 24 ++----- .../core/reference/PropagationTaskITCase.java | 14 ++-- .../fit/core/reference/PushTaskITCase.java | 4 +- .../fit/core/reference/ResourceITCase.java | 5 +- .../syncope/fit/core/reference/RoleITCase.java | 6 +- .../fit/core/reference/SchedTaskITCase.java | 4 +- .../fit/core/reference/SearchITCase.java | 37 +++++----- .../fit/core/reference/SyncTaskITCase.java | 21 +++--- .../syncope/fit/core/reference/UserITCase.java | 30 ++++---- .../fit/core/reference/UserWorkflowITCase.java | 14 ++-- .../fit/core/reference/VirSchemaITCase.java | 20 +++++- 99 files changed, 779 insertions(+), 939 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementResultManager.java index 6f023c4..02d3e67 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementResultManager.java @@ -41,7 +41,6 @@ public class EntitlementResultManager extends CommonsResultManager { private void printRole(final RoleTO roleTO) { System.out.println(" > ROLE ID: " + roleTO.getKey()); - System.out.println(" name: " + roleTO.getName()); System.out.println(" REALMS: "); printRealms(roleTO.getRealms()); System.out.println(""); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSyncopeOperations.java index 797678f..8ee92f0 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementSyncopeOperations.java @@ -48,8 +48,8 @@ public class EntitlementSyncopeOperations { public Set<String> usernameEntitlements(final String username) { final Set<String> entitlements = new TreeSet<>(); final UserTO userTO = userSyncopeOperations.read(userSyncopeOperations.getIdFromUsername(username)); - for (final Long role : userTO.getRoles()) { - entitlements.addAll(roleSyncopeOperations.read(String.valueOf(role)).getEntitlements()); + for (final String role : userTO.getRoles()) { + entitlements.addAll(roleSyncopeOperations.read(role).getEntitlements()); } return entitlements; } @@ -57,8 +57,8 @@ public class EntitlementSyncopeOperations { public Set<String> userIdEntitlements(final String userId) { final Set<String> entitlements = new TreeSet<>(); final UserTO userTO = userSyncopeOperations.read(userId); - for (final Long role : userTO.getRoles()) { - entitlements.addAll(roleSyncopeOperations.read(String.valueOf(role)).getEntitlements()); + for (final String role : userTO.getRoles()) { + entitlements.addAll(roleSyncopeOperations.read(role).getEntitlements()); } return entitlements; } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleResultManager.java index d8d8861..4ca13da 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleResultManager.java @@ -35,7 +35,6 @@ public class RoleResultManager extends CommonsResultManager { private void printRole(final RoleTO roleTO) { System.out.println(" > ROLE ID: " + roleTO.getKey()); - System.out.println(" name: " + roleTO.getName()); System.out.println(" REALMS: "); printRealms(roleTO.getRealms()); System.out.println(" ENTITLEMENTS:"); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleSyncopeOperations.java index 11c207d..6bffb17 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleSyncopeOperations.java @@ -30,12 +30,12 @@ public class RoleSyncopeOperations { public List<RoleTO> list() { return roleService.list(); } - - public RoleTO read(final String roleId) { - return roleService.read(Long.valueOf(roleId)); + + public RoleTO read(final String role) { + return roleService.read(role); } - - public void delete(final String roleId) { - roleService.delete(Long.valueOf(roleId)); + + public void delete(final String role) { + roleService.delete(role); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java index 757e2d6..73c483d 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java @@ -22,6 +22,7 @@ import java.util.List; import org.apache.syncope.client.cli.SyncopeServices; import org.apache.syncope.common.lib.to.AbstractSchemaTO; import org.apache.syncope.common.lib.types.SchemaType; +import org.apache.syncope.common.rest.api.beans.SchemaQuery; import org.apache.syncope.common.rest.api.service.SchemaService; public class SchemaSyncopeOperations { @@ -33,19 +34,19 @@ public class SchemaSyncopeOperations { } public <T extends AbstractSchemaTO> List<T> list(final String schemaTypeString) { - return schemaService.list(SchemaType.valueOf(schemaTypeString), null); - } - - public <T extends AbstractSchemaTO> List<T> listVirtual() { - return schemaService.list(SchemaType.VIRTUAL, null); + return schemaService.list(SchemaType.valueOf(schemaTypeString), new SchemaQuery.Builder().build()); } public <T extends AbstractSchemaTO> List<T> listPlain() { - return schemaService.list(SchemaType.PLAIN, null); + return schemaService.list(SchemaType.PLAIN, new SchemaQuery.Builder().build()); } public <T extends AbstractSchemaTO> List<T> listDerived() { - return schemaService.list(SchemaType.DERIVED, null); + return schemaService.list(SchemaType.DERIVED, new SchemaQuery.Builder().build()); + } + + public <T extends AbstractSchemaTO> List<T> listVirtual() { + return schemaService.list(SchemaType.VIRTUAL, new SchemaQuery.Builder().build()); } public void delete(final String schemaTypeString, final String schemaName) { http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserResultManager.java index e7002d9..8e3dae2 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserResultManager.java @@ -75,8 +75,8 @@ public class UserResultManager extends CommonsResultManager { } } - private void printRole(final List<Long> roles) { - for (final Long role : roles) { + private void printRole(final List<String> roles) { + for (final String role : roles) { System.out.println(" - " + role); } } @@ -94,16 +94,16 @@ public class UserResultManager extends CommonsResultManager { System.out.println(attributeSentence); } } - + private void printRelationships(final List<RelationshipTO> relationshipTOs) { for (final RelationshipTO relationshipTO : relationshipTOs) { System.out.println(" type: " + relationshipTO.getType()); } } - + public void printUndeletedUsers(final Map<String, String> users) { - final Table.TableBuilder tableBuilder - = new Table.TableBuilder("Users not deleted").header("user id").header("cause"); + final Table.TableBuilder tableBuilder = + new Table.TableBuilder("Users not deleted").header("user id").header("cause"); for (final Map.Entry<String, String> entrySet : users.entrySet()) { tableBuilder.rowValues(new LinkedList<>(Arrays.asList(entrySet.getKey(), entrySet.getValue()))); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserSyncopeOperations.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserSyncopeOperations.java index aec9271..9cdabd7 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserSyncopeOperations.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserSyncopeOperations.java @@ -29,6 +29,7 @@ import org.apache.syncope.common.lib.to.PagedResult; import org.apache.syncope.common.lib.to.UserTO; import org.apache.syncope.common.rest.api.RESTHeaders; import org.apache.syncope.common.rest.api.beans.AnyListQuery; +import org.apache.syncope.common.rest.api.beans.AnySearchQuery; import org.apache.syncope.common.rest.api.service.UserService; public class UserSyncopeOperations { @@ -46,21 +47,21 @@ public class UserSyncopeOperations { public List<UserTO> searchByRole(final String realm, final String role) { return userService.search( - SyncopeClient.getAnySearchQueryBuilder().realm(realm). - fiql(SyncopeClient.getUserSearchConditionBuilder().inRoles(Long.valueOf(role)) + new AnySearchQuery.Builder().realm(realm). + fiql(SyncopeClient.getUserSearchConditionBuilder().inRoles(role) .query()).build()).getResult(); } public List<UserTO> searchByResource(final String realm, final String resource) { return userService.search( - SyncopeClient.getAnySearchQueryBuilder().realm(realm). + new AnySearchQuery.Builder().realm(realm). fiql(SyncopeClient.getUserSearchConditionBuilder().hasResources(resource) .query()).build()).getResult(); } public List<UserTO> searchByAttribute(final String realm, final String attributeName, final String attributeValue) { return userService.search( - SyncopeClient.getAnySearchQueryBuilder().realm(realm). + new AnySearchQuery.Builder().realm(realm). fiql(SyncopeClient.getUserSearchConditionBuilder().is(attributeName).equalTo(attributeValue) .query()).build()).getResult(); } @@ -88,7 +89,7 @@ public class UserSyncopeOperations { public Map<String, BulkActionResult.Status> deleteByAttribute( final String realm, final String attributeName, final String attributeValue) { final List<UserTO> users = userService.search( - SyncopeClient.getAnySearchQueryBuilder().realm(realm). + new AnySearchQuery.Builder().realm(realm). fiql(SyncopeClient.getUserSearchConditionBuilder().is(attributeName).equalTo(attributeValue) .query()).build()).getResult(); return deleteBulk(users); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java index b5d0fcc..b845eb7 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyObjectRestClient.java @@ -20,7 +20,6 @@ package org.apache.syncope.client.console.rest; import java.util.List; import javax.ws.rs.core.Response; -import org.apache.syncope.client.lib.SyncopeClient; import org.apache.syncope.common.lib.SyncopeClientException; import org.apache.syncope.common.lib.to.AnyObjectTO; import org.apache.syncope.common.lib.to.AnyTO; @@ -29,6 +28,7 @@ import org.apache.syncope.common.lib.to.BulkActionResult; import org.apache.syncope.common.lib.to.ConnObjectTO; import org.apache.syncope.common.lib.to.PagedResult; import org.apache.syncope.common.lib.to.ProvisioningResult; +import org.apache.syncope.common.rest.api.beans.AnyListQuery; import org.apache.syncope.common.rest.api.service.AnyObjectService; import org.apache.syncope.common.rest.api.service.AnyService; import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; @@ -50,7 +50,7 @@ public class AnyObjectRestClient extends AbstractAnyRestClient<AnyObjectTO> { @Override public int count(final String type, final String realm) { return getService(AnyObjectService.class).list( - type, SyncopeClient.getAnyListQueryBuilder().realm(realm).page(1).size(1).build()).getTotalCount(); + type, new AnyListQuery.Builder().realm(realm).page(1).size(1).build()).getTotalCount(); } @Override @@ -62,7 +62,7 @@ public class AnyObjectRestClient extends AbstractAnyRestClient<AnyObjectTO> { public PagedResult<AnyObjectTO> list(final String type, final String realm) { return getService(AnyObjectService.class). - list(type, SyncopeClient.getAnyListQueryBuilder().realm(realm).build()); + list(type, new AnyListQuery.Builder().realm(realm).build()); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 fc060e4..72f80f5 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 @@ -22,7 +22,6 @@ import java.util.List; import javax.ws.rs.core.GenericType; import javax.ws.rs.core.Response; -import org.apache.syncope.client.lib.SyncopeClient; import org.apache.syncope.common.lib.patch.GroupPatch; import org.apache.syncope.common.lib.to.BulkAction; import org.apache.syncope.common.lib.to.BulkActionResult; @@ -30,6 +29,8 @@ import org.apache.syncope.common.lib.to.ConnObjectTO; import org.apache.syncope.common.lib.to.GroupTO; import org.apache.syncope.common.lib.to.ProvisioningResult; import org.apache.syncope.common.lib.types.AnyTypeKind; +import org.apache.syncope.common.rest.api.beans.AnyListQuery; +import org.apache.syncope.common.rest.api.beans.AnySearchQuery; import org.apache.syncope.common.rest.api.service.AnyService; import org.apache.syncope.common.rest.api.service.ResourceService; import org.apache.syncope.common.rest.api.service.GroupService; @@ -52,7 +53,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> { @Override public int count(final String realm, final String type) { return getService(GroupService.class). - list(SyncopeClient.getAnyListQueryBuilder().realm(realm).page(1).size(1).build()). + list(new AnyListQuery.Builder().realm(realm).page(1).size(1).build()). getTotalCount(); } @@ -60,7 +61,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> { public List<GroupTO> list(final String realm, final int page, final int size, final SortParam<String> sort, final String type) { return getService(GroupService.class). - list(SyncopeClient.getAnyListQueryBuilder().realm(realm).page(page).size(size). + list(new AnyListQuery.Builder().realm(realm).page(page).size(size). orderBy(toOrderBy(sort)).details(false).build()). getResult(); } @@ -68,7 +69,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> { @Override public int searchCount(final String realm, final String fiql, final String type) { return getService(GroupService.class). - search(SyncopeClient.getAnySearchQueryBuilder().realm(realm).fiql(fiql).page(1).size(1).build()). + search(new AnySearchQuery.Builder().realm(realm).fiql(fiql).page(1).size(1).build()). getTotalCount(); } @@ -78,7 +79,7 @@ public class GroupRestClient extends AbstractAnyRestClient<GroupTO> { final String type) { return getService(GroupService.class). - search(SyncopeClient.getAnySearchQueryBuilder().realm(realm).fiql(fiql).page(page).size(size). + search(new AnySearchQuery.Builder().realm(realm).fiql(fiql).page(page).size(size). orderBy(toOrderBy(sort)).details(false).build()). getResult(); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 4d5f9fb..517aaa4 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 @@ -31,6 +31,7 @@ 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.SchemaType; +import org.apache.syncope.common.rest.api.beans.SchemaQuery; import org.apache.syncope.common.rest.api.service.SchemaService; import org.springframework.stereotype.Component; @@ -62,11 +63,11 @@ public class SchemaRestClient extends BaseRestClient { try { if (kind == null || kind.length == 0) { - schemas.addAll(getService(SchemaService.class).<T>list(schemaType, null)); + schemas.addAll(getService(SchemaService.class). + <T>list(schemaType, new SchemaQuery.Builder().build())); } else { - for (String clazz : kind) { - schemas.addAll(getService(SchemaService.class).<T>list(schemaType, clazz)); - } + schemas.addAll(getService(SchemaService.class). + <T>list(schemaType, new SchemaQuery.Builder().anyTypeClasses(kind).build())); } } catch (SyncopeClientException e) { LOG.error("While getting all {} schemas for {}", schemaType, kind, e); @@ -96,34 +97,10 @@ public class SchemaRestClient extends BaseRestClient { return getSchemaNames(SchemaType.PLAIN); } - public List<DerSchemaTO> getDerSchemas() { - List<DerSchemaTO> userDerSchemas = null; - - try { - userDerSchemas = getService(SchemaService.class).list(SchemaType.DERIVED, null); - } catch (SyncopeClientException e) { - LOG.error("While getting all user derived schemas", e); - } - - return userDerSchemas; - } - public List<String> getDerSchemaNames() { return getSchemaNames(SchemaType.DERIVED); } - public List<VirSchemaTO> getVirSchemas() { - List<VirSchemaTO> userVirSchemas = null; - - try { - userVirSchemas = getService(SchemaService.class).list(SchemaType.VIRTUAL, null); - } catch (SyncopeClientException e) { - LOG.error("While getting all virtual schemas", e); - } - - return userVirSchemas; - } - public List<String> getVirSchemaNames() { return getSchemaNames(SchemaType.VIRTUAL); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 30087ce..175633f 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 @@ -21,7 +21,6 @@ package org.apache.syncope.client.console.rest; import java.util.List; import java.util.Set; import org.apache.syncope.client.console.SyncopeConsoleSession; -import org.apache.syncope.client.lib.SyncopeClient; import org.apache.syncope.common.lib.to.AbstractTaskTO; import org.apache.syncope.common.lib.to.BulkAction; import org.apache.syncope.common.lib.to.BulkActionResult; @@ -31,6 +30,7 @@ import org.apache.syncope.common.lib.to.PushTaskTO; import org.apache.syncope.common.lib.to.SchedTaskTO; import org.apache.syncope.common.lib.to.SyncTaskTO; import org.apache.syncope.common.lib.types.TaskType; +import org.apache.syncope.common.rest.api.beans.TaskQuery; import org.apache.syncope.common.rest.api.service.TaskService; import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; import org.springframework.stereotype.Component; @@ -63,16 +63,16 @@ public class TaskRestClient extends BaseRestClient implements ExecutionRestClien */ public int count(final String kind) { return getService(TaskService.class). - list(TaskType.fromString(kind), SyncopeClient.getTaskQueryBuilder().page(1).size(1).build()). + list(TaskType.fromString(kind), new TaskQuery.Builder().page(1).size(1).build()). getTotalCount(); } @SuppressWarnings("unchecked") - public <T extends AbstractTaskTO> List<T> list(final Class<T> reference, - final int page, final int size, final SortParam<String> sort) { + public <T extends AbstractTaskTO> List<T> list( + final Class<T> reference, final int page, final int size, final SortParam<String> sort) { return (List<T>) getService(TaskService.class). - list(getTaskType(reference), SyncopeClient.getTaskQueryBuilder().page(page).size(size). + list(getTaskType(reference), new TaskQuery.Builder().page(page).size(size). orderBy(toOrderBy(sort)).build()). getResult(); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 dd79b3a..9b8f697 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 @@ -23,7 +23,6 @@ import javax.ws.rs.core.GenericType; import javax.ws.rs.core.Response; import org.apache.syncope.client.console.commons.status.StatusBean; import org.apache.syncope.client.console.commons.status.StatusUtils; -import org.apache.syncope.client.lib.SyncopeClient; import org.apache.syncope.common.lib.SyncopeClientException; import org.apache.syncope.common.lib.patch.StatusPatch; import org.apache.syncope.common.lib.patch.UserPatch; @@ -34,6 +33,8 @@ import org.apache.syncope.common.lib.to.ProvisioningResult; import org.apache.syncope.common.lib.to.UserTO; import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.StatusPatchType; +import org.apache.syncope.common.rest.api.beans.AnyListQuery; +import org.apache.syncope.common.rest.api.beans.AnySearchQuery; import org.apache.syncope.common.rest.api.service.AnyService; import org.apache.syncope.common.rest.api.service.ResourceService; import org.apache.syncope.common.rest.api.service.UserService; @@ -56,7 +57,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> { @Override public int count(final String realm, final String type) { return getService(UserService.class). - list(SyncopeClient.getAnyListQueryBuilder().realm(realm).page(1).size(1).build()). + list(new AnyListQuery.Builder().realm(realm).page(1).size(1).build()). getTotalCount(); } @@ -64,7 +65,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> { public List<UserTO> list(final String realm, final int page, final int size, final SortParam<String> sort, final String type) { return getService(UserService.class). - list(SyncopeClient.getAnyListQueryBuilder().realm(realm).page(page).size(size). + list(new AnyListQuery.Builder().realm(realm).page(page).size(size). orderBy(toOrderBy(sort)).details(false).build()).getResult(); } @@ -103,7 +104,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> { @Override public int searchCount(final String realm, final String fiql, final String type) { return getService(UserService.class). - search(SyncopeClient.getAnySearchQueryBuilder().realm(realm).fiql(fiql).page(1).size(1).build()). + search(new AnySearchQuery.Builder().realm(realm).fiql(fiql).page(1).size(1).build()). getTotalCount(); } @@ -113,7 +114,7 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO> { final String type) { return getService(UserService.class). - search(SyncopeClient.getAnySearchQueryBuilder().realm(realm).fiql(fiql).page(page).size(size). + search(new AnySearchQuery.Builder().realm(realm).fiql(fiql).page(page).size(size). orderBy(toOrderBy(sort)).details(false).build()).getResult(); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/AbstractBaseResource.java ---------------------------------------------------------------------- diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/AbstractBaseResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/AbstractBaseResource.java index a3aedfc..69fe72f 100644 --- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/AbstractBaseResource.java +++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/AbstractBaseResource.java @@ -30,19 +30,7 @@ public abstract class AbstractBaseResource extends AbstractResource { private static final Logger LOG = LoggerFactory.getLogger(AbstractBaseResource.class); - protected <T> T getService(final Class<T> serviceClass) { - return SyncopeEnduserSession.get().getService(serviceClass); - } - - protected <T> T getService(final String etag, final Class<T> serviceClass) { - return SyncopeEnduserSession.get().getService(etag, serviceClass); - } - - protected <T> void resetClient(final Class<T> serviceClass) { - SyncopeEnduserSession.get().resetClient(serviceClass); - } - - protected boolean isSelfRegistrationAllowed() { + protected final boolean isSelfRegistrationAllowed() { Boolean result = null; try { result = SyncopeEnduserSession.get().getSyncopeTO().isSelfRegAllowed(); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java ---------------------------------------------------------------------- diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java index 501a32f..3cf3fc0 100644 --- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java +++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java @@ -21,6 +21,7 @@ package org.apache.syncope.client.enduser.resources; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import org.apache.syncope.client.enduser.SyncopeEnduserSession; import org.apache.syncope.client.enduser.model.SchemaResponse; import org.apache.syncope.common.lib.to.AbstractSchemaTO; import org.apache.syncope.common.lib.to.AnyTypeTO; @@ -29,6 +30,7 @@ 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.SchemaType; +import org.apache.syncope.common.rest.api.beans.SchemaQuery; import org.apache.syncope.common.rest.api.service.AnyTypeClassService; import org.apache.syncope.common.rest.api.service.AnyTypeService; import org.apache.syncope.common.rest.api.service.SchemaService; @@ -51,9 +53,9 @@ public class SchemaResource extends AbstractBaseResource { private final SchemaService schemaService; public SchemaResource() { - anyTypeService = getService(AnyTypeService.class); - anyTypeClassService = getService(AnyTypeClassService.class); - schemaService = getService(SchemaService.class); + anyTypeService = SyncopeEnduserSession.get().getService(AnyTypeService.class); + anyTypeClassService = SyncopeEnduserSession.get().getService(AnyTypeClassService.class); + schemaService = SyncopeEnduserSession.get().getService(SchemaService.class); } @Override @@ -66,22 +68,14 @@ public class SchemaResource extends AbstractBaseResource { int responseStatus = 200; try { - final AnyTypeTO anyTypeUserTO = anyTypeService.read(AnyTypeKind.USER.name()); - final List<PlainSchemaTO> plainSchemas = new ArrayList<>(); - final List<DerSchemaTO> derSchemas = new ArrayList<>(); - final List<VirSchemaTO> virSchemas = new ArrayList<>(); - - // read all USER type schemas - for (String clazz : anyTypeUserTO.getClasses()) { - plainSchemas.addAll(getSchemaTOs(anyTypeClassService.read(clazz).getPlainSchemas(), SchemaType.PLAIN, - PlainSchemaTO.class)); - derSchemas.addAll(getSchemaTOs(anyTypeClassService.read(clazz).getDerSchemas(), SchemaType.DERIVED, - DerSchemaTO.class)); - virSchemas.addAll(getSchemaTOs(anyTypeClassService.read(clazz).getVirSchemas(), SchemaType.VIRTUAL, - VirSchemaTO.class)); - } + final List<PlainSchemaTO> plainSchemas = schemaService.list( + SchemaType.PLAIN, new SchemaQuery.Builder().anyTypeClasses(anyTypeUserTO.getClasses()).build()); + final List<DerSchemaTO> derSchemas = schemaService.list( + SchemaType.DERIVED, new SchemaQuery.Builder().anyTypeClasses(anyTypeUserTO.getClasses()).build()); + final List<VirSchemaTO> virSchemas = schemaService.list( + SchemaType.VIRTUAL, new SchemaQuery.Builder().anyTypeClasses(anyTypeUserTO.getClasses()).build()); response.setWriteCallback(new AbstractResource.WriteCallback() { @@ -93,7 +87,6 @@ public class SchemaResource extends AbstractBaseResource { virSchemas(virSchemas))); } }); - } catch (Exception e) { LOG.error("Error retrieving {} any type kind related schemas", AnyTypeKind.USER.name(), e); responseStatus = 400; http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SecurityQuestionResource.java ---------------------------------------------------------------------- diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SecurityQuestionResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SecurityQuestionResource.java index f31cba5..60ab318 100644 --- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SecurityQuestionResource.java +++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SecurityQuestionResource.java @@ -20,6 +20,7 @@ package org.apache.syncope.client.enduser.resources; import java.io.IOException; import java.util.List; +import org.apache.syncope.client.enduser.SyncopeEnduserSession; import org.apache.syncope.common.lib.to.SecurityQuestionTO; import org.apache.syncope.common.rest.api.service.SecurityQuestionService; import org.apache.syncope.core.misc.serialization.POJOHelper; @@ -37,7 +38,7 @@ public class SecurityQuestionResource extends AbstractBaseResource { private final SecurityQuestionService securityQuestionService; public SecurityQuestionResource() { - securityQuestionService = getService(SecurityQuestionService.class); + securityQuestionService = SyncopeEnduserSession.get().getService(SecurityQuestionService.class); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java ---------------------------------------------------------------------- diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java index 7e9341b..02297fb 100644 --- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java +++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java @@ -20,6 +20,7 @@ package org.apache.syncope.client.enduser.resources; import java.io.IOException; import javax.servlet.http.HttpServletRequest; +import org.apache.syncope.client.enduser.SyncopeEnduserSession; import org.apache.syncope.client.enduser.adapters.UserTOAdapter; import org.apache.syncope.client.enduser.model.UserTORequest; import org.apache.syncope.common.rest.api.service.UserSelfService; @@ -40,7 +41,7 @@ public class UserSelfCreateResource extends AbstractBaseResource { public UserSelfCreateResource() { userTOAdapter = new UserTOAdapter(); - userSelfService = getService(UserSelfService.class); + userSelfService = SyncopeEnduserSession.get().getService(UserSelfService.class); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java ---------------------------------------------------------------------- diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java index 2d72d69..4e2d90a 100644 --- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java +++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java @@ -43,7 +43,7 @@ public class UserSelfUpdateResource extends AbstractBaseResource { public UserSelfUpdateResource() { userTOAdapter = new UserTOAdapter(); - userSelfService = getService(UserSelfService.class); + userSelfService = SyncopeEnduserSession.get().getService(UserSelfService.class); } @Override @@ -69,7 +69,7 @@ public class UserSelfUpdateResource extends AbstractBaseResource { // update user Response res = userSelfService.update(userTO); responseStatus = res.getStatus(); - + responseMessage = "User updated successfully"; response.setWriteCallback(new WriteCallback() { http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClient.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClient.java b/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClient.java index 905fb4c..198b585 100644 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClient.java +++ b/client/lib/src/main/java/org/apache/syncope/client/lib/SyncopeClient.java @@ -30,11 +30,6 @@ import javax.ws.rs.core.Response; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.syncope.client.lib.builders.AnyQueryBuilder; -import org.apache.syncope.client.lib.builders.AnyListQueryBuilder; -import org.apache.syncope.client.lib.builders.AnySearchQueryBuilder; -import org.apache.syncope.client.lib.builders.ConnObjectTOListQueryBuilder; -import org.apache.syncope.client.lib.builders.TaskQueryBuilder; import org.apache.syncope.common.lib.search.AnyObjectFiqlSearchConditionBuilder; import org.apache.syncope.common.lib.search.OrderByClauseBuilder; import org.apache.syncope.common.lib.search.GroupFiqlSearchConditionBuilder; @@ -114,56 +109,6 @@ public class SyncopeClient { } /** - * Returns a new instance of {@link TaskQueryBuilder}, for assisted building of some service's {@code list()} - * arguments. - * - * @return default instance of {@link AnyQueryBuilder} - */ - public static TaskQueryBuilder getTaskQueryBuilder() { - return new TaskQueryBuilder(); - } - - /** - * Returns a new instance of {@link AnyQueryBuilder}, for assisted building of some service's {@code list()} - * arguments. - * - * @return default instance of {@link AnyQueryBuilder} - */ - public static AnyQueryBuilder getAnyQueryBuilder() { - return new AnyQueryBuilder(); - } - - /** - * Returns a new instance of {@link AnyListQueryBuilder}, for assisted building of some service's {@code list()} - * arguments. - * - * @return default instance of {@link AnyListQueryBuilder} - */ - public static AnyListQueryBuilder getAnyListQueryBuilder() { - return new AnyListQueryBuilder(); - } - - /** - * Returns a new instance of {@link AnySearchQueryBuilder}, for assisted building of some service's - * {@code search()} arguments. - * - * @return default instance of {@link AnySearchQueryBuilder} - */ - public static AnySearchQueryBuilder getAnySearchQueryBuilder() { - return new AnySearchQueryBuilder(); - } - - /** - * Returns a new instance of {@link ConnObjectTOListQueryBuilder}, for assisted building of some service's - * {@code list()} arguments. - * - * @return default instance of {@link ConnObjectTOListQueryBuilder} - */ - public static ConnObjectTOListQueryBuilder getConnObjectTOListQueryBuilder() { - return new ConnObjectTOListQueryBuilder(); - } - - /** * Creates an instance of the given service class, with configured content type and authentication. * * @param <T> any service class @@ -196,7 +141,7 @@ public class SyncopeClient { (Map<String, Set<String>>) new ObjectMapper().readValue( response.getHeaderString(RESTHeaders.OWNED_ENTITLEMENTS), new TypeReference<HashMap<String, Set<String>>>() { - }), + }), response.readEntity(UserTO.class)); } catch (IOException e) { throw new IllegalStateException(e); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AbstractQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AbstractQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AbstractQueryBuilder.java deleted file mode 100644 index 4c61554..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AbstractQueryBuilder.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import org.apache.syncope.common.rest.api.beans.AbstractQuery; - -public abstract class AbstractQueryBuilder<Q extends AbstractQuery, B extends AbstractQueryBuilder<Q, B>> { - - private Q instance; - - protected abstract Q newInstance(); - - protected Q getInstance() { - if (instance == null) { - instance = newInstance(); - } - return instance; - } - - @SuppressWarnings("unchecked") - public B page(final Integer page) { - getInstance().setPage(page); - return (B) this; - } - - @SuppressWarnings("unchecked") - public B size(final Integer size) { - getInstance().setSize(size); - return (B) this; - } - - @SuppressWarnings("unchecked") - public B orderBy(final String orderBy) { - getInstance().setOrderBy(orderBy); - return (B) this; - } - - public Q build() { - return getInstance(); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyListQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyListQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyListQueryBuilder.java deleted file mode 100644 index da069cc..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyListQueryBuilder.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import java.util.ArrayList; -import org.apache.syncope.common.rest.api.beans.AnyQuery; -import org.apache.syncope.common.rest.api.beans.AnyListQuery; - -public class AnyListQueryBuilder extends AnyQueryBuilder { - - private final AnyListQuery instance = new AnyListQuery(); - - @Override - public AnyListQueryBuilder page(final Integer page) { - return AnyListQueryBuilder.class.cast(super.page(page)); - } - - @Override - public AnyListQueryBuilder size(final Integer size) { - return AnyListQueryBuilder.class.cast(super.size(size)); - } - - @Override - public AnyListQueryBuilder orderBy(final String orderBy) { - return AnyListQueryBuilder.class.cast(super.orderBy(orderBy)); - } - - @Override - public AnyListQueryBuilder details(final boolean details) { - return AnyListQueryBuilder.class.cast(super.details(details)); - } - - public AnyListQueryBuilder realm(final String realm) { - if (instance.getRealms() == null) { - instance.setRealms(new ArrayList<String>()); - } - instance.getRealms().add(realm); - - return this; - } - - @Override - public AnyListQuery build() { - AnyQuery lq = super.build(); - instance.setPage(lq.getPage()); - instance.setSize(lq.getSize()); - instance.setOrderBy(lq.getOrderBy()); - instance.setDetails(lq.isDetails()); - - return instance; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyQueryBuilder.java deleted file mode 100644 index ad5457e..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnyQueryBuilder.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import org.apache.syncope.common.rest.api.beans.AnyQuery; - -public class AnyQueryBuilder extends AbstractQueryBuilder<AnyQuery, AnyQueryBuilder> { - - @Override - protected AnyQuery newInstance() { - return new AnyQuery(); - } - - @Override - public AnyQueryBuilder page(final Integer page) { - return AnyQueryBuilder.class.cast(super.page(page)); - } - - @Override - public AnyQueryBuilder size(final Integer size) { - return AnyQueryBuilder.class.cast(super.size(size)); - } - - @Override - public AnyQueryBuilder orderBy(final String orderBy) { - return AnyQueryBuilder.class.cast(super.orderBy(orderBy)); - } - - public AnyQueryBuilder details(final boolean details) { - getInstance().setDetails(details); - return this; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnySearchQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnySearchQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnySearchQueryBuilder.java deleted file mode 100644 index 5bffdcc..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/AnySearchQueryBuilder.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import org.apache.syncope.common.rest.api.beans.AnyListQuery; -import org.apache.syncope.common.rest.api.beans.AnySearchQuery; - -public class AnySearchQueryBuilder extends AnyListQueryBuilder { - - private final AnySearchQuery instance = new AnySearchQuery(); - - @Override - public AnySearchQueryBuilder realm(final String realm) { - return AnySearchQueryBuilder.class.cast(super.realm(realm)); - } - - @Override - public AnySearchQueryBuilder page(final Integer page) { - return AnySearchQueryBuilder.class.cast(super.page(page)); - } - - @Override - public AnySearchQueryBuilder size(final Integer size) { - return AnySearchQueryBuilder.class.cast(super.size(size)); - } - - @Override - public AnySearchQueryBuilder orderBy(final String orderBy) { - return AnySearchQueryBuilder.class.cast(super.orderBy(orderBy)); - } - - @Override - public AnySearchQueryBuilder details(final boolean details) { - return AnySearchQueryBuilder.class.cast(super.details(details)); - } - - public AnySearchQueryBuilder fiql(final String fiql) { - instance.setFiql(fiql); - - return this; - } - - @Override - public AnySearchQuery build() { - AnyListQuery slq = super.build(); - instance.setRealms(slq.getRealms()); - instance.setPage(slq.getPage()); - instance.setSize(slq.getSize()); - instance.setOrderBy(slq.getOrderBy()); - instance.setDetails(slq.isDetails()); - - return instance; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/ConnObjectTOListQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/ConnObjectTOListQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/ConnObjectTOListQueryBuilder.java deleted file mode 100644 index 619f391..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/ConnObjectTOListQueryBuilder.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import org.apache.syncope.common.rest.api.beans.ConnObjectTOListQuery; - -public class ConnObjectTOListQueryBuilder { - - private final ConnObjectTOListQuery instance = new ConnObjectTOListQuery(); - - public ConnObjectTOListQueryBuilder size(final Integer size) { - instance.setSize(size); - - return this; - } - - public ConnObjectTOListQueryBuilder pagedResultsCookie(final String pagedResultsCookie) { - instance.setPagedResultsCookie(pagedResultsCookie); - - return this; - } - - public ConnObjectTOListQueryBuilder orderBy(final String orderBy) { - instance.setOrderBy(orderBy); - - return this; - } - - public ConnObjectTOListQuery build() { - return instance; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/client/lib/src/main/java/org/apache/syncope/client/lib/builders/TaskQueryBuilder.java ---------------------------------------------------------------------- diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/TaskQueryBuilder.java b/client/lib/src/main/java/org/apache/syncope/client/lib/builders/TaskQueryBuilder.java deleted file mode 100644 index c87b68c..0000000 --- a/client/lib/src/main/java/org/apache/syncope/client/lib/builders/TaskQueryBuilder.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.client.lib.builders; - -import org.apache.syncope.common.lib.types.AnyTypeKind; -import org.apache.syncope.common.rest.api.beans.TaskQuery; - -public class TaskQueryBuilder extends AbstractQueryBuilder<TaskQuery, TaskQueryBuilder> { - - @Override - protected TaskQuery newInstance() { - return new TaskQuery(); - } - - @Override - public TaskQueryBuilder page(final Integer page) { - return TaskQueryBuilder.class.cast(super.page(page)); - } - - @Override - public TaskQueryBuilder size(final Integer size) { - return TaskQueryBuilder.class.cast(super.size(size)); - } - - @Override - public TaskQueryBuilder orderBy(final String orderBy) { - return TaskQueryBuilder.class.cast(super.orderBy(orderBy)); - } - - public TaskQueryBuilder resource(final String resource) { - getInstance().setResource(resource); - return this; - } - - public TaskQueryBuilder anyTypeKind(final AnyTypeKind anyTypeKind) { - getInstance().setAnyTypeKind(anyTypeKind); - return this; - } - - public TaskQueryBuilder anyTypeKey(final Long anyTypeKey) { - getInstance().setAnyTypeKey(anyTypeKey); - return this; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java ---------------------------------------------------------------------- diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java index f7cd2e8..1a36c4f 100644 --- a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java +++ b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java @@ -35,7 +35,6 @@ import org.apache.syncope.common.lib.patch.PasswordPatch; import org.apache.syncope.common.lib.patch.RelationshipPatch; import org.apache.syncope.common.lib.patch.AbstractReplacePatchItem; import org.apache.syncope.common.lib.patch.BooleanReplacePatchItem; -import org.apache.syncope.common.lib.patch.LongPatchItem; import org.apache.syncope.common.lib.patch.LongReplacePatchItem; import org.apache.syncope.common.lib.patch.StringPatchItem; import org.apache.syncope.common.lib.patch.StringReplacePatchItem; @@ -110,14 +109,14 @@ public final class AnyOperations { CollectionUtils.forAllDo(CollectionUtils.subtract(originalAttrs.keySet(), updatedAttrs.keySet()), new Closure<String>() { - @Override - public void execute(final String schema) { - result.getPlainAttrs().add(new AttrPatch.Builder(). - operation(PatchOperation.DELETE). - attrTO(new AttrTO.Builder().schema(schema).build()). - build()); - } - }); + @Override + public void execute(final String schema) { + result.getPlainAttrs().add(new AttrPatch.Builder(). + operation(PatchOperation.DELETE). + attrTO(new AttrTO.Builder().schema(schema).build()). + build()); + } + }); } for (AttrTO attrTO : updatedAttrs.values()) { @@ -254,15 +253,15 @@ public final class AnyOperations { // 4. roles if (!incremental) { - for (Long toRemove : CollectionUtils.subtract(original.getRoles(), updated.getRoles())) { + for (String toRemove : CollectionUtils.subtract(original.getRoles(), updated.getRoles())) { result.getRoles().add( - new LongPatchItem.Builder().operation(PatchOperation.DELETE).value(toRemove).build()); + new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(toRemove).build()); } } - for (Long toAdd : CollectionUtils.subtract(updated.getRoles(), original.getRoles())) { + for (String toAdd : CollectionUtils.subtract(updated.getRoles(), original.getRoles())) { result.getRoles().add( - new LongPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(toAdd).build()); + new StringPatchItem.Builder().operation(PatchOperation.ADD_REPLACE).value(toAdd).build()); } // 5. relationships @@ -522,7 +521,7 @@ public final class AnyOperations { } // 5. roles - for (LongPatchItem rolePatch : userPatch.getRoles()) { + for (StringPatchItem rolePatch : userPatch.getRoles()) { switch (rolePatch.getOperation()) { case ADD_REPLACE: result.getRoles().add(rolePatch.getValue()); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/lib/src/main/java/org/apache/syncope/common/lib/patch/UserPatch.java ---------------------------------------------------------------------- diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/patch/UserPatch.java b/common/lib/src/main/java/org/apache/syncope/common/lib/patch/UserPatch.java index 9131abd..3f4e9eb 100644 --- a/common/lib/src/main/java/org/apache/syncope/common/lib/patch/UserPatch.java +++ b/common/lib/src/main/java/org/apache/syncope/common/lib/patch/UserPatch.java @@ -46,7 +46,7 @@ public class UserPatch extends AnyPatch { private final Set<MembershipPatch> memberships = new HashSet<>(); - private final Set<LongPatchItem> roles = new HashSet<>(); + private final Set<StringPatchItem> roles = new HashSet<>(); public StringReplacePatchItem getUsername() { return username; @@ -105,7 +105,7 @@ public class UserPatch extends AnyPatch { @XmlElementWrapper(name = "roles") @XmlElement(name = "role") @JsonProperty("roles") - public Set<LongPatchItem> getRoles() { + public Set<StringPatchItem> getRoles() { return roles; } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserFiqlSearchConditionBuilder.java ---------------------------------------------------------------------- diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserFiqlSearchConditionBuilder.java b/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserFiqlSearchConditionBuilder.java index 802694e..323e38b 100644 --- a/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserFiqlSearchConditionBuilder.java +++ b/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserFiqlSearchConditionBuilder.java @@ -50,7 +50,7 @@ public class UserFiqlSearchConditionBuilder extends AbstractFiqlSearchConditionB return newBuilderInstance().is(SpecialAttr.GROUPS.toString()).inGroups(group, moreGroups); } - public CompleteCondition inRoles(final Long role, final Long... moreRoles) { + public CompleteCondition inRoles(final String role, final String... moreRoles) { return newBuilderInstance().is(SpecialAttr.ROLES.toString()).inRoles(role, moreRoles); } @@ -99,13 +99,13 @@ public class UserFiqlSearchConditionBuilder extends AbstractFiqlSearchConditionB } @Override - public CompleteCondition inRoles(final Long role, final Long... moreRoles) { + public CompleteCondition inRoles(final String role, final String... moreRoles) { this.result = SpecialAttr.ROLES.toString(); return condition(FiqlParser.EQ, role, (Object[]) moreRoles); } @Override - public CompleteCondition notInRoles(final Long role, final Long... moreRoles) { + public CompleteCondition notInRoles(final String role, final String... moreRoles) { this.result = SpecialAttr.ROLES.toString(); return condition(FiqlParser.NEQ, role, (Object[]) moreRoles); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserProperty.java ---------------------------------------------------------------------- diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserProperty.java b/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserProperty.java index 5a659b7..210274c 100644 --- a/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserProperty.java +++ b/common/lib/src/main/java/org/apache/syncope/common/lib/search/UserProperty.java @@ -26,8 +26,8 @@ public interface UserProperty extends SyncopeProperty { CompleteCondition notInGroups(Long group, Long... moreGroups); - CompleteCondition inRoles(Long role, Long... moreRoles); + CompleteCondition inRoles(String role, String... moreRoles); - CompleteCondition notInRoles(Long role, Long... moreRoles); + CompleteCondition notInRoles(String role, String... moreRoles); } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 fab8a06..7160fdc 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 @@ -36,9 +36,7 @@ public class RoleTO extends AbstractBaseBean { private static final long serialVersionUID = 4560822655754800031L; - private long key; - - private String name; + private String key; private final Set<String> entitlements = new HashSet<>(); @@ -46,23 +44,15 @@ public class RoleTO extends AbstractBaseBean { private String dynMembershipCond; - public long getKey() { + public String getKey() { return key; } @PathParam("key") - public void setKey(final long key) { + public void setKey(final String key) { this.key = key; } - public String getName() { - return name; - } - - public void setName(final String name) { - this.name = name; - } - @XmlElementWrapper(name = "entitlements") @XmlElement(name = "entitlement") @JsonProperty("entitlements") http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 7018cd5..e18d8bc 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 @@ -43,9 +43,9 @@ public class UserTO extends AnyTO { private String password; - private final List<Long> roles = new ArrayList<>(); + private final List<String> roles = new ArrayList<>(); - private final List<Long> dynRoles = new ArrayList<>(); + private final List<String> dynRoles = new ArrayList<>(); private String token; @@ -92,14 +92,14 @@ public class UserTO extends AnyTO { @XmlElementWrapper(name = "roles") @XmlElement(name = "role") @JsonProperty("roles") - public List<Long> getRoles() { + public List<String> getRoles() { return roles; } @XmlElementWrapper(name = "dynRoles") @XmlElement(name = "role") @JsonProperty("dynRoles") - public List<Long> getDynRoles() { + public List<String> getDynRoles() { return dynRoles; } http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 e0f8093..4eeaf8f 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 @@ -25,7 +25,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.StringWriter; import org.apache.syncope.common.lib.patch.PasswordPatch; -import org.apache.syncope.common.lib.patch.LongPatchItem; +import org.apache.syncope.common.lib.patch.StringPatchItem; import org.apache.syncope.common.lib.patch.StringReplacePatchItem; import org.apache.syncope.common.lib.patch.UserPatch; import org.apache.syncope.common.lib.report.UserReportletConf; @@ -79,7 +79,7 @@ public class JSONTest { value("newpassword"). build()); assertNotNull(patch.getPassword().getValue()); - patch.getRoles().add(new LongPatchItem.Builder().operation(PatchOperation.DELETE).value(7L).build()); + patch.getRoles().add(new StringPatchItem.Builder().operation(PatchOperation.DELETE).value("role").build()); ObjectMapper mapper = new ObjectMapper(); http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 a8c6bb8..eb37f52 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 @@ -28,6 +28,42 @@ public abstract class AbstractQuery extends AbstractBaseBean { private static final long serialVersionUID = -371488230250055359L; + protected abstract static class Builder<Q extends AbstractQuery, B extends Builder<Q, B>> { + + private Q instance; + + protected abstract Q newInstance(); + + protected Q getInstance() { + if (instance == null) { + instance = newInstance(); + } + return instance; + } + + @SuppressWarnings("unchecked") + public B page(final Integer page) { + getInstance().setPage(page); + return (B) this; + } + + @SuppressWarnings("unchecked") + public B size(final Integer size) { + getInstance().setSize(size); + return (B) this; + } + + @SuppressWarnings("unchecked") + public B orderBy(final String orderBy) { + getInstance().setOrderBy(orderBy); + return (B) this; + } + + public Q build() { + return getInstance(); + } + } + private Integer page; private Integer size; http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyListQuery.java ---------------------------------------------------------------------- diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyListQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyListQuery.java index ef9b93d..a763c21 100644 --- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyListQuery.java +++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyListQuery.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.common.rest.api.beans; +import java.util.ArrayList; import java.util.List; import javax.ws.rs.DefaultValue; import javax.ws.rs.MatrixParam; @@ -27,6 +28,28 @@ public class AnyListQuery extends AnyQuery { private static final long serialVersionUID = -5197167078435619636L; + public static class Builder extends AbstractQuery.Builder<AnyListQuery, Builder> { + + @Override + protected AnyListQuery newInstance() { + return new AnyListQuery(); + } + + public Builder details(final boolean details) { + getInstance().setDetails(details); + return this; + } + + public Builder realm(final String realm) { + if (getInstance().getRealms() == null) { + getInstance().setRealms(new ArrayList<String>()); + } + getInstance().getRealms().add(realm); + + return this; + } + } + private List<String> realms; public List<String> getRealms() { http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java ---------------------------------------------------------------------- diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java index bcf10ce..d369ee2 100644 --- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java +++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnyQuery.java @@ -26,6 +26,20 @@ public class AnyQuery extends AbstractQuery { private static final long serialVersionUID = -371488230250055359L; + public static class Builder extends AbstractQuery.Builder<AnyQuery, Builder> { + + @Override + protected AnyQuery newInstance() { + return new AnyQuery(); + } + + public Builder details(final boolean details) { + getInstance().setDetails(details); + return this; + } + + } + private Boolean details; public boolean isDetails() { http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnySearchQuery.java ---------------------------------------------------------------------- diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnySearchQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnySearchQuery.java index 3e0a516..dca93cf 100644 --- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnySearchQuery.java +++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/AnySearchQuery.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.common.rest.api.beans; +import java.util.ArrayList; import javax.ws.rs.QueryParam; import org.apache.syncope.common.rest.api.service.JAXRSService; @@ -25,6 +26,34 @@ public class AnySearchQuery extends AnyListQuery { private static final long serialVersionUID = -6736562952418964707L; + public static class Builder extends AbstractQuery.Builder<AnySearchQuery, Builder> { + + @Override + protected AnySearchQuery newInstance() { + return new AnySearchQuery(); + } + + public Builder details(final boolean details) { + getInstance().setDetails(details); + return this; + } + + public Builder realm(final String realm) { + if (getInstance().getRealms() == null) { + getInstance().setRealms(new ArrayList<String>()); + } + getInstance().getRealms().add(realm); + + return this; + } + + public Builder fiql(final String fiql) { + getInstance().setFiql(fiql); + + return this; + } + } + private String fiql; public String getFiql() { http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ConnObjectTOListQuery.java ---------------------------------------------------------------------- diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ConnObjectTOListQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ConnObjectTOListQuery.java index 32a7359..53df9fb 100644 --- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ConnObjectTOListQuery.java +++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/ConnObjectTOListQuery.java @@ -32,6 +32,31 @@ public class ConnObjectTOListQuery implements Serializable { private static final long serialVersionUID = -371488230250055359L; + public static class Builder { + + private final ConnObjectTOListQuery instance = new ConnObjectTOListQuery(); + + public Builder size(final Integer size) { + instance.setSize(size); + return this; + } + + public Builder pagedResultsCookie(final String pagedResultsCookie) { + instance.setPagedResultsCookie(pagedResultsCookie); + return this; + } + + public Builder orderBy(final String orderBy) { + instance.setOrderBy(orderBy); + return this; + } + + public ConnObjectTOListQuery build() { + return instance; + } + + } + private Integer size; private String pagedResultsCookie; http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java ---------------------------------------------------------------------- diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java new file mode 100644 index 0000000..a96b09f --- /dev/null +++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java @@ -0,0 +1,72 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.syncope.common.rest.api.beans; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import javax.ws.rs.QueryParam; +import org.apache.syncope.common.lib.AbstractBaseBean; + +public class SchemaQuery extends AbstractBaseBean { + + private static final long serialVersionUID = -1863334226169614417L; + + public static class Builder { + + private final SchemaQuery instance = new SchemaQuery(); + + public Builder anyTypeClass(final String anyTypeClass) { + if (instance.getAnyTypeClasses() == null) { + instance.setAnyTypeClasses(new ArrayList<String>()); + } + instance.getAnyTypeClasses().add(anyTypeClass); + + return this; + } + + public Builder anyTypeClasses(final Collection<String> anyTypeClasses) { + for (String anyTypeClass : anyTypeClasses) { + anyTypeClass(anyTypeClass); + } + return this; + } + + public Builder anyTypeClasses(final String... anyTypeClasses) { + return anyTypeClasses(Arrays.asList(anyTypeClasses)); + } + + public SchemaQuery build() { + return instance; + } + } + + private List<String> anyTypeClasses; + + public List<String> getAnyTypeClasses() { + return anyTypeClasses; + } + + @QueryParam("anyTypeClass") + public void setAnyTypeClasses(final List<String> anyTypeClasses) { + this.anyTypeClasses = anyTypeClasses; + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/b738d3e9/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 7f59abf..8fe942f 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 @@ -27,6 +27,30 @@ public class TaskQuery extends AbstractQuery { private static final long serialVersionUID = -8792519310029596796L; + public static class Builder extends AbstractQuery.Builder<TaskQuery, Builder> { + + @Override + protected TaskQuery newInstance() { + return new TaskQuery(); + } + + public Builder resource(final String resource) { + getInstance().setResource(resource); + return this; + } + + public Builder anyTypeKind(final AnyTypeKind anyTypeKind) { + getInstance().setAnyTypeKind(anyTypeKind); + return this; + } + + public Builder anyTypeKey(final Long anyTypeKey) { + getInstance().setAnyTypeKey(anyTypeKey); + return this; + } + + } + private String resource; private AnyTypeKind anyTypeKind;
