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);
     }
 }