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 2013/10/30 12:26:22 UTC
svn commit: r1537047 [4/5] - in /syncope/trunk:
client/src/main/java/org/apache/syncope/client/rest/
common/src/main/java/org/apache/syncope/common/
common/src/main/java/org/apache/syncope/common/mod/
common/src/main/java/org/apache/syncope/common/serv...
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserController.java Wed Oct 30 11:26:19 2013
@@ -25,6 +25,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.syncope.common.mod.StatusMod;
import org.apache.syncope.common.mod.UserMod;
import org.apache.syncope.common.search.NodeCond;
import org.apache.syncope.common.services.InvalidSearchConditionException;
@@ -32,7 +33,6 @@ import org.apache.syncope.common.to.Bulk
import org.apache.syncope.common.to.BulkActionRes;
import org.apache.syncope.common.to.BulkActionRes.Status;
import org.apache.syncope.common.to.MembershipTO;
-import org.apache.syncope.common.to.PropagationRequestTO;
import org.apache.syncope.common.to.UserTO;
import org.apache.syncope.common.types.AttributableType;
import org.apache.syncope.common.types.AuditElements.Category;
@@ -40,7 +40,6 @@ import org.apache.syncope.common.types.A
import org.apache.syncope.common.types.AuditElements.UserSubCategory;
import org.apache.syncope.common.types.ResourceOperation;
import org.apache.syncope.common.types.ClientExceptionType;
-import org.apache.syncope.common.validation.SyncopeClientCompositeException;
import org.apache.syncope.common.validation.SyncopeClientException;
import org.apache.syncope.core.audit.AuditManager;
import org.apache.syncope.core.notification.NotificationManager;
@@ -76,7 +75,7 @@ import org.springframework.transaction.a
* @see AbstractController
*/
@Component
-public class UserController {
+public class UserController extends AbstractResourceAssociator<UserTO> {
/**
* Logger.
@@ -113,14 +112,24 @@ public class UserController {
@Autowired
protected NotificationManager notificationManager;
+ @PreAuthorize("hasRole('USER_READ')")
+ public String getUsername(final Long userId) {
+ return binder.getUserTO(userId).getUsername();
+ }
+
+ @PreAuthorize("hasRole('USER_READ')")
+ public Long getUserId(final String username) {
+ return binder.getUserTO(username).getId();
+ }
+
@PreAuthorize("hasRole('USER_LIST')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public int count() {
return userDAO.count(EntitlementUtil.getRoleIds(EntitlementUtil.getOwnedEntitlementNames()));
}
@PreAuthorize("hasRole('USER_READ')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public int searchCount(final NodeCond searchCondition) throws InvalidSearchConditionException {
if (!searchCondition.isValid()) {
LOG.error("Invalid search condition: {}", searchCondition);
@@ -132,10 +141,10 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_LIST')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public List<UserTO> list() {
- List<SyncopeUser> users =
- userDAO.findAll(EntitlementUtil.getRoleIds(EntitlementUtil.getOwnedEntitlementNames()));
+ List<SyncopeUser> users = userDAO.findAll(
+ EntitlementUtil.getRoleIds(EntitlementUtil.getOwnedEntitlementNames()));
List<UserTO> userTOs = new ArrayList<UserTO>(users.size());
for (SyncopeUser user : users) {
@@ -149,7 +158,7 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_LIST')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public List<UserTO> list(final int page, final int size) {
Set<Long> adminRoleIds = EntitlementUtil.getRoleIds(EntitlementUtil.getOwnedEntitlementNames());
@@ -166,7 +175,7 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_READ')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public UserTO read(final Long userId) {
UserTO result = binder.getUserTO(userId);
@@ -176,21 +185,10 @@ public class UserController {
return result;
}
- @PreAuthorize("#username == authentication.name or hasRole('USER_READ')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
- public UserTO read(final String username) {
- UserTO result = binder.getUserTO(username);
-
- auditManager.audit(Category.user, UserSubCategory.read, Result.success,
- "Successfully read user: " + username);
-
- return result;
- }
-
@PreAuthorize("isAuthenticated() "
+ "and not(hasRole(T(org.apache.syncope.common.SyncopeConstants).ANONYMOUS_ENTITLEMENT))")
@Transactional(readOnly = true)
- public UserTO read() {
+ public UserTO readSelf() {
UserTO userTO = binder.getAuthenticatedUserTO();
auditManager.audit(Category.user, UserSubCategory.read, Result.success,
@@ -200,7 +198,7 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_READ')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public List<UserTO> search(final NodeCond searchCondition)
throws InvalidSearchConditionException {
@@ -208,7 +206,7 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_READ')")
- @Transactional(readOnly = true, rollbackFor = {Throwable.class})
+ @Transactional(readOnly = true, rollbackFor = { Throwable.class })
public List<UserTO> search(final NodeCond searchCondition, final int page, final int size)
throws InvalidSearchConditionException {
@@ -255,13 +253,12 @@ public class UserController {
/*
* Actual operations: workflow, propagation, notification
*/
-
WorkflowResult<Map.Entry<Long, Boolean>> created = uwfAdapter.create(actual);
List<PropagationTask> tasks = propagationManager.getUserCreateTaskIds(
created, actual.getPassword(), actual.getVirAttrs());
- PropagationReporter propagationReporter =
- ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class);
+ PropagationReporter propagationReporter = ApplicationContextProvider.getApplicationContext().
+ getBean(PropagationReporter.class);
try {
taskExecutor.execute(tasks, propagationReporter);
} catch (PropagationException e) {
@@ -310,7 +307,7 @@ public class UserController {
final PropagationByResource origPropByRes = new PropagationByResource();
origPropByRes.merge(updated.getPropByRes());
- Set<String> pwdResourceNames = actual.getPwdPropRequest().getResources();
+ List<String> pwdResourceNames = actual.getPwdPropRequest().getResourceNames();
SyncopeUser user = binder.getUserFromId(updated.getResult().getKey());
pwdResourceNames.retainAll(user.getResourceNames());
final PropagationByResource pwdPropByRes = new PropagationByResource();
@@ -347,8 +344,8 @@ public class UserController {
updated.setPropByRes(origPropByRes);
}
- PropagationReporter propagationReporter =
- ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class);
+ PropagationReporter propagationReporter = ApplicationContextProvider.getApplicationContext().
+ getBean(PropagationReporter.class);
try {
taskExecutor.execute(tasks, propagationReporter);
} catch (PropagationException e) {
@@ -371,137 +368,48 @@ public class UserController {
return updatedTO;
}
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO activate(final Long userId, final String token) {
- return activate(userId, token, null);
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO activate(final Long userId, final String token, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to activate " + userId);
-
- SyncopeUser user = binder.getUserFromId(userId);
-
- return setStatus(user, token, propagationRequestTO, true, "activate");
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO activate(final String username, final String token) {
- return activate(username, token, null);
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO activate(final String username, final String token, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to activate " + username);
-
- SyncopeUser user = binder.getUserFromUsername(username);
-
- return setStatus(user, token, propagationRequestTO, true, "activate");
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO suspend(final Long userId) {
- return suspend(userId, null);
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO suspend(final Long userId, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to suspend " + userId);
-
- SyncopeUser user = binder.getUserFromId(userId);
-
- return setStatus(user, null, propagationRequestTO, false, "suspend");
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO suspend(final String username) {
- return suspend(username, null);
- }
-
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO suspend(final String username, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to suspend " + username);
-
- SyncopeUser user = binder.getUserFromUsername(username);
-
- return setStatus(user, null, propagationRequestTO, false, "suspend");
- }
+ protected WorkflowResult<Long> setStatusOnWfAdapter(final SyncopeUser user, final StatusMod statusMod) {
+ WorkflowResult<Long> updated;
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO reactivate(final Long userId) {
- return reactivate(userId, null);
- }
+ switch (statusMod.getType()) {
+ case SUSPEND:
+ updated = uwfAdapter.suspend(user.getId());
+ break;
- @PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO reactivate(final Long userId, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to reactivate " + userId);
+ case REACTIVATE:
+ updated = uwfAdapter.reactivate(user.getId());
+ break;
- SyncopeUser user = binder.getUserFromId(userId);
+ case ACTIVATE:
+ default:
+ updated = uwfAdapter.activate(user.getId(), statusMod.getToken());
+ break;
- return setStatus(user, null, propagationRequestTO, true, "reactivate");
- }
+ }
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO reactivate(final String username) {
- return reactivate(username, null);
+ return updated;
}
@PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
- public UserTO reactivate(final String username, final PropagationRequestTO propagationRequestTO) {
- LOG.debug("About to reactivate " + username);
-
- SyncopeUser user = binder.getUserFromUsername(username);
+ @Transactional(rollbackFor = { Throwable.class })
+ public UserTO status(final StatusMod statusMod) {
+ LOG.debug("About to mod status {}", statusMod);
- return setStatus(user, null, propagationRequestTO, true, "reactivate");
- }
-
- @PreAuthorize("hasRole('USER_DELETE')")
- public UserTO delete(final Long userId) {
- LOG.debug("User delete called with {}", userId);
-
- return doDelete(userId);
- }
-
- @PreAuthorize("hasRole('USER_DELETE')")
- public UserTO delete(final String username) {
- LOG.debug("User delete called with {}", username);
-
- UserTO result = binder.getUserTO(username);
- long userId = result.getId();
-
- return doDelete(userId);
- }
-
- protected UserTO setStatus(final SyncopeUser user, final String token,
- final PropagationRequestTO propagationRequestTO, final boolean status, final String task) {
-
- LOG.debug("About to set 'enabled:{}' status to {}", user, status);
+ SyncopeUser user = binder.getUserFromId(statusMod.getId());
WorkflowResult<Long> updated;
- if (propagationRequestTO == null || propagationRequestTO.isOnSyncope()) {
- updated = setStatusOnWfAdapter(user, token, task);
+ if (statusMod.isOnSyncope()) {
+ updated = setStatusOnWfAdapter(user, statusMod);
} else {
- updated = new WorkflowResult<Long>(user.getId(), null, task);
+ updated = new WorkflowResult<Long>(user.getId(), null, statusMod.getType().name().toLowerCase());
}
// Resources to exclude from propagation
Set<String> resourcesToBeExcluded = new HashSet<String>(user.getResourceNames());
- if (propagationRequestTO != null) {
- resourcesToBeExcluded.removeAll(propagationRequestTO.getResources());
- }
+ resourcesToBeExcluded.removeAll(statusMod.getResourceNames());
- List<PropagationTask> tasks = propagationManager.getUserUpdateTaskIds(user, status, resourcesToBeExcluded);
+ List<PropagationTask> tasks = propagationManager.getUserUpdateTaskIds(
+ user, statusMod.getType() != StatusMod.ModType.SUSPEND, resourcesToBeExcluded);
taskExecutor.execute(tasks);
notificationManager.createTasks(updated.getResult(), updated.getPerformedTasks());
@@ -516,19 +424,8 @@ public class UserController {
return savedTO;
}
- protected WorkflowResult<Long> setStatusOnWfAdapter(final SyncopeUser user, final String token, final String task) {
- WorkflowResult<Long> updated;
- if ("suspend".equals(task)) {
- updated = uwfAdapter.suspend(user.getId());
- } else if ("reactivate".equals(task)) {
- updated = uwfAdapter.reactivate(user.getId());
- } else {
- updated = uwfAdapter.activate(user.getId(), token);
- }
- return updated;
- }
-
- protected UserTO doDelete(final Long userId) {
+ @PreAuthorize("hasRole('USER_DELETE')")
+ public UserTO delete(final Long userId) {
LOG.debug("User delete called for {}", userId);
List<SyncopeRole> ownedRoles = roleDAO.findOwned(binder.getUserFromId(userId));
@@ -558,8 +455,8 @@ public class UserController {
final UserTO userTO = new UserTO();
userTO.setId(userId);
- PropagationReporter propagationReporter =
- ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class);
+ PropagationReporter propagationReporter = ApplicationContextProvider.getApplicationContext().
+ getBean(PropagationReporter.class);
try {
taskExecutor.execute(tasks, propagationReporter);
} catch (PropagationException e) {
@@ -583,8 +480,8 @@ public class UserController {
+ "(hasRole('USER_UPDATE') and "
+ "(#bulkAction.operation == #bulkAction.operation.REACTIVATE or "
+ "#bulkAction.operation == #bulkAction.operation.SUSPEND))")
- public BulkActionRes bulkAction(final BulkAction bulkAction) {
- LOG.debug("Bulk action '{}' called on '{}'", bulkAction.getOperation(), bulkAction.getTargets());
+ public BulkActionRes bulk(final BulkAction bulkAction) {
+ LOG.debug("Bulk '{}' called on '{}'", bulkAction.getOperation(), bulkAction.getTargets());
BulkActionRes res = new BulkActionRes();
@@ -592,33 +489,42 @@ public class UserController {
case DELETE:
for (String userId : bulkAction.getTargets()) {
try {
- res.add(doDelete(Long.valueOf(userId)).getId(), Status.SUCCESS);
+ res.add(delete(Long.valueOf(userId)).getId(), Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for user {}", userId, e);
res.add(userId, Status.FAILURE);
}
}
break;
+
case SUSPEND:
for (String userId : bulkAction.getTargets()) {
+ StatusMod statusMod = new StatusMod();
+ statusMod.setId(Long.valueOf(userId));
+ statusMod.setType(StatusMod.ModType.SUSPEND);
try {
- res.add(suspend(Long.valueOf(userId)).getId(), Status.SUCCESS);
+ res.add(status(statusMod).getId(), Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing suspend for user {}", userId, e);
res.add(userId, Status.FAILURE);
}
}
break;
+
case REACTIVATE:
for (String userId : bulkAction.getTargets()) {
+ StatusMod statusMod = new StatusMod();
+ statusMod.setId(Long.valueOf(userId));
+ statusMod.setType(StatusMod.ModType.REACTIVATE);
try {
- res.add(reactivate(Long.valueOf(userId)).getId(), Status.SUCCESS);
+ res.add(status(statusMod).getId(), Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing reactivate for user {}", userId, e);
res.add(userId, Status.FAILURE);
}
}
break;
+
default:
}
@@ -626,7 +532,8 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
+ @Transactional(rollbackFor = { Throwable.class })
+ @Override
public UserTO unlink(final Long userId, final Collection<String> resources) {
LOG.debug("About to unlink user({}) and resources {}", userId, resources);
@@ -648,7 +555,8 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
+ @Transactional(rollbackFor = { Throwable.class })
+ @Override
public UserTO unassign(final Long userId, final Collection<String> resources) {
LOG.debug("About to unassign user({}) and resources {}", userId, resources);
@@ -660,7 +568,8 @@ public class UserController {
}
@PreAuthorize("hasRole('USER_UPDATE')")
- @Transactional(rollbackFor = {Throwable.class})
+ @Transactional(rollbackFor = { Throwable.class })
+ @Override
public UserTO deprovision(final Long userId, final Collection<String> resources) {
LOG.debug("About to deprovision user({}) from resources {}", userId, resources);
@@ -670,8 +579,8 @@ public class UserController {
noPropResourceName.removeAll(resources);
final List<PropagationTask> tasks = propagationManager.getUserDeleteTaskIds(userId, noPropResourceName);
- PropagationReporter propagationReporter =
- ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class);
+ PropagationReporter propagationReporter = ApplicationContextProvider.getApplicationContext().
+ getBean(PropagationReporter.class);
try {
taskExecutor.execute(tasks, propagationReporter);
} catch (PropagationException e) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserRequestController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserRequestController.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserRequestController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/UserRequestController.java Wed Oct 30 11:26:19 2013
@@ -21,6 +21,7 @@ package org.apache.syncope.core.rest.con
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import javax.annotation.Resource;
import javax.persistence.RollbackException;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.mod.UserMod;
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/UserDataBinder.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/UserDataBinder.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/UserDataBinder.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/data/UserDataBinder.java Wed Oct 30 11:26:19 2013
@@ -61,11 +61,12 @@ import org.springframework.stereotype.Co
import org.springframework.transaction.annotation.Transactional;
@Component
-@Transactional(rollbackFor = {Throwable.class})
+@Transactional(rollbackFor = { Throwable.class })
public class UserDataBinder extends AbstractAttributableDataBinder {
private static final String[] IGNORE_USER_PROPERTIES = {
- "memberships", "attrs", "derAttrs", "virAttrs", "resources"};
+ "memberships", "attrs", "derAttrs", "virAttrs", "resources"
+ };
@Autowired
private ConnObjectUtil connObjectUtil;
@@ -179,8 +180,8 @@ public class UserDataBinder extends Abst
try {
user.setPassword(password, getPredefinedCipherAlgoritm(), passwordHistorySize);
} catch (NotFoundException e) {
- final SyncopeClientException invalidCiperAlgorithm =
- SyncopeClientException.build(ClientExceptionType.NotFound);
+ final SyncopeClientException invalidCiperAlgorithm = SyncopeClientException.build(
+ ClientExceptionType.NotFound);
invalidCiperAlgorithm.getElements().add(e.getMessage());
scce.addException(invalidCiperAlgorithm);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/utils/RestServiceExceptionMapper.java Wed Oct 30 11:26:19 2013
@@ -30,10 +30,10 @@ import javax.ws.rs.core.Response.Respons
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.apache.cxf.jaxrs.client.ResponseExceptionMapper;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.InvalidSearchConditionException;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.ClientExceptionType;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.validation.SyncopeClientCompositeException;
import org.apache.syncope.common.validation.SyncopeClientException;
import org.apache.syncope.core.persistence.dao.MissingConfKeyException;
@@ -121,8 +121,7 @@ public class RestServiceExceptionMapper
private Response getSyncopeClientExceptionResponse(final SyncopeClientException ex) {
ResponseBuilder responseBuilder = Response.status(ex.getType().getResponseStatus());
- responseBuilder.header(
- SyncopeConstants.REST_EXCEPTION_TYPE_HEADER, ex.getType().getHeaderValue());
+ responseBuilder.header(RESTHeaders.EXCEPTION_TYPE.toString(), ex.getType().getHeaderValue());
for (Object element : ex.getElements()) {
responseBuilder.header(ex.getType().getElementHeaderName(), element);
@@ -138,8 +137,7 @@ public class RestServiceExceptionMapper
ResponseBuilder responseBuilder = Response.status(Response.Status.BAD_REQUEST);
for (SyncopeClientException sce : ex.getExceptions()) {
- responseBuilder.header(
- SyncopeConstants.REST_EXCEPTION_TYPE_HEADER, sce.getType().getHeaderValue());
+ responseBuilder.header(RESTHeaders.EXCEPTION_TYPE.toString(), sce.getType().getHeaderValue());
for (Object element : sce.getElements()) {
responseBuilder.header(sce.getType().getElementHeaderName(), element);
@@ -178,7 +176,7 @@ public class RestServiceExceptionMapper
ClientExceptionType exType = ClientExceptionType.valueOf("Invalid" + iee.getEntityClassSimpleName());
- builder.header(SyncopeConstants.REST_EXCEPTION_TYPE_HEADER, exType.getHeaderValue());
+ builder.header(RESTHeaders.EXCEPTION_TYPE.toString(), exType.getHeaderValue());
for (Map.Entry<Class<?>, Set<EntityViolationType>> violation : iee.getViolations().entrySet()) {
for (EntityViolationType violationType : violation.getValue()) {
@@ -225,8 +223,7 @@ public class RestServiceExceptionMapper
private Response buildResponse(final ResponseBuilder responseBuilder, final ClientExceptionType hType,
final String msg) {
- return responseBuilder.header(
- SyncopeConstants.REST_EXCEPTION_TYPE_HEADER, hType.getHeaderValue()).
+ return responseBuilder.header(RESTHeaders.EXCEPTION_TYPE.toString(), hType.getHeaderValue()).
header(hType.getElementHeaderName(), msg).
build();
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/AbstractServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/AbstractServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/AbstractServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/AbstractServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -19,9 +19,16 @@
package org.apache.syncope.core.services;
import javax.ws.rs.core.UriInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
abstract class AbstractServiceImpl implements ContextAware {
+ /**
+ * Logger.
+ */
+ protected static final Logger LOG = LoggerFactory.getLogger(AbstractServiceImpl.class);
+
protected UriInfo uriInfo;
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConfigurationServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -22,17 +22,16 @@ import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.util.List;
-import java.util.Set;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.ConfigurationService;
import org.apache.syncope.common.to.ConfigurationTO;
import org.apache.syncope.common.to.MailTemplateTO;
import org.apache.syncope.common.to.ValidatorTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.util.CollectionWrapper;
import org.apache.syncope.core.persistence.dao.impl.ContentLoader;
import org.apache.syncope.core.rest.controller.ConfigurationController;
@@ -50,7 +49,7 @@ public class ConfigurationServiceImpl ex
ConfigurationTO created = controller.create(configurationTO);
URI location = uriInfo.getAbsolutePathBuilder().path(created.getKey()).build();
return Response.created(location).
- header(SyncopeConstants.REST_RESOURCE_ID_HEADER, created.getKey()).
+ header(RESTHeaders.RESOURCE_ID.toString(), created.getKey()).
build();
}
@@ -63,11 +62,10 @@ public class ConfigurationServiceImpl ex
controller.export(os);
}
};
- return Response.ok(sout)
- .type(MediaType.TEXT_XML)
- .header(SyncopeConstants.CONTENT_DISPOSITION_HEADER,
- "attachment; filename=" + ContentLoader.CONTENT_XML)
- .build();
+ return Response.ok(sout).
+ type(MediaType.TEXT_XML).
+ header(RESTHeaders.CONTENT_DISPOSITION.toString(), "attachment; filename=" + ContentLoader.CONTENT_XML).
+ build();
}
@Override
@@ -77,14 +75,14 @@ public class ConfigurationServiceImpl ex
@Override
@SuppressWarnings("unchecked")
- public Set<MailTemplateTO> getMailTemplates() {
- return CollectionWrapper.wrapMailTemplates(controller.getMailTemplates());
+ public List<MailTemplateTO> getMailTemplates() {
+ return CollectionWrapper.wrap(controller.getMailTemplates(), MailTemplateTO.class);
}
@Override
@SuppressWarnings("unchecked")
- public Set<ValidatorTO> getValidators() {
- return CollectionWrapper.wrapValidators(controller.getValidators());
+ public List<ValidatorTO> getValidators() {
+ return CollectionWrapper.wrap(controller.getValidators(), ValidatorTO.class);
}
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConnectorServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConnectorServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConnectorServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ConnectorServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -22,7 +22,6 @@ import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.ConnectorService;
import org.apache.syncope.common.to.BulkAction;
import org.apache.syncope.common.to.BulkActionRes;
@@ -31,6 +30,7 @@ import org.apache.syncope.common.to.Conn
import org.apache.syncope.common.to.ConnInstanceTO;
import org.apache.syncope.common.to.SchemaTO;
import org.apache.syncope.common.types.ConnConfProperty;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.core.rest.controller.ConnectorController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -45,7 +45,9 @@ public class ConnectorServiceImpl extend
public Response create(final ConnInstanceTO connInstanceTO) {
ConnInstanceTO connInstance = controller.create(connInstanceTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(connInstance.getId())).build();
- return Response.created(location).header(SyncopeConstants.REST_RESOURCE_ID_HEADER, connInstance.getId()).build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), connInstance.getId()).
+ build();
}
@Override
@@ -120,7 +122,7 @@ public class ConnectorServiceImpl extend
}
@Override
- public BulkActionRes bulkAction(final BulkAction bulkAction) {
- return controller.bulkAction(bulkAction);
+ public BulkActionRes bulk(final BulkAction bulkAction) {
+ return controller.bulk(bulkAction);
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/EntitlementServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -18,8 +18,7 @@
*/
package org.apache.syncope.core.services;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.List;
import org.apache.syncope.common.services.EntitlementService;
import org.apache.syncope.common.to.EntitlementTO;
@@ -35,14 +34,12 @@ public class EntitlementServiceImpl exte
private EntitlementController controller;
@Override
- public Set<EntitlementTO> getAllEntitlements() {
- Set<String> entitlements = new HashSet<String>(controller.listEntitlements());
- return CollectionWrapper.wrap(entitlements);
+ public List<EntitlementTO> getAllEntitlements() {
+ return CollectionWrapper.wrap(controller.getAll(), EntitlementTO.class);
}
@Override
- public Set<EntitlementTO> getMyEntitlements() {
- Set<String> entitlements = controller.getEntitlements();
- return CollectionWrapper.wrap(entitlements);
+ public List<EntitlementTO> getOwnEntitlements() {
+ return CollectionWrapper.wrap(controller.getOwn(), EntitlementTO.class);
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/NotificationServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/NotificationServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/NotificationServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/NotificationServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -23,9 +23,9 @@ import java.util.List;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.NotificationService;
import org.apache.syncope.common.to.NotificationTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.core.rest.controller.NotificationController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,9 +40,9 @@ public class NotificationServiceImpl ext
public Response create(final NotificationTO notificationTO) {
NotificationTO createdNotificationTO = controller.create(notificationTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(createdNotificationTO.getId())).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, createdNotificationTO.getId())
- .build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), createdNotificationTO.getId()).
+ build();
}
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/PolicyServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/PolicyServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/PolicyServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/PolicyServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -20,16 +20,15 @@ package org.apache.syncope.core.services
import java.net.URI;
import java.util.List;
-import java.util.Set;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.PolicyService;
import org.apache.syncope.common.to.AccountPolicyTO;
import org.apache.syncope.common.to.CorrelationRuleClassTO;
import org.apache.syncope.common.to.PasswordPolicyTO;
import org.apache.syncope.common.to.AbstractPolicyTO;
import org.apache.syncope.common.to.SyncPolicyTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.PolicyType;
import org.apache.syncope.common.util.CollectionWrapper;
import org.apache.syncope.core.rest.controller.PolicyController;
@@ -46,7 +45,9 @@ public class PolicyServiceImpl extends A
public <T extends AbstractPolicyTO> Response create(final T policyTO) {
AbstractPolicyTO policy = policyController.create(policyTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(policy.getId())).build();
- return Response.created(location).header(SyncopeConstants.REST_RESOURCE_ID_HEADER, policy.getId()).build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), policy.getId()).
+ build();
}
@Override
@@ -116,7 +117,7 @@ public class PolicyServiceImpl extends A
}
@Override
- public Set<CorrelationRuleClassTO> getSyncCorrelationRuleClasses() {
- return CollectionWrapper.wrapSyncCorrelationRuleClasses(policyController.getSyncCorrelationRuleClasses());
+ public List<CorrelationRuleClassTO> getSyncCorrelationRuleClasses() {
+ return CollectionWrapper.wrap(policyController.getSyncCorrelationRuleClasses(), CorrelationRuleClassTO.class);
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ReportServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ReportServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ReportServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ReportServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -24,11 +24,11 @@ import java.net.URI;
import java.util.List;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.ReportService;
import org.apache.syncope.common.types.ReportletConfClasses;
import org.apache.syncope.common.to.ReportExecTO;
import org.apache.syncope.common.to.ReportTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.ReportExecExportFormat;
import org.apache.syncope.core.persistence.beans.ReportExec;
import org.apache.syncope.core.persistence.dao.ReportDAO;
@@ -49,9 +49,9 @@ public class ReportServiceImpl extends A
public Response create(final ReportTO reportTO) {
ReportTO createdReportTO = controller.create(reportTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(createdReportTO.getId())).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, createdReportTO.getId())
- .build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), createdReportTO.getId()).
+ build();
}
@Override
@@ -102,9 +102,9 @@ public class ReportServiceImpl extends A
};
String disposition = "attachment; filename=" + reportExec.getReport().getName() + "." + format.name().
toLowerCase();
- return Response.ok(sout)
- .header(SyncopeConstants.CONTENT_DISPOSITION_HEADER, disposition)
- .build();
+ return Response.ok(sout).
+ header(RESTHeaders.CONTENT_DISPOSITION.toString(), disposition).
+ build();
}
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ResourceServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ResourceServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ResourceServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/ResourceServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -19,13 +19,15 @@
package org.apache.syncope.core.services;
import java.net.URI;
+import java.util.Collections;
import java.util.List;
import java.util.Set;
+import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.ResourceService;
+import org.apache.syncope.common.to.AbstractAttributableTO;
import org.apache.syncope.common.to.BulkAction;
import org.apache.syncope.common.to.BulkActionRes;
import org.apache.syncope.common.to.BulkAssociationAction;
@@ -33,8 +35,12 @@ import org.apache.syncope.common.to.Conn
import org.apache.syncope.common.to.PropagationActionClassTO;
import org.apache.syncope.common.to.ResourceTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.util.CollectionWrapper;
+import org.apache.syncope.core.rest.controller.AbstractResourceAssociator;
import org.apache.syncope.core.rest.controller.ResourceController;
+import org.apache.syncope.core.rest.controller.RoleController;
+import org.apache.syncope.core.rest.controller.UserController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -44,13 +50,19 @@ public class ResourceServiceImpl extends
@Autowired
private ResourceController controller;
+ @Autowired
+ private UserController userController;
+
+ @Autowired
+ private RoleController roleController;
+
@Override
public Response create(final ResourceTO resourceTO) {
- ResourceTO resource = controller.create(resourceTO);
- URI location = uriInfo.getAbsolutePathBuilder().path(resource.getName()).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, resource.getName())
- .build();
+ ResourceTO created = controller.create(resourceTO);
+ URI location = uriInfo.getAbsolutePathBuilder().path(created.getName()).build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), created.getName()).
+ build();
}
@Override
@@ -69,8 +81,8 @@ public class ResourceServiceImpl extends
}
@Override
- public Set<PropagationActionClassTO> getPropagationActionsClasses() {
- return CollectionWrapper.wrapPropagationActionClasses(controller.getPropagationActionsClasses());
+ public List<PropagationActionClassTO> getPropagationActionsClasses() {
+ return CollectionWrapper.wrap(controller.getPropagationActionsClasses(), PropagationActionClassTO.class);
}
@Override
@@ -94,17 +106,51 @@ public class ResourceServiceImpl extends
}
@Override
- public BulkActionRes bulkAction(final BulkAction bulkAction) {
- return controller.bulkAction(bulkAction);
+ public BulkActionRes bulk(final BulkAction bulkAction) {
+ return controller.bulk(bulkAction);
}
@Override
- public BulkActionRes usersBulkAssociationAction(final String resourceName, final BulkAssociationAction bulkAction) {
- return controller.usersBulkAssociationAction(resourceName, bulkAction);
- }
+ public BulkActionRes bulkAssociation(final String resourceName,
+ final BulkAssociationAction bulkAssociationAction, final AttributableType type) {
- @Override
- public BulkActionRes rolesBulkAssociationAction(final String resourceName, final BulkAssociationAction bulkAction) {
- return controller.rolesBulkAssociationAction(resourceName, bulkAction);
+ if (bulkAssociationAction.getOperation() == null || type == AttributableType.MEMBERSHIP) {
+ throw new BadRequestException();
+ }
+
+ AbstractResourceAssociator<? extends AbstractAttributableTO> associator = type == AttributableType.USER
+ ? userController
+ : roleController;
+
+ final BulkActionRes res = new BulkActionRes();
+
+ for (Long id : bulkAssociationAction.getTargets()) {
+ final Set<String> resources = Collections.singleton(resourceName);
+ try {
+ switch (bulkAssociationAction.getOperation()) {
+ case DEPROVISION:
+ associator.deprovision(id, resources);
+ break;
+
+ case UNASSIGN:
+ associator.unassign(id, resources);
+ break;
+
+ case UNLINK:
+ associator.unlink(id, resources);
+ break;
+
+ default:
+ }
+
+ res.add(id, BulkActionRes.Status.SUCCESS);
+ } catch (Exception e) {
+ LOG.warn("While executing {} on {} {}", bulkAssociationAction.getOperation(), type, id, e);
+ res.add(id, BulkActionRes.Status.FAILURE);
+ }
+ }
+
+ return res;
}
+
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/RoleServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/RoleServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/RoleServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/RoleServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -24,13 +24,15 @@ import java.util.List;
import javax.ws.rs.ServiceUnavailableException;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.mod.RoleMod;
import org.apache.syncope.common.search.NodeCond;
import org.apache.syncope.common.services.InvalidSearchConditionException;
import org.apache.syncope.common.services.RoleService;
-import org.apache.syncope.common.to.PropagationTargetsTO;
+import org.apache.syncope.common.to.ResourceNameTO;
import org.apache.syncope.common.to.RoleTO;
+import org.apache.syncope.common.types.RESTHeaders;
+import org.apache.syncope.common.types.ResourceAssociationActionType;
+import org.apache.syncope.common.util.CollectionWrapper;
import org.apache.syncope.core.rest.controller.RoleController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -55,15 +57,17 @@ public class RoleServiceImpl extends Abs
public Response create(final RoleTO roleTO) {
RoleTO created = controller.create(roleTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(created.getId())).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, created.getId())
- .entity(created)
- .build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), created.getId()).
+ entity(created).
+ build();
}
@Override
- public RoleTO delete(final Long roleId) {
- return controller.delete(roleId);
+ public Response delete(final Long roleId) {
+ RoleTO deleted = controller.delete(roleId);
+ return Response.ok(deleted).
+ build();
}
@Override
@@ -104,28 +108,41 @@ public class RoleServiceImpl extends Abs
}
@Override
- public RoleTO selfRead(final Long roleId) {
- return controller.selfRead(roleId);
+ public RoleTO readSelf(final Long roleId) {
+ return controller.readSelf(roleId);
}
@Override
- public RoleTO update(final Long roleId, final RoleMod roleMod) {
- roleMod.setId(roleId);
- return controller.update(roleMod);
+ public Response update(final Long roleId, final RoleMod roleMod) {
+ RoleTO updated = controller.update(roleMod);
+ return Response.ok(updated).
+ build();
}
@Override
- public RoleTO unlink(final Long roleId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.unlink(roleId, propagationTargetsTO.getResources());
- }
+ public Response associate(final Long roleId, final ResourceAssociationActionType type,
+ final List<ResourceNameTO> resourceNames) {
- @Override
- public RoleTO unassign(final Long roleId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.unassign(roleId, propagationTargetsTO.getResources());
- }
+ RoleTO updated = null;
- @Override
- public RoleTO deprovision(final Long roleId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.deprovision(roleId, propagationTargetsTO.getResources());
+ switch (type) {
+ case UNLINK:
+ updated = controller.unlink(roleId, CollectionWrapper.unwrap(resourceNames));
+ break;
+
+ case UNASSIGN:
+ updated = controller.unassign(roleId, CollectionWrapper.unwrap(resourceNames));
+ break;
+
+ case DEPROVISION:
+ updated = controller.deprovision(roleId, CollectionWrapper.unwrap(resourceNames));
+ break;
+
+ default:
+ updated = controller.read(roleId);
+ }
+
+ return Response.ok(updated).
+ build();
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -23,10 +23,10 @@ import java.util.List;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.SchemaService;
import org.apache.syncope.common.to.AbstractSchemaTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.core.rest.controller.SchemaController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -45,9 +45,9 @@ public class SchemaServiceImpl extends A
T response = controller.create(attrType, schemaType, schemaTO);
URI location = uriInfo.getAbsolutePathBuilder().path(response.getName()).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, response.getName())
- .build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), response.getName()).
+ build();
}
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -20,10 +20,8 @@ package org.apache.syncope.core.services
import java.net.URI;
import java.util.List;
-import java.util.Set;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.TaskService;
import org.apache.syncope.common.to.BulkAction;
import org.apache.syncope.common.to.BulkActionRes;
@@ -34,6 +32,7 @@ import org.apache.syncope.common.to.Sync
import org.apache.syncope.common.to.SyncTaskTO;
import org.apache.syncope.common.to.TaskExecTO;
import org.apache.syncope.common.to.AbstractTaskTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.PropagationTaskExecStatus;
import org.apache.syncope.common.types.TaskType;
import org.apache.syncope.common.util.CollectionWrapper;
@@ -62,7 +61,9 @@ public class TaskServiceImpl extends Abs
}
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(createdTask.getId())).build();
- return Response.created(location).header(SyncopeConstants.REST_RESOURCE_ID_HEADER, createdTask.getId()).build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), createdTask.getId()).
+ build();
}
@Override
@@ -81,13 +82,13 @@ public class TaskServiceImpl extends Abs
}
@Override
- public Set<JobClassTO> getJobClasses() {
- return CollectionWrapper.wrapJobClasses(controller.getJobClasses());
+ public List<JobClassTO> getJobClasses() {
+ return CollectionWrapper.wrap(controller.getJobClasses(), JobClassTO.class);
}
@Override
- public Set<SyncActionClassTO> getSyncActionsClasses() {
- return CollectionWrapper.wrapSyncActionClasses(controller.getSyncActionsClasses());
+ public List<SyncActionClassTO> getSyncActionsClasses() {
+ return CollectionWrapper.wrap(controller.getSyncActionsClasses(), SyncActionClassTO.class);
}
@Override
@@ -128,7 +129,7 @@ public class TaskServiceImpl extends Abs
}
@Override
- public BulkActionRes bulkAction(final BulkAction bulkAction) {
- return controller.bulkAction(bulkAction);
+ public BulkActionRes bulk(final BulkAction bulkAction) {
+ return controller.bulk(bulkAction);
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserRequestServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserRequestServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserRequestServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserRequestServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -23,11 +23,11 @@ import java.util.List;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.mod.UserMod;
import org.apache.syncope.common.services.UserRequestService;
import org.apache.syncope.common.to.UserRequestTO;
import org.apache.syncope.common.to.UserTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.core.rest.controller.UserRequestController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,17 +40,12 @@ public class UserRequestServiceImpl exte
@Override
public Response getOptions() {
- return Response.ok().header("Allow", "GET,POST,OPTIONS,HEAD")
- .header(SYNCOPE_CREATE_ALLOWED, controller.isCreateAllowed()).
+ return Response.ok().header("Allow", "GET,POST,OPTIONS,HEAD").
+ header(RESTHeaders.USERREQUEST_CREATE_ALLOWED.toString(), controller.isCreateAllowed()).
build();
}
@Override
- public boolean isCreateAllowed() {
- return controller.isCreateAllowed();
- }
-
- @Override
public Response create(final UserRequestTO userRequestTO) {
UserRequestTO outUserRequestTO;
switch (userRequestTO.getType()) {
@@ -69,9 +64,9 @@ public class UserRequestServiceImpl exte
}
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(outUserRequestTO.getId())).build();
- return Response.created(location)
- .header(SyncopeConstants.REST_RESOURCE_ID_HEADER, outUserRequestTO.getId())
- .build();
+ return Response.created(location).
+ header(RESTHeaders.RESOURCE_ID.toString(), outUserRequestTO.getId()).
+ build();
}
@Override
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -21,16 +21,18 @@ package org.apache.syncope.core.services
import java.net.URI;
import java.util.List;
import javax.ws.rs.core.Response;
-import org.apache.syncope.common.SyncopeConstants;
+import org.apache.syncope.common.mod.StatusMod;
import org.apache.syncope.common.mod.UserMod;
import org.apache.syncope.common.search.NodeCond;
import org.apache.syncope.common.services.InvalidSearchConditionException;
import org.apache.syncope.common.services.UserService;
import org.apache.syncope.common.to.BulkAction;
import org.apache.syncope.common.to.BulkActionRes;
-import org.apache.syncope.common.to.PropagationRequestTO;
-import org.apache.syncope.common.to.PropagationTargetsTO;
+import org.apache.syncope.common.to.ResourceNameTO;
import org.apache.syncope.common.to.UserTO;
+import org.apache.syncope.common.types.RESTHeaders;
+import org.apache.syncope.common.types.ResourceAssociationActionType;
+import org.apache.syncope.common.util.CollectionWrapper;
import org.apache.syncope.core.rest.controller.UserController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -42,24 +44,17 @@ public class UserServiceImpl extends Abs
private UserController controller;
@Override
- public UserTO activate(final Long userId, final String token) {
- return controller.activate(userId, token);
+ public Response getUsername(final Long userId) {
+ return Response.ok().header("Allow", "GET,POST,OPTIONS,HEAD").
+ header(RESTHeaders.USERNAME.toString(), controller.getUsername(userId)).
+ build();
}
@Override
- public UserTO activate(final Long userId, final String token, final PropagationRequestTO propagationRequestTO) {
- return controller.activate(userId, token, propagationRequestTO);
- }
-
- @Override
- public UserTO activateByUsername(final String username, final String token) {
- return controller.activate(username, token);
- }
-
- @Override
- public UserTO activateByUsername(final String username, final String token,
- final PropagationRequestTO propagationRequestTO) {
- return controller.activate(username, token, propagationRequestTO);
+ public Response getUserId(final String username) {
+ return Response.ok().header("Allow", "GET,POST,OPTIONS,HEAD").
+ header(RESTHeaders.USER_ID.toString(), controller.getUserId(username)).
+ build();
}
@Override
@@ -72,14 +67,16 @@ public class UserServiceImpl extends Abs
UserTO created = controller.create(userTO);
URI location = uriInfo.getAbsolutePathBuilder().path(String.valueOf(created.getId())).build();
return Response.created(location).
- header(SyncopeConstants.REST_RESOURCE_ID_HEADER, created.getId()).
- entity(created)
- .build();
+ header(RESTHeaders.RESOURCE_ID.toString(), created.getId()).
+ entity(created).
+ build();
}
@Override
- public UserTO delete(final Long userId) {
- return controller.delete(userId);
+ public Response delete(final Long userId) {
+ UserTO deleted = controller.delete(userId);
+ return Response.ok(deleted).
+ build();
}
@Override
@@ -93,38 +90,13 @@ public class UserServiceImpl extends Abs
}
@Override
- public UserTO reactivate(final Long userId) {
- return controller.reactivate(userId);
- }
-
- @Override
- public UserTO reactivate(final Long userId, final PropagationRequestTO propagationRequestTO) {
- return controller.reactivate(userId, propagationRequestTO);
- }
-
- @Override
- public UserTO reactivateByUsername(final String username) {
- return controller.reactivate(username);
- }
-
- @Override
- public UserTO reactivateByUsername(final String username, final PropagationRequestTO propagationRequestTO) {
- return controller.reactivate(username, propagationRequestTO);
- }
-
- @Override
public UserTO read(final Long userId) {
return controller.read(userId);
}
@Override
- public UserTO read(final String username) {
- return controller.read(username);
- }
-
- @Override
public UserTO readSelf() {
- return controller.read();
+ return controller.readSelf();
}
@Override
@@ -135,6 +107,7 @@ public class UserServiceImpl extends Abs
@Override
public List<UserTO> search(final NodeCond searchCondition, final int page, final int size)
throws InvalidSearchConditionException {
+
return controller.search(searchCondition, page, size);
}
@@ -144,48 +117,50 @@ public class UserServiceImpl extends Abs
}
@Override
- public UserTO suspend(final Long userId) {
- return controller.suspend(userId);
+ public Response update(final Long userId, final UserMod userMod) {
+ userMod.setId(userId);
+ UserTO updated = controller.update(userMod);
+ return Response.ok(updated).
+ build();
}
@Override
- public UserTO suspend(final Long userId, final PropagationRequestTO propagationRequestTO) {
- return controller.suspend(userId, propagationRequestTO);
+ public Response status(final Long userId, final StatusMod statusMod) {
+ statusMod.setId(userId);
+ UserTO updated = controller.status(statusMod);
+ return Response.ok(updated).
+ build();
}
@Override
- public UserTO suspendByUsername(final String username) {
- return controller.suspend(username);
+ public BulkActionRes bulk(final BulkAction bulkAction) {
+ return controller.bulk(bulkAction);
}
@Override
- public UserTO suspendByUsername(final String username, final PropagationRequestTO propagationRequestTO) {
- return controller.suspend(username, propagationRequestTO);
- }
+ public Response associate(final Long userId, final ResourceAssociationActionType type,
+ final List<ResourceNameTO> resourceNames) {
- @Override
- public UserTO update(final Long userId, final UserMod userMod) {
- userMod.setId(userId);
- return controller.update(userMod);
- }
+ UserTO updated = null;
- @Override
- public BulkActionRes bulkAction(final BulkAction bulkAction) {
- return controller.bulkAction(bulkAction);
- }
+ switch (type) {
+ case UNLINK:
+ updated = controller.unlink(userId, CollectionWrapper.unwrap(resourceNames));
+ break;
- @Override
- public UserTO unlink(final Long userId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.unlink(userId, propagationTargetsTO.getResources());
- }
+ case UNASSIGN:
+ updated = controller.unassign(userId, CollectionWrapper.unwrap(resourceNames));
+ break;
- @Override
- public UserTO unassign(final Long userId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.unassign(userId, propagationTargetsTO.getResources());
- }
+ case DEPROVISION:
+ updated = controller.deprovision(userId, CollectionWrapper.unwrap(resourceNames));
+ break;
- @Override
- public UserTO deprovision(final Long userId, final PropagationTargetsTO propagationTargetsTO) {
- return controller.deprovision(userId, propagationTargetsTO.getResources());
+ default:
+ updated = controller.read(userId);
+ }
+
+ return Response.ok(updated).
+ build();
}
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserWorkflowServiceImpl.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserWorkflowServiceImpl.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserWorkflowServiceImpl.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/UserWorkflowServiceImpl.java Wed Oct 30 11:26:19 2013
@@ -39,7 +39,7 @@ public class UserWorkflowServiceImpl imp
}
@Override
- public UserTO executeWorkflow(final String taskId, final UserTO userTO) {
+ public UserTO executeTask(final String taskId, final UserTO userTO) {
return controller.executeWorkflow(userTO, taskId);
}
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AbstractTest.java Wed Oct 30 11:26:19 2013
@@ -33,6 +33,8 @@ import org.apache.http.HttpStatus;
import org.apache.syncope.client.SyncopeClient;
import org.apache.syncope.client.SyncopeClientFactoryBean;
import org.apache.syncope.common.mod.AttributeMod;
+import org.apache.syncope.common.mod.RoleMod;
+import org.apache.syncope.common.mod.UserMod;
import org.apache.syncope.common.services.ConfigurationService;
import org.apache.syncope.common.services.ConnectorService;
import org.apache.syncope.common.services.EntitlementService;
@@ -55,6 +57,7 @@ import org.apache.syncope.common.to.Reso
import org.apache.syncope.common.to.RoleTO;
import org.apache.syncope.common.to.UserTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.core.util.PasswordEncoder;
import org.junit.BeforeClass;
@@ -66,7 +69,7 @@ import org.springframework.test.context.
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = {"classpath:testJDBCContext.xml"})
+@ContextConfiguration(locations = { "classpath:testJDBCContext.xml" })
public abstract class AbstractTest {
/**
@@ -199,6 +202,19 @@ public abstract class AbstractTest {
return response.readEntity(UserTO.class);
}
+ protected UserTO readUser(final String username) {
+ return userService.read(Long.valueOf(
+ userService.getUserId(username).getHeaderString(RESTHeaders.USER_ID.toString())));
+ }
+
+ protected UserTO updateUser(final UserMod userMod) {
+ return userService.update(userMod.getId(), userMod).readEntity(UserTO.class);
+ }
+
+ protected UserTO deleteUser(final Long id) {
+ return userService.delete(id).readEntity(UserTO.class);
+ }
+
@SuppressWarnings("unchecked")
protected <T extends AbstractSchemaTO> T createSchema(final AttributableType kind,
final SchemaType type, final T schemaTO) {
@@ -214,7 +230,7 @@ public abstract class AbstractTest {
return (T) adminClient.getObject(response.getLocation(), SchemaService.class, schemaTO.getClass());
}
- protected RoleTO createRole(final RoleService roleService, final RoleTO newRoleTO) {
+ protected RoleTO createRole(final RoleTO newRoleTO) {
Response response = roleService.create(newRoleTO);
if (response.getStatus() != org.apache.http.HttpStatus.SC_CREATED) {
Exception ex = clientFactory.getExceptionMapper().fromResponse(response);
@@ -225,6 +241,14 @@ public abstract class AbstractTest {
return adminClient.getObject(response.getLocation(), RoleService.class, RoleTO.class);
}
+ protected RoleTO updateRole(final RoleMod roleMod) {
+ return roleService.update(roleMod.getId(), roleMod).readEntity(RoleTO.class);
+ }
+
+ protected RoleTO deleteRole(final Long id) {
+ return roleService.delete(id).readEntity(RoleTO.class);
+ }
+
@SuppressWarnings("unchecked")
protected <T extends AbstractPolicyTO> T createPolicy(final T policy) {
Response response = policyService.create(policy);
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java Wed Oct 30 11:26:19 2013
@@ -31,6 +31,7 @@ import java.util.Set;
import javax.ws.rs.core.Response;
import org.apache.http.HttpStatus;
+import org.apache.syncope.common.mod.StatusMod;
import org.apache.syncope.common.search.AttributeCond;
import org.apache.syncope.common.search.NodeCond;
@@ -47,6 +48,7 @@ import org.apache.syncope.common.types.A
import org.apache.syncope.common.types.AttributeSchemaType;
import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.common.types.ClientExceptionType;
+import org.apache.syncope.common.util.CollectionWrapper;
import org.apache.syncope.common.validation.SyncopeClientException;
import org.junit.FixMethodOrder;
import org.junit.Test;
@@ -58,14 +60,15 @@ public class AuthenticationTestITCase ex
@Test
public void testAdminEntitlements() {
// 1. as anonymous, read all available entitlements
- Set<EntitlementTO> allEntitlements = entitlementService.getAllEntitlements();
+ List<EntitlementTO> allEntitlements = entitlementService.getAllEntitlements();
assertNotNull(allEntitlements);
assertFalse(allEntitlements.isEmpty());
// 2. as admin, read own entitlements
- Set<EntitlementTO> adminEntitlements = entitlementService.getMyEntitlements();
+ List<EntitlementTO> adminEntitlements = entitlementService.getOwnEntitlements();
- assertEquals(allEntitlements, adminEntitlements);
+ assertEquals(new HashSet<String>(CollectionWrapper.unwrap(allEntitlements)),
+ new HashSet<String>(CollectionWrapper.unwrap(adminEntitlements)));
}
@Test
@@ -76,7 +79,7 @@ public class AuthenticationTestITCase ex
authRoleTO.setParent(8L);
authRoleTO.getEntitlements().add("SCHEMA_READ");
- authRoleTO = createRole(roleService, authRoleTO);
+ authRoleTO = createRole(authRoleTO);
assertNotNull(authRoleTO);
String schemaName = "authTestSchema" + getUUIDString();
@@ -262,7 +265,8 @@ public class AuthenticationTestITCase ex
assertEquals(0, getFailedLogins(userService2, userId));
// authentications failed ...
- UserService userService3 = clientFactory.create(userTO.getUsername(), "wrongpwd1").getService(UserService.class);
+ UserService userService3 = clientFactory.create(userTO.getUsername(), "wrongpwd1").
+ getService(UserService.class);
assertReadFails(userService3, userId);
assertReadFails(userService3, userId);
assertReadFails(userService3, userId);
@@ -284,7 +288,9 @@ public class AuthenticationTestITCase ex
userService2 = clientFactory.create(userTO.getUsername(), "password123").getService(UserService.class);
assertReadFails(userService2, userId);
- userTO = userService.reactivate(userTO.getId());
+ StatusMod reactivate = new StatusMod();
+ reactivate.setType(StatusMod.ModType.REACTIVATE);
+ userTO = userService.status(userTO.getId(), reactivate).readEntity(UserTO.class);
assertNotNull(userTO);
assertEquals("active", userTO.getStatus());
@@ -301,7 +307,7 @@ public class AuthenticationTestITCase ex
parentRole.getEntitlements().add("ROLE_1");
parentRole.setParent(1L);
- parentRole = createRole(roleService, parentRole);
+ parentRole = createRole(parentRole);
assertNotNull(parentRole);
// Child role, with no entitlements
@@ -309,7 +315,7 @@ public class AuthenticationTestITCase ex
childRole.setName("childAdminRole");
childRole.setParent(parentRole.getId());
- childRole = createRole(roleService, childRole);
+ childRole = createRole(childRole);
assertNotNull(childRole);
// User with child role, created by admin
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConfigurationTestITCase.java Wed Oct 30 11:26:19 2013
@@ -39,6 +39,7 @@ import org.apache.syncope.common.service
import org.apache.syncope.common.to.ConfigurationTO;
import org.apache.syncope.common.types.EntityViolationType;
import org.apache.syncope.common.types.ClientExceptionType;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.validation.SyncopeClientException;
import org.junit.FixMethodOrder;
import org.junit.Test;
@@ -124,7 +125,7 @@ public class ConfigurationTestITCase ext
assertEquals(HttpStatus.SC_OK, response.getStatus());
String contentType = response.getHeaderString(HttpHeaders.CONTENT_TYPE);
assertTrue(contentType.contains("xml"));
- String contentDisposition = response.getHeaderString(SyncopeConstants.CONTENT_DISPOSITION_HEADER);
+ String contentDisposition = response.getHeaderString(RESTHeaders.CONTENT_DISPOSITION.toString());
assertNotNull(contentDisposition);
Object entity = response.getEntity();
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ConnInstanceTestITCase.java Wed Oct 30 11:26:19 2013
@@ -690,7 +690,7 @@ public class ConnInstanceTestITCase exte
assertNotNull(connectorService.read(Long.valueOf(iter.next())));
assertNotNull(connectorService.read(Long.valueOf(iter.next())));
- connectorService.bulkAction(bulkAction);
+ connectorService.bulk(bulkAction);
iter = bulkAction.getTargets().iterator();
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ReportTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ReportTestITCase.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ReportTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ReportTestITCase.java Wed Oct 30 11:26:19 2013
@@ -36,6 +36,7 @@ import org.apache.syncope.common.service
import org.apache.syncope.common.types.ReportletConfClasses;
import org.apache.syncope.common.to.ReportExecTO;
import org.apache.syncope.common.to.ReportTO;
+import org.apache.syncope.common.types.RESTHeaders;
import org.apache.syncope.common.types.ReportExecExportFormat;
import org.apache.syncope.common.types.ReportExecStatus;
import org.apache.syncope.common.validation.SyncopeClientException;
@@ -150,8 +151,8 @@ public class ReportTestITCase extends Ab
final Response response = reportService.exportExecutionResult(execId, fmt);
assertNotNull(response);
assertEquals(HttpStatus.SC_OK, response.getStatus());
- assertNotNull(response.getHeaderString(SyncopeConstants.CONTENT_DISPOSITION_HEADER));
- assertTrue(response.getHeaderString(SyncopeConstants.CONTENT_DISPOSITION_HEADER).
+ assertNotNull(response.getHeaderString(RESTHeaders.CONTENT_DISPOSITION.toString()));
+ assertTrue(response.getHeaderString(RESTHeaders.CONTENT_DISPOSITION.toString()).
endsWith("." + fmt.name().toLowerCase()));
Object entity = response.getEntity();
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java?rev=1537047&r1=1537046&r2=1537047&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/ResourceTestITCase.java Wed Oct 30 11:26:19 2013
@@ -91,7 +91,7 @@ public class ResourceTestITCase extends
@Test
public void getPropagationActionsClasses() {
- Set<PropagationActionClassTO> actions = resourceService.getPropagationActionsClasses();
+ List<PropagationActionClassTO> actions = resourceService.getPropagationActionsClasses();
assertNotNull(actions);
assertFalse(actions.isEmpty());
}
@@ -456,7 +456,7 @@ public class ResourceTestITCase extends
bulkAction.getTargets().add(String.valueOf("forBulk1"));
bulkAction.getTargets().add(String.valueOf("forBulk2"));
- resourceService.bulkAction(bulkAction);
+ resourceService.bulk(bulkAction);
try {
resourceService.read("forBulk1");