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/06/12 16:24:11 UTC
svn commit: r1492217 - in
/syncope/trunk/core/src/main/java/org/apache/syncope/core: init/ quartz/
rest/controller/
Author: ilgrosso
Date: Wed Jun 12 14:24:11 2013
New Revision: 1492217
URL: http://svn.apache.org/r1492217
Log:
[SYNCOPE-394] Merge from 1_1_X
Added:
syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTransactionalTaskJob.java
- copied unchanged from r1492216, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/quartz/AbstractTransactionalTaskJob.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/TaskJob.java
- copied unchanged from r1492216, syncope/branches/1_1_X/core/src/main/java/org/apache/syncope/core/quartz/TaskJob.java
Modified:
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/ImplementationClassNamesLoader.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/init/JobInstanceLoader.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTaskJob.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/SampleJob.java
syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/TaskController.java
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/init/ImplementationClassNamesLoader.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/init/ImplementationClassNamesLoader.java?rev=1492217&r1=1492216&r2=1492217&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/init/ImplementationClassNamesLoader.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/init/ImplementationClassNamesLoader.java Wed Jun 12 14:24:11 2013
@@ -25,15 +25,13 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import org.apache.syncope.core.notification.NotificationJob;
import org.apache.syncope.core.persistence.validation.attrvalue.Validator;
import org.apache.syncope.core.propagation.PropagationActions;
-import org.apache.syncope.core.report.ReportJob;
+import org.apache.syncope.core.quartz.TaskJob;
import org.apache.syncope.core.report.Reportlet;
import org.apache.syncope.core.sync.SyncActions;
import org.apache.syncope.core.sync.SyncCorrelationRule;
import org.apache.syncope.core.sync.impl.SyncJob;
-import org.quartz.Job;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,7 +51,7 @@ public class ImplementationClassNamesLoa
public enum Type {
REPORTLET,
- JOB,
+ TASKJOB,
SYNC_ACTIONS,
SYNC_CORRELATION_RULES,
PROPAGATION_ACTIONS,
@@ -91,12 +89,10 @@ public class ImplementationClassNamesLoa
classNames.get(Type.REPORTLET).add(clazz.getName());
}
- if ((interfaces.contains(Job.class))
- && !metadata.isAbstract() && !SyncJob.class.getName().equals(metadata.getClassName())
- && !ReportJob.class.getName().equals(metadata.getClassName())
- && !NotificationJob.class.getName().equals(metadata.getClassName())) {
+ if ((interfaces.contains(TaskJob.class))
+ && !metadata.isAbstract() && !SyncJob.class.getName().equals(metadata.getClassName())) {
- classNames.get(Type.JOB).add(metadata.getClassName());
+ classNames.get(Type.TASKJOB).add(metadata.getClassName());
}
if (interfaces.contains(SyncActions.class) && !metadata.isAbstract()) {
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/init/JobInstanceLoader.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/init/JobInstanceLoader.java?rev=1492217&r1=1492216&r2=1492217&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/init/JobInstanceLoader.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/init/JobInstanceLoader.java Wed Jun 12 14:24:11 2013
@@ -18,6 +18,9 @@
*/
package org.apache.syncope.core.init;
+import static org.apache.syncope.core.init.JobInstanceLoader.getJobName;
+import static org.apache.syncope.core.init.JobInstanceLoader.getTriggerName;
+
import java.text.ParseException;
import java.util.HashSet;
import java.util.Set;
@@ -32,7 +35,7 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.dao.ConfDAO;
import org.apache.syncope.core.persistence.dao.ReportDAO;
import org.apache.syncope.core.persistence.dao.TaskDAO;
-import org.apache.syncope.core.quartz.AbstractTaskJob;
+import org.apache.syncope.core.quartz.TaskJob;
import org.apache.syncope.core.report.ReportJob;
import org.apache.syncope.core.sync.DefaultSyncActions;
import org.apache.syncope.core.sync.SyncActions;
@@ -157,15 +160,15 @@ public class JobInstanceLoader {
public void registerJob(final Task task, final String jobClassName, final String cronExpression)
throws ClassNotFoundException, SchedulerException, ParseException {
- Class jobClass = Class.forName(jobClassName);
+ Class<?> jobClass = Class.forName(jobClassName);
Job jobInstance = (Job) ApplicationContextProvider.getBeanFactory().
createBean(jobClass, AbstractBeanDefinition.AUTOWIRE_BY_TYPE, false);
- if (jobInstance instanceof AbstractTaskJob) {
- ((AbstractTaskJob) jobInstance).setTaskId(task.getId());
+ if (jobInstance instanceof TaskJob) {
+ ((TaskJob) jobInstance).setTaskId(task.getId());
}
if (jobInstance instanceof SyncJob && task instanceof SyncTask) {
String jobActionsClassName = ((SyncTask) task).getActionsClassName();
- Class syncActionsClass = DefaultSyncActions.class;
+ Class<?> syncActionsClass = DefaultSyncActions.class;
if (StringUtils.isNotBlank(jobActionsClassName)) {
try {
syncActionsClass = Class.forName(jobActionsClassName);
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTaskJob.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTaskJob.java?rev=1492217&r1=1492216&r2=1492217&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTaskJob.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/AbstractTaskJob.java Wed Jun 12 14:24:11 2013
@@ -27,7 +27,6 @@ import org.apache.syncope.core.persisten
import org.apache.syncope.core.persistence.dao.TaskDAO;
import org.apache.syncope.core.persistence.dao.TaskExecDAO;
import org.quartz.DisallowConcurrentExecution;
-import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
@@ -35,11 +34,15 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
- * Base job implementation that delegates to concrete implementation the actual job execution and provides some
- * background settings (like as the corresponding Task, for example).
+ * Abstract job implementation that delegates to concrete implementation the actual job execution and provides some
+ * base features.
+ * <strong>Extending ttis class will not provide support transaction management.</strong><br/>
+ * Extend <tt>AbstractTransactionalTaskJob</tt> for this purpose.
+ *
+ * @see AbstractTransactionalTaskJob
*/
@DisallowConcurrentExecution
-public abstract class AbstractTaskJob implements Job {
+public abstract class AbstractTaskJob implements TaskJob {
public static final String DRY_RUN_JOBDETAIL_KEY = "dryRun";
@@ -85,12 +88,13 @@ public abstract class AbstractTaskJob im
*
* @param taskId to be set
*/
+ @Override
public void setTaskId(final Long taskId) {
this.taskId = taskId;
}
@Override
- public final void execute(final JobExecutionContext context) throws JobExecutionException {
+ public void execute(final JobExecutionContext context) throws JobExecutionException {
task = taskDAO.find(taskId);
if (task == null) {
throw new JobExecutionException("Task " + taskId + " not found");
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/SampleJob.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/SampleJob.java?rev=1492217&r1=1492216&r2=1492217&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/SampleJob.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/quartz/SampleJob.java Wed Jun 12 14:24:11 2013
@@ -31,7 +31,6 @@ public class SampleJob extends AbstractT
@Override
protected String doExecute(final boolean dryRun) throws JobExecutionException {
-
if (!(task instanceof SchedTask)) {
throw new JobExecutionException("Task " + taskId + " isn't a SchedTask");
}
Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/TaskController.java
URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/TaskController.java?rev=1492217&r1=1492216&r2=1492217&view=diff
==============================================================================
--- syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/TaskController.java (original)
+++ syncope/trunk/core/src/main/java/org/apache/syncope/core/rest/controller/TaskController.java Wed Jun 12 14:24:11 2013
@@ -229,7 +229,7 @@ public class TaskController extends Abst
@PreAuthorize("hasRole('TASK_LIST')")
@RequestMapping(method = RequestMethod.GET, value = "/jobClasses")
public ModelAndView getJobClasses() {
- Set<String> jobClasses = classNamesLoader.getClassNames(ImplementationClassNamesLoader.Type.JOB);
+ Set<String> jobClasses = classNamesLoader.getClassNames(ImplementationClassNamesLoader.Type.TASKJOB);
auditManager.audit(Category.task, TaskSubCategory.getJobClasses, Result.success,
"Successfully listed all Job classes: " + jobClasses.size());