You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/07/05 09:41:23 UTC
[6/6] syncope git commit: All tests are green
All tests are green
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/bbe8fe08
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/bbe8fe08
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/bbe8fe08
Branch: refs/heads/2_0_NO_JAXB
Commit: bbe8fe089cc2d40cb13e1157600f3ae3782ca9a1
Parents: 0fad00a
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Tue Jul 5 11:40:39 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Tue Jul 5 11:40:39 2016 +0200
----------------------------------------------------------------------
.../commands/user/UserSyncopeOperations.java | 2 +-
.../client/console/rest/ReportRestClient.java | 4 +-
.../client/console/rest/UserRestClient.java | 11 ++---
.../data/table/BulkActionResultColumn.java | 9 ++--
.../syncope/common/lib/SyncopeConstants.java | 4 --
.../syncope/common/lib/to/BulkActionResult.java | 48 ++++++++++++++++----
.../common/lib/to/WorkflowFormPropertyTO.java | 4 --
.../apache/syncope/common/lib/AbstractTest.java | 15 ++++++
.../apache/syncope/core/logic/ReportLogic.java | 4 +-
.../apache/syncope/core/logic/TaskLogic.java | 4 +-
.../rest/cxf/service/AbstractAnyService.java | 24 +++++-----
.../rest/cxf/service/ConnectorServiceImpl.java | 4 +-
.../rest/cxf/service/ResourceServiceImpl.java | 8 ++--
.../core/rest/cxf/service/TaskServiceImpl.java | 12 ++---
.../src/main/resources/restCXFContext.xml | 1 -
.../src/main/resources/jboss/restCXFContext.xml | 41 ++++-------------
.../apache/syncope/fit/core/ReportITCase.java | 4 +-
.../org/apache/syncope/fit/core/UserITCase.java | 29 ++++++++----
18 files changed, 126 insertions(+), 102 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/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 cc9101b..f1c2aad 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
@@ -89,6 +89,6 @@ public class UserSyncopeOperations {
bulkAction.getTargets().add(String.valueOf(user.getKey()));
}
final BulkActionResult bulkResult = userService.bulk(bulkAction).readEntity(BulkActionResult.class);
- return bulkResult.getResults();
+ return bulkResult.getResultMap();
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
index c51df2c..b0a58ec 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/ReportRestClient.java
@@ -144,13 +144,13 @@ public class ReportRestClient extends BaseRestClient
case DELETE:
for (String target : action.getTargets()) {
delete(target);
- result.getResults().put(target, BulkActionResult.Status.SUCCESS);
+ result.add(target, BulkActionResult.Status.SUCCESS);
}
break;
case EXECUTE:
for (String target : action.getTargets()) {
startExecution(target, new Date());
- result.getResults().put(target, BulkActionResult.Status.SUCCESS);
+ result.add(target, BulkActionResult.Status.SUCCESS);
}
break;
default:
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/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 68e3a01..835a278 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
@@ -19,7 +19,6 @@
package org.apache.syncope.client.console.rest;
import java.util.List;
-import java.util.Map;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
@@ -89,7 +88,6 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO, UserPatch> {
BulkActionResult result;
synchronized (this) {
result = new BulkActionResult();
- Map<String, BulkActionResult.Status> res = result.getResults();
UserService service = getService(etag, UserService.class);
@SuppressWarnings("unchecked")
@@ -97,14 +95,14 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO, UserPatch> {
readEntity(ProvisioningResult.class);
if (statusPatch.isOnSyncope()) {
- res.put(StringUtils.capitalize(Constants.SYNCOPE),
+ result.add(StringUtils.capitalize(Constants.SYNCOPE),
"suspended".equalsIgnoreCase(provisions.getEntity().getStatus())
? BulkActionResult.Status.SUCCESS
: BulkActionResult.Status.FAILURE);
}
for (PropagationStatus status : provisions.getPropagationStatuses()) {
- res.put(status.getResource(), BulkActionResult.Status.valueOf(status.getStatus().name()));
+ result.add(status.getResource(), BulkActionResult.Status.valueOf(status.getStatus().name()));
}
resetClient(UserService.class);
}
@@ -119,7 +117,6 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO, UserPatch> {
BulkActionResult result;
synchronized (this) {
result = new BulkActionResult();
- Map<String, BulkActionResult.Status> res = result.getResults();
UserService service = getService(etag, UserService.class);
@SuppressWarnings("unchecked")
@@ -127,14 +124,14 @@ public class UserRestClient extends AbstractAnyRestClient<UserTO, UserPatch> {
readEntity(ProvisioningResult.class);
if (statusPatch.isOnSyncope()) {
- res.put(StringUtils.capitalize(Constants.SYNCOPE),
+ result.add(StringUtils.capitalize(Constants.SYNCOPE),
"active".equalsIgnoreCase(provisions.getEntity().getStatus())
? BulkActionResult.Status.SUCCESS
: BulkActionResult.Status.FAILURE);
}
for (PropagationStatus status : provisions.getPropagationStatuses()) {
- res.put(status.getResource(), BulkActionResult.Status.valueOf(status.getStatus().name()));
+ result.add(status.getResource(), BulkActionResult.Status.valueOf(status.getStatus().name()));
}
resetClient(UserService.class);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BulkActionResultColumn.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BulkActionResultColumn.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BulkActionResultColumn.java
index 73abd09..0587cdf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BulkActionResultColumn.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BulkActionResultColumn.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.to.BulkActionResult.Status;
import org.apache.wicket.Component;
@@ -65,14 +66,14 @@ public class BulkActionResultColumn<T, S> extends AbstractColumn<T, S> {
@Override
public void populateItem(final Item<ICellPopulator<T>> item, final String componentId, final IModel<T> rowModel) {
try {
- final Object id = BeanUtils.getPropertyDescriptor(rowModel.getObject().getClass(), keyFieldName).
+ Object id = BeanUtils.getPropertyDescriptor(rowModel.getObject().getClass(), keyFieldName).
getReadMethod().invoke(rowModel.getObject(), new Object[0]);
- final Status status = results.getResults().containsKey(id.toString())
- ? results.getResults().get(id.toString())
+ Map<String, Status> bulkResultMap = results.getResultMap();
+ Status status = bulkResultMap.containsKey(id.toString())
+ ? bulkResultMap.get(id.toString())
: Status.NOT_ATTEMPTED;
item.add(new Label(componentId, new StringResourceModel(status.name(), item, new Model<>(status.name()))));
-
} catch (BeansException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
LOG.error("Errore retrieving target id value", e);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java b/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
index 543cfad..5bc7b49 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
@@ -25,10 +25,6 @@ import java.util.regex.Pattern;
public final class SyncopeConstants {
- public static final String NAMESPACE_PREFIX = "syncope";
-
- public static final String NAMESPACE = "http://syncope.apache.org/2.0";
-
public static final String MASTER_DOMAIN = "Master";
public static final String ROOT_REALM = "/";
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/common/lib/src/main/java/org/apache/syncope/common/lib/to/BulkActionResult.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/BulkActionResult.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/BulkActionResult.java
index dd0afff..c74f3af 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/BulkActionResult.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/BulkActionResult.java
@@ -18,7 +18,9 @@
*/
package org.apache.syncope.common.lib.to;
+import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -41,22 +43,48 @@ public class BulkActionResult extends AbstractBaseBean {
}
- private final Map<String, Status> results = new HashMap<>();
+ public static class Single extends AbstractBaseBean {
- public Map<String, Status> getResults() {
- return results;
+ private static final long serialVersionUID = -2677679977955844506L;
+
+ private final String key;
+
+ private final Status status;
+
+ @JsonCreator
+ public Single(@JsonProperty("key") final String key, @JsonProperty("status") final Status status) {
+ this.key = key;
+ this.status = status;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public Status getStatus() {
+ return status;
+ }
}
+ private final List<Single> results = new ArrayList<>();
+
@JsonIgnore
- public List<String> getResultByStatus(final Status status) {
- final List<String> result = new ArrayList<>();
+ public boolean add(final String key, final Status status) {
+ Single single = new Single(key, status);
+ return results.contains(single) || results.add(single);
+ }
- for (Map.Entry<String, Status> entry : results.entrySet()) {
- if (entry.getValue() == status) {
- result.add(entry.getKey());
- }
+ public List<Single> getResults() {
+ return results;
+ }
+
+ @JsonIgnore
+ public Map<String, Status> getResultMap() {
+ Map<String, Status> result = new HashMap<>(results.size());
+ for (Single single : results) {
+ result.put(single.getKey(), single.getStatus());
}
- return Collections.unmodifiableList(result);
+ return Collections.unmodifiableMap(result);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormPropertyTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormPropertyTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormPropertyTO.java
index 8551040..22e3ecc 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormPropertyTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowFormPropertyTO.java
@@ -18,8 +18,6 @@
*/
package org.apache.syncope.common.lib.to;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.HashMap;
import java.util.Map;
import org.apache.syncope.common.lib.AbstractBaseBean;
@@ -45,7 +43,6 @@ public class WorkflowFormPropertyTO extends AbstractBaseBean {
private String datePattern;
- @JsonIgnore
private final Map<String, String> enumValues = new HashMap<>();
public String getId() {
@@ -112,7 +109,6 @@ public class WorkflowFormPropertyTO extends AbstractBaseBean {
this.datePattern = datePattern;
}
- @JsonProperty
public Map<String, String> getEnumValues() {
return enumValues;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/common/lib/src/test/java/org/apache/syncope/common/lib/AbstractTest.java
----------------------------------------------------------------------
diff --git a/common/lib/src/test/java/org/apache/syncope/common/lib/AbstractTest.java b/common/lib/src/test/java/org/apache/syncope/common/lib/AbstractTest.java
index 1f6d94f..ab017c6 100644
--- a/common/lib/src/test/java/org/apache/syncope/common/lib/AbstractTest.java
+++ b/common/lib/src/test/java/org/apache/syncope/common/lib/AbstractTest.java
@@ -32,6 +32,7 @@ import org.apache.syncope.common.lib.patch.StringReplacePatchItem;
import org.apache.syncope.common.lib.patch.UserPatch;
import org.apache.syncope.common.lib.report.UserReportletConf;
import org.apache.syncope.common.lib.to.AttrTO;
+import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.to.ConnObjectTO;
import org.apache.syncope.common.lib.to.GroupTO;
import org.apache.syncope.common.lib.to.PropagationStatus;
@@ -46,6 +47,20 @@ public abstract class AbstractTest {
protected abstract ObjectMapper getObjectMapper();
protected void map() throws IOException {
+ BulkActionResult result = new BulkActionResult();
+ result.add("1", BulkActionResult.Status.SUCCESS);
+ result.add("2", BulkActionResult.Status.SUCCESS);
+
+ ObjectMapper mapper = getObjectMapper();
+
+ StringWriter writer = new StringWriter();
+ mapper.writerWithDefaultPrettyPrinter().writeValue(writer, result);
+
+ BulkActionResult actual = mapper.readValue(writer.toString(), BulkActionResult.class);
+ assertEquals(result, actual);
+ }
+
+ protected void nativeMap() throws IOException {
WorkflowFormPropertyTO prop = new WorkflowFormPropertyTO();
prop.getEnumValues().put("key1", "value1");
prop.getEnumValues().put("key2", "value2");
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
index 3fd8ccf..513ebe1 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/ReportLogic.java
@@ -366,10 +366,10 @@ public class ReportLogic extends AbstractExecutableLogic<ReportTO> {
for (ReportExec exec : reportExecDAO.findAll(report, startedBefore, startedAfter, endedBefore, endedAfter)) {
try {
reportExecDAO.delete(exec);
- result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.SUCCESS);
+ result.add(exec.getKey(), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error deleting execution {} of report {}", exec.getKey(), key, e);
- result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.FAILURE);
+ result.add(exec.getKey(), BulkActionResult.Status.FAILURE);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
index 8136e46..3f9fa53 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
@@ -343,10 +343,10 @@ public class TaskLogic extends AbstractExecutableLogic<AbstractTaskTO> {
for (TaskExec exec : taskExecDAO.findAll(task, startedBefore, startedAfter, endedBefore, endedAfter)) {
try {
taskExecDAO.delete(exec);
- result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.SUCCESS);
+ result.add(exec.getKey(), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error deleting execution {} of task {}", exec.getKey(), key, e);
- result.getResults().put(String.valueOf(exec.getKey()), BulkActionResult.Status.FAILURE);
+ result.add(exec.getKey(), BulkActionResult.Status.FAILURE);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
index 7a19af1..020cf57 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
@@ -247,14 +247,14 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
if (patch.getAction() == ResourceDeassociationAction.UNLINK) {
for (String resource : patch.getResources()) {
- result.getResults().put(resource,
+ result.add(resource,
updated.getEntity().getResources().contains(resource)
? BulkActionResult.Status.FAILURE
: BulkActionResult.Status.SUCCESS);
}
} else {
for (PropagationStatus propagationStatusTO : updated.getPropagationStatuses()) {
- result.getResults().put(propagationStatusTO.getResource(),
+ result.add(propagationStatusTO.getResource(),
BulkActionResult.Status.valueOf(propagationStatusTO.getStatus().toString()));
}
}
@@ -304,14 +304,14 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
if (patch.getAction() == ResourceAssociationAction.LINK) {
for (String resource : patch.getResources()) {
- result.getResults().put(resource,
+ result.add(resource,
updated.getEntity().getResources().contains(resource)
? BulkActionResult.Status.SUCCESS
: BulkActionResult.Status.FAILURE);
}
} else {
for (PropagationStatus propagationStatusTO : updated.getPropagationStatuses()) {
- result.getResults().put(propagationStatusTO.getResource(),
+ result.add(propagationStatusTO.getResource(),
BulkActionResult.Status.valueOf(propagationStatusTO.getStatus().toString()));
}
}
@@ -334,12 +334,12 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
userPatch.setKey(key);
userPatch.setMustChangePassword(new BooleanReplacePatchItem.Builder().value(true).build());
- result.getResults().put(
+ result.add(
((UserLogic) logic).update(userPatch, false).getEntity().getKey(),
BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for user {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
} else {
@@ -350,12 +350,12 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
case DELETE:
for (String key : bulkAction.getTargets()) {
try {
- result.getResults().put(
+ result.add(
logic.delete(key, isNullPriorityAsync()).getEntity().getKey(),
BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for user {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
break;
@@ -369,13 +369,13 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
statusPatch.setOnSyncope(true);
try {
- result.getResults().put(
+ result.add(
((UserLogic) logic).
status(statusPatch, isNullPriorityAsync()).getEntity().getKey(),
BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing suspend for user {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
} else {
@@ -392,13 +392,13 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
statusPatch.setOnSyncope(true);
try {
- result.getResults().put(
+ result.add(
((UserLogic) logic).
status(statusPatch, isNullPriorityAsync()).getEntity().getKey(),
BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing reactivate for user {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
} else {
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
index a5ebee1..5fc1902 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConnectorServiceImpl.java
@@ -101,10 +101,10 @@ public class ConnectorServiceImpl extends AbstractServiceImpl implements Connect
if (bulkAction.getType() == BulkAction.Type.DELETE) {
for (String key : bulkAction.getTargets()) {
try {
- result.getResults().put(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
+ result.add(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for connector {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
index 2bfba5a..9b32caa 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
@@ -172,10 +172,10 @@ public class ResourceServiceImpl extends AbstractServiceImpl implements Resource
default:
}
- result.getResults().put(anyKey, BulkActionResult.Status.SUCCESS);
+ result.add(anyKey, BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.warn("While executing {} on {} {}", patch.getAction(), patch.getAnyTypeKey(), anyKey, e);
- result.getResults().put(anyKey, BulkActionResult.Status.FAILURE);
+ result.add(anyKey, BulkActionResult.Status.FAILURE);
}
}
@@ -189,10 +189,10 @@ public class ResourceServiceImpl extends AbstractServiceImpl implements Resource
if (bulkAction.getType() == BulkAction.Type.DELETE) {
for (String key : bulkAction.getTargets()) {
try {
- result.getResults().put(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
+ result.add(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for resource {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
index 16ba72a..f4eb4e0 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/TaskServiceImpl.java
@@ -113,10 +113,10 @@ public class TaskServiceImpl extends AbstractExecutableService implements TaskSe
case DELETE:
for (String key : bulkAction.getTargets()) {
try {
- result.getResults().put(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
+ result.add(logic.delete(key).getKey(), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing delete for task {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
break;
@@ -125,10 +125,10 @@ public class TaskServiceImpl extends AbstractExecutableService implements TaskSe
for (String key : bulkAction.getTargets()) {
try {
logic.execute(key, null, true);
- result.getResults().put(key, BulkActionResult.Status.SUCCESS);
+ result.add(key, BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing dryrun for task {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
break;
@@ -137,10 +137,10 @@ public class TaskServiceImpl extends AbstractExecutableService implements TaskSe
for (String key : bulkAction.getTargets()) {
try {
logic.execute(key, null, false);
- result.getResults().put(key, BulkActionResult.Status.SUCCESS);
+ result.add(key, BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
LOG.error("Error performing execute for task {}", key, e);
- result.getResults().put(key, BulkActionResult.Status.FAILURE);
+ result.add(key, BulkActionResult.Status.FAILURE);
}
}
break;
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/core/rest-cxf/src/main/resources/restCXFContext.xml
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/resources/restCXFContext.xml b/core/rest-cxf/src/main/resources/restCXFContext.xml
index b469dcf..df3716d 100644
--- a/core/rest-cxf/src/main/resources/restCXFContext.xml
+++ b/core/rest-cxf/src/main/resources/restCXFContext.xml
@@ -71,7 +71,6 @@ under the License.
<bean id="wadlGenerator" class="org.apache.syncope.core.rest.cxf.WadlGenerator">
<property name="applicationTitle" value="Apache Syncope ${syncope.version}"/>
- <property name="namespacePrefix" value="syncope"/>
<property name="linkAnyMediaTypeToXmlSchema" value="true"/>
<property name="useJaxbContextForQnames" value="false"/>
<property name="addResourceAndMethodIds" value="true"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
index 2417c35..53483cb 100644
--- a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
+++ b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
@@ -36,35 +36,15 @@ under the License.
<context:component-scan base-package="org.apache.syncope.core.rest.cxf.service"/>
- <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
- <property name="namespacePrefixes">
- <map>
- <entry key="http://syncope.apache.org/2.0">
- <value>syncope</value>
- </entry>
- </map>
- </property>
- <property name="depthProperties">
- <bean id="depthProperties" class="org.apache.cxf.staxutils.DocumentDepthProperties">
- <property name="innerElementCountThreshold" value="500"/>
- </bean>
- </property>
- <property name="collectionWrapperMap">
- <map>
- <entry>
- <key>
- <value>org.apache.syncope.common.lib.policy.AbstractPolicyTO</value>
- </key>
- <value>policies</value>
- </entry>
- </map>
- </property>
- </bean>
-
<bean id="dateParamConverterProvider" class="org.apache.syncope.common.rest.api.DateParamConverterProvider"/>
- <bean id="jacksonObjectMapper" class="org.apache.syncope.core.rest.cxf.UnwrappedObjectMapper"/>
- <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider">
+ <bean id="jacksonXmlMapper" class="org.apache.syncope.common.lib.jackson.UnwrappedXmlMapper"/>
+ <bean id="xmlProvider" class="org.apache.syncope.core.rest.cxf.JacksonXMLProvider">
+ <property name="mapper" ref="jacksonXmlMapper"/>
+ </bean>
+
+ <bean id="jacksonObjectMapper" class="org.apache.syncope.common.lib.jackson.UnwrappedObjectMapper"/>
+ <bean id="jsonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider">
<property name="mapper" ref="jacksonObjectMapper"/>
</bean>
@@ -91,9 +71,8 @@ under the License.
<bean id="wadlGenerator" class="org.apache.syncope.core.rest.cxf.WadlGenerator">
<property name="applicationTitle" value="Apache Syncope ${syncope.version}"/>
- <property name="namespacePrefix" value="syncope"/>
<property name="linkAnyMediaTypeToXmlSchema" value="true"/>
- <property name="useJaxbContextForQnames" value="true"/>
+ <property name="useJaxbContextForQnames" value="false"/>
<property name="addResourceAndMethodIds" value="true"/>
<property name="ignoreMessageWriters" value="true"/>
<property name="usePathParamsToCompareOperations" value="false"/>
@@ -109,7 +88,7 @@ under the License.
<property name="title" value="Apache Syncope"/>
<property name="version" value="${syncope.version}"/>
<property name="description" value="Apache Syncope ${syncope.version}"/>
- <property name="contact" value="dev@syncope.apache.org"/>
+ <property name="contact" value="dev@syncope.apache.org"/>
<property name="resourcePackage" value="org.apache.syncope.common.rest.api.service"/>
<property name="scanAllResources" value="true"/>
@@ -142,7 +121,7 @@ under the License.
</jaxrs:outInterceptors>
<jaxrs:providers>
<ref bean="dateParamConverterProvider"/>
- <ref bean="jaxbProvider"/>
+ <ref bean="xmlProvider"/>
<ref bean="jsonProvider"/>
<ref bean="exceptionMapper"/>
<ref bean="searchContextProvider"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
index 651e9bb..8d2f077 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
@@ -250,8 +250,8 @@ public class ReportITCase extends AbstractITCase {
assertNotNull(result);
assertEquals(1, result.getResults().size());
- assertEquals(execKey, result.getResults().keySet().iterator().next());
- assertEquals(BulkActionResult.Status.SUCCESS, result.getResults().entrySet().iterator().next().getValue());
+ assertEquals(execKey, result.getResultMap().keySet().iterator().next());
+ assertEquals(BulkActionResult.Status.SUCCESS, result.getResultMap().entrySet().iterator().next().getValue());
}
@Test
http://git-wip-us.apache.org/repos/asf/syncope/blob/bbe8fe08/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
index 80d1e90..15448fc 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.security.AccessControlException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -118,6 +119,18 @@ public class UserITCase extends AbstractITCase {
return userTO;
}
+ private List<String> getResultByStatus(final BulkActionResult bulkActionResult, final Status status) {
+ List<String> result = new ArrayList<>();
+
+ for (Map.Entry<String, Status> entry : bulkActionResult.getResultMap().entrySet()) {
+ if (entry.getValue() == status) {
+ result.add(entry.getKey());
+ }
+ }
+
+ return Collections.unmodifiableList(result);
+ }
+
@Test
public void createUserWithNoPropagation() {
// create a new user
@@ -1036,20 +1049,20 @@ public class UserITCase extends AbstractITCase {
bulkAction.setType(BulkAction.Type.SUSPEND);
BulkActionResult res = userService.bulk(bulkAction).readEntity(BulkActionResult.class);
- assertEquals(10, res.getResultByStatus(Status.SUCCESS).size());
- assertEquals(1, res.getResultByStatus(Status.FAILURE).size());
- assertEquals("suspended", userService.read(res.getResultByStatus(Status.SUCCESS).get(3)).getStatus());
+ assertEquals(10, getResultByStatus(res, Status.SUCCESS).size());
+ assertEquals(1, getResultByStatus(res, Status.FAILURE).size());
+ assertEquals("suspended", userService.read(getResultByStatus(res, Status.SUCCESS).get(3)).getStatus());
bulkAction.setType(BulkAction.Type.REACTIVATE);
res = userService.bulk(bulkAction).readEntity(BulkActionResult.class);
- assertEquals(10, res.getResultByStatus(Status.SUCCESS).size());
- assertEquals(1, res.getResultByStatus(Status.FAILURE).size());
- assertEquals("active", userService.read(res.getResultByStatus(Status.SUCCESS).get(3)).getStatus());
+ assertEquals(10, getResultByStatus(res, Status.SUCCESS).size());
+ assertEquals(1, getResultByStatus(res, Status.FAILURE).size());
+ assertEquals("active", userService.read(getResultByStatus(res, Status.SUCCESS).get(3)).getStatus());
bulkAction.setType(BulkAction.Type.DELETE);
res = userService.bulk(bulkAction).readEntity(BulkActionResult.class);
- assertEquals(10, res.getResultByStatus(Status.SUCCESS).size());
- assertEquals(1, res.getResultByStatus(Status.FAILURE).size());
+ assertEquals(10, getResultByStatus(res, Status.SUCCESS).size());
+ assertEquals(1, getResultByStatus(res, Status.FAILURE).size());
}
@Test