You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by cs...@apache.org on 2013/02/01 17:24:26 UTC
svn commit: r1441509 - in /syncope/trunk:
common/src/main/java/org/apache/syncope/common/to/TaskTO.java
core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java
core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java
Author: cschneider
Date: Fri Feb 1 16:24:26 2013
New Revision: 1441509
URL: http://svn.apache.org/viewvc?rev=1441509&view=rev
Log:
SYNCOPE-231 Switched contenttype of UserTest to xml and fixed error in TaskService create location
Modified:
syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskTO.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/services/TaskServiceImpl.java
syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java
Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskTO.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskTO.java?rev=1441509&r1=1441508&r2=1441509&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskTO.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/to/TaskTO.java Fri Feb 1 16:24:26 2013
@@ -34,6 +34,16 @@ import org.apache.syncope.common.Abstrac
@XmlType
@XmlSeeAlso({ SyncTaskTO.class, NotificationTaskTO.class, SyncTaskTO.class,
SchedTaskTO.class, PropagationTaskTO.class })
+
+/* This will help CXF marshalling but is incompatible with spring services
+@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="type")
+@JsonSubTypes({
+ @JsonSubTypes.Type(value=NotificationTaskTO.class, name="notificationTask"),
+ @JsonSubTypes.Type(value=PropagationTaskTO.class, name="propagationTask"),
+ @JsonSubTypes.Type(value=SchedTaskTO.class, name="schedTask"),
+ @JsonSubTypes.Type(value=SyncTaskTO.class, name="syncTask")
+})
+*/
public abstract class TaskTO extends AbstractBaseBean {
private static final long serialVersionUID = 386450127003321197L;
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=1441509&r1=1441508&r2=1441509&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 Fri Feb 1 16:24:26 2013
@@ -29,6 +29,8 @@ import javax.ws.rs.core.UriInfo;
import org.apache.syncope.common.SyncopeConstants;
import org.apache.syncope.common.services.TaskService;
import org.apache.syncope.common.to.JobClassTO;
+import org.apache.syncope.common.to.NotificationTaskTO;
+import org.apache.syncope.common.to.PropagationTaskTO;
import org.apache.syncope.common.to.ReportExecTO;
import org.apache.syncope.common.to.SchedTaskTO;
import org.apache.syncope.common.to.SyncActionClassTO;
@@ -63,10 +65,25 @@ public class TaskServiceImpl implements
} else {
throw new BadRequestException();
}
- URI location = uriInfo.getAbsolutePathBuilder().path(createdTask.getId() + "").build();
+ TaskType taskType = getTaskType(taskTO.getClass());
+ URI location = uriInfo.getAbsolutePathBuilder().path(taskType.toString() + "/" + createdTask.getId()).build();
return Response.created(location).header(SyncopeConstants.REST_HEADER_ID, createdTask.getId()).build();
}
+ private TaskType getTaskType(Class<? extends TaskTO> taskClass) {
+ if (taskClass == PropagationTaskTO.class) {
+ return TaskType.PROPAGATION;
+ } else if (taskClass == NotificationTaskTO.class) {
+ return TaskType.NOTIFICATION;
+ } else if (taskClass == SchedTaskTO.class) {
+ return TaskType.SCHEDULED;
+ } else if (taskClass == SyncTaskTO.class) {
+ return TaskType.SYNCHRONIZATION;
+ } else {
+ throw new IllegalArgumentException("Invalid task class: " + taskClass.getName());
+ }
+ }
+
@Override
public void delete(final Long taskId) {
taskController.delete(taskId);
Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java?rev=1441509&r1=1441508&r2=1441509&view=diff
==============================================================================
--- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java (original)
+++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/jaxrs/UserTestITCaseJAXRS.java Fri Feb 1 16:24:26 2013
@@ -28,5 +28,6 @@ public class UserTestITCaseJAXRS extends
public UserTestITCaseJAXRS() {
super();
setEnabledCXF(true);
+ setContentType(CONTENT_TYPE_XML);
}
}