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 2018/01/16 11:15:08 UTC
[2/2] syncope git commit: Completing the work for SYNCOPE-1249 with
pull support
Completing the work for SYNCOPE-1249 with pull support
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/828d1bc1
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/828d1bc1
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/828d1bc1
Branch: refs/heads/master
Commit: 828d1bc1d364c96ab149eb96049cc577348a3ee9
Parents: 0c2e4ba
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jan 16 11:18:16 2018 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jan 16 12:14:53 2018 +0100
----------------------------------------------------------------------
.../core/persistence/jpa/outer/PlainSchemaTest.java | 4 ++--
.../src/test/resources/domains/MasterContent.xml | 3 +++
.../core/provisioning/java/MappingManagerImpl.java | 7 +++++++
fit/build-tools/src/main/resources/testdb.sql | 1 +
.../java/org/apache/syncope/fit/core/PullTaskITCase.java | 10 +++++-----
5 files changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/828d1bc1/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java
index efffb8d..0203a06 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java
@@ -210,7 +210,7 @@ public class PlainSchemaTest extends AbstractTest {
@Test
public void deleteFirstname() {
- assertEquals(5, resourceDAO.find("resource-db-pull").
+ assertEquals(6, resourceDAO.find("resource-db-pull").
getProvision(anyTypeDAO.findUser()).get().getMapping().getItems().size());
plainSchemaDAO.delete("firstname");
@@ -218,7 +218,7 @@ public class PlainSchemaTest extends AbstractTest {
plainSchemaDAO.flush();
- assertEquals(4, resourceDAO.find("resource-db-pull").
+ assertEquals(5, resourceDAO.find("resource-db-pull").
getProvision(anyTypeDAO.findUser()).get().getMapping().getItems().size());
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/828d1bc1/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 7c2298d..d8eb1be 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -1105,6 +1105,9 @@ under the License.
<MappingItem id="e7215305-93c9-460b-b862-46f7b60de72d" connObjectKey="0" mapping_id="cda910bd-fc28-4f63-890e-66edc62d428b"
extAttrName="EMAIL" intAttrName="userId"
mandatoryCondition="false" password="0" purpose="PULL"/>
+ <MappingItem id="fb59d169-cf59-43f6-a517-adfd9aacc609" connObjectKey="0" mapping_id="cda910bd-fc28-4f63-890e-66edc62d428b"
+ extAttrName="MUSTCHANGEPASSWORD" intAttrName="mustChangePassword"
+ mandatoryCondition="false" password="0" purpose="PULL"/>
<Provision id="6d7cb60a-c4ad-4a70-94ae-e5b88eb24930" resource_id="resource-db-virattr" anyType_id="USER" objectClass="__ACCOUNT__"/>
<Mapping id="45280585-308f-4571-9788-c7a4734b3614" provision_id="6d7cb60a-c4ad-4a70-94ae-e5b88eb24930"/>
http://git-wip-us.apache.org/repos/asf/syncope/blob/828d1bc1/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
index a1d04fa..8d0d83f 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
@@ -25,6 +25,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -657,6 +658,12 @@ public class MappingManagerImpl implements MappingManager {
}
break;
+ case "mustChangePassword":
+ if (anyTO instanceof UserTO && !values.isEmpty() && values.get(0) != null) {
+ ((UserTO) anyTO).setMustChangePassword(BooleanUtils.toBoolean(values.get(0).toString()));
+ }
+ break;
+
case "userOwner":
case "groupOwner":
if (anyTO instanceof GroupTO && attr != null) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/828d1bc1/fit/build-tools/src/main/resources/testdb.sql
----------------------------------------------------------------------
diff --git a/fit/build-tools/src/main/resources/testdb.sql b/fit/build-tools/src/main/resources/testdb.sql
index 0eb42e8..5ad5341 100644
--- a/fit/build-tools/src/main/resources/testdb.sql
+++ b/fit/build-tools/src/main/resources/testdb.sql
@@ -39,6 +39,7 @@ CREATE TABLE testpull (
id CHAR(36) PRIMARY KEY,
username VARCHAR(80),
surname VARCHAR(80),
+mustChangePassword BOOLEAN,
email VARCHAR(80),
lastModification TIMESTAMP);
http://git-wip-us.apache.org/repos/asf/syncope/blob/828d1bc1/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 df0afdd..59fe873 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
@@ -520,9 +520,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
try {
// 1. create 2 users on testpull
jdbcTemplate.execute("INSERT INTO testpull VALUES ("
- + "'" + user1OnTestPull + "', 'user1', 'Doe', 'mail1@apache.org', NULL)");
+ + "'" + user1OnTestPull + "', 'user1', 'Doe', false, 'mail1@apache.org', NULL)");
jdbcTemplate.execute("INSERT INTO testpull VALUES ("
- + "'" + user2OnTestPull + "', 'user2', 'Rossi', 'mail2@apache.org', NULL)");
+ + "'" + user2OnTestPull + "', 'user2', 'Rossi', false, 'mail2@apache.org', NULL)");
// 2. create new pull task for test-db, with reconciliation filter (surname 'Rossi')
ImplementationTO reconFilterBuilder = new ImplementationTO();
@@ -621,10 +621,10 @@ public class PullTaskITCase extends AbstractTaskITCase {
jdbcTemplate.execute("DELETE FROM testpull");
jdbcTemplate.execute("INSERT INTO testpull VALUES "
+ "(1040, 'syncTokenWithErrors1', 'Surname1', "
- + "'syncTokenWithErrors1@syncope.apache.org', '2014-05-23 13:53:24.293')");
+ + "false, 'syncTokenWithErrors1@syncope.apache.org', '2014-05-23 13:53:24.293')");
jdbcTemplate.execute("INSERT INTO testpull VALUES "
+ "(1041, 'syncTokenWithErrors2', 'Surname2', "
- + "'syncTokenWithErrors1@syncope.apache.org', '2015-05-23 13:53:24.293')");
+ + "false, 'syncTokenWithErrors1@syncope.apache.org', '2015-05-23 13:53:24.293')");
ExecTO exec = execProvisioningTask(taskService, pullTask.getKey(), 50, false);
assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus()));
@@ -729,7 +729,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 1. populate the external table
jdbcTemplate.execute("INSERT INTO testpull VALUES"
- + "('" + id + "', 'issuesyncope230', 'Surname', 'syncope230@syncope.apache.org', NULL)");
+ + "('" + id + "', 'issuesyncope230', 'Surname', false, 'syncope230@syncope.apache.org', NULL)");
// 2. execute PullTask for resource-db-pull (table TESTPULL on external H2)
execProvisioningTask(taskService, "7c2242f4-14af-4ab5-af31-cdae23783655", 50, false);