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 2015/12/17 16:46:48 UTC

syncope git commit: [SYNCOPE-743] Implementation provided

Repository: syncope
Updated Branches:
  refs/heads/master a12e60b15 -> 288179f26


[SYNCOPE-743] Implementation provided


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/288179f2
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/288179f2
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/288179f2

Branch: refs/heads/master
Commit: 288179f2639cb13e1dfc7f7b5869f9d5cbd58861
Parents: a12e60b
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Thu Dec 17 16:46:41 2015 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Thu Dec 17 16:46:41 2015 +0100

----------------------------------------------------------------------
 .../apache/syncope/common/lib/to/ReportTO.java  | 10 ++++
 .../syncope/common/lib/to/SchedTaskTO.java      | 11 +++++
 .../apache/syncope/core/logic/ReportLogic.java  |  6 +++
 .../apache/syncope/core/logic/TaskLogic.java    |  6 +++
 .../core/logic/report/ReportJobDelegate.java    |  5 ++
 .../core/persistence/api/entity/Report.java     |  3 ++
 .../persistence/api/entity/task/SchedTask.java  |  4 ++
 .../core/persistence/jpa/entity/JPAReport.java  | 20 ++++++++
 .../jpa/entity/task/JPASchedTask.java           | 19 ++++++++
 .../core/persistence/jpa/inner/ReportTest.java  |  1 +
 .../core/persistence/jpa/outer/ReportTest.java  |  1 +
 .../core/persistence/jpa/outer/TaskTest.java    |  2 +
 .../test/resources/domains/MasterContent.xml    | 49 ++++++++++----------
 .../java/data/TaskDataBinderImpl.java           | 11 ++---
 .../java/job/AbstractSchedTaskJobDelegate.java  |  8 +++-
 .../fit/core/reference/MultitenancyITCase.java  |  1 +
 .../fit/core/reference/PushTaskITCase.java      |  2 +
 .../fit/core/reference/ReportITCase.java        | 14 ++++++
 .../fit/core/reference/SyncTaskITCase.java      |  3 ++
 19 files changed, 141 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
index 533f8d1..920d198 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ReportTO.java
@@ -51,6 +51,8 @@ public class ReportTO extends AbstractStartEndBean {
 
     private Date nextExec;
 
+    private boolean active;
+
     public long getKey() {
         return key;
     }
@@ -123,4 +125,12 @@ public class ReportTO extends AbstractStartEndBean {
         }
     }
 
+    public boolean isActive() {
+        return active;
+    }
+
+    public void setActive(final boolean active) {
+        this.active = active;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/common/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
index 08e4c53..0964579 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/SchedTaskTO.java
@@ -43,6 +43,8 @@ public class SchedTaskTO extends AbstractTaskTO {
 
     private Date nextExec;
 
+    private boolean active;
+
     public String getCronExpression() {
         return cronExpression;
     }
@@ -101,4 +103,13 @@ public class SchedTaskTO extends AbstractTaskTO {
     public void setName(final String name) {
         this.name = name;
     }
+
+    public boolean isActive() {
+        return active;
+    }
+
+    public void setActive(final boolean active) {
+        this.active = active;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/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 66954b0..f49ee91 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
@@ -236,6 +236,12 @@ public class ReportLogic extends AbstractJobLogic<ReportTO> {
             throw new NotFoundException("Report " + reportKey);
         }
 
+        if (!report.isActive()) {
+            SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.Scheduling);
+            sce.getElements().add("Report " + reportKey + " is not active");
+            throw sce;
+        }
+
         try {
             jobInstanceLoader.registerJob(report);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/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 9386262..35697fa 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
@@ -207,6 +207,12 @@ public class TaskLogic extends AbstractJobLogic<AbstractTaskTO> {
             case SCHEDULED:
             case SYNCHRONIZATION:
             case PUSH:
+                if (!((SchedTask) task).isActive()) {
+                    SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.Scheduling);
+                    sce.getElements().add("Task " + taskKey + " is not active");
+                    throw sce;
+                }
+
                 try {
                     Map<String, Object> jobDataMap = jobInstanceLoader.registerJob(
                             (SchedTask) task,

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReportJobDelegate.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReportJobDelegate.java b/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReportJobDelegate.java
index 9d764ba..c3d2a36 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReportJobDelegate.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/report/ReportJobDelegate.java
@@ -81,6 +81,11 @@ public class ReportJobDelegate {
             throw new JobExecutionException("Report " + reportKey + " not found");
         }
 
+        if (!report.isActive()) {
+            LOG.info("Report {} not active, aborting...", reportKey);
+            return;
+        }
+
         // 1. create execution
         ReportExec execution = entityFactory.newEntity(ReportExec.class);
         execution.setStatus(ReportExecStatus.STARTED);

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Report.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Report.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Report.java
index 30245d0..5b31063 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Report.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Report.java
@@ -43,4 +43,7 @@ public interface Report extends Entity<Long> {
 
     void setCronExpression(String cronExpression);
 
+    boolean isActive();
+
+    void setActive(boolean active);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
index 0913ee1..ed62ba4 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/task/SchedTask.java
@@ -35,4 +35,8 @@ public interface SchedTask extends Task {
     void setJobDelegateClassName(String jobDelegateClassName);
 
     void setName(String name);
+
+    boolean isActive();
+
+    void setActive(boolean active);
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
index eeaf86d..8cf3d57 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAReport.java
@@ -20,6 +20,7 @@ package org.apache.syncope.core.persistence.jpa.entity;
 
 import java.util.ArrayList;
 import java.util.List;
+import javax.persistence.Basic;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -27,6 +28,9 @@ import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;
 import javax.persistence.Table;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.Transformer;
 import org.apache.syncope.common.lib.report.ReportletConf;
@@ -57,6 +61,12 @@ public class JPAReport extends AbstractEntity<Long> implements Report {
     @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "report")
     private List<JPAReportExec> executions = new ArrayList<>();
 
+    @NotNull
+    @Basic
+    @Min(0)
+    @Max(1)
+    private Integer active;
+
     @Override
     public Long getKey() {
         return id;
@@ -127,4 +137,14 @@ public class JPAReport extends AbstractEntity<Long> implements Report {
     public void setCronExpression(final String cronExpression) {
         this.cronExpression = cronExpression;
     }
+
+    @Override
+    public boolean isActive() {
+        return isBooleanAsInteger(active);
+    }
+
+    @Override
+    public void setActive(final boolean active) {
+        this.active = getBooleanAsInteger(active);
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASchedTask.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASchedTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASchedTask.java
index d3c0c11..0be71fc 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASchedTask.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASchedTask.java
@@ -18,8 +18,11 @@
  */
 package org.apache.syncope.core.persistence.jpa.entity.task;
 
+import javax.persistence.Basic;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 import org.apache.syncope.common.lib.types.TaskType;
 import org.apache.syncope.core.persistence.api.entity.task.SchedTask;
@@ -41,6 +44,12 @@ public class JPASchedTask extends AbstractTask implements SchedTask {
 
     protected String description;
 
+    @NotNull
+    @Basic
+    @Min(0)
+    @Max(1)
+    private Integer active;
+
     public JPASchedTask() {
         super();
         this.type = TaskType.SCHEDULED;
@@ -85,4 +94,14 @@ public class JPASchedTask extends AbstractTask implements SchedTask {
     public void setName(final String name) {
         this.name = name;
     }
+
+    @Override
+    public boolean isActive() {
+        return isBooleanAsInteger(active);
+    }
+
+    @Override
+    public void setActive(final boolean active) {
+        this.active = getBooleanAsInteger(active);
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/ReportTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/ReportTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/ReportTest.java
index 8c419aa..1a67267 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/ReportTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/ReportTest.java
@@ -59,6 +59,7 @@ public class ReportTest extends AbstractTest {
 
         Report report = entityFactory.newEntity(Report.class);
         report.setName("new report");
+        report.setActive(true);
         report.add(new UserReportletConf("first"));
         report.add(new UserReportletConf("second"));
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ReportTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ReportTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ReportTest.java
index 36f275c..bdfa8f7 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ReportTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ReportTest.java
@@ -63,6 +63,7 @@ public class ReportTest extends AbstractTest {
 
         report = entityFactory.newEntity(Report.class);
         report.setName(name);
+        report.setActive(true);
 
         reportDAO.save(report);
         reportDAO.flush();

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java
index 8e08755..7378728 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java
@@ -220,6 +220,7 @@ public class TaskTest extends AbstractTest {
         SyncTask task = entityFactory.newEntity(SyncTask.class);
         task.setName("saveSyncTask");
         task.setDescription("SyncTask description");
+        task.setActive(true);
         task.setSyncMode(SyncMode.FULL_RECONCILIATION);
         task.add(template);
         task.setCronExpression("BLA BLA");
@@ -278,6 +279,7 @@ public class TaskTest extends AbstractTest {
         task.setResource(resource);
         task.setName("issueSYNCOPE144");
         task.setDescription("issueSYNCOPE144 Description");
+        task.setActive(true);
         task.setSyncMode(SyncMode.FULL_RECONCILIATION);
         task.getActionsClassNames().add(SyncActions.class.getName());
         task.setMatchingRule(MatchingRule.UPDATE);

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
index 63f0878..da4b05f 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -982,12 +982,12 @@ under the License.
         attributes='[{"name":"__PASSWORD__","value":[{"readOnly":false,"disposed":false,"encryptedBytes":"m9nh2US0Sa6m+cXccCq0Xw==","base64SHA1Hash":"GFJ69qfjxEOdrmt+9q+0Cw2uz60="}]},{"name":"__NAME__","value":["userId"],"nameValue":"userId"},{"name":"type","value":["type"]}]'/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="4" name="CSV (update matching; assign unmatching)" resource_name="resource-csv"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"
-        syncMode="INCREMENTAL" unmatchingRule="ASSIGN" matchingRule="UPDATE"/>
+        syncMode="INCREMENTAL" unmatchingRule="ASSIGN" matchingRule="UPDATE" active="1"/>
   <AnyTemplateSyncTask id="41" syncTask_id="4" anyType_name="USER"
                        template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"USER","realm":null,"status":null,"password":null,"token":null,"tokenExpireTime":null,"username":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":null,"securityAnswer":null,"auxClasses":["csv"],"derAttrs":[{"schema":"cn","readonly":false,"values":[""]}],"virAttrs":[],"resources":["resource-testdb"],"relationships":[],"memberships":[{"leftType":null,"leftKey":0,"rightType":"GROUP","rightKey":8,"groupName":null}],"dynGroups":[],"roles":[],"dynRoles":[],"plainAttrs":[{"schema":"type","readonly":false,"values":["email == &apos;test8@syncope.apache.org&apos;? &apos;TYPE_8&apos;: &apos;TYPE_OTHER&apos;"]}]}'/>
   <AnyTemplateSyncTask id="42" syncTask_id="4" anyType_name="GROUP"
                        template='{"@class":"org.apache.syncope.common.lib.to.GroupTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"GROUP","realm":null,"status":null,"name":null,"userOwner":null,"groupOwner":null,"udynMembershipCond":null,"auxClasses":[],"derAttrs":[],"virAttrs":[],"resources":[],"plainAttrs":[]}'/>
-  <Task DTYPE="SchedTask" type="SCHEDULED" id="5" name="SampleJob Task" 
+  <Task DTYPE="SchedTask" type="SCHEDULED" id="5" name="SampleJob Task"  active="1"
         jobDelegateClassName="org.apache.syncope.fit.core.reference.TestSampleJobDelegate" cronExpression="0 0 0 1 * ?"/>
   <Task DTYPE="PropagationTask" type="PROPAGATION" id="6" operation="UPDATE"
         objectClassName="__ACCOUNT__" resource_name="ws-target-resource-nopropagation" anyTypeKind="USER" anyKey="1"
@@ -995,7 +995,7 @@ under the License.
   <TaskExec id="6" task_id="6" startDate="2015-12-17 09:40:00.506" endDate="2015-12-17 09:42:00.506" status="SUCCESS"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="7" name="TestDB Task" resource_name="resource-testdb"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="0" syncStatus="1" syncMode="FULL_RECONCILIATION"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <AnyTemplateSyncTask id="71" syncTask_id="7" anyType_name="USER"
                        template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"USER","realm":null,"status":null,"password":null,"token":null,"tokenExpireTime":null,"username":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":null,"securityAnswer":null,"auxClasses":[],"derAttrs":[],"virAttrs":[],"resources":[],"relationships":[],"memberships":[],"dynGroups":[],"roles":[],"dynRoles":[],"plainAttrs":[{"schema":"type","readonly":false,"values":["&apos;type a&apos;"]},{"schema":"userId","readonly":false,"values":["&apos;reconciled@syncope.apache.org&apos;"]},{"schema":"fullname","readonly":false,"values":["&apos;reconciled fullname&apos;"]},{"schema":"surname","readonly":false,"values":["&apos;surname&apos;"]}]}'/>
   <AnyTemplateSyncTask id="72" syncTask_id="7" anyType_name="GROUP"
@@ -1004,13 +1004,13 @@ under the License.
         textBody="NOTIFICATION-81" htmlBody="NOTIFICATION-81" traceLevel="ALL"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="9" name="TestDB2 Task" resource_name="resource-testdb2"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="0" syncStatus="1" syncMode="FULL_RECONCILIATION"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="10" name="TestDB Sync Task" resource_name="resource-db-sync"
         destinationRealm_id="1" syncMode="FULL_RECONCILIATION" performCreate="1" performDelete="1" performUpdate="1" syncStatus="0"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="11" name="LDAP Sync Task" resource_name="resource-ldap"
         destinationRealm_id="1" syncMode="FULL_RECONCILIATION" performCreate="1" performDelete="1" performUpdate="1" syncStatus="0"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <AnyTemplateSyncTask id="1" syncTask_id="11" anyType_name="USER"
                        template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"USER","realm":null,"status":null,"password":null,"token":null,"tokenExpireTime":null,"username":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":null,"securityAnswer":null,"auxClasses":[],"derAttrs":[],"virAttrs":[{"schema":"virtualReadOnly","readonly":true,"values":[""]}],"resources":["resource-ldap"],"roles":[],"dynRoles":[],"relationships":[],"memberships":[],"dynGroups":[],"plainAttrs":[]}'/>
   <AnyTemplateSyncTask id="2" syncTask_id="11" anyType_name="GROUP"
@@ -1018,82 +1018,81 @@ under the License.
   <SyncTask_actionsClassNames SyncTask_id="11" actionClassName="org.apache.syncope.core.provisioning.java.sync.LDAPMembershipSyncActions"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="12" name="VirAttrCache test" resource_name="resource-csv"
         destinationRealm_id="1" performCreate="0" performUpdate="1" performDelete="0" syncStatus="0" syncMode="FULL_RECONCILIATION"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <Task DTYPE="PushTask" type="PUSH" id="13" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"         
-        unmatchingRule="ASSIGN" matchingRule="IGNORE"/>  
+        unmatchingRule="ASSIGN" matchingRule="IGNORE" active="1"/>  
   <PushTaskAnyFilter id="131" anyType_name="USER" pushTask_id="13" fiql="surname==Vivaldi"/>
   <PushTaskAnyFilter id="132" anyType_name="GROUP" pushTask_id="13" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="14" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"         
-        unmatchingRule="PROVISION" matchingRule="IGNORE"/>
+        unmatchingRule="PROVISION" matchingRule="IGNORE" active="1"/>
   <PushTaskAnyFilter id="141" anyType_name="USER" pushTask_id="14" fiql="surname==Bellini"/>
   <PushTaskAnyFilter id="142" anyType_name="GROUP" pushTask_id="14" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="15" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="UNLINK" matchingRule="IGNORE"/>
+        unmatchingRule="UNLINK" matchingRule="IGNORE" active="1"/>
   <PushTaskAnyFilter id="151" anyType_name="USER" pushTask_id="15" fiql="surname==Puccini"/>
   <PushTaskAnyFilter id="152" anyType_name="GROUP" pushTask_id="15" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="16" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"         
-        unmatchingRule="IGNORE" matchingRule="IGNORE"/>
+        unmatchingRule="IGNORE" matchingRule="IGNORE" active="1"/>
   <PushTaskAnyFilter id="161" anyType_name="USER" pushTask_id="16" fiql="surname==Verdi"/>
   <PushTaskAnyFilter id="162" anyType_name="GROUP" pushTask_id="16" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="17" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="ASSIGN" matchingRule="UPDATE"/>
+        unmatchingRule="ASSIGN" matchingRule="UPDATE" active="1"/>
   <PushTaskAnyFilter id="171" anyType_name="USER" pushTask_id="17" fiql="username==_NO_ONE_"/>
   <PushTaskAnyFilter id="172" anyType_name="GROUP" pushTask_id="17" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="18" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="IGNORE" matchingRule="DEPROVISION"/>
+        unmatchingRule="IGNORE" matchingRule="DEPROVISION" active="1"/>
   <PushTaskAnyFilter id="181" anyType_name="USER" pushTask_id="18" fiql="surname==Verdi"/>
   <PushTaskAnyFilter id="182" anyType_name="GROUP" pushTask_id="18" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="19" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="IGNORE" matchingRule="UNASSIGN"/>
+        unmatchingRule="IGNORE" matchingRule="UNASSIGN" active="1"/>
   <PushTaskAnyFilter id="191" anyType_name="USER" pushTask_id="19" fiql="surname==Rossini"/>
   <PushTaskAnyFilter id="192" anyType_name="GROUP" pushTask_id="19" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="20" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="IGNORE" matchingRule="LINK"/>
+        unmatchingRule="IGNORE" matchingRule="LINK" active="1"/>
   <PushTaskAnyFilter id="201" anyType_name="USER" pushTask_id="20" fiql="surname==Verdi"/>
   <PushTaskAnyFilter id="202" anyType_name="GROUP" pushTask_id="20" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="21" name="Export on resource-testdb2" resource_name="resource-testdb2"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="IGNORE" matchingRule="UNLINK"/>
+        unmatchingRule="IGNORE" matchingRule="UNLINK" active="1"/>
   <PushTaskAnyFilter id="211" anyType_name="USER" pushTask_id="21" fiql="surname==Verdi"/>
   <PushTaskAnyFilter id="212" anyType_name="GROUP" pushTask_id="21" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="22" name="Export on resource-testdb2" resource_name="resource-testdb2"
-        performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"
-        
-        unmatchingRule="IGNORE" matchingRule="UPDATE"/>
+        performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
+        unmatchingRule="IGNORE" matchingRule="UPDATE"  active="1"/>
   <PushTaskAnyFilter id="221" anyType_name="USER" pushTask_id="22" fiql="surname==Verdi"/>
   <PushTaskAnyFilter id="222" anyType_name="GROUP" pushTask_id="22" fiql="name==_NO_ONE_"/>
   <Task DTYPE="PushTask" type="PUSH" id="23" name="Export on resource-ldap" resource_name="resource-ldap"
         performCreate="1" performUpdate="1" performDelete="1" syncStatus="1"        
-        unmatchingRule="ASSIGN" matchingRule="UNLINK"/>
+        unmatchingRule="ASSIGN" matchingRule="UNLINK" active="1"/>
   <PushTaskAnyFilter id="231" anyType_name="USER" pushTask_id="23" fiql="username==_NO_ONE_"/>
   <PushTaskAnyFilter id="232" anyType_name="GROUP" pushTask_id="23" fiql="name==citizen"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="24" name="CSV Task (update matching; provision unmatching)" resource_name="resource-csv"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="1" syncStatus="1" syncMode="INCREMENTAL"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
   <AnyTemplateSyncTask id="3" syncTask_id="24" anyType_name="USER"
                        template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"USER","realm":null,"status":null,"password":null,"token":null,"tokenExpireTime":null,"username":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":null,"securityAnswer":null,"auxClasses":[],"derAttrs":[],"virAttrs":[],"resources":["resource-testdb"],"roles":[],"dynRoles":[],"relationships":[],"memberships":[],"dynGroups":[],"plainAttrs":[{"schema":"firstname","readonly":false,"values":[""]},{"schema":"userId","readonly":false,"values":["&apos;test&apos;"]},{"schema":"fullname","readonly":false,"values":["&apos;test&apos;"]},{"schema":"surname","readonly":false,"values":["&apos;test&apos;"]}]}'/>
   <AnyTemplateSyncTask id="4" syncTask_id="24" anyType_name="GROUP"
                        template='{"@class":"org.apache.syncope.common.lib.to.GroupTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":0,"type":"GROUP","realm":null,"status":null,"name":null,"userOwner":null,"groupOwner":null,"udynMembershipCond":null,"auxClasses":[],"derAttrs":[],"virAttrs":[],"resources":[],"plainAttrs":[]}'/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="25" name="CSV (unlink matching; ignore unmatching)" resource_name="resource-csv"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="1" syncStatus="1" syncMode="INCREMENTAL"
-        unmatchingRule="IGNORE" matchingRule="UNLINK"/>
+        unmatchingRule="IGNORE" matchingRule="UNLINK" active="1"/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="26" name="CSV (ignore matching; assign unmatching)" resource_name="resource-csv"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="1" syncStatus="1" syncMode="INCREMENTAL"
-        unmatchingRule="ASSIGN" matchingRule="IGNORE"/>
+        unmatchingRule="ASSIGN" matchingRule="IGNORE" active="1"/>
   <Task DTYPE="PropagationTask" type="PROPAGATION" id="27" operation="CREATE"
         objectClassName="__ACCOUNT__" resource_name="resource-testdb" anyTypeKind="USER" anyKey="1"
         attributes='[{"name":"__PASSWORD__","value":[{"readOnly":false,"disposed":false,"encryptedBytes":"m9nh2US0Sa6m+cXccCq0Xw==","base64SHA1Hash":"GFJ69qfjxEOdrmt+9q+0Cw2uz60="}]},{"name":"__NAME__","value":["userId"],"nameValue":"userId"},{"name":"fullname","value":["fullname"]},{"name":"type","value":["type"]}]'/>
   <Task DTYPE="SyncTask" type="SYNCHRONIZATION" id="28" name="Scripted SQL" resource_name="resource-db-scripted"
         destinationRealm_id="1" performCreate="1" performUpdate="1" performDelete="1" syncStatus="0" syncMode="INCREMENTAL"
-        unmatchingRule="PROVISION" matchingRule="UPDATE"/>
+        unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
 
   <Notification id="1" active="1" recipientAttrName="email" recipientAttrType="UserPlainSchema" selfAsRecipient="1" 
                 sender="admin@syncope.apache.org" subject="Password Reset request" template="requestPasswordReset" 
@@ -1116,7 +1115,7 @@ under the License.
     
   <NotificationTask_recipients notificationtask_id="8" address="recipient@prova.org"/>  
   
-  <Report id="1" name="test"/>
+  <Report id="1" name="test" active="1"/>
   <ReportletConfInstance id="1" Report_id="1" 
                          serializedInstance='{"@class":"org.apache.syncope.common.lib.report.UserReportletConf","name":"testUserReportlet","matchingCond":null,"plainAttrs":["fullname","gender"],"derAttrs":["cn"],"virAttrs":["virtualdata"],"features":["key","username","workflowId","status","creationDate","lastLoginDate","changePwdDate","passwordHistorySize","failedLoginCount","memberships","resources"]}'/>
   <ReportExec Report_id="1" id="1" status="SUCCESS" startDate="2012-02-26 15:40:04" endDate="2012-02-26 15:41:04"/>

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
index d3035a3..561bf68 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
@@ -103,7 +103,7 @@ public class TaskDataBinderImpl implements TaskDataBinder {
 
     private void fill(final ProvisioningTask task, final AbstractProvisioningTaskTO taskTO) {
         if (task instanceof PushTask && taskTO instanceof PushTaskTO) {
-            final PushTask pushTask = (PushTask) task;
+            PushTask pushTask = (PushTask) task;
             final PushTaskTO pushTaskTO = (PushTaskTO) taskTO;
 
             pushTask.setJobDelegateClassName(PushJobDelegate.class.getName());
@@ -137,7 +137,7 @@ public class TaskDataBinderImpl implements TaskDataBinder {
                 }
             });
         } else if (task instanceof SyncTask && taskTO instanceof SyncTaskTO) {
-            final SyncTask syncTask = (SyncTask) task;
+            SyncTask syncTask = (SyncTask) task;
             final SyncTaskTO syncTaskTO = (SyncTaskTO) taskTO;
 
             syncTask.setSyncMode(syncTaskTO.getSyncMode());
@@ -201,6 +201,7 @@ public class TaskDataBinderImpl implements TaskDataBinder {
         task.setCronExpression(taskTO.getCronExpression());
         task.setName(taskTO.getName());
         task.setDescription(taskTO.getDescription());
+        task.setActive(taskTO.isActive());
 
         if (taskUtils.getType() == TaskType.SCHEDULED) {
             task.setJobDelegateClassName(taskTO.getJobDelegateClassName());
@@ -313,8 +314,6 @@ public class TaskDataBinderImpl implements TaskDataBinder {
                             + task.getClass().getName());
                 }
                 setExecTime((SchedTaskTO) taskTO, task);
-                ((SchedTaskTO) taskTO).setName(((SchedTask) task).getName());
-                ((SchedTaskTO) taskTO).setDescription(((SchedTask) task).getDescription());
                 break;
 
             case SYNCHRONIZATION:
@@ -323,8 +322,6 @@ public class TaskDataBinderImpl implements TaskDataBinder {
                             + task.getClass().getName());
                 }
                 setExecTime((SchedTaskTO) taskTO, task);
-                ((SyncTaskTO) taskTO).setName(((SyncTask) task).getName());
-                ((SyncTaskTO) taskTO).setDescription(((SyncTask) task).getDescription());
                 ((SyncTaskTO) taskTO).setDestinationRealm(((SyncTask) task).getDestinatioRealm().getFullPath());
                 ((SyncTaskTO) taskTO).setResource(((SyncTask) task).getResource().getKey());
                 ((SyncTaskTO) taskTO).setMatchingRule(((SyncTask) task).getMatchingRule() == null
@@ -343,8 +340,6 @@ public class TaskDataBinderImpl implements TaskDataBinder {
                             + task.getClass().getName());
                 }
                 setExecTime((SchedTaskTO) taskTO, task);
-                ((PushTaskTO) taskTO).setName(((PushTask) task).getName());
-                ((PushTaskTO) taskTO).setDescription(((PushTask) task).getDescription());
                 ((PushTaskTO) taskTO).setResource(((PushTask) task).getResource().getKey());
                 ((PushTaskTO) taskTO).setMatchingRule(((PushTask) task).getMatchingRule() == null
                         ? MatchingRule.LINK : ((PushTask) task).getMatchingRule());

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
index e3b06b8..1daae7a 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/AbstractSchedTaskJobDelegate.java
@@ -25,7 +25,7 @@ import org.apache.syncope.core.misc.utils.ExceptionUtils2;
 import org.apache.syncope.core.persistence.api.dao.TaskDAO;
 import org.apache.syncope.core.persistence.api.dao.TaskExecDAO;
 import org.apache.syncope.core.persistence.api.entity.EntityFactory;
-import org.apache.syncope.core.persistence.api.entity.task.Task;
+import org.apache.syncope.core.persistence.api.entity.task.SchedTask;
 import org.apache.syncope.core.persistence.api.entity.task.TaskExec;
 import org.apache.syncope.core.provisioning.api.job.SchedTaskJobDelegate;
 import org.apache.syncope.core.provisioning.api.notification.NotificationManager;
@@ -42,7 +42,7 @@ public abstract class AbstractSchedTaskJobDelegate implements SchedTaskJobDelega
     /**
      * The actual task to be executed.
      */
-    protected Task task;
+    protected SchedTask task;
 
     /**
      * Task execution DAO.
@@ -79,6 +79,10 @@ public abstract class AbstractSchedTaskJobDelegate implements SchedTaskJobDelega
             throw new JobExecutionException("Task " + taskKey + " not found");
         }
 
+        if (!task.isActive()) {
+            LOG.info("Task {} not active, aborting...", taskKey);
+        }
+
         TaskExec execution = entityFactory.newEntity(TaskExec.class);
         execution.setStartDate(new Date());
         execution.setTask(task);

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/MultitenancyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/MultitenancyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/MultitenancyITCase.java
index bb56342..8458181 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/MultitenancyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/MultitenancyITCase.java
@@ -190,6 +190,7 @@ public class MultitenancyITCase extends AbstractITCase {
         // create sync task
         SyncTaskTO task = new SyncTaskTO();
         task.setName("LDAP Sync Task");
+        task.setActive(true);
         task.setDestinationRealm(SyncopeConstants.ROOT_REALM);
         task.setResource(resource.getKey());
         task.setSyncMode(SyncMode.FULL_RECONCILIATION);

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java
index 2213f53..93f0139 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java
@@ -312,6 +312,7 @@ public class PushTaskITCase extends AbstractTaskITCase {
             // create push task ad-hoc
             PushTaskTO task = new PushTaskTO();
             task.setName("issueSYNCOPE598");
+            task.setActive(true);
             task.setResource(resourceName);
             task.setPerformCreate(true);
             task.setPerformDelete(true);
@@ -341,6 +342,7 @@ public class PushTaskITCase extends AbstractTaskITCase {
         // 1. Create Push Task
         PushTaskTO task = new PushTaskTO();
         task.setName("Test create Push");
+        task.setActive(true);
         task.setResource(RESOURCE_NAME_LDAP);
         task.getFilters().put(AnyTypeKind.USER.name(),
                 SyncopeClient.getUserSearchConditionBuilder().is("username").equalTo("_NO_ONE_").query());

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ReportITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ReportITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ReportITCase.java
index 0360bd2..2bf2218 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ReportITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ReportITCase.java
@@ -38,6 +38,7 @@ import org.apache.syncope.common.lib.report.UserReportletConf;
 import org.apache.syncope.common.lib.to.BulkActionResult;
 import org.apache.syncope.common.lib.to.ReportExecTO;
 import org.apache.syncope.common.lib.to.ReportTO;
+import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.ReportExecExportFormat;
 import org.apache.syncope.common.lib.types.ReportExecStatus;
 import org.apache.syncope.common.rest.api.beans.BulkExecDeleteQuery;
@@ -184,10 +185,22 @@ public class ReportITCase extends AbstractITCase {
         ReportTO reportTO = reportService.read(1L);
         reportTO.setKey(0);
         reportTO.setName("executeAndExport" + getUUIDString());
+        reportTO.setActive(false);
         reportTO.getExecutions().clear();
         reportTO = createReport(reportTO);
         assertNotNull(reportTO);
 
+        try {
+            execute(reportTO.getKey());
+            fail();
+        } catch (SyncopeClientException e) {
+            assertEquals(ClientExceptionType.Scheduling, e.getType());
+            assertTrue(e.getElements().iterator().next().contains("active"));
+        }
+
+        reportTO.setActive(true);
+        reportService.update(reportTO);
+
         long execId = execute(reportTO.getKey());
 
         checkExport(execId, ReportExecExportFormat.XML);
@@ -234,6 +247,7 @@ public class ReportITCase extends AbstractITCase {
     public void issueSYNCOPE43() {
         ReportTO reportTO = new ReportTO();
         reportTO.setName("issueSYNCOPE43" + getUUIDString());
+        reportTO.setActive(true);
         reportTO = createReport(reportTO);
         assertNotNull(reportTO);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/288179f2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
index b774bde..2385ebe 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
@@ -601,6 +601,7 @@ public class SyncTaskITCase extends AbstractTaskITCase {
         SyncTaskTO task = new SyncTaskTO();
         task.setDestinationRealm(SyncopeConstants.ROOT_REALM);
         task.setName("Test Sync Rule");
+        task.setActive(true);
         task.setResource(RESOURCE_NAME_WS2);
         task.setSyncMode(SyncMode.FULL_RECONCILIATION);
         task.setPerformCreate(true);
@@ -745,6 +746,7 @@ public class SyncTaskITCase extends AbstractTaskITCase {
         SyncTaskTO syncTask = new SyncTaskTO();
         syncTask.setDestinationRealm(SyncopeConstants.ROOT_REALM);
         syncTask.setName("DB Sync Task");
+        syncTask.setActive(true);
         syncTask.setPerformCreate(true);
         syncTask.setPerformUpdate(true);
         syncTask.setSyncMode(SyncMode.FULL_RECONCILIATION);
@@ -818,6 +820,7 @@ public class SyncTaskITCase extends AbstractTaskITCase {
         SyncTaskTO syncTask = new SyncTaskTO();
         syncTask.setDestinationRealm(SyncopeConstants.ROOT_REALM);
         syncTask.setName("LDAP Sync Task");
+        syncTask.setActive(true);
         syncTask.setPerformCreate(true);
         syncTask.setPerformUpdate(true);
         syncTask.setSyncMode(SyncMode.FULL_RECONCILIATION);