[SYNCOPE-893] Fixing by removing NotNull constraint on realm at JPA level, as 
it is already enforced at DataBinder level


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

Branch: refs/heads/2_0_NO_JAXB
Commit: a9bd3ce15ab684befa28024fd25c1f10e763ff4c
Parents: 8943d28
Author: Francesco Chicchiriccò <[email protected]>
Authored: Wed Jul 6 16:58:11 2016 +0200
Committer: Francesco Chicchiriccò <[email protected]>
Committed: Wed Jul 6 16:58:11 2016 +0200

----------------------------------------------------------------------
 .../persistence/jpa/entity/AbstractAny.java     |   2 +-
 .../AbstractProvisioningJobDelegate.java        | 120 ++++++++++++-------
 .../java/DefaultAnyObjectWorkflowAdapter.java   |   2 -
 .../java/DefaultGroupWorkflowAdapter.java       |   2 -
 4 files changed, 81 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/a9bd3ce1/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
index bd5a108..449b0f3 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractAny.java
@@ -38,7 +38,7 @@ public abstract class AbstractAny<P extends PlainAttr<?>> 
extends AbstractAnnota
 
     private static final long serialVersionUID = -2666540708092702810L;
 
-    @ManyToOne(fetch = FetchType.EAGER, optional = false)
+    @ManyToOne(fetch = FetchType.EAGER)
     private JPARealm realm;
 
     private String workflowId;

http://git-wip-us.apache.org/repos/asf/syncope/blob/a9bd3ce1/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
index ee69ee2..64d8776 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/AbstractProvisioningJobDelegate.java
@@ -427,52 +427,92 @@ public abstract class AbstractProvisioningJobDelegate<T 
extends ProvisioningTask
         // Succeeded, only if on 'ALL' level
         if (traceLevel == TraceLevel.ALL) {
             if (includeUser) {
-                report.append("\n\nUsers created:\n").
-                        append(ProvisioningReport.generate(uSuccCreate, 
traceLevel)).
-                        append("\nUsers updated:\n").
-                        append(ProvisioningReport.generate(uSuccUpdate, 
traceLevel)).
-                        append("\nUsers deleted:\n").
-                        append(ProvisioningReport.generate(uSuccDelete, 
traceLevel)).
-                        append("\nUsers no operation:\n").
-                        append(ProvisioningReport.generate(uSuccNone, 
traceLevel)).
-                        append("\nUsers ignored:\n").
-                        append(ProvisioningReport.generate(uIgnore, 
traceLevel));
+                if (!uSuccCreate.isEmpty()) {
+                    report.append("\n\nUsers created:\n").
+                            append(ProvisioningReport.generate(uSuccCreate, 
traceLevel));
+                }
+                if (!uSuccUpdate.isEmpty()) {
+                    report.append("\nUsers updated:\n").
+                            append(ProvisioningReport.generate(uSuccUpdate, 
traceLevel));
+                }
+                if (!uSuccDelete.isEmpty()) {
+                    report.append("\nUsers deleted:\n").
+                            append(ProvisioningReport.generate(uSuccDelete, 
traceLevel));
+                }
+                if (!uSuccNone.isEmpty()) {
+                    report.append("\nUsers no operation:\n").
+                            append(ProvisioningReport.generate(uSuccNone, 
traceLevel));
+                }
+                if (!uIgnore.isEmpty()) {
+                    report.append("\nUsers ignored:\n").
+                            append(ProvisioningReport.generate(uIgnore, 
traceLevel));
+                }
             }
             if (includeGroup) {
-                report.append("\n\nGroups created:\n").
-                        append(ProvisioningReport.generate(gSuccCreate, 
traceLevel)).
-                        append("\nGroups updated:\n").
-                        append(ProvisioningReport.generate(gSuccUpdate, 
traceLevel)).
-                        append("\nGroups deleted:\n").
-                        append(ProvisioningReport.generate(gSuccDelete, 
traceLevel)).
-                        append("\nGroups no operation:\n").
-                        append(ProvisioningReport.generate(gSuccNone, 
traceLevel)).
-                        append("\nGroups ignored:\n").
-                        append(ProvisioningReport.generate(gSuccNone, 
traceLevel));
+                if (!gSuccCreate.isEmpty()) {
+                    report.append("\n\nGroups created:\n").
+                            append(ProvisioningReport.generate(gSuccCreate, 
traceLevel));
+                }
+                if (!gSuccUpdate.isEmpty()) {
+                    report.append("\nGroups updated:\n").
+                            append(ProvisioningReport.generate(gSuccUpdate, 
traceLevel));
+                }
+                if (!gSuccDelete.isEmpty()) {
+                    report.append("\nGroups deleted:\n").
+                            append(ProvisioningReport.generate(gSuccDelete, 
traceLevel));
+                }
+                if (!gSuccNone.isEmpty()) {
+                    report.append("\nGroups no operation:\n").
+                            append(ProvisioningReport.generate(gSuccNone, 
traceLevel));
+                }
+                if (!gIgnore.isEmpty()) {
+                    report.append("\nGroups ignored:\n").
+                            append(ProvisioningReport.generate(gIgnore, 
traceLevel));
+                }
             }
             if (includeAnyObject) {
-                report.append("\n\nAny objects created:\n").
-                        append(ProvisioningReport.generate(aSuccCreate, 
traceLevel)).
-                        append("\nAny objects updated:\n").
-                        append(ProvisioningReport.generate(aSuccUpdate, 
traceLevel)).
-                        append("\nAny objects deleted:\n").
-                        append(ProvisioningReport.generate(aSuccDelete, 
traceLevel)).
-                        append("\nAny objects no operation:\n").
-                        append(ProvisioningReport.generate(aSuccNone, 
traceLevel)).
-                        append("\nAny objects ignored:\n").
-                        append(ProvisioningReport.generate(aSuccNone, 
traceLevel));
+                if (!aSuccCreate.isEmpty()) {
+                    report.append("\n\nAny objects created:\n").
+                            append(ProvisioningReport.generate(aSuccCreate, 
traceLevel));
+                }
+                if (!aSuccUpdate.isEmpty()) {
+                    report.append("\nAny objects updated:\n").
+                            append(ProvisioningReport.generate(aSuccUpdate, 
traceLevel));
+                }
+                if (!aSuccDelete.isEmpty()) {
+                    report.append("\nAny objects deleted:\n").
+                            append(ProvisioningReport.generate(aSuccDelete, 
traceLevel));
+                }
+                if (!aSuccNone.isEmpty()) {
+                    report.append("\nAny objects no operation:\n").
+                            append(ProvisioningReport.generate(aSuccNone, 
traceLevel));
+                }
+                if (!aIgnore.isEmpty()) {
+                    report.append("\nAny objects ignored:\n").
+                            append(ProvisioningReport.generate(aIgnore, 
traceLevel));
+                }
             }
             if (includeRealm) {
-                report.append("\n\nRealms created:\n").
-                        append(ProvisioningReport.generate(rSuccCreate, 
traceLevel)).
-                        append("\nRealms updated:\n").
-                        append(ProvisioningReport.generate(rSuccUpdate, 
traceLevel)).
-                        append("\nRealms deleted:\n").
-                        append(ProvisioningReport.generate(rSuccDelete, 
traceLevel)).
-                        append("\nRealms no operation:\n").
-                        append(ProvisioningReport.generate(rSuccNone, 
traceLevel)).
-                        append("\nRealms ignored:\n").
-                        append(ProvisioningReport.generate(rSuccNone, 
traceLevel));
+                if (!rSuccCreate.isEmpty()) {
+                    report.append("\n\nRealms created:\n").
+                            append(ProvisioningReport.generate(rSuccCreate, 
traceLevel));
+                }
+                if (!rSuccUpdate.isEmpty()) {
+                    report.append("\nRealms updated:\n").
+                            append(ProvisioningReport.generate(rSuccUpdate, 
traceLevel));
+                }
+                if (!rSuccDelete.isEmpty()) {
+                    report.append("\nRealms deleted:\n").
+                            append(ProvisioningReport.generate(rSuccDelete, 
traceLevel));
+                }
+                if (!rSuccNone.isEmpty()) {
+                    report.append("\nRealms no operation:\n").
+                            append(ProvisioningReport.generate(rSuccNone, 
traceLevel));
+                }
+                if (!rIgnore.isEmpty()) {
+                    report.append("\nRealms ignored:\n").
+                            append(ProvisioningReport.generate(rIgnore, 
traceLevel));
+                }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/a9bd3ce1/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
----------------------------------------------------------------------
diff --git 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
index 6aae0ef..3994923 100644
--- 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
+++ 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultAnyObjectWorkflowAdapter.java
@@ -30,12 +30,10 @@ import 
org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
 import org.apache.syncope.core.provisioning.api.WorkflowResult;
 import org.apache.syncope.core.workflow.api.WorkflowDefinitionFormat;
 import org.apache.syncope.core.workflow.api.WorkflowException;
-import org.springframework.transaction.annotation.Transactional;
 
 /**
  * Simple implementation basically not involving any workflow engine.
  */
-@Transactional(rollbackFor = { Throwable.class })
 public class DefaultAnyObjectWorkflowAdapter extends 
AbstractAnyObjectWorkflowAdapter {
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/a9bd3ce1/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
----------------------------------------------------------------------
diff --git 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
index c60844c..6b557d6 100644
--- 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
+++ 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultGroupWorkflowAdapter.java
@@ -30,12 +30,10 @@ import 
org.apache.syncope.core.persistence.api.entity.group.Group;
 import org.apache.syncope.core.provisioning.api.WorkflowResult;
 import org.apache.syncope.core.workflow.api.WorkflowDefinitionFormat;
 import org.apache.syncope.core.workflow.api.WorkflowException;
-import org.springframework.transaction.annotation.Transactional;
 
 /**
  * Simple implementation basically not involving any workflow engine.
  */
-@Transactional(rollbackFor = { Throwable.class })
 public class DefaultGroupWorkflowAdapter extends AbstractGroupWorkflowAdapter {
 
     @Override

Reply via email to