You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by an...@apache.org on 2017/06/26 10:38:03 UTC

syncope git commit: [SYNCOPE-1116] added propagation action to documentation, fixed failing tests

Repository: syncope
Updated Branches:
  refs/heads/master 9442842a4 -> 023b20088


[SYNCOPE-1116] added propagation action to documentation, fixed failing tests


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

Branch: refs/heads/master
Commit: 023b200886972f236323a649e30523d5945e4ec6
Parents: 9442842
Author: Andrea Patricelli <an...@apache.org>
Authored: Mon Jun 26 12:37:19 2017 +0200
Committer: Andrea Patricelli <an...@apache.org>
Committed: Mon Jun 26 12:37:41 2017 +0200

----------------------------------------------------------------------
 .../syncope/core/persistence/jpa/dao/JPARealmDAO.java |  4 +---
 .../LDAPNestedRealmPropagationActions.java            |  4 ++++
 .../org/apache/syncope/fit/console/RealmsITCase.java  | 14 +++++++-------
 .../org/apache/syncope/fit/core/PushTaskITCase.java   |  2 +-
 .../concepts/provisioning/propagation.adoc            | 11 +++++++++++
 5 files changed, 24 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/023b2008/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
index b2cd657..a1e4179 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPARealmDAO.java
@@ -178,9 +178,7 @@ public class JPARealmDAO extends AbstractDAO<Realm> implements RealmDAO {
 
     @Override
     public List<Realm> findAll() {
-        TypedQuery<Realm> query = entityManager().createQuery(
-                "SELECT e FROM " + JPARealm.class.getSimpleName() + " e ", Realm.class);
-        return query.getResultList();
+        return findDescendants(getRoot());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/023b2008/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java
index 73ff1b6..8cd8fe1 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java
@@ -32,6 +32,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+/**
+ * Action for propagating realms to LDAP resource respecting realms hierarchy.
+ *
+ */
 public class LDAPNestedRealmPropagationActions extends DefaultPropagationActions {
 
     private static final Logger LOG = LoggerFactory.getLogger(LDAPNestedRealmPropagationActions.class);

http://git-wip-us.apache.org/repos/asf/syncope/blob/023b2008/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
index 26eabdb..66df83e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
@@ -154,14 +154,14 @@ public class RealmsITCase extends AbstractConsoleITCase {
     @Test
     public void verifyPropagation() {
         TESTER.executeAjaxEvent("body:content:realmChoicePanel:container:realms:btn", Constants.ON_CLICK);
-        TESTER.executeAjaxEvent("body:content:realmChoicePanel:container:realms:dropdown-menu:buttons:3:button",
+        TESTER.executeAjaxEvent("body:content:realmChoicePanel:container:realms:dropdown-menu:buttons:2:button",
                 Constants.ON_CLICK);
 
         TESTER.clickLink(
                 "body:content:body:container:content:tabbedPanel:panel:actions:actions:actionRepeater:1:action:action");
         TESTER.assertComponent("body:content:body:outerObjectsRepeater:0:outer", Modal.class);
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:form:view:details:"
-                + "container:generics:name:textField", "two");
+                + "container:generics:name:textField", "even");
 
         FormTester formTester = TESTER.newFormTester(
                 "body:content:body:outerObjectsRepeater:0:outer:form:content:form");
@@ -173,7 +173,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
         TESTER.cleanupFeedbackMessages();
 
         // ----------------------------------
-        // Check for propagation rsults
+        // Check for propagation results
         // ----------------------------------
         Component component = findComponentByProp("resource", "body:content:body:outerObjectsRepeater:0:outer:form:"
                 + "content:customResultBody:firstLevelContainer:first:container", "resource-ldap-orgunit");
@@ -196,7 +196,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
                 + "secondLevelContainer:second:remoteObject:propView:2:value:newAttribute:field-label", "ou");
 
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
-                + "secondLevelContainer:second:remoteObject:propView:2:value:newAttribute:textField", "two");
+                + "secondLevelContainer:second:remoteObject:propView:2:value:newAttribute:textField", "even");
 
         TESTER.clickLink("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:back");
@@ -212,7 +212,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
                 "body:content:body:container:content:tabbedPanel:panel:actions:actions:actionRepeater:1:action:action");
         TESTER.assertComponent("body:content:body:outerObjectsRepeater:0:outer", Modal.class);
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:form:view:details:"
-                + "container:generics:name:textField", "two");
+                + "container:generics:name:textField", "even");
 
         formTester = TESTER.newFormTester(
                 "body:content:body:outerObjectsRepeater:0:outer:form:content:form");
@@ -224,7 +224,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
         TESTER.cleanupFeedbackMessages();
 
         // ----------------------------------
-        // Check for propagation rsults
+        // Check for propagation results
         // ----------------------------------
         component = findComponentByProp("resource", "body:content:body:outerObjectsRepeater:0:outer:form:"
                 + "content:customResultBody:firstLevelContainer:first:container", "resource-ldap-orgunit");
@@ -235,7 +235,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
                 + "secondLevelContainer:second:remoteObject:propView:2:value:oldAttribute:field-label", "ou");
 
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
-                + "secondLevelContainer:second:remoteObject:propView:2:value:oldAttribute:textField", "two");
+                + "secondLevelContainer:second:remoteObject:propView:2:value:oldAttribute:textField", "even");
 
         TESTER.assertLabel("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:2:value:newAttribute:field-label", "ou");

http://git-wip-us.apache.org/repos/asf/syncope/blob/023b2008/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
index 0403dfe..549f4e0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
@@ -274,7 +274,7 @@ public class PushTaskITCase extends AbstractTaskITCase {
     public void orgUnit() {
         assertNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, "ou=odd,o=isp"));
         assertNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, "ou=even,o=isp"));
-        assertNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, "ou=two,o=isp"));
+        assertNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, "ou=two,ou=even,o=isp"));
 
         // 1. create task for pulling org units
         PushTaskTO task = new PushTaskTO();

http://git-wip-us.apache.org/repos/asf/syncope/blob/023b2008/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc b/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc
index 928fa67..02fe734 100644
--- a/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc
+++ b/src/main/asciidoc/reference-guide/concepts/provisioning/propagation.adoc
@@ -101,6 +101,17 @@ https://connid.atlassian.net/wiki/display/BASE/LDAP#LDAP-Configuration[LDAP conn
 
 | 
 ifeval::["{snapshotOrRelease}" == "release"]
+https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java[LDAPNestedRealmPropagationActions^]
+endif::[]
+ifeval::["{snapshotOrRelease}" == "snapshot"]
+https://github.com/apache/syncope/blob/2_0_X/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPNestedRealmPropagationActions.java[LDAPNestedRealmPropagationActions^]
+endif::[]
+| If a realm is child of some other realm (except root), i.e. has depth greater than 1, hence this hierarchy has to be 
+respected while propagating a realm to an LDAP resource.
+This propagation action guarantees correct hierarchy propagation.
+
+| 
+ifeval::["{snapshotOrRelease}" == "release"]
 https://github.com/apache/syncope/blob/syncope-{docVersion}/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java[DBPasswordPropagationActions^]
 endif::[]
 ifeval::["{snapshotOrRelease}" == "snapshot"]