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 2016/07/07 10:02:06 UTC
syncope git commit: [SYNCOPE-898] Missing parts on core now fixed
Repository: syncope
Updated Branches:
refs/heads/master 0656bc07f -> f8212ae2b
[SYNCOPE-898] Missing parts on core now fixed
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/f8212ae2
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/f8212ae2
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/f8212ae2
Branch: refs/heads/master
Commit: f8212ae2b290acadbc47e5b737b057b33dda5654
Parents: 0656bc0
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Thu Jul 7 12:02:00 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Thu Jul 7 12:02:00 2016 +0200
----------------------------------------------------------------------
.../src/test/resources/domains/MasterContent.xml | 2 +-
.../core/provisioning/java/utils/ConnObjectUtils.java | 2 +-
.../syncope/core/provisioning/java/utils/TemplateUtils.java | 9 +++++----
fit/build-tools/src/main/resources/content.ldif | 1 +
.../java/org/apache/syncope/fit/core/PullTaskITCase.java | 8 +++++++-
5 files changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/f8212ae2/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 39ccf38..ed9edad 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -1070,7 +1070,7 @@ under the License.
destinationRealm_id="e4c28e7a-9dbf-4ee7-9441-93812a0d4a28" pullMode="FULL_RECONCILIATION" performCreate="1" performDelete="1" performUpdate="1" syncStatus="0"
unmatchingRule="PROVISION" matchingRule="UPDATE" active="1"/>
<AnyTemplatePullTask id="df655a2a-40c0-43b1-a157-3f4988802f58" pullTask_id="1e419ca4-ea81-4493-a14f-28b90113686d" anyType_id="USER"
- template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":null,"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":[]}'/>
+ template='{"@class":"org.apache.syncope.common.lib.to.UserTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":null,"type":"USER","realm":"'/' + title","status":null,"password":null,"token":null,"tokenExpireTime":null,"username":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":null,"securityAnswer":null,"auxClasses":["minimal group"],"derAttrs":[],"virAttrs":[{"schema":"virtualReadOnly","readonly":true,"values":[""]}],"resources":["resource-ldap"],"roles":[],"dynRoles":[],"relationships":[],"memberships":[],"dynGroups":[],"plainAttrs":[]}'/>
<AnyTemplatePullTask id="fda22ff3-98f3-42e4-a2ae-cd9a28282d57" pullTask_id="1e419ca4-ea81-4493-a14f-28b90113686d" anyType_id="GROUP"
template='{"@class":"org.apache.syncope.common.lib.to.GroupTO","creator":null,"creationDate":null,"lastModifier":null,"lastChangeDate":null,"key":null,"type":"GROUP","realm":null,"status":null,"name":null,"userOwner":null,"groupOwner":null,"udynMembershipCond":null,"auxClasses":[],"derAttrs":[],"virAttrs":[],"resources":[],"plainAttrs":[{"schema":"show","readonly":false,"values":["true"]}]}'/>
<PullTask_actionsClassNames pullTask_id="1e419ca4-ea81-4493-a14f-28b90113686d" actionClassName="org.apache.syncope.core.provisioning.java.pushpull.LDAPMembershipPullActions"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/f8212ae2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
index c0ed5fc..94822ed 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/ConnObjectUtils.java
@@ -133,7 +133,7 @@ public class ConnObjectUtils {
// (for users) if password was not set above, generate
if (anyTO instanceof UserTO && StringUtils.isBlank(((UserTO) anyTO).getPassword())) {
- final UserTO userTO = (UserTO) anyTO;
+ UserTO userTO = (UserTO) anyTO;
List<PasswordRuleConf> ruleConfs = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/syncope/blob/f8212ae2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
index f750cbf..de0480f 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/utils/TemplateUtils.java
@@ -69,7 +69,10 @@ public class TemplateUtils {
private void fill(final AnyTO anyTO, final AnyTO template) {
if (template.getRealm() != null) {
- anyTO.setRealm(template.getRealm());
+ String evaluated = JexlUtils.evaluate(template.getRealm(), anyTO, new MapContext());
+ if (StringUtils.isNotBlank(evaluated)) {
+ anyTO.setRealm(evaluated);
+ }
}
Map<String, AttrTO> currentAttrMap = anyTO.getPlainAttrMap();
@@ -99,9 +102,7 @@ public class TemplateUtils {
}
}
- for (String resource : template.getResources()) {
- anyTO.getResources().add(resource);
- }
+ anyTO.getResources().addAll(template.getResources());
anyTO.getAuxClasses().addAll(template.getAuxClasses());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f8212ae2/fit/build-tools/src/main/resources/content.ldif
----------------------------------------------------------------------
diff --git a/fit/build-tools/src/main/resources/content.ldif b/fit/build-tools/src/main/resources/content.ldif
index 982728b..18f184f 100644
--- a/fit/build-tools/src/main/resources/content.ldif
+++ b/fit/build-tools/src/main/resources/content.ldif
@@ -44,6 +44,7 @@ sn: Surname
uid: pullFromLDAP
userpassword:: cGFzc3dvcmQxMjM=
givenname: pullFromLDAP
+title: odd
registeredAddress: 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8
jpegPhoto:: /9j/4AAQSkZJRgABAQEBKwErAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoH
BwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQk
http://git-wip-us.apache.org/repos/asf/syncope/blob/f8212ae2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
index b08fc3d..74f8b17 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
@@ -208,7 +208,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
ExecTO exec = execProvisioningTask(taskService, PULL_TASK_KEY, 50, false);
assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus()));
-
+
LOG.debug("Execution of task {}:\n{}", PULL_TASK_KEY, exec);
// check for pull results
@@ -382,6 +382,10 @@ public class PullTaskITCase extends AbstractTaskITCase {
build());
assertNotNull(matchingGroups);
assertEquals(1, matchingGroups.getResult().size());
+ // SYNCOPE-898
+ PullTaskTO task = taskService.read("1e419ca4-ea81-4493-a14f-28b90113686d", false);
+ assertEquals("/", task.getDestinationRealm());
+ assertEquals("/", matchingGroups.getResult().get(0).getRealm());
// 3. verify that pulled user is found
PagedResult<UserTO> matchingUsers = userService.search(
@@ -390,6 +394,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
build());
assertNotNull(matchingUsers);
assertEquals(1, matchingUsers.getResult().size());
+ // SYNCOPE-898
+ assertEquals("/odd", matchingUsers.getResult().get(0).getRealm());
// Check for SYNCOPE-436
assertEquals("pullFromLDAP",