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 2012/08/01 18:26:32 UTC

svn commit: r1368106 - in /incubator/syncope/trunk: ./ core/src/main/java/org/apache/syncope/core/persistence/dao/ core/src/main/java/org/apache/syncope/core/persistence/dao/impl/ core/src/main/java/org/apache/syncope/core/scheduling/

Author: ilgrosso
Date: Wed Aug  1 16:26:31 2012
New Revision: 1368106

URL: http://svn.apache.org/viewvc?rev=1368106&view=rev
Log:
Merge from 1_0_X

Modified:
    incubator/syncope/trunk/   (props changed)
    incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/TaskExecDAO.java
    incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java
    incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/scheduling/AbstractTaskJob.java

Propchange: incubator/syncope/trunk/
------------------------------------------------------------------------------
  Merged /incubator/syncope/branches/1_0_X:r1367995-1368105

Modified: incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/TaskExecDAO.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/TaskExecDAO.java?rev=1368106&r1=1368105&r2=1368106&view=diff
==============================================================================
--- incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/TaskExecDAO.java (original)
+++ incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/TaskExecDAO.java Wed Aug  1 16:26:31 2012
@@ -35,6 +35,8 @@ public interface TaskExecDAO extends DAO
 
     TaskExec save(TaskExec execution) throws InvalidEntityException;
 
+    void saveAndAdd(Long taskId, TaskExec execution) throws InvalidEntityException;
+
     void delete(Long id);
 
     void delete(TaskExec execution);

Modified: incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java?rev=1368106&r1=1368105&r2=1368106&view=diff
==============================================================================
--- incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java (original)
+++ incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/TaskExecDAOImpl.java Wed Aug  1 16:26:31 2012
@@ -24,13 +24,19 @@ import org.apache.syncope.core.persisten
 import org.apache.syncope.core.persistence.beans.SyncTask;
 import org.apache.syncope.core.persistence.beans.Task;
 import org.apache.syncope.core.persistence.beans.TaskExec;
+import org.apache.syncope.core.persistence.dao.TaskDAO;
 import org.apache.syncope.core.persistence.dao.TaskExecDAO;
+import org.apache.syncope.core.persistence.validation.entity.InvalidEntityException;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
 @Repository
 public class TaskExecDAOImpl extends AbstractDAOImpl implements TaskExecDAO {
 
+    @Autowired
+    private TaskDAO taskDAO;
+
     @Override
     public TaskExec find(final Long id) {
         return entityManager.find(TaskExec.class, id);
@@ -73,19 +79,25 @@ public class TaskExecDAOImpl extends Abs
         return query.getResultList();
     }
 
+    @Override
+    public TaskExec save(final TaskExec execution) {
+        return entityManager.merge(execution);
+    }
+
     /**
-     * This method has an explicit @Transactional annotation because it is 
-     * called by AbstractJob.
-     * 
+     * This method has an explicit @Transactional annotation because it is called by AbstractJob.
+     *
      * @see org.apache.syncope.core.scheduling.AbstractJob
-     * 
+     *
      * @param execution entity to be merged
      * @return the same entity, updated
      */
     @Override
-    @Transactional(rollbackFor = { Throwable.class })
-    public TaskExec save(final TaskExec execution) {
-        return entityManager.merge(execution);
+    @Transactional(rollbackFor = {Throwable.class})
+    public void saveAndAdd(Long taskId, TaskExec execution) throws InvalidEntityException {
+        Task task = taskDAO.find(taskId);
+        task.addExec(execution);
+        taskDAO.save(task);
     }
 
     @Override

Modified: incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/scheduling/AbstractTaskJob.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/scheduling/AbstractTaskJob.java?rev=1368106&r1=1368105&r2=1368106&view=diff
==============================================================================
--- incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/scheduling/AbstractTaskJob.java (original)
+++ incubator/syncope/trunk/core/src/main/java/org/apache/syncope/core/scheduling/AbstractTaskJob.java Wed Aug  1 16:26:31 2012
@@ -21,16 +21,16 @@ package org.apache.syncope.core.scheduli
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.Date;
+import org.apache.syncope.core.persistence.beans.Task;
+import org.apache.syncope.core.persistence.beans.TaskExec;
+import org.apache.syncope.core.persistence.dao.TaskDAO;
+import org.apache.syncope.core.persistence.dao.TaskExecDAO;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.quartz.StatefulJob;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.apache.syncope.core.persistence.beans.Task;
-import org.apache.syncope.core.persistence.beans.TaskExec;
-import org.apache.syncope.core.persistence.dao.TaskDAO;
-import org.apache.syncope.core.persistence.dao.TaskExecDAO;
 
 /**
  * Base job implementation that delegates to concrete implementation the actual job execution and provides some
@@ -112,8 +112,9 @@ public abstract class AbstractTaskJob im
             execution.setStatus(Status.FAILURE.name());
         }
         execution.setEndDate(new Date());
+
         if (hasToBeRegistered(execution)) {
-            taskExecDAO.save(execution);
+            taskExecDAO.saveAndAdd(taskId, execution);
         }
 
         task = taskDAO.save(task);