You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2018/12/10 15:06:06 UTC

[syncope] branch master updated (8340ea4 -> 0377b6b)

This is an automated email from the ASF dual-hosted git repository.

fmartelli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 8340ea4  [SYNCOPE-1410] Renaming [User,Group,AnyObject]Patch -> [\1]UR
     new c1879cc  [SYNCOPE-1411] force cascade
     new 4c9fba5  [SYNCOPE-1412] changes in order to avoid null_attr views
     new 1f46864  [SYNCOPE-1412] removes debug statement
     new 0377b6b  [SYNCOPE-1411] fixes merge from 2_0_X

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java | 15 +++++++++------
 .../provisioning/java/data/AnyObjectDataBinderImpl.java   |  2 ++
 .../core/provisioning/java/data/UserDataBinderImpl.java   |  4 +++-
 3 files changed, 14 insertions(+), 7 deletions(-)


[syncope] 02/04: [SYNCOPE-1412] changes in order to avoid null_attr views

Posted by fm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fmartelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 4c9fba59559f8f9e583bce3733db590124c082e6
Author: fmartelli <fa...@gmail.com>
AuthorDate: Mon Dec 10 14:37:22 2018 +0100

    [SYNCOPE-1412] changes in order to avoid null_attr views
---
 .../syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java  | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index 02e2535..942cc95 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -877,15 +877,17 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
         StringBuilder query = new StringBuilder("SELECT DISTINCT any_id FROM ");
         switch (cond.getType()) {
             case ISNOTNULL:
-                query.append(svs.field().name).
-                        append(" WHERE any_id NOT IN (SELECT any_id FROM ").
-                        append(svs.asSearchViewSupport().nullAttr().name).
-                        append(" WHERE schema_id='").append(checked.getLeft().getKey()).append("')");
+                query.append(svs.attr().name).append(" WHERE schema_id=").
+                        append("'").append(checked.getLeft().getKey()).append("'");
                 break;
 
             case ISNULL:
-                query.append(svs.asSearchViewSupport().nullAttr().name).
-                        append(" WHERE schema_id='").append(checked.getLeft().getKey()).append("'");
+                query.append(svs.field().name).
+                        append(" WHERE any_id NOT IN ").
+                        append("(").
+                        append("SELECT DISTINCT any_id FROM ").append(svs.attr().name).append(" WHERE schema_id=").
+                        append("'").append(checked.getLeft().getKey()).append("'").
+                        append(")");
                 break;
 
             default:


[syncope] 03/04: [SYNCOPE-1412] removes debug statement

Posted by fm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fmartelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 1f4686455d7ca6d973d9f898f6c86ee1d0ae73ff
Author: fmartelli <fa...@gmail.com>
AuthorDate: Mon Dec 10 15:38:10 2018 +0100

    [SYNCOPE-1412] removes debug statement
---
 .../org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index 942cc95..0688100 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -877,7 +877,7 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
         StringBuilder query = new StringBuilder("SELECT DISTINCT any_id FROM ");
         switch (cond.getType()) {
             case ISNOTNULL:
-                query.append(svs.attr().name).append(" WHERE schema_id=").
+                query.append(svs.asSearchViewSupport().attr().name).append(" WHERE schema_id=").
                         append("'").append(checked.getLeft().getKey()).append("'");
                 break;
 
@@ -885,7 +885,8 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
                 query.append(svs.field().name).
                         append(" WHERE any_id NOT IN ").
                         append("(").
-                        append("SELECT DISTINCT any_id FROM ").append(svs.attr().name).append(" WHERE schema_id=").
+                        append("SELECT DISTINCT any_id FROM ").
+                        append(svs.asSearchViewSupport().attr().name).append(" WHERE schema_id=").
                         append("'").append(checked.getLeft().getKey()).append("'").
                         append(")");
                 break;


[syncope] 04/04: [SYNCOPE-1411] fixes merge from 2_0_X

Posted by fm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fmartelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit 0377b6b1c39fae4878ed2b77e19d290fe62797da
Author: fmartelli <fa...@gmail.com>
AuthorDate: Mon Dec 10 15:38:49 2018 +0100

    [SYNCOPE-1411] fixes merge from 2_0_X
---
 .../core/provisioning/java/data/AnyObjectDataBinderImpl.java        | 6 ------
 .../syncope/core/provisioning/java/data/UserDataBinderImpl.java     | 6 +-----
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
index c13052c..a6e3f17 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
@@ -54,7 +54,6 @@ import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
 import org.apache.syncope.core.persistence.api.entity.group.Group;
 import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
 import org.apache.syncope.core.provisioning.api.data.AnyObjectDataBinder;
-import org.apache.syncope.core.provisioning.api.utils.EntityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -342,17 +341,12 @@ public class AnyObjectDataBinderImpl extends AbstractAnyDataBinder implements An
             anyObject.getMembership(membPatch.getGroup()).ifPresent(membership -> {
                 anyObject.remove(membership);
                 membership.setLeftEnd(null);
-                Set<String> membAttrKeys = new HashSet<>();
                 anyObject.getPlainAttrs(membership).forEach(attr -> {
                     anyObject.remove(attr);
                     attr.setOwner(null);
                     attr.setMembership(null);
-                    membAttrKeys.add(attr.getKey());
                     plainAttrValueDAO.deleteAll(attr, anyUtils);
                 });
-                membAttrKeys.forEach(attrKey -> {
-                    plainAttrDAO.delete(attrKey, anyUtils.plainAttrClass());
-                });
 
                 if (membPatch.getOperation() == PatchOperation.DELETE) {
                     groupDAO.findAllResourceKeys(membership.getRightEnd().getKey()).stream().
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
index f629f8b..c31bbbb 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
@@ -414,16 +414,12 @@ public class UserDataBinderImpl extends AbstractAnyDataBinder implements UserDat
             user.getMembership(membPatch.getGroup()).ifPresent(membership -> {
                 user.remove(membership);
                 membership.setLeftEnd(null);
-                Set<String> membAttrKeys = new HashSet<>();
                 user.getPlainAttrs(membership).forEach(attr -> {
                     user.remove(attr);
                     attr.setOwner(null);
                     attr.setMembership(null);
-                    membAttrKeys.add(attr.getKey());
                     plainAttrValueDAO.deleteAll(attr, anyUtils);
-                });
-                membAttrKeys.forEach(attrKey -> {
-                    plainAttrDAO.delete(attrKey, anyUtils.plainAttrClass());
+                    plainAttrDAO.delete(attr);
                 });
                 
                 if (membPatch.getOperation() == PatchOperation.DELETE) {


[syncope] 01/04: [SYNCOPE-1411] force cascade

Posted by fm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fmartelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit c1879cc2023a32e7d7b60d8389165ea17024b2e2
Author: fmartelli <fa...@gmail.com>
AuthorDate: Mon Dec 10 14:24:30 2018 +0100

    [SYNCOPE-1411] force cascade
---
 .../core/provisioning/java/data/AnyObjectDataBinderImpl.java      | 8 ++++++++
 .../syncope/core/provisioning/java/data/UserDataBinderImpl.java   | 8 +++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
index 714cfb6..c13052c 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyObjectDataBinderImpl.java
@@ -54,6 +54,7 @@ import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
 import org.apache.syncope.core.persistence.api.entity.group.Group;
 import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
 import org.apache.syncope.core.provisioning.api.data.AnyObjectDataBinder;
+import org.apache.syncope.core.provisioning.api.utils.EntityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -341,9 +342,16 @@ public class AnyObjectDataBinderImpl extends AbstractAnyDataBinder implements An
             anyObject.getMembership(membPatch.getGroup()).ifPresent(membership -> {
                 anyObject.remove(membership);
                 membership.setLeftEnd(null);
+                Set<String> membAttrKeys = new HashSet<>();
                 anyObject.getPlainAttrs(membership).forEach(attr -> {
                     anyObject.remove(attr);
                     attr.setOwner(null);
+                    attr.setMembership(null);
+                    membAttrKeys.add(attr.getKey());
+                    plainAttrValueDAO.deleteAll(attr, anyUtils);
+                });
+                membAttrKeys.forEach(attrKey -> {
+                    plainAttrDAO.delete(attrKey, anyUtils.plainAttrClass());
                 });
 
                 if (membPatch.getOperation() == PatchOperation.DELETE) {
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
index d7d5f1a..f629f8b 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/UserDataBinderImpl.java
@@ -414,12 +414,18 @@ public class UserDataBinderImpl extends AbstractAnyDataBinder implements UserDat
             user.getMembership(membPatch.getGroup()).ifPresent(membership -> {
                 user.remove(membership);
                 membership.setLeftEnd(null);
+                Set<String> membAttrKeys = new HashSet<>();
                 user.getPlainAttrs(membership).forEach(attr -> {
                     user.remove(attr);
                     attr.setOwner(null);
                     attr.setMembership(null);
+                    membAttrKeys.add(attr.getKey());
+                    plainAttrValueDAO.deleteAll(attr, anyUtils);
                 });
-
+                membAttrKeys.forEach(attrKey -> {
+                    plainAttrDAO.delete(attrKey, anyUtils.plainAttrClass());
+                });
+                
                 if (membPatch.getOperation() == PatchOperation.DELETE) {
                     groupDAO.findAllResourceKeys(membership.getRightEnd().getKey()).stream().
                             filter(resource -> reasons.containsKey(resource)).