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 2017/06/12 09:43:21 UTC
[1/4] syncope git commit: [SYNCOPE-1106] Removed methods returning
Map, added methods for getting attribute for specific schema
Repository: syncope
Updated Branches:
refs/heads/2_0_X ee453d664 -> 31cffd4ec
refs/heads/master 7a4805bec -> 9ec5f834f
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
index abf2d5d..937c37b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
@@ -93,7 +93,7 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
List<PropagationTaskTO> tasks = new ArrayList<>(
taskService.<PropagationTaskTO>list(new TaskQuery.Builder(TaskType.PROPAGATION).
anyTypeKind(AnyTypeKind.USER).entityKey(userTO.getKey()).build()).
- getResult());
+ getResult());
assertFalse(tasks.isEmpty());
BulkAction bulkAction = new BulkAction();
@@ -135,7 +135,7 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
// 1. create printer on external resource
AnyObjectTO anyObjectTO = AnyObjectITCase.getSampleTO("propagationJEXLTransformer");
- String originalLocation = anyObjectTO.getPlainAttrMap().get("location").getValues().get(0);
+ String originalLocation = anyObjectTO.getPlainAttr("location").getValues().get(0);
assertFalse(originalLocation.endsWith(suffix));
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
@@ -145,8 +145,8 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
// (location ends with given suffix on external resource)
ConnObjectTO connObjectTO = resourceService.
readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
- assertFalse(anyObjectTO.getPlainAttrMap().get("location").getValues().get(0).endsWith(suffix));
- assertTrue(connObjectTO.getAttrMap().get("LOCATION").getValues().get(0).endsWith(suffix));
+ assertFalse(anyObjectTO.getPlainAttr("location").getValues().get(0).endsWith(suffix));
+ assertTrue(connObjectTO.getAttr("LOCATION").getValues().get(0).endsWith(suffix));
} finally {
resourceService.update(originalResource);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/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 8458767..0869613 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
@@ -231,9 +231,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
assertEquals(userName, userTO.getUsername());
assertEquals(ActivitiDetector.isActivitiEnabledForUsers(syncopeService)
? "active" : "created", userTO.getStatus());
- assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("email").getValues().get(0));
- assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
- assertTrue(Integer.valueOf(userTO.getPlainAttrMap().get("fullname").getValues().get(0)) <= 10);
+ assertEquals("test9@syncope.apache.org", userTO.getPlainAttr("email").getValues().get(0));
+ assertEquals("test9@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
+ assertTrue(Integer.valueOf(userTO.getPlainAttr("fullname").getValues().get(0)) <= 10);
assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));
@@ -243,7 +243,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// check for user template
userTO = userService.read("test7");
assertNotNull(userTO);
- assertEquals("TYPE_OTHER", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("TYPE_OTHER", userTO.getPlainAttr("ctype").getValues().get(0));
assertEquals(3, userTO.getResources().size());
assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));
@@ -262,7 +262,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("test8");
assertNotNull(userTO);
- assertEquals("TYPE_8", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("TYPE_8", userTO.getPlainAttr("ctype").getValues().get(0));
// Check for ignored user - SYNCOPE-663
try {
@@ -315,7 +315,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("testuser1");
assertNotNull(userTO);
- assertEquals("reconciled@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
+ assertEquals("reconciled@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
assertEquals("suspended", userTO.getStatus());
// enable user on external resource
@@ -408,16 +408,16 @@ public class PullTaskITCase extends AbstractTaskITCase {
// Check for SYNCOPE-436
assertEquals("pullFromLDAP",
- matchingUsers.getResult().get(0).getVirAttrMap().get("virtualReadOnly").getValues().get(0));
+ matchingUsers.getResult().get(0).getVirAttr("virtualReadOnly").getValues().get(0));
// Check for SYNCOPE-270
- assertNotNull(matchingUsers.getResult().get(0).getPlainAttrMap().get("obscure"));
+ assertNotNull(matchingUsers.getResult().get(0).getPlainAttr("obscure"));
// Check for SYNCOPE-123
- assertNotNull(matchingUsers.getResult().get(0).getPlainAttrMap().get("photo"));
+ assertNotNull(matchingUsers.getResult().get(0).getPlainAttr("photo"));
GroupTO groupTO = matchingGroups.getResult().iterator().next();
assertNotNull(groupTO);
assertEquals("testLDAPGroup", groupTO.getName());
- assertEquals("true", groupTO.getPlainAttrMap().get("show").getValues().get(0));
+ assertEquals("true", groupTO.getPlainAttr("show").getValues().get(0));
assertEquals(matchingUsers.getResult().iterator().next().getKey(), groupTO.getUserOwner());
assertNull(groupTO.getGroupOwner());
@@ -480,7 +480,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 1. create printer on external resource
AnyObjectTO anyObjectTO = AnyObjectITCase.getSampleTO("pull");
- String originalLocation = anyObjectTO.getPlainAttrMap().get("location").getValues().get(0);
+ String originalLocation = anyObjectTO.getPlainAttr("location").getValues().get(0);
assertFalse(originalLocation.startsWith(PrefixMappingItemTransformer.PREFIX));
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
@@ -490,9 +490,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
// (location starts with given prefix on external resource)
ConnObjectTO connObjectTO = resourceService.
readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
- assertFalse(anyObjectTO.getPlainAttrMap().get("location").getValues().get(0).
+ assertFalse(anyObjectTO.getPlainAttr("location").getValues().get(0).
startsWith(PrefixMappingItemTransformer.PREFIX));
- assertTrue(connObjectTO.getAttrMap().get("LOCATION").getValues().get(0).
+ assertTrue(connObjectTO.getAttr("LOCATION").getValues().get(0).
startsWith(PrefixMappingItemTransformer.PREFIX));
// 3. unlink any existing printer and delete from Syncope (printer is now only on external resource)
@@ -761,7 +761,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("testuser2");
assertNotNull(userTO);
- assertEquals("testuser2@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
+ assertEquals("testuser2@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
assertEquals(2, userTO.getMemberships().size());
assertEquals(4, userTO.getResources().size());
} finally {
@@ -784,7 +784,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 3. read e-mail address for user created by the PullTask first execution
UserTO userTO = userService.read("issuesyncope230");
assertNotNull(userTO);
- String email = userTO.getPlainAttrMap().get("email").getValues().iterator().next();
+ String email = userTO.getPlainAttr("email").getValues().iterator().next();
assertNotNull(email);
// 4. update TESTPULL on external H2 by changing e-mail address
@@ -796,7 +796,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 6. verify that the e-mail was updated
userTO = userService.read("issuesyncope230");
assertNotNull(userTO);
- email = userTO.getPlainAttrMap().get("email").getValues().iterator().next();
+ email = userTO.getPlainAttr("email").getValues().iterator().next();
assertNotNull(email);
assertEquals("updatedSYNCOPE230@syncope.apache.org", email);
}
@@ -876,7 +876,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertNotNull(userTO.getPlainAttrMap().get("firstname").getValues().get(0));
+ assertNotNull(userTO.getPlainAttr("firstname").getValues().get(0));
} finally {
removeTestUsers();
}
@@ -886,8 +886,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
public void issueSYNCOPE307() {
UserTO userTO = UserITCase.getUniqueSampleTO("s307@apache.org");
userTO.setUsername("test0");
- userTO.getPlainAttrMap().get("firstname").getValues().clear();
- userTO.getPlainAttrMap().get("firstname").getValues().add("nome0");
+ userTO.getPlainAttr("firstname").getValues().clear();
+ userTO.getPlainAttr("firstname").getValues().add("nome0");
userTO.getAuxClasses().add("csv");
AttrTO csvuserid = new AttrTO();
@@ -901,7 +901,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
assertNotNull(userTO);
userTO = userService.read(userTO.getKey());
- assertTrue(userTO.getVirAttrMap().isEmpty());
+ assertTrue(userTO.getVirAttrs().isEmpty());
// Update pull task
PullTaskTO task = taskService.read("38abbf9e-a1a3-40a1-a15f-7d0ac02f47f1", true);
@@ -921,7 +921,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// check that template was successfully applied...
userTO = userService.read(userTO.getKey());
- assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualvalue", userTO.getVirAttr("virtualdata").getValues().get(0));
// ...and that propagation to db succeeded
JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
@@ -1018,9 +1018,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
oldCleanPassword,
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 5. Update the LDAP Connector to retrieve passwords
ResourceTO ldapResource = resourceService.read(RESOURCE_NAME_LDAP);
@@ -1112,7 +1112,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// the user is successfully pulled...
user = userService.read("pullFromLDAP");
assertNotNull(user);
- assertEquals("pullFromLDAP@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
+ assertEquals("pullFromLDAP@syncope.apache.org", user.getPlainAttr("email").getValues().get(0));
group = groupService.read("testLDAPGroup");
assertNotNull(group);
@@ -1120,18 +1120,18 @@ public class PullTaskITCase extends AbstractTaskITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- assertEquals("pullFromLDAP@syncope.apache.org", connObject.getAttrMap().get("mail").getValues().get(0));
- AttrTO userDn = connObject.getAttrMap().get(Name.NAME);
+ assertEquals("pullFromLDAP@syncope.apache.org", connObject.getAttr("mail").getValues().get(0));
+ AttrTO userDn = connObject.getAttr(Name.NAME);
assertNotNull(userDn);
assertEquals(1, userDn.getValues().size());
assertNotNull(
getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, userDn.getValues().get(0)));
// ...and propagated
- JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
- String email = queryForObject(
- jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
- assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
+ PagedResult<AbstractTaskTO> propagationTasks = taskService.list(new TaskQuery.Builder(TaskType.PROPAGATION).
+ resource(RESOURCE_NAME_DBPULL).
+ anyTypeKind(AnyTypeKind.USER).entityKey(user.getKey()).build());
+ assertEquals(1, propagationTasks.getSize());
// 4. update the user on the external resource
updateLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD,
@@ -1139,7 +1139,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
connObject = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- assertEquals("pullFromLDAP2@syncope.apache.org", connObject.getAttrMap().get("mail").getValues().get(0));
+ assertEquals("pullFromLDAP2@syncope.apache.org", connObject.getAttr("mail").getValues().get(0));
// 5. exec the pull task again
execution = execProvisioningTask(taskService, pullTask.getKey(), 50, false);
@@ -1148,12 +1148,13 @@ public class PullTaskITCase extends AbstractTaskITCase {
// the internal is updated...
user = userService.read("pullFromLDAP");
assertNotNull(user);
- assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
+ assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttr("email").getValues().get(0));
// ...and propagated
- email = queryForObject(
- jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
- assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
+ propagationTasks = taskService.list(new TaskQuery.Builder(TaskType.PROPAGATION).
+ resource(RESOURCE_NAME_DBPULL).
+ anyTypeKind(AnyTypeKind.USER).entityKey(user.getKey()).build());
+ assertEquals(2, propagationTasks.getSize());
} catch (Exception e) {
LOG.error("Unexpected during issueSYNCOPE1062()", e);
fail(e.getMessage());
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
index 370cf52..ebfb113 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
@@ -35,6 +35,7 @@ import java.util.Set;
import javax.ws.rs.core.Response;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.client.console.commons.ConnIdSpecialName;
import org.apache.syncope.client.lib.AnonymousAuthenticationHandler;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyObjectTO;
@@ -573,7 +574,7 @@ public class ResourceITCase extends AbstractITCase {
@Override
public String transform(final ConnObjectTO input) {
- return input.getAttrMap().get("__NAME__").getValues().get(0);
+ return input.getAttr(ConnIdSpecialName.NAME).getValues().get(0);
}
}, read);
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
index 69dd12e..356d98a 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
@@ -93,7 +93,7 @@ public class UserITCase extends AbstractITCase {
private static final FastDateFormat DATE_FORMAT = DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT;
private boolean getBooleanAttribute(final ConnObjectTO connObjectTO, final String attrName) {
- return Boolean.parseBoolean(connObjectTO.getAttrMap().get(attrName).getValues().get(0));
+ return Boolean.parseBoolean(connObjectTO.getAttr(attrName).getValues().get(0));
}
public static UserTO getUniqueSampleTO(final String email) {
@@ -335,7 +335,7 @@ public class UserITCase extends AbstractITCase {
// 4. try (and fail) to create another user with same (unique) values
userTO = getSampleTO(userTO.getUsername());
- AttrTO userIdAttr = userTO.getPlainAttrMap().get("userId");
+ AttrTO userIdAttr = userTO.getPlainAttr("userId");
userIdAttr.getValues().clear();
userIdAttr.getValues().add("a.b@c.com");
@@ -351,7 +351,7 @@ public class UserITCase extends AbstractITCase {
public void createWithRequiredValueMissing() {
UserTO userTO = getUniqueSampleTO("a.b@c.it");
- AttrTO type = userTO.getPlainAttrMap().get("ctype");
+ AttrTO type = userTO.getPlainAttr("ctype");
userTO.getPlainAttrs().remove(type);
userTO.getMemberships().add(new MembershipTO.Builder().
@@ -367,7 +367,7 @@ public class UserITCase extends AbstractITCase {
userTO.getPlainAttrs().add(attrTO("ctype", "F"));
- AttrTO surname = userTO.getPlainAttrMap().get("surname");
+ AttrTO surname = userTO.getPlainAttr("surname");
userTO.getPlainAttrs().remove(surname);
// 2. create user without surname (mandatory when type == 'F')
@@ -512,8 +512,7 @@ public class UserITCase extends AbstractITCase {
userTO = updateUser(userPatch).getEntity();
assertNotNull(userTO);
- assertNotNull(userTO.getDerAttrMap());
- assertFalse(userTO.getPlainAttrMap().containsKey("ctype"));
+ assertNull(userTO.getPlainAttr("ctype"));
}
@Test(expected = SyncopeClientException.class)
@@ -585,10 +584,10 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, userTO.getMemberships().size());
assertFalse(userTO.getDerAttrs().isEmpty());
- AttrTO userIdAttr = userTO.getPlainAttrMap().get("userId");
+ AttrTO userIdAttr = userTO.getPlainAttr("userId");
assertEquals(Collections.singletonList(newUserId), userIdAttr.getValues());
- AttrTO fullNameAttr = userTO.getPlainAttrMap().get("fullname");
+ AttrTO fullNameAttr = userTO.getPlainAttr("fullname");
assertEquals(Collections.singletonList(newFullName), fullNameAttr.getValues());
}
@@ -838,7 +837,7 @@ public class UserITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertNotNull(userTO);
- AttrTO loginDate = userTO.getPlainAttrMap().get("loginDate");
+ AttrTO loginDate = userTO.getPlainAttr("loginDate");
assertNotNull(loginDate);
assertEquals(1, loginDate.getValues().size());
@@ -852,7 +851,7 @@ public class UserITCase extends AbstractITCase {
userTO = updateUser(userPatch).getEntity();
assertNotNull(userTO);
- loginDate = userTO.getPlainAttrMap().get("loginDate");
+ loginDate = userTO.getPlainAttr("loginDate");
assertNotNull(loginDate);
assertEquals(2, loginDate.getValues().size());
}
@@ -928,12 +927,12 @@ public class UserITCase extends AbstractITCase {
UserTO actual = createUser(userTO).getEntity();
assertNotNull(actual);
- assertNotNull(actual.getDerAttrMap().get("csvuserid"));
+ assertNotNull(actual.getDerAttr("csvuserid"));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_CSV, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("sx-dx", connObjectTO.getAttrMap().get("THEIRGROUP").getValues().get(0));
+ assertEquals("sx-dx", connObjectTO.getAttr("THEIRGROUP").getValues().get(0));
}
@Test
@@ -1013,7 +1012,7 @@ public class UserITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_CSV, AnyTypeKind.USER.name(), userTO.getKey());
- assertNull(connObjectTO.getAttrMap().get("email"));
+ assertNull(connObjectTO.getAttr("email"));
}
@Test
@@ -1321,7 +1320,7 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, result.getPropagationStatuses().size());
assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus());
assertEquals("rest-target-resource", result.getPropagationStatuses().get(0).getResource());
- assertEquals("surname", userTO.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname", userTO.getPlainAttr("surname").getValues().get(0));
// verify user exists on the backend REST service
WebClient webClient = WebClient.create(
@@ -1341,7 +1340,7 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, result.getPropagationStatuses().size());
assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus());
assertEquals("rest-target-resource", result.getPropagationStatuses().get(0).getResource());
- assertEquals("surname2", result.getEntity().getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname2", result.getEntity().getPlainAttr("surname").getValues().get(0));
// verify user still exists on the backend REST service
response = webClient.get();
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index df32cad..499b24c 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -409,7 +409,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_DBVIRATTR, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(connObjectTO);
- assertEquals("virtualvalue", connObjectTO.getAttrMap().get("USERNAME").getValues().get(0));
+ assertEquals("virtualvalue", connObjectTO.getAttr("USERNAME").getValues().get(0));
// ----------------------------------
userTO = userService.read(userTO.getKey());
@@ -467,7 +467,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO userOnDb = resourceService.readConnObject(
RESOURCE_NAME_TESTDB, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDbAttr = userOnDb.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDbAttr = userOnDb.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDbAttr);
assertNotNull(pwdOnTestDbAttr.getValues());
assertFalse(pwdOnTestDbAttr.getValues().isEmpty());
@@ -475,7 +475,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO userOnDb2 = resourceService.readConnObject(
RESOURCE_NAME_TESTDB2, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDb2Attr = userOnDb2.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDb2Attr = userOnDb2.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDb2Attr);
assertNotNull(pwdOnTestDb2Attr.getValues());
assertFalse(pwdOnTestDb2Attr.getValues().isEmpty());
@@ -500,7 +500,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 3c. verify that password *has* changed on testdb
userOnDb = resourceService.readConnObject(RESOURCE_NAME_TESTDB, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDbAttrAfter = userOnDb.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDbAttrAfter = userOnDb.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDbAttrAfter);
assertNotNull(pwdOnTestDbAttrAfter.getValues());
assertFalse(pwdOnTestDbAttrAfter.getValues().isEmpty());
@@ -508,7 +508,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 3d. verify that password hasn't changed on testdb2
userOnDb2 = resourceService.readConnObject(RESOURCE_NAME_TESTDB2, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDb2AttrAfter = userOnDb2.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDb2AttrAfter = userOnDb2.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDb2AttrAfter);
assertNotNull(pwdOnTestDb2AttrAfter.getValues());
assertFalse(pwdOnTestDb2AttrAfter.getValues().isEmpty());
@@ -607,7 +607,7 @@ public class UserIssuesITCase extends AbstractITCase {
userPatch.setKey(userKey);
userPatch.getPlainAttrs().add(attrAddReplacePatch("ctype", "a type"));
UserTO userTO = updateUser(userPatch).getEntity();
- assertEquals("a type", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("a type", userTO.getPlainAttr("ctype").getValues().get(0));
}
}
@@ -643,7 +643,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObj = resourceService.readConnObject(
RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObj);
- assertTrue(connObj.getAttrMap().get("uniqueMember").getValues().
+ assertTrue(connObj.getAttr("uniqueMember").getValues().
contains("uid=" + userTO.getUsername() + ",ou=people,o=isp"));
// 4. remove membership
@@ -658,7 +658,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 5. read group on resource, check that user DN was removed from uniqueMember
connObj = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObj);
- assertFalse(connObj.getAttrMap().get("uniqueMember").getValues().
+ assertFalse(connObj.getAttr("uniqueMember").getValues().
contains("uid=" + userTO.getUsername() + ",ou=people,o=isp"));
// 6. restore original resource-ldap group mapping
@@ -690,19 +690,19 @@ public class UserIssuesITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertTrue(userTO.getResources().contains(RESOURCE_NAME_LDAP));
- assertNotNull(userTO.getPlainAttrMap().get("obscure"));
- assertNotNull(userTO.getPlainAttrMap().get("photo"));
+ assertNotNull(userTO.getPlainAttr("obscure"));
+ assertNotNull(userTO.getPlainAttr("photo"));
// 3. read user on resource
ConnObjectTO connObj = resourceService.readConnObject(
RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(connObj);
- AttrTO registeredAddress = connObj.getAttrMap().get("registeredAddress");
+ AttrTO registeredAddress = connObj.getAttr("registeredAddress");
assertNotNull(registeredAddress);
- assertEquals(userTO.getPlainAttrMap().get("obscure").getValues(), registeredAddress.getValues());
- AttrTO jpegPhoto = connObj.getAttrMap().get("jpegPhoto");
+ assertEquals(userTO.getPlainAttr("obscure").getValues(), registeredAddress.getValues());
+ AttrTO jpegPhoto = connObj.getAttr("jpegPhoto");
assertNotNull(jpegPhoto);
- assertEquals(userTO.getPlainAttrMap().get("photo").getValues(), jpegPhoto.getValues());
+ assertEquals(userTO.getPlainAttr("photo").getValues(), jpegPhoto.getValues());
// 4. remove group
groupService.delete(groupTO.getKey());
@@ -806,14 +806,14 @@ public class UserIssuesITCase extends AbstractITCase {
userTO.getPlainAttrs().add(attrTO("makeItDouble", "3"));
userTO = createUser(userTO).getEntity();
- assertEquals("6", userTO.getPlainAttrMap().get("makeItDouble").getValues().get(0));
+ assertEquals("6", userTO.getPlainAttr("makeItDouble").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(userTO.getKey());
userPatch.getPlainAttrs().add(attrAddReplacePatch("makeItDouble", "7"));
userTO = updateUser(userPatch).getEntity();
- assertEquals("14", userTO.getPlainAttrMap().get("makeItDouble").getValues().get(0));
+ assertEquals("14", userTO.getPlainAttr("makeItDouble").getValues().get(0));
}
@Test
@@ -867,9 +867,9 @@ public class UserIssuesITCase extends AbstractITCase {
// 3. try (and succeed) to perform simple LDAP binding with provided password ('password123')
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"password123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 4. update user without any password change request
UserPatch userPatch = new UserPatch();
@@ -881,9 +881,9 @@ public class UserIssuesITCase extends AbstractITCase {
// 5. try (and succeed again) to perform simple LDAP binding: password has not changed
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"password123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
}
@Test
@@ -901,7 +901,7 @@ public class UserIssuesITCase extends AbstractITCase {
resourceService.readConnObject(RESOURCE_NAME_WS1, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(actual);
// check if mapping attribute with purpose NONE really hasn't been propagated
- assertNull(actual.getAttrMap().get("NAME"));
+ assertNull(actual.getAttr("NAME"));
// 2. update resource ws-target-resource-1
ResourceTO ws1 = resourceService.read(RESOURCE_NAME_WS1);
@@ -941,8 +941,8 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO newUser =
resourceService.readConnObject(RESOURCE_NAME_WS1, AnyTypeKind.USER.name(), userTO.getKey());
- assertNotNull(newUser.getAttrMap().get("NAME"));
- assertEquals("firstnameNew", newUser.getAttrMap().get("NAME").getValues().get(0));
+ assertNotNull(newUser.getAttr("NAME"));
+ assertEquals("firstnameNew", newUser.getAttr("NAME").getValues().get(0));
// 4. restore resource ws-target-resource-1 mapping
ws1NewUMapping = newWs1.getProvision(AnyTypeKind.USER.name()).getMapping();
@@ -1031,9 +1031,9 @@ public class UserIssuesITCase extends AbstractITCase {
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"security123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 5. Remove LDAPPasswordPropagationActions
resourceTO = resourceService.read(RESOURCE_NAME_LDAP);
@@ -1076,8 +1076,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has not changed
- assertEquals("password0", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("password0", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
assertNull(userTO.getPassword());
// 3. create user with not null password and propagate onto resource-csv, specify not to save password on
@@ -1098,8 +1097,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has been propagated and that saved userTO's password is null
- assertEquals("passwordTESTNULL1", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("passwordTESTNULL1", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
assertNull(userTO.getPassword());
// 4. create user and propagate password on resource-csv and on Syncope local storage
@@ -1119,8 +1117,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has been correctly propagated on Syncope and resource-csv as usual
- assertEquals("passwordTESTNULL1", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("passwordTESTNULL1", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
Pair<Map<String, Set<String>>, UserTO> self =
clientFactory.create(userTO.getUsername(), "passwordTESTNULL1").self();
assertNotNull(self);
@@ -1171,12 +1168,12 @@ public class UserIssuesITCase extends AbstractITCase {
UserTO actual = createUser(userTO).getEntity();
assertNotNull(actual);
- assertNotNull(actual.getDerAttrMap().get("csvuserid"));
+ assertNotNull(actual.getDerAttr("csvuserid"));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("postalAddress", connObjectTO.getAttrMap().get("postalAddress").getValues().get(0));
+ assertEquals("postalAddress", connObjectTO.getAttr("postalAddress").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(actual.getKey());
@@ -1186,7 +1183,7 @@ public class UserIssuesITCase extends AbstractITCase {
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("newPostalAddress", connObjectTO.getAttrMap().get("postalAddress").getValues().get(0));
+ assertEquals("newPostalAddress", connObjectTO.getAttr("postalAddress").getValues().get(0));
}
@Test
@@ -1333,7 +1330,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- AttrTO userDn = connObject.getAttrMap().get(Name.NAME);
+ AttrTO userDn = connObject.getAttr(Name.NAME);
assertNotNull(userDn);
assertEquals(1, userDn.getValues().size());
assertNotNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, userDn.getValues().get(0)));
@@ -1358,7 +1355,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 2. create user matching the condition above
UserTO user = UserITCase.getUniqueSampleTO("syncope1099U@apache.org");
- user.getPlainAttrMap().get("firstname").getValues().set(0, "issueSYNCOPE1099");
+ user.getPlainAttr("firstname").getValues().set(0, "issueSYNCOPE1099");
ProvisioningResult<UserTO> created = createUser(user);
assertNotNull(created);
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index 7b633a5..5f8661b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -156,7 +156,7 @@ public class UserSelfITCase extends AbstractITCase {
public void authenticateByPlainAttribute() {
UserTO rossini = userService.read("rossini");
assertNotNull(rossini);
- String userId = rossini.getPlainAttrMap().get("userId").getValues().get(0);
+ String userId = rossini.getPlainAttr("userId").getValues().get(0);
assertNotNull(userId);
Pair<Map<String, Set<String>>, UserTO> self = clientFactory.create(userId, ADMIN_PWD).self();
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index 97ebbc0..e310181 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -89,7 +89,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualvalue", userTO.getVirAttr("virtualdata").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(userTO.getKey());
@@ -102,7 +102,7 @@ public class VirAttrITCase extends AbstractITCase {
// 4. check for virtual attribute value
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertEquals("virtualupdated", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualupdated", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -144,7 +144,7 @@ public class VirAttrITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -162,7 +162,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO = result.getEntity();
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -176,7 +176,7 @@ public class VirAttrITCase extends AbstractITCase {
assertEquals("suspended", userTO.getStatus());
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
statusPatch = new StatusPatch();
statusPatch.setKey(userTO.getKey());
@@ -186,7 +186,7 @@ public class VirAttrITCase extends AbstractITCase {
assertEquals("active", userTO.getStatus());
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -204,11 +204,11 @@ public class VirAttrITCase extends AbstractITCase {
userTO = result.getEntity();
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("Surname2", connObjectTO.getAttrMap().get("SURNAME").getValues().get(0));
+ assertEquals("Surname2", connObjectTO.getAttr("SURNAME").getValues().get(0));
// virtual attribute value did not change
- assertFalse(connObjectTO.getAttrMap().get("COMPANYNAME").getValues().isEmpty());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertFalse(connObjectTO.getAttr("COMPANYNAME").getValues().isEmpty());
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
}
@@ -232,7 +232,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
actual = userService.read(actual.getKey());
- assertEquals("virattrcache", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", actual.getVirAttr("virtualdata").getValues().get(0));
// 3. update virtual attribute directly
JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
@@ -248,7 +248,7 @@ public class VirAttrITCase extends AbstractITCase {
// 4. check for cached attribute value
actual = userService.read(actual.getKey());
- assertEquals("virattrcache", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", actual.getVirAttr("virtualdata").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(actual.getKey());
@@ -261,7 +261,7 @@ public class VirAttrITCase extends AbstractITCase {
// 6. check for virtual attribute value
actual = userService.read(actual.getKey());
assertNotNull(actual);
- assertEquals("virtualupdated", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualupdated", actual.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -376,7 +376,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// ----------------------------------------
// 3. change connector URL so that we are sure that any provided value will come from virtual cache
@@ -411,7 +411,7 @@ public class VirAttrITCase extends AbstractITCase {
// ----------------------------------------
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// ----------------------------------------
// 5. restore connector URL, values can be read again from external resource
@@ -428,7 +428,7 @@ public class VirAttrITCase extends AbstractITCase {
// cached value still in place...
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// force cache update by adding a resource which has virtualdata mapped for propagation
UserPatch userPatch = new UserPatch();
@@ -439,7 +439,7 @@ public class VirAttrITCase extends AbstractITCase {
assertNotNull(userTO);
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache2", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache2", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -451,7 +451,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO.getVirAttrs().add(attrTO("virtualReadOnly", "readOnly"));
userTO = createUser(userTO).getEntity();
// finding no values because the virtual attribute is readonly
- assertTrue(userTO.getVirAttrMap().get("virtualReadOnly").getValues().isEmpty());
+ assertTrue(userTO.getVirAttr("virtualReadOnly").getValues().isEmpty());
}
@Test
@@ -564,9 +564,9 @@ public class VirAttrITCase extends AbstractITCase {
Map<String, Object> actuals = jdbcTemplate.queryForMap(
"SELECT id, surname, email FROM testpull WHERE id=?",
- new Object[] { userTO.getPlainAttrMap().get("fullname").getValues().get(0) });
+ new Object[] { userTO.getPlainAttr("fullname").getValues().get(0) });
- assertEquals(userTO.getPlainAttrMap().get("fullname").getValues().get(0), actuals.get("id").toString());
+ assertEquals(userTO.getPlainAttr("fullname").getValues().get(0), actuals.get("id").toString());
assertEquals("ml@group.it", actuals.get("email"));
// -------------------------------------------
} catch (Exception e) {
@@ -593,7 +593,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
- assertNotNull(userTO.getVirAttrMap().get("virtualReadOnly"));
+ assertNotNull(userTO.getVirAttr("virtualReadOnly"));
}
@Test
@@ -611,8 +611,8 @@ public class VirAttrITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
- assertNotNull(userTO.getVirAttrMap().get("virtualdata"));
- assertEquals("syncope501@apache.org", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertNotNull(userTO.getVirAttr("virtualdata"));
+ assertEquals("syncope501@apache.org", userTO.getVirAttr("virtualdata").getValues().get(0));
// 2. update virtual attribute
UserPatch userPatch = new UserPatch();
@@ -624,8 +624,8 @@ public class VirAttrITCase extends AbstractITCase {
assertNotNull(userTO);
// 3. check that user virtual attribute has really been updated
- assertFalse(userTO.getVirAttrMap().get("virtualdata").getValues().isEmpty());
- assertEquals("syncope501_updated@apache.org", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertFalse(userTO.getVirAttr("virtualdata").getValues().isEmpty());
+ assertEquals("syncope501_updated@apache.org", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
[3/4] syncope git commit: [SYNCOPE-1106] Removed methods returning
Map, added methods for getting attribute for specific schema
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
index abf2d5d..937c37b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
@@ -93,7 +93,7 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
List<PropagationTaskTO> tasks = new ArrayList<>(
taskService.<PropagationTaskTO>list(new TaskQuery.Builder(TaskType.PROPAGATION).
anyTypeKind(AnyTypeKind.USER).entityKey(userTO.getKey()).build()).
- getResult());
+ getResult());
assertFalse(tasks.isEmpty());
BulkAction bulkAction = new BulkAction();
@@ -135,7 +135,7 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
// 1. create printer on external resource
AnyObjectTO anyObjectTO = AnyObjectITCase.getSampleTO("propagationJEXLTransformer");
- String originalLocation = anyObjectTO.getPlainAttrMap().get("location").getValues().get(0);
+ String originalLocation = anyObjectTO.getPlainAttr("location").getValues().get(0);
assertFalse(originalLocation.endsWith(suffix));
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
@@ -145,8 +145,8 @@ public class PropagationTaskITCase extends AbstractTaskITCase {
// (location ends with given suffix on external resource)
ConnObjectTO connObjectTO = resourceService.
readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
- assertFalse(anyObjectTO.getPlainAttrMap().get("location").getValues().get(0).endsWith(suffix));
- assertTrue(connObjectTO.getAttrMap().get("LOCATION").getValues().get(0).endsWith(suffix));
+ assertFalse(anyObjectTO.getPlainAttr("location").getValues().get(0).endsWith(suffix));
+ assertTrue(connObjectTO.getAttr("LOCATION").getValues().get(0).endsWith(suffix));
} finally {
resourceService.update(originalResource);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/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 8458767..0869613 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
@@ -231,9 +231,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
assertEquals(userName, userTO.getUsername());
assertEquals(ActivitiDetector.isActivitiEnabledForUsers(syncopeService)
? "active" : "created", userTO.getStatus());
- assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("email").getValues().get(0));
- assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
- assertTrue(Integer.valueOf(userTO.getPlainAttrMap().get("fullname").getValues().get(0)) <= 10);
+ assertEquals("test9@syncope.apache.org", userTO.getPlainAttr("email").getValues().get(0));
+ assertEquals("test9@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
+ assertTrue(Integer.valueOf(userTO.getPlainAttr("fullname").getValues().get(0)) <= 10);
assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));
@@ -243,7 +243,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// check for user template
userTO = userService.read("test7");
assertNotNull(userTO);
- assertEquals("TYPE_OTHER", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("TYPE_OTHER", userTO.getPlainAttr("ctype").getValues().get(0));
assertEquals(3, userTO.getResources().size());
assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));
@@ -262,7 +262,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("test8");
assertNotNull(userTO);
- assertEquals("TYPE_8", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("TYPE_8", userTO.getPlainAttr("ctype").getValues().get(0));
// Check for ignored user - SYNCOPE-663
try {
@@ -315,7 +315,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("testuser1");
assertNotNull(userTO);
- assertEquals("reconciled@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
+ assertEquals("reconciled@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
assertEquals("suspended", userTO.getStatus());
// enable user on external resource
@@ -408,16 +408,16 @@ public class PullTaskITCase extends AbstractTaskITCase {
// Check for SYNCOPE-436
assertEquals("pullFromLDAP",
- matchingUsers.getResult().get(0).getVirAttrMap().get("virtualReadOnly").getValues().get(0));
+ matchingUsers.getResult().get(0).getVirAttr("virtualReadOnly").getValues().get(0));
// Check for SYNCOPE-270
- assertNotNull(matchingUsers.getResult().get(0).getPlainAttrMap().get("obscure"));
+ assertNotNull(matchingUsers.getResult().get(0).getPlainAttr("obscure"));
// Check for SYNCOPE-123
- assertNotNull(matchingUsers.getResult().get(0).getPlainAttrMap().get("photo"));
+ assertNotNull(matchingUsers.getResult().get(0).getPlainAttr("photo"));
GroupTO groupTO = matchingGroups.getResult().iterator().next();
assertNotNull(groupTO);
assertEquals("testLDAPGroup", groupTO.getName());
- assertEquals("true", groupTO.getPlainAttrMap().get("show").getValues().get(0));
+ assertEquals("true", groupTO.getPlainAttr("show").getValues().get(0));
assertEquals(matchingUsers.getResult().iterator().next().getKey(), groupTO.getUserOwner());
assertNull(groupTO.getGroupOwner());
@@ -480,7 +480,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 1. create printer on external resource
AnyObjectTO anyObjectTO = AnyObjectITCase.getSampleTO("pull");
- String originalLocation = anyObjectTO.getPlainAttrMap().get("location").getValues().get(0);
+ String originalLocation = anyObjectTO.getPlainAttr("location").getValues().get(0);
assertFalse(originalLocation.startsWith(PrefixMappingItemTransformer.PREFIX));
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
@@ -490,9 +490,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
// (location starts with given prefix on external resource)
ConnObjectTO connObjectTO = resourceService.
readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
- assertFalse(anyObjectTO.getPlainAttrMap().get("location").getValues().get(0).
+ assertFalse(anyObjectTO.getPlainAttr("location").getValues().get(0).
startsWith(PrefixMappingItemTransformer.PREFIX));
- assertTrue(connObjectTO.getAttrMap().get("LOCATION").getValues().get(0).
+ assertTrue(connObjectTO.getAttr("LOCATION").getValues().get(0).
startsWith(PrefixMappingItemTransformer.PREFIX));
// 3. unlink any existing printer and delete from Syncope (printer is now only on external resource)
@@ -761,7 +761,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read("testuser2");
assertNotNull(userTO);
- assertEquals("testuser2@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
+ assertEquals("testuser2@syncope.apache.org", userTO.getPlainAttr("userId").getValues().get(0));
assertEquals(2, userTO.getMemberships().size());
assertEquals(4, userTO.getResources().size());
} finally {
@@ -784,7 +784,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 3. read e-mail address for user created by the PullTask first execution
UserTO userTO = userService.read("issuesyncope230");
assertNotNull(userTO);
- String email = userTO.getPlainAttrMap().get("email").getValues().iterator().next();
+ String email = userTO.getPlainAttr("email").getValues().iterator().next();
assertNotNull(email);
// 4. update TESTPULL on external H2 by changing e-mail address
@@ -796,7 +796,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// 6. verify that the e-mail was updated
userTO = userService.read("issuesyncope230");
assertNotNull(userTO);
- email = userTO.getPlainAttrMap().get("email").getValues().iterator().next();
+ email = userTO.getPlainAttr("email").getValues().iterator().next();
assertNotNull(email);
assertEquals("updatedSYNCOPE230@syncope.apache.org", email);
}
@@ -876,7 +876,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertNotNull(userTO.getPlainAttrMap().get("firstname").getValues().get(0));
+ assertNotNull(userTO.getPlainAttr("firstname").getValues().get(0));
} finally {
removeTestUsers();
}
@@ -886,8 +886,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
public void issueSYNCOPE307() {
UserTO userTO = UserITCase.getUniqueSampleTO("s307@apache.org");
userTO.setUsername("test0");
- userTO.getPlainAttrMap().get("firstname").getValues().clear();
- userTO.getPlainAttrMap().get("firstname").getValues().add("nome0");
+ userTO.getPlainAttr("firstname").getValues().clear();
+ userTO.getPlainAttr("firstname").getValues().add("nome0");
userTO.getAuxClasses().add("csv");
AttrTO csvuserid = new AttrTO();
@@ -901,7 +901,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
assertNotNull(userTO);
userTO = userService.read(userTO.getKey());
- assertTrue(userTO.getVirAttrMap().isEmpty());
+ assertTrue(userTO.getVirAttrs().isEmpty());
// Update pull task
PullTaskTO task = taskService.read("38abbf9e-a1a3-40a1-a15f-7d0ac02f47f1", true);
@@ -921,7 +921,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// check that template was successfully applied...
userTO = userService.read(userTO.getKey());
- assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualvalue", userTO.getVirAttr("virtualdata").getValues().get(0));
// ...and that propagation to db succeeded
JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
@@ -1018,9 +1018,9 @@ public class PullTaskITCase extends AbstractTaskITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
oldCleanPassword,
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 5. Update the LDAP Connector to retrieve passwords
ResourceTO ldapResource = resourceService.read(RESOURCE_NAME_LDAP);
@@ -1112,7 +1112,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
// the user is successfully pulled...
user = userService.read("pullFromLDAP");
assertNotNull(user);
- assertEquals("pullFromLDAP@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
+ assertEquals("pullFromLDAP@syncope.apache.org", user.getPlainAttr("email").getValues().get(0));
group = groupService.read("testLDAPGroup");
assertNotNull(group);
@@ -1120,18 +1120,18 @@ public class PullTaskITCase extends AbstractTaskITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- assertEquals("pullFromLDAP@syncope.apache.org", connObject.getAttrMap().get("mail").getValues().get(0));
- AttrTO userDn = connObject.getAttrMap().get(Name.NAME);
+ assertEquals("pullFromLDAP@syncope.apache.org", connObject.getAttr("mail").getValues().get(0));
+ AttrTO userDn = connObject.getAttr(Name.NAME);
assertNotNull(userDn);
assertEquals(1, userDn.getValues().size());
assertNotNull(
getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, userDn.getValues().get(0)));
// ...and propagated
- JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
- String email = queryForObject(
- jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
- assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
+ PagedResult<AbstractTaskTO> propagationTasks = taskService.list(new TaskQuery.Builder(TaskType.PROPAGATION).
+ resource(RESOURCE_NAME_DBPULL).
+ anyTypeKind(AnyTypeKind.USER).entityKey(user.getKey()).build());
+ assertEquals(1, propagationTasks.getSize());
// 4. update the user on the external resource
updateLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD,
@@ -1139,7 +1139,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
connObject = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- assertEquals("pullFromLDAP2@syncope.apache.org", connObject.getAttrMap().get("mail").getValues().get(0));
+ assertEquals("pullFromLDAP2@syncope.apache.org", connObject.getAttr("mail").getValues().get(0));
// 5. exec the pull task again
execution = execProvisioningTask(taskService, pullTask.getKey(), 50, false);
@@ -1148,12 +1148,13 @@ public class PullTaskITCase extends AbstractTaskITCase {
// the internal is updated...
user = userService.read("pullFromLDAP");
assertNotNull(user);
- assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
+ assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttr("email").getValues().get(0));
// ...and propagated
- email = queryForObject(
- jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
- assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
+ propagationTasks = taskService.list(new TaskQuery.Builder(TaskType.PROPAGATION).
+ resource(RESOURCE_NAME_DBPULL).
+ anyTypeKind(AnyTypeKind.USER).entityKey(user.getKey()).build());
+ assertEquals(2, propagationTasks.getSize());
} catch (Exception e) {
LOG.error("Unexpected during issueSYNCOPE1062()", e);
fail(e.getMessage());
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
index 370cf52..ebfb113 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
@@ -35,6 +35,7 @@ import java.util.Set;
import javax.ws.rs.core.Response;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.client.console.commons.ConnIdSpecialName;
import org.apache.syncope.client.lib.AnonymousAuthenticationHandler;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyObjectTO;
@@ -573,7 +574,7 @@ public class ResourceITCase extends AbstractITCase {
@Override
public String transform(final ConnObjectTO input) {
- return input.getAttrMap().get("__NAME__").getValues().get(0);
+ return input.getAttr(ConnIdSpecialName.NAME).getValues().get(0);
}
}, read);
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
index 69dd12e..356d98a 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
@@ -93,7 +93,7 @@ public class UserITCase extends AbstractITCase {
private static final FastDateFormat DATE_FORMAT = DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT;
private boolean getBooleanAttribute(final ConnObjectTO connObjectTO, final String attrName) {
- return Boolean.parseBoolean(connObjectTO.getAttrMap().get(attrName).getValues().get(0));
+ return Boolean.parseBoolean(connObjectTO.getAttr(attrName).getValues().get(0));
}
public static UserTO getUniqueSampleTO(final String email) {
@@ -335,7 +335,7 @@ public class UserITCase extends AbstractITCase {
// 4. try (and fail) to create another user with same (unique) values
userTO = getSampleTO(userTO.getUsername());
- AttrTO userIdAttr = userTO.getPlainAttrMap().get("userId");
+ AttrTO userIdAttr = userTO.getPlainAttr("userId");
userIdAttr.getValues().clear();
userIdAttr.getValues().add("a.b@c.com");
@@ -351,7 +351,7 @@ public class UserITCase extends AbstractITCase {
public void createWithRequiredValueMissing() {
UserTO userTO = getUniqueSampleTO("a.b@c.it");
- AttrTO type = userTO.getPlainAttrMap().get("ctype");
+ AttrTO type = userTO.getPlainAttr("ctype");
userTO.getPlainAttrs().remove(type);
userTO.getMemberships().add(new MembershipTO.Builder().
@@ -367,7 +367,7 @@ public class UserITCase extends AbstractITCase {
userTO.getPlainAttrs().add(attrTO("ctype", "F"));
- AttrTO surname = userTO.getPlainAttrMap().get("surname");
+ AttrTO surname = userTO.getPlainAttr("surname");
userTO.getPlainAttrs().remove(surname);
// 2. create user without surname (mandatory when type == 'F')
@@ -512,8 +512,7 @@ public class UserITCase extends AbstractITCase {
userTO = updateUser(userPatch).getEntity();
assertNotNull(userTO);
- assertNotNull(userTO.getDerAttrMap());
- assertFalse(userTO.getPlainAttrMap().containsKey("ctype"));
+ assertNull(userTO.getPlainAttr("ctype"));
}
@Test(expected = SyncopeClientException.class)
@@ -585,10 +584,10 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, userTO.getMemberships().size());
assertFalse(userTO.getDerAttrs().isEmpty());
- AttrTO userIdAttr = userTO.getPlainAttrMap().get("userId");
+ AttrTO userIdAttr = userTO.getPlainAttr("userId");
assertEquals(Collections.singletonList(newUserId), userIdAttr.getValues());
- AttrTO fullNameAttr = userTO.getPlainAttrMap().get("fullname");
+ AttrTO fullNameAttr = userTO.getPlainAttr("fullname");
assertEquals(Collections.singletonList(newFullName), fullNameAttr.getValues());
}
@@ -838,7 +837,7 @@ public class UserITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertNotNull(userTO);
- AttrTO loginDate = userTO.getPlainAttrMap().get("loginDate");
+ AttrTO loginDate = userTO.getPlainAttr("loginDate");
assertNotNull(loginDate);
assertEquals(1, loginDate.getValues().size());
@@ -852,7 +851,7 @@ public class UserITCase extends AbstractITCase {
userTO = updateUser(userPatch).getEntity();
assertNotNull(userTO);
- loginDate = userTO.getPlainAttrMap().get("loginDate");
+ loginDate = userTO.getPlainAttr("loginDate");
assertNotNull(loginDate);
assertEquals(2, loginDate.getValues().size());
}
@@ -928,12 +927,12 @@ public class UserITCase extends AbstractITCase {
UserTO actual = createUser(userTO).getEntity();
assertNotNull(actual);
- assertNotNull(actual.getDerAttrMap().get("csvuserid"));
+ assertNotNull(actual.getDerAttr("csvuserid"));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_CSV, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("sx-dx", connObjectTO.getAttrMap().get("THEIRGROUP").getValues().get(0));
+ assertEquals("sx-dx", connObjectTO.getAttr("THEIRGROUP").getValues().get(0));
}
@Test
@@ -1013,7 +1012,7 @@ public class UserITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_CSV, AnyTypeKind.USER.name(), userTO.getKey());
- assertNull(connObjectTO.getAttrMap().get("email"));
+ assertNull(connObjectTO.getAttr("email"));
}
@Test
@@ -1321,7 +1320,7 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, result.getPropagationStatuses().size());
assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus());
assertEquals("rest-target-resource", result.getPropagationStatuses().get(0).getResource());
- assertEquals("surname", userTO.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname", userTO.getPlainAttr("surname").getValues().get(0));
// verify user exists on the backend REST service
WebClient webClient = WebClient.create(
@@ -1341,7 +1340,7 @@ public class UserITCase extends AbstractITCase {
assertEquals(1, result.getPropagationStatuses().size());
assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus());
assertEquals("rest-target-resource", result.getPropagationStatuses().get(0).getResource());
- assertEquals("surname2", result.getEntity().getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname2", result.getEntity().getPlainAttr("surname").getValues().get(0));
// verify user still exists on the backend REST service
response = webClient.get();
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index df32cad..499b24c 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -409,7 +409,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_DBVIRATTR, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(connObjectTO);
- assertEquals("virtualvalue", connObjectTO.getAttrMap().get("USERNAME").getValues().get(0));
+ assertEquals("virtualvalue", connObjectTO.getAttr("USERNAME").getValues().get(0));
// ----------------------------------
userTO = userService.read(userTO.getKey());
@@ -467,7 +467,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO userOnDb = resourceService.readConnObject(
RESOURCE_NAME_TESTDB, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDbAttr = userOnDb.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDbAttr = userOnDb.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDbAttr);
assertNotNull(pwdOnTestDbAttr.getValues());
assertFalse(pwdOnTestDbAttr.getValues().isEmpty());
@@ -475,7 +475,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO userOnDb2 = resourceService.readConnObject(
RESOURCE_NAME_TESTDB2, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDb2Attr = userOnDb2.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDb2Attr = userOnDb2.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDb2Attr);
assertNotNull(pwdOnTestDb2Attr.getValues());
assertFalse(pwdOnTestDb2Attr.getValues().isEmpty());
@@ -500,7 +500,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 3c. verify that password *has* changed on testdb
userOnDb = resourceService.readConnObject(RESOURCE_NAME_TESTDB, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDbAttrAfter = userOnDb.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDbAttrAfter = userOnDb.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDbAttrAfter);
assertNotNull(pwdOnTestDbAttrAfter.getValues());
assertFalse(pwdOnTestDbAttrAfter.getValues().isEmpty());
@@ -508,7 +508,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 3d. verify that password hasn't changed on testdb2
userOnDb2 = resourceService.readConnObject(RESOURCE_NAME_TESTDB2, AnyTypeKind.USER.name(), userTO.getKey());
- final AttrTO pwdOnTestDb2AttrAfter = userOnDb2.getAttrMap().get(OperationalAttributes.PASSWORD_NAME);
+ final AttrTO pwdOnTestDb2AttrAfter = userOnDb2.getAttr(OperationalAttributes.PASSWORD_NAME);
assertNotNull(pwdOnTestDb2AttrAfter);
assertNotNull(pwdOnTestDb2AttrAfter.getValues());
assertFalse(pwdOnTestDb2AttrAfter.getValues().isEmpty());
@@ -607,7 +607,7 @@ public class UserIssuesITCase extends AbstractITCase {
userPatch.setKey(userKey);
userPatch.getPlainAttrs().add(attrAddReplacePatch("ctype", "a type"));
UserTO userTO = updateUser(userPatch).getEntity();
- assertEquals("a type", userTO.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("a type", userTO.getPlainAttr("ctype").getValues().get(0));
}
}
@@ -643,7 +643,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObj = resourceService.readConnObject(
RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObj);
- assertTrue(connObj.getAttrMap().get("uniqueMember").getValues().
+ assertTrue(connObj.getAttr("uniqueMember").getValues().
contains("uid=" + userTO.getUsername() + ",ou=people,o=isp"));
// 4. remove membership
@@ -658,7 +658,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 5. read group on resource, check that user DN was removed from uniqueMember
connObj = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObj);
- assertFalse(connObj.getAttrMap().get("uniqueMember").getValues().
+ assertFalse(connObj.getAttr("uniqueMember").getValues().
contains("uid=" + userTO.getUsername() + ",ou=people,o=isp"));
// 6. restore original resource-ldap group mapping
@@ -690,19 +690,19 @@ public class UserIssuesITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertTrue(userTO.getResources().contains(RESOURCE_NAME_LDAP));
- assertNotNull(userTO.getPlainAttrMap().get("obscure"));
- assertNotNull(userTO.getPlainAttrMap().get("photo"));
+ assertNotNull(userTO.getPlainAttr("obscure"));
+ assertNotNull(userTO.getPlainAttr("photo"));
// 3. read user on resource
ConnObjectTO connObj = resourceService.readConnObject(
RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(connObj);
- AttrTO registeredAddress = connObj.getAttrMap().get("registeredAddress");
+ AttrTO registeredAddress = connObj.getAttr("registeredAddress");
assertNotNull(registeredAddress);
- assertEquals(userTO.getPlainAttrMap().get("obscure").getValues(), registeredAddress.getValues());
- AttrTO jpegPhoto = connObj.getAttrMap().get("jpegPhoto");
+ assertEquals(userTO.getPlainAttr("obscure").getValues(), registeredAddress.getValues());
+ AttrTO jpegPhoto = connObj.getAttr("jpegPhoto");
assertNotNull(jpegPhoto);
- assertEquals(userTO.getPlainAttrMap().get("photo").getValues(), jpegPhoto.getValues());
+ assertEquals(userTO.getPlainAttr("photo").getValues(), jpegPhoto.getValues());
// 4. remove group
groupService.delete(groupTO.getKey());
@@ -806,14 +806,14 @@ public class UserIssuesITCase extends AbstractITCase {
userTO.getPlainAttrs().add(attrTO("makeItDouble", "3"));
userTO = createUser(userTO).getEntity();
- assertEquals("6", userTO.getPlainAttrMap().get("makeItDouble").getValues().get(0));
+ assertEquals("6", userTO.getPlainAttr("makeItDouble").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(userTO.getKey());
userPatch.getPlainAttrs().add(attrAddReplacePatch("makeItDouble", "7"));
userTO = updateUser(userPatch).getEntity();
- assertEquals("14", userTO.getPlainAttrMap().get("makeItDouble").getValues().get(0));
+ assertEquals("14", userTO.getPlainAttr("makeItDouble").getValues().get(0));
}
@Test
@@ -867,9 +867,9 @@ public class UserIssuesITCase extends AbstractITCase {
// 3. try (and succeed) to perform simple LDAP binding with provided password ('password123')
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"password123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 4. update user without any password change request
UserPatch userPatch = new UserPatch();
@@ -881,9 +881,9 @@ public class UserIssuesITCase extends AbstractITCase {
// 5. try (and succeed again) to perform simple LDAP binding: password has not changed
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"password123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
}
@Test
@@ -901,7 +901,7 @@ public class UserIssuesITCase extends AbstractITCase {
resourceService.readConnObject(RESOURCE_NAME_WS1, AnyTypeKind.USER.name(), userTO.getKey());
assertNotNull(actual);
// check if mapping attribute with purpose NONE really hasn't been propagated
- assertNull(actual.getAttrMap().get("NAME"));
+ assertNull(actual.getAttr("NAME"));
// 2. update resource ws-target-resource-1
ResourceTO ws1 = resourceService.read(RESOURCE_NAME_WS1);
@@ -941,8 +941,8 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO newUser =
resourceService.readConnObject(RESOURCE_NAME_WS1, AnyTypeKind.USER.name(), userTO.getKey());
- assertNotNull(newUser.getAttrMap().get("NAME"));
- assertEquals("firstnameNew", newUser.getAttrMap().get("NAME").getValues().get(0));
+ assertNotNull(newUser.getAttr("NAME"));
+ assertEquals("firstnameNew", newUser.getAttr("NAME").getValues().get(0));
// 4. restore resource ws-target-resource-1 mapping
ws1NewUMapping = newWs1.getProvision(AnyTypeKind.USER.name()).getMapping();
@@ -1031,9 +1031,9 @@ public class UserIssuesITCase extends AbstractITCase {
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(getLdapRemoteObject(
- connObject.getAttrMap().get(Name.NAME).getValues().get(0),
+ connObject.getAttr(Name.NAME).getValues().get(0),
"security123",
- connObject.getAttrMap().get(Name.NAME).getValues().get(0)));
+ connObject.getAttr(Name.NAME).getValues().get(0)));
// 5. Remove LDAPPasswordPropagationActions
resourceTO = resourceService.read(RESOURCE_NAME_LDAP);
@@ -1076,8 +1076,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has not changed
- assertEquals("password0", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("password0", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
assertNull(userTO.getPassword());
// 3. create user with not null password and propagate onto resource-csv, specify not to save password on
@@ -1098,8 +1097,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has been propagated and that saved userTO's password is null
- assertEquals("passwordTESTNULL1", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("passwordTESTNULL1", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
assertNull(userTO.getPassword());
// 4. create user and propagate password on resource-csv and on Syncope local storage
@@ -1119,8 +1117,7 @@ public class UserIssuesITCase extends AbstractITCase {
assertNotNull(connObjectTO);
// check if password has been correctly propagated on Syncope and resource-csv as usual
- assertEquals("passwordTESTNULL1", connObjectTO.getAttrMap().
- get(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
+ assertEquals("passwordTESTNULL1", connObjectTO.getAttr(OperationalAttributes.PASSWORD_NAME).getValues().get(0));
Pair<Map<String, Set<String>>, UserTO> self =
clientFactory.create(userTO.getUsername(), "passwordTESTNULL1").self();
assertNotNull(self);
@@ -1171,12 +1168,12 @@ public class UserIssuesITCase extends AbstractITCase {
UserTO actual = createUser(userTO).getEntity();
assertNotNull(actual);
- assertNotNull(actual.getDerAttrMap().get("csvuserid"));
+ assertNotNull(actual.getDerAttr("csvuserid"));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("postalAddress", connObjectTO.getAttrMap().get("postalAddress").getValues().get(0));
+ assertEquals("postalAddress", connObjectTO.getAttr("postalAddress").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(actual.getKey());
@@ -1186,7 +1183,7 @@ public class UserIssuesITCase extends AbstractITCase {
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), actual.getKey());
assertNotNull(connObjectTO);
- assertEquals("newPostalAddress", connObjectTO.getAttrMap().get("postalAddress").getValues().get(0));
+ assertEquals("newPostalAddress", connObjectTO.getAttr("postalAddress").getValues().get(0));
}
@Test
@@ -1333,7 +1330,7 @@ public class UserIssuesITCase extends AbstractITCase {
ConnObjectTO connObject =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.USER.name(), user.getKey());
assertNotNull(connObject);
- AttrTO userDn = connObject.getAttrMap().get(Name.NAME);
+ AttrTO userDn = connObject.getAttr(Name.NAME);
assertNotNull(userDn);
assertEquals(1, userDn.getValues().size());
assertNotNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, userDn.getValues().get(0)));
@@ -1358,7 +1355,7 @@ public class UserIssuesITCase extends AbstractITCase {
// 2. create user matching the condition above
UserTO user = UserITCase.getUniqueSampleTO("syncope1099U@apache.org");
- user.getPlainAttrMap().get("firstname").getValues().set(0, "issueSYNCOPE1099");
+ user.getPlainAttr("firstname").getValues().set(0, "issueSYNCOPE1099");
ProvisioningResult<UserTO> created = createUser(user);
assertNotNull(created);
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index 7b633a5..5f8661b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -156,7 +156,7 @@ public class UserSelfITCase extends AbstractITCase {
public void authenticateByPlainAttribute() {
UserTO rossini = userService.read("rossini");
assertNotNull(rossini);
- String userId = rossini.getPlainAttrMap().get("userId").getValues().get(0);
+ String userId = rossini.getPlainAttr("userId").getValues().get(0);
assertNotNull(userId);
Pair<Map<String, Set<String>>, UserTO> self = clientFactory.create(userId, ADMIN_PWD).self();
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index 97ebbc0..e310181 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -89,7 +89,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualvalue", userTO.getVirAttr("virtualdata").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(userTO.getKey());
@@ -102,7 +102,7 @@ public class VirAttrITCase extends AbstractITCase {
// 4. check for virtual attribute value
userTO = userService.read(userTO.getKey());
assertNotNull(userTO);
- assertEquals("virtualupdated", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualupdated", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -144,7 +144,7 @@ public class VirAttrITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -162,7 +162,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO = result.getEntity();
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -176,7 +176,7 @@ public class VirAttrITCase extends AbstractITCase {
assertEquals("suspended", userTO.getStatus());
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
statusPatch = new StatusPatch();
statusPatch.setKey(userTO.getKey());
@@ -186,7 +186,7 @@ public class VirAttrITCase extends AbstractITCase {
assertEquals("active", userTO.getStatus());
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
// ----------------------------------
@@ -204,11 +204,11 @@ public class VirAttrITCase extends AbstractITCase {
userTO = result.getEntity();
connObjectTO = resourceService.readConnObject(RESOURCE_NAME_WS2, AnyTypeKind.USER.name(), userTO.getKey());
- assertEquals("Surname2", connObjectTO.getAttrMap().get("SURNAME").getValues().get(0));
+ assertEquals("Surname2", connObjectTO.getAttr("SURNAME").getValues().get(0));
// virtual attribute value did not change
- assertFalse(connObjectTO.getAttrMap().get("COMPANYNAME").getValues().isEmpty());
- assertEquals("virtualvalue2", connObjectTO.getAttrMap().get("COMPANYNAME").getValues().get(0));
+ assertFalse(connObjectTO.getAttr("COMPANYNAME").getValues().isEmpty());
+ assertEquals("virtualvalue2", connObjectTO.getAttr("COMPANYNAME").getValues().get(0));
// ----------------------------------
}
@@ -232,7 +232,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
actual = userService.read(actual.getKey());
- assertEquals("virattrcache", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", actual.getVirAttr("virtualdata").getValues().get(0));
// 3. update virtual attribute directly
JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
@@ -248,7 +248,7 @@ public class VirAttrITCase extends AbstractITCase {
// 4. check for cached attribute value
actual = userService.read(actual.getKey());
- assertEquals("virattrcache", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", actual.getVirAttr("virtualdata").getValues().get(0));
UserPatch userPatch = new UserPatch();
userPatch.setKey(actual.getKey());
@@ -261,7 +261,7 @@ public class VirAttrITCase extends AbstractITCase {
// 6. check for virtual attribute value
actual = userService.read(actual.getKey());
assertNotNull(actual);
- assertEquals("virtualupdated", actual.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virtualupdated", actual.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -376,7 +376,7 @@ public class VirAttrITCase extends AbstractITCase {
// 2. check for virtual attribute value
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// ----------------------------------------
// 3. change connector URL so that we are sure that any provided value will come from virtual cache
@@ -411,7 +411,7 @@ public class VirAttrITCase extends AbstractITCase {
// ----------------------------------------
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// ----------------------------------------
// 5. restore connector URL, values can be read again from external resource
@@ -428,7 +428,7 @@ public class VirAttrITCase extends AbstractITCase {
// cached value still in place...
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache", userTO.getVirAttr("virtualdata").getValues().get(0));
// force cache update by adding a resource which has virtualdata mapped for propagation
UserPatch userPatch = new UserPatch();
@@ -439,7 +439,7 @@ public class VirAttrITCase extends AbstractITCase {
assertNotNull(userTO);
userTO = userService.read(userTO.getKey());
- assertEquals("virattrcache2", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertEquals("virattrcache2", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
@@ -451,7 +451,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO.getVirAttrs().add(attrTO("virtualReadOnly", "readOnly"));
userTO = createUser(userTO).getEntity();
// finding no values because the virtual attribute is readonly
- assertTrue(userTO.getVirAttrMap().get("virtualReadOnly").getValues().isEmpty());
+ assertTrue(userTO.getVirAttr("virtualReadOnly").getValues().isEmpty());
}
@Test
@@ -564,9 +564,9 @@ public class VirAttrITCase extends AbstractITCase {
Map<String, Object> actuals = jdbcTemplate.queryForMap(
"SELECT id, surname, email FROM testpull WHERE id=?",
- new Object[] { userTO.getPlainAttrMap().get("fullname").getValues().get(0) });
+ new Object[] { userTO.getPlainAttr("fullname").getValues().get(0) });
- assertEquals(userTO.getPlainAttrMap().get("fullname").getValues().get(0), actuals.get("id").toString());
+ assertEquals(userTO.getPlainAttr("fullname").getValues().get(0), actuals.get("id").toString());
assertEquals("ml@group.it", actuals.get("email"));
// -------------------------------------------
} catch (Exception e) {
@@ -593,7 +593,7 @@ public class VirAttrITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
- assertNotNull(userTO.getVirAttrMap().get("virtualReadOnly"));
+ assertNotNull(userTO.getVirAttr("virtualReadOnly"));
}
@Test
@@ -611,8 +611,8 @@ public class VirAttrITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
- assertNotNull(userTO.getVirAttrMap().get("virtualdata"));
- assertEquals("syncope501@apache.org", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertNotNull(userTO.getVirAttr("virtualdata"));
+ assertEquals("syncope501@apache.org", userTO.getVirAttr("virtualdata").getValues().get(0));
// 2. update virtual attribute
UserPatch userPatch = new UserPatch();
@@ -624,8 +624,8 @@ public class VirAttrITCase extends AbstractITCase {
assertNotNull(userTO);
// 3. check that user virtual attribute has really been updated
- assertFalse(userTO.getVirAttrMap().get("virtualdata").getValues().isEmpty());
- assertEquals("syncope501_updated@apache.org", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
+ assertFalse(userTO.getVirAttr("virtualdata").getValues().isEmpty());
+ assertEquals("syncope501_updated@apache.org", userTO.getVirAttr("virtualdata").getValues().get(0));
}
@Test
[4/4] syncope git commit: [SYNCOPE-1106] Removed methods returning
Map, added methods for getting attribute for specific schema
Posted by il...@apache.org.
[SYNCOPE-1106] Removed methods returning Map, added methods for getting attribute for specific schema
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/9ec5f834
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/9ec5f834
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/9ec5f834
Branch: refs/heads/master
Commit: 9ec5f834f68a92e2d808f5fd347264b7518ab73d
Parents: 7a4805b
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Mon Jun 12 11:43:03 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Mon Jun 12 11:43:11 2017 +0200
----------------------------------------------------------------------
.../commons/SortableAnyProviderComparator.java | 20 ++----
.../console/commons/status/StatusUtils.java | 14 +---
.../syncope/client/console/panels/Realm.java | 22 +++---
.../html/repeater/data/table/AttrColumn.java | 17 +++--
.../data/table/ConnObjectAttrColumn.java | 7 +-
.../console/wizards/any/ConnObjectPanel.java | 6 +-
.../client/console/wizards/any/DerAttrs.java | 7 +-
.../client/console/wizards/any/PlainAttrs.java | 5 +-
.../client/console/wizards/any/VirAttrs.java | 5 +-
.../resources/UserSelfCreateResource.java | 7 +-
.../enduser/resources/UserSelfReadResource.java | 6 +-
.../resources/UserSelfUpdateResource.java | 7 +-
.../enduser/util/UserRequestValidator.java | 12 ++--
.../enduser/util/UserRequestValidatorTest.java | 4 +-
.../syncope/common/lib/AnyOperations.java | 14 ++--
.../syncope/common/lib/EntityTOUtils.java | 13 ++++
.../org/apache/syncope/common/lib/to/AnyTO.java | 48 ++++++-------
.../syncope/common/lib/to/AttributableTO.java | 7 +-
.../syncope/common/lib/to/ConnObjectTO.java | 18 ++---
.../syncope/common/lib/to/MembershipTO.java | 50 +++++++-------
.../test/resources/domains/MasterContent.xml | 16 ++---
.../java/DefaultGroupProvisioningManager.java | 2 +-
.../java/job/report/GroupReportlet.java | 7 +-
.../java/job/report/UserReportlet.java | 7 +-
.../provisioning/java/utils/TemplateUtils.java | 7 +-
.../provisioning/java/MailTemplateTest.java | 2 +-
.../rest/cxf/service/AbstractAnyService.java | 6 +-
.../camel/producer/CreateProducer.java | 2 +-
.../syncope/fit/core/AnyObjectITCase.java | 16 ++---
.../syncope/fit/core/AuthenticationITCase.java | 4 +-
.../syncope/fit/core/CamelRouteITCase.java | 4 +-
.../apache/syncope/fit/core/DynRealmITCase.java | 2 +-
.../apache/syncope/fit/core/GroupITCase.java | 34 +++++-----
.../syncope/fit/core/MembershipITCase.java | 39 +++++------
.../syncope/fit/core/MigrationITCase.java | 6 +-
.../syncope/fit/core/PropagationTaskITCase.java | 8 +--
.../apache/syncope/fit/core/PullTaskITCase.java | 71 ++++++++++----------
.../apache/syncope/fit/core/ResourceITCase.java | 3 +-
.../org/apache/syncope/fit/core/UserITCase.java | 29 ++++----
.../syncope/fit/core/UserIssuesITCase.java | 69 +++++++++----------
.../apache/syncope/fit/core/UserSelfITCase.java | 2 +-
.../apache/syncope/fit/core/VirAttrITCase.java | 48 ++++++-------
42 files changed, 336 insertions(+), 337 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
index 52087f7..0eb370d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
@@ -21,7 +21,6 @@ package org.apache.syncope.client.console.commons;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
@@ -54,18 +53,11 @@ public class SortableAnyProviderComparator<T extends AnyTO> extends SortableData
private static final long serialVersionUID = -7856686374020091808L;
- private final Map<String, AttrTO> plainAttrs;
-
- private final Map<String, AttrTO> derAttrs;
-
- private final Map<String, AttrTO> virAttrs;
+ private final AnyTO anyTO;
AttrModel(final AnyTO anyTO) {
super();
-
- this.plainAttrs = anyTO.getPlainAttrMap();
- this.derAttrs = anyTO.getDerAttrMap();
- this.virAttrs = anyTO.getVirAttrMap();
+ this.anyTO = anyTO;
}
/**
@@ -91,20 +83,20 @@ public class SortableAnyProviderComparator<T extends AnyTO> extends SortableData
final AttrTO attr;
if (schemaType == null) {
- attr = this.plainAttrs.get(schema);
+ attr = this.anyTO.getPlainAttr(schema);
} else {
switch (schemaType) {
case PLAIN:
default:
- attr = this.plainAttrs.get(schema);
+ attr = this.anyTO.getPlainAttr(schema);
break;
case DERIVED:
- attr = this.derAttrs.get(schema);
+ attr = this.anyTO.getDerAttr(schema);
break;
case VIRTUAL:
- attr = this.virAttrs.get(schema);
+ attr = this.anyTO.getVirAttr(schema);
break;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
index baf5b9b..6da9246 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
@@ -21,9 +21,7 @@ package org.apache.syncope.client.console.commons.status;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.commons.ConnIdSpecialName;
import org.apache.syncope.client.console.commons.Constants;
@@ -113,22 +111,14 @@ public class StatusUtils implements Serializable {
}
private Boolean isEnabled(final ConnObjectTO objectTO) {
- final Map<String, AttrTO> attributeTOs = objectTO.getAttrMap();
-
- final AttrTO status = attributeTOs.get(ConnIdSpecialName.ENABLE);
-
+ final AttrTO status = objectTO.getAttr(ConnIdSpecialName.ENABLE);
return status != null && status.getValues() != null && !status.getValues().isEmpty()
? Boolean.valueOf(status.getValues().get(0))
: Boolean.FALSE;
}
private String getConnObjectLink(final ConnObjectTO objectTO) {
- final Map<String, AttrTO> attributeTOs = objectTO == null
- ? Collections.<String, AttrTO>emptyMap()
- : objectTO.getAttrMap();
-
- final AttrTO name = attributeTOs.get(ConnIdSpecialName.NAME);
-
+ final AttrTO name = objectTO == null ? null : objectTO.getAttr(ConnIdSpecialName.NAME);
return name != null && name.getValues() != null && !name.getValues().isEmpty()
? name.getValues().get(0)
: null;
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 615b393..e6d57cd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -25,8 +25,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
@@ -85,8 +83,8 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
setPageRef(pageRef);
- AjaxBootstrapTabbedPanel<ITab> tabbedPanel
- = new AjaxBootstrapTabbedPanel<>("tabbedPanel", buildTabList(pageRef));
+ AjaxBootstrapTabbedPanel<ITab> tabbedPanel =
+ new AjaxBootstrapTabbedPanel<>("tabbedPanel", buildTabList(pageRef));
tabbedPanel.setSelectedTab(selectedIndex);
addInnerObject(tabbedPanel);
this.wizardBuilder = new RealmWizardBuilder(pageRef);
@@ -167,15 +165,15 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
}
});
- final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo
- = FormLayoutInfoUtils.fetch(anyTypeTOs);
+ final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo =
+ FormLayoutInfoUtils.fetch(anyTypeTOs);
Collections.sort(anyTypeTOs, new AnyTypeComparator());
for (final AnyTypeTO anyTypeTO : anyTypeTOs) {
tabs.add(new ITabComponent(
new Model<>(anyTypeTO.getKey()),
AnyTypeKind.GROUP.name().equals(anyTypeTO.getKey())
- ? null : new String[]{String.format("%s_SEARCH", anyTypeTO.getKey())}) {
+ ? null : new String[] { String.format("%s_SEARCH", anyTypeTO.getKey()) }) {
private static final long serialVersionUID = 1169585538404171118L;
@@ -223,12 +221,12 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
if ("afterObj".equalsIgnoreCase(key)) {
ConnObjectTO afterObj = bean.getAfterObj();
String remoteId = afterObj == null
- || MapUtils.isEmpty(afterObj.getAttrMap())
- || !afterObj.getAttrMap().containsKey(ConnIdSpecialName.NAME)
- || CollectionUtils.isEmpty(afterObj.getAttrMap().get(ConnIdSpecialName.NAME).getValues())
+ || afterObj.getAttrs().isEmpty()
+ || afterObj.getAttr(ConnIdSpecialName.NAME) == null
+ || afterObj.getAttr(ConnIdSpecialName.NAME).getValues() == null
+ || afterObj.getAttr(ConnIdSpecialName.NAME).getValues().isEmpty()
? StringUtils.EMPTY
- : afterObj.getAttrMap().get(ConnIdSpecialName.NAME).getValues().
- iterator().next();
+ : afterObj.getAttr(ConnIdSpecialName.NAME).getValues().get(0);
return new Label("field", remoteId);
} else if ("status".equalsIgnoreCase(key)) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
index b756a05..1341791 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
import java.util.List;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
@@ -50,27 +51,25 @@ public class AttrColumn<T extends AttributableTO> extends AbstractColumn<T, Stri
List<String> values = null;
+ AttrTO attr = null;
switch (schemaType) {
case PLAIN:
- if (rowModel.getObject().getPlainAttrMap().containsKey(name)) {
- values = rowModel.getObject().getPlainAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getPlainAttr(name);
break;
case DERIVED:
- if (rowModel.getObject().getDerAttrMap().containsKey(name)) {
- values = rowModel.getObject().getDerAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getDerAttr(name);
break;
case VIRTUAL:
- if (rowModel.getObject().getVirAttrMap().containsKey(name)) {
- values = rowModel.getObject().getVirAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getVirAttr(name);
break;
default:
}
+ if (attr != null) {
+ values = attr.getValues();
+ }
if (values == null || values.isEmpty()) {
cellItem.add(new Label(componentId, ""));
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
index 907f647..5d9dbd4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
import java.util.List;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
@@ -47,10 +48,8 @@ public class ConnObjectAttrColumn extends AbstractColumn<ConnObjectTO, String> {
final String componentId,
final IModel<ConnObjectTO> rowModel) {
- List<String> values = null;
- if (rowModel.getObject().getAttrMap().containsKey(name)) {
- values = rowModel.getObject().getAttrMap().get(name).getValues();
- }
+ AttrTO attr = rowModel.getObject().getAttr(name);
+ List<String> values = attr == null ? null : attr.getValues();
if (values == null || values.isEmpty()) {
cellItem.add(new Label(componentId, ""));
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
index 7d3f612..2c75dae 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.ConnObjectTO;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
@@ -88,11 +89,10 @@ public class ConnObjectPanel extends Panel {
final Map<String, AttrTO> beforeProfile = connObjectTOs == null || connObjectTOs.getLeft() == null
? null
- : connObjectTOs.getLeft().getAttrMap();
-
+ : EntityTOUtils.buildAttrMap(connObjectTOs.getLeft().getAttrs());
final Map<String, AttrTO> afterProfile = connObjectTOs == null || connObjectTOs.getRight() == null
? null
- : connObjectTOs.getRight().getAttrMap();
+ : EntityTOUtils.buildAttrMap(connObjectTOs.getRight().getAttrs());
final ListView<String> propView = new ListView<String>("propView", formProps) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
index d4edbf0..012a662 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accordion;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
@@ -83,7 +84,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
@Override
public WebMarkupContainer getPanel(final String panelId) {
- return new DerAttrs.DerSchemas(panelId, new ListModel<AttrTO>(getAttrsFromTO(membershipTO)));
+ return new DerAttrs.DerSchemas(panelId, new ListModel<>(getAttrsFromTO(membershipTO)));
}
}), Model.of(-1)).setOutputMarkupId(true));
}
@@ -113,7 +114,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (DerSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -133,7 +134,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getDerAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (DerSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 5c1291a..80891cf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -37,6 +37,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.EncryptedFieldP
import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
@@ -142,7 +143,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (PlainSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -167,7 +168,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (PlainSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
index 5a49b88..4b66f0d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
@@ -27,6 +27,7 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accor
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
@@ -117,7 +118,7 @@ public class VirAttrs extends AbstractAttrs<VirSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (VirSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -139,7 +140,7 @@ public class VirAttrs extends AbstractAttrs<VirSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getVirAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (VirSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
index 8b42285..7b2a834 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
@@ -19,7 +19,6 @@
package org.apache.syncope.client.enduser.resources;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.MediaType;
@@ -31,6 +30,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserConstants;
import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.util.UserRequestValidator;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
@@ -114,11 +114,10 @@ public class UserSelfCreateResource extends BaseUserSelfResource {
userTO.getPlainAttrs().removeAll(membAttrs);
// 2. millis -> Date conversion for PLAIN attributes of USER and its MEMBERSHIPS
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- millisToDate(userPlainAttrMap, plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- millisToDate(membership.getPlainAttrMap(), plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
index c4cb6c1..eae1ec7 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.model.CustomAttribute;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
@@ -62,13 +63,12 @@ public class UserSelfReadResource extends BaseUserSelfResource {
}
UserTO userTO = SerializationUtils.clone(SyncopeEnduserSession.get().getSelfTO());
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
// 1. Date -> millis conversion for PLAIN attributes of USER and its MEMBERSHIPS
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- dateToMillis(userPlainAttrMap, plainSchema);
+ dateToMillis(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- dateToMillis(membership.getPlainAttrMap(), plainSchema);
+ dateToMillis(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
index 828f323..1e8ede2 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
@@ -19,7 +19,6 @@
package org.apache.syncope.client.enduser.resources;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.MediaType;
@@ -32,6 +31,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.util.UserRequestValidator;
import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
@@ -95,11 +95,10 @@ public class UserSelfUpdateResource extends BaseUserSelfResource {
userTO.getPlainAttrs().removeAll(membAttrs);
// 2. millis -> Date conversion for PLAIN attributes of USER and its MEMBERSHIPS
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- millisToDate(userPlainAttrMap, plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- millisToDate(membership.getPlainAttrMap(), plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
index 350ae17..32f5551 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
@@ -23,6 +23,7 @@ import org.apache.commons.collections4.IterableUtils;
import org.apache.commons.collections4.Predicate;
import org.apache.syncope.client.enduser.model.CustomAttribute;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.types.SchemaType;
@@ -43,11 +44,12 @@ public final class UserRequestValidator {
return true;
}
- return validateAttributes(userTO.getPlainAttrMap(), customForm.get(SchemaType.PLAIN.name()), checkDefaultValues)
- && validateAttributes(userTO.getDerAttrMap(), customForm.get(SchemaType.DERIVED.name()),
- checkDefaultValues)
- && validateAttributes(userTO.getVirAttrMap(), customForm.get(SchemaType.VIRTUAL.name()),
- checkDefaultValues);
+ return validateAttributes(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()),
+ customForm.get(SchemaType.PLAIN.name()), checkDefaultValues)
+ && validateAttributes(EntityTOUtils.buildAttrMap(userTO.getDerAttrs()),
+ customForm.get(SchemaType.DERIVED.name()), checkDefaultValues)
+ && validateAttributes(EntityTOUtils.buildAttrMap(userTO.getVirAttrs()),
+ customForm.get(SchemaType.VIRTUAL.name()), checkDefaultValues);
}
private static boolean validateAttributes(final Map<String, AttrTO> attrMap,
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
index 70d4fd3..d8c021a 100644
--- a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
+++ b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
@@ -61,11 +61,11 @@ public class UserRequestValidatorTest {
assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// firstname must have only one defaultValue
- userTO.getPlainAttrMap().get("firstname").getValues().add("notAllowedFirstnameValue");
+ userTO.getPlainAttr("firstname").getValues().add("notAllowedFirstnameValue");
assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
// clean
- userTO.getPlainAttrMap().get("firstname").getValues().remove("notAllowedFirstnameValue");
+ userTO.getPlainAttr("firstname").getValues().remove("notAllowedFirstnameValue");
// derived must not be present
AttrTO derivedNotAllowed = attrTO("derivedNotAllowed");
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
index 1da4df7..69d373e 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
@@ -89,8 +89,8 @@ public final class AnyOperations {
result.setGroup(updated.getGroupKey());
// 1. plain attributes
- Map<String, AttrTO> updatedAttrs = new HashMap<>(updated.getPlainAttrMap());
- Map<String, AttrTO> originalAttrs = new HashMap<>(original.getPlainAttrMap());
+ Map<String, AttrTO> updatedAttrs = EntityTOUtils.buildAttrMap(updated.getPlainAttrs());
+ Map<String, AttrTO> originalAttrs = EntityTOUtils.buildAttrMap(original.getPlainAttrs());
result.getPlainAttrs().clear();
@@ -159,8 +159,8 @@ public final class AnyOperations {
}
// 3. plain attributes
- Map<String, AttrTO> updatedAttrs = new HashMap<>(updated.getPlainAttrMap());
- Map<String, AttrTO> originalAttrs = new HashMap<>(original.getPlainAttrMap());
+ Map<String, AttrTO> updatedAttrs = EntityTOUtils.buildAttrMap(updated.getPlainAttrs());
+ Map<String, AttrTO> originalAttrs = EntityTOUtils.buildAttrMap(original.getPlainAttrs());
result.getPlainAttrs().clear();
@@ -483,7 +483,7 @@ public final class AnyOperations {
// 2. plain attributes
result.getPlainAttrs().clear();
- result.getPlainAttrs().addAll(patch(to.getPlainAttrMap(), patch.getPlainAttrs()));
+ result.getPlainAttrs().addAll(patch(EntityTOUtils.buildAttrMap(to.getPlainAttrs()), patch.getPlainAttrs()));
// 3. virtual attributes
result.getVirAttrs().clear();
@@ -571,7 +571,7 @@ public final class AnyOperations {
}
} else {
newMembershipTO.getPlainAttrs().addAll(
- patch(memb.getPlainAttrMap(), membPatch.getPlainAttrs()));
+ patch(EntityTOUtils.buildAttrMap(memb.getPlainAttrs()), membPatch.getPlainAttrs()));
}
// 3. virtual attributes
@@ -637,7 +637,7 @@ public final class AnyOperations {
}
} else {
newMembershipTO.getPlainAttrs().addAll(
- patch(memb.getPlainAttrMap(), membPatch.getPlainAttrs()));
+ patch(EntityTOUtils.buildAttrMap(memb.getPlainAttrs()), membPatch.getPlainAttrs()));
}
// 3. virtual attributes
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java b/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
index 001e569..d0c04bc 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
@@ -18,7 +18,11 @@
*/
package org.apache.syncope.common.lib;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.EntityTO;
public final class EntityTOUtils {
@@ -33,6 +37,15 @@ public final class EntityTOUtils {
};
}
+ public static Map<String, AttrTO> buildAttrMap(final Collection<AttrTO> attrs) {
+ Map<String, AttrTO> result = new HashMap<>(attrs.size());
+ for (AttrTO attributeTO : attrs) {
+ result.put(attributeTO.getSchema(), attributeTO);
+ }
+
+ return result;
+ }
+
/**
* Private default constructor, for static-only classes.
*/
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
index 47f1d9b..7796b62 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
@@ -22,16 +22,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
@XmlType
@XmlSeeAlso({ UserTO.class, GroupTO.class, AnyObjectTO.class })
@@ -46,7 +45,7 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
private String realm;
- private List<String> dynRealms = new ArrayList<>();
+ private final List<String> dynRealms = new ArrayList<>();
private String status;
@@ -118,13 +117,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getPlainAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(plainAttrs.size());
- for (AttrTO attributeTO : plainAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getPlainAttr(final String schema) {
+ return IterableUtils.find(plainAttrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "derAttrs")
@@ -137,13 +137,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getDerAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(derAttrs.size());
- for (AttrTO attributeTO : derAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getDerAttr(final String schema) {
+ return IterableUtils.find(derAttrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "virAttrs")
@@ -156,13 +157,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getVirAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(virAttrs.size());
- for (AttrTO attributeTO : virAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getVirAttr(final String schema) {
+ return IterableUtils.find(virAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "resources")
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
index da2f7a1..79e57b8 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
@@ -18,20 +18,19 @@
*/
package org.apache.syncope.common.lib.to;
-import java.util.Map;
import java.util.Set;
public interface AttributableTO {
Set<AttrTO> getPlainAttrs();
- Map<String, AttrTO> getPlainAttrMap();
+ AttrTO getPlainAttr(String schema);
Set<AttrTO> getDerAttrs();
- Map<String, AttrTO> getDerAttrMap();
+ AttrTO getDerAttr(String schema);
Set<AttrTO> getVirAttrs();
- Map<String, AttrTO> getVirAttrMap();
+ AttrTO getVirAttr(String schema);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
index 09784c8..6301d68 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
@@ -20,15 +20,14 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.LinkedHashSet;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
import org.apache.syncope.common.lib.AbstractBaseBean;
@XmlRootElement(name = "connObject")
@@ -47,12 +46,13 @@ public class ConnObjectTO extends AbstractBaseBean {
}
@JsonIgnore
- public Map<String, AttrTO> getAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(attrs.size());
- for (AttrTO attributeTO : attrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getAttr(final String schema) {
+ return IterableUtils.find(attrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
index a970dec..5737c7f 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
@@ -20,15 +20,14 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
import org.apache.syncope.common.lib.types.AnyTypeKind;
@XmlRootElement(name = "membership")
@@ -112,13 +111,14 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getPlainAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(plainAttrs.size());
- for (AttrTO attributeTO : plainAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getPlainAttr(final String schema) {
+ return IterableUtils.find(plainAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "derAttrs")
@@ -131,13 +131,14 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getDerAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(derAttrs.size());
- for (AttrTO attributeTO : derAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getDerAttr(final String schema) {
+ return IterableUtils.find(derAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "virAttrs")
@@ -150,12 +151,13 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getVirAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(virAttrs.size());
- for (AttrTO attributeTO : virAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getVirAttr(final String schema) {
+ return IterableUtils.find(virAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/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 4521db6..ec97437 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -1264,15 +1264,15 @@ we are happy to inform you that the password request was successfully executed f
</html>"/>
<MailTemplate id="test"/>
<MailTemplate id="optin"
- textTemplate="Hi ${user.plainAttrMap["firstname"].values[0]} ${user.plainAttrMap["surname"].values[0]}, welcome to Syncope!
+ textTemplate="Hi ${user.getPlainAttr("firstname").values[0]} ${user.getPlainAttr("surname").values[0]}, welcome to Syncope!
Your username is ${user.username}.
-Your email address is ${user.plainAttrMap["email"].values[0]}.
-Your email address inside a link: http://localhost/?email=${user.plainAttrMap["email"].values[0].replace('@', '%40')}
+Your email address is ${user.getPlainAttr("email").values[0]}.
+Your email address inside a link: http://localhost/?email=${user.getPlainAttr("email").values[0].replace('@', '%40')}
This message was sent to the following recipients:
$$ for (recipient: recipients) {
- * ${recipient.plainAttrMap["email"].values[0]}
+ * ${recipient.getPlainAttr("email").values[0]}
$$ }
because one of the following events occurred:
@@ -1288,19 +1288,19 @@ $$ }
$$ } "
htmlTemplate="<html>
<body>
-<h3>Hi ${user.plainAttrMap["firstname"].values[0]} ${user.plainAttrMap["surname"].values[0]}, welcome to Syncope!</h3>
+<h3>Hi ${user.getPlainAttr("firstname").values[0]} ${user.getPlainAttr("surname").values[0]}, welcome to Syncope!</h3>
<p>
Your username is ${user.username}.<br/>
- Your email address is ${user.plainAttrMap["email"].values[0]}.
- Your email address inside a <a href="http://localhost/?email=${user.plainAttrMap["email"].values[0].replace('@', '%40')}">link</a>.
+ Your email address is ${user.getPlainAttr("email").values[0]}.
+ Your email address inside a <a href="http://localhost/?email=${user.getPlainAttr("email").values[0].replace('@', '%40')}">link</a>.
</p>
<p>
This message was sent to the following recipients:
<ul>
$$ for (recipient: recipients) { Na
- <li>${recipient.plainAttrMap["email"].values[0]}</li>
+ <li>${recipient.getPlainAttr("email").values[0]}</li>
$$ }
</ul>
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
index 13f19a0..2e213f7 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
@@ -95,7 +95,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
WorkflowResult<String> created = gwfAdapter.create(groupTO);
// see ConnObjectUtils#getAnyTOFromConnObject for GroupOwnerSchema
- AttrTO groupOwner = groupTO.getPlainAttrMap().get(StringUtils.EMPTY);
+ AttrTO groupOwner = groupTO.getPlainAttr(StringUtils.EMPTY);
if (groupOwner != null) {
groupOwnerMap.put(created.getResult(), groupOwner.getValues().iterator().next());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
index fa558b6..44a4dfa 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.report.GroupReportletConf;
import org.apache.syncope.common.lib.report.GroupReportletConf.Feature;
@@ -86,7 +87,7 @@ public class GroupReportlet extends AbstractReportlet {
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
@@ -112,7 +113,7 @@ public class GroupReportlet extends AbstractReportlet {
}
if (!derAttrs.isEmpty()) {
- Map<String, AttrTO> derAttrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> derAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
@@ -138,7 +139,7 @@ public class GroupReportlet extends AbstractReportlet {
}
if (!virAttrs.isEmpty()) {
- Map<String, AttrTO> virAttrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> virAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
index 200f64a..2e4314d 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.report.ReportletConf;
import org.apache.syncope.common.lib.report.UserReportletConf;
@@ -98,7 +99,7 @@ public class UserReportlet extends AbstractReportlet {
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
@@ -124,7 +125,7 @@ public class UserReportlet extends AbstractReportlet {
}
if (!derAttrs.isEmpty()) {
- Map<String, AttrTO> derAttrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> derAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
@@ -150,7 +151,7 @@ public class UserReportlet extends AbstractReportlet {
}
if (!virAttrs.isEmpty()) {
- Map<String, AttrTO> virAttrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> virAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/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 de0480f..69485e4 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
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.commons.jexl3.MapContext;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTO;
@@ -75,7 +76,7 @@ public class TemplateUtils {
}
}
- Map<String, AttrTO> currentAttrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (AttrTO templatePlainAttr : template.getPlainAttrs()) {
if (!templatePlainAttr.getValues().isEmpty()
&& (!currentAttrMap.containsKey(templatePlainAttr.getSchema())
@@ -85,14 +86,14 @@ public class TemplateUtils {
}
}
- currentAttrMap = anyTO.getDerAttrMap();
+ currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (AttrTO templateDerAttr : template.getDerAttrs()) {
if (!currentAttrMap.containsKey(templateDerAttr.getSchema())) {
anyTO.getDerAttrs().add(templateDerAttr);
}
}
- currentAttrMap = anyTO.getVirAttrMap();
+ currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (AttrTO templateVirAttr : template.getVirAttrs()) {
if (!templateVirAttr.getValues().isEmpty()
&& (!currentAttrMap.containsKey(templateVirAttr.getSchema())
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
index 37c37d1..cb9177a 100644
--- a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
+++ b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
@@ -111,7 +111,7 @@ public class MailTemplateTest extends AbstractTest {
ctx.put("input", input);
UserTO recipient = SerializationUtils.clone(user);
- recipient.getPlainAttrMap().get("email").getValues().set(0, "another@syncope.apache.org");
+ recipient.getPlainAttr("email").getValues().set(0, "another@syncope.apache.org");
ctx.put("recipients", Collections.singletonList(recipient));
String htmlBody = evaluate(
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
index 7a66c3d..0574d82 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
@@ -87,16 +87,16 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
AttrTO result;
switch (schemaType) {
case DERIVED:
- result = any.getDerAttrMap().get(schema);
+ result = any.getDerAttr(schema);
break;
case VIRTUAL:
- result = any.getVirAttrMap().get(schema);
+ result = any.getVirAttr(schema);
break;
case PLAIN:
default:
- result = any.getPlainAttrMap().get(schema);
+ result = any.getPlainAttr(schema);
}
if (result == null) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
index 8193e3e..612844b 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
@@ -72,7 +72,7 @@ public class CreateProducer extends AbstractProducer {
if (actual instanceof GroupTO && isPull()) {
Map<String, String> groupOwnerMap = exchange.getProperty("groupOwnerMap", Map.class);
- AttrTO groupOwner = ((GroupTO) actual).getPlainAttrMap().get(StringUtils.EMPTY);
+ AttrTO groupOwner = ((GroupTO) actual).getPlainAttr(StringUtils.EMPTY);
if (groupOwner != null) {
groupOwnerMap.put(created.getResult(), groupOwner.getValues().iterator().next());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
index 95325a9..ffd55b1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
@@ -67,10 +67,10 @@ public class AnyObjectITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
assertNotNull(connObjectTO);
- assertNotNull(connObjectTO.getAttrMap().get("LOCATION"));
+ assertNotNull(connObjectTO.getAttr("LOCATION"));
assertEquals(
- anyObjectTO.getPlainAttrMap().get("location").getValues(),
- connObjectTO.getAttrMap().get("LOCATION").getValues());
+ anyObjectTO.getPlainAttr("location").getValues(),
+ connObjectTO.getAttr("LOCATION").getValues());
}
@Test
@@ -123,8 +123,8 @@ public class AnyObjectITCase extends AbstractITCase {
public void list() {
PagedResult<AnyObjectTO> anyObjectTOs = anyObjectService.search(
new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
- fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER").query()).
- build());
+ fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER").query()).
+ build());
assertNotNull(anyObjectTOs);
assertTrue(anyObjectTOs.getResult().size() >= 2);
for (AnyObjectTO anyObjectTO : anyObjectTOs.getResult()) {
@@ -154,7 +154,7 @@ public class AnyObjectITCase extends AbstractITCase {
anyObjectTO = updateAnyObject(anyObjectPatch).getEntity();
- assertEquals(newLocation, anyObjectTO.getPlainAttrMap().get("location").getValues().get(0));
+ assertEquals(newLocation, anyObjectTO.getPlainAttr("location").getValues().get(0));
}
@Test
@@ -167,7 +167,7 @@ public class AnyObjectITCase extends AbstractITCase {
assertEquals(anyObjectTO.getPlainAttrs(), attrs);
AttrTO location = anyObjectService.read(anyObjectTO.getKey(), SchemaType.PLAIN, "location");
- assertEquals(anyObjectTO.getPlainAttrMap().get("location"), location);
+ assertEquals(anyObjectTO.getPlainAttr("location"), location);
}
@Test
@@ -190,7 +190,7 @@ public class AnyObjectITCase extends AbstractITCase {
AnyObjectTO anyObjectTO = getSampleTO("deleteAttr");
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
assertNotNull(anyObjectTO);
- assertNotNull(anyObjectTO.getPlainAttrMap().get("location"));
+ assertNotNull(anyObjectTO.getPlainAttr("location"));
anyObjectService.delete(anyObjectTO.getKey(), SchemaType.PLAIN, "location");
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 55d0cd3..50fa799 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -278,7 +278,7 @@ public class AuthenticationITCase extends AbstractITCase {
user = response.readEntity(new GenericType<ProvisioningResult<UserTO>>() {
}).getEntity();
- assertEquals("surname", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname", user.getPlainAttr("surname").getValues().get(0));
// 5. as delegated, update user attempting to move under realm / -> fail
UserPatch userPatch = new UserPatch();
@@ -301,7 +301,7 @@ public class AuthenticationITCase extends AbstractITCase {
user = response.readEntity(new GenericType<ProvisioningResult<UserTO>>() {
}).getEntity();
- assertEquals("surname2", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname2", user.getPlainAttr("surname").getValues().get(0));
// 7. as delegated, delete user
delegatedUserService.delete(user.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
index 66fbcc1..4f4f475 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
@@ -120,7 +120,7 @@ public class CamelRouteITCase extends AbstractITCase {
+ " </setProperty>\n"
+ " <setBody>\n"
+ " <groovy>\n"
- + "request.body.getPlainAttrMap().get(\"camelAttribute\").getValues().set(0,\"true\")\n"
+ + "request.body.getPlainAttr(\"camelAttribute\").getValues().set(0,\"true\")\n"
+ " return request.body\n"
+ " </groovy>\n"
+ " </setBody>\n"
@@ -165,7 +165,7 @@ public class CamelRouteITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertNotNull(userTO);
- assertEquals("true", userTO.getPlainAttrMap().get("camelAttribute").getValues().get(0));
+ assertEquals("true", userTO.getPlainAttr("camelAttribute").getValues().get(0));
} finally {
doUpdate(oldRoute.getKey(), oldRoute.getContent());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
index caf1623..88d08f9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
@@ -210,7 +210,7 @@ public class DynRealmITCase extends AbstractITCase {
readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
}).getEntity();
assertNotNull(group);
- assertEquals("modified", group.getPlainAttrMap().get("icon").getValues().get(0));
+ assertEquals("modified", group.getPlainAttr("icon").getValues().get(0));
} finally {
if (role != null) {
roleService.delete(role.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
index 1d8c528..3dff239 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
@@ -44,6 +44,7 @@ import org.apache.commons.lang3.SerializationUtils;
import org.apache.syncope.client.lib.AnonymousAuthenticationHandler;
import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.patch.AnyObjectPatch;
@@ -119,17 +120,16 @@ public class GroupITCase extends AbstractITCase {
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertNotNull(groupTO.getVirAttrMap());
- assertNotNull(groupTO.getVirAttrMap().get("rvirtualdata").getValues());
- assertFalse(groupTO.getVirAttrMap().get("rvirtualdata").getValues().isEmpty());
- assertEquals("rvirtualvalue", groupTO.getVirAttrMap().get("rvirtualdata").getValues().get(0));
+ assertNotNull(groupTO.getVirAttr("rvirtualdata").getValues());
+ assertFalse(groupTO.getVirAttr("rvirtualdata").getValues().isEmpty());
+ assertEquals("rvirtualvalue", groupTO.getVirAttr("rvirtualdata").getValues().get(0));
assertTrue(groupTO.getResources().contains(RESOURCE_NAME_LDAP));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObjectTO);
- assertNotNull(connObjectTO.getAttrMap().get("owner"));
+ assertNotNull(connObjectTO.getAttr("owner"));
// SYNCOPE-515: remove ownership
GroupPatch groupPatch = new GroupPatch();
@@ -240,12 +240,12 @@ public class GroupITCase extends AbstractITCase {
assertEquals(modName, groupTO.getName());
assertEquals(2, groupTO.getPlainAttrs().size());
- groupTO.getPlainAttrMap().get("show").getValues().clear();
+ groupTO.getPlainAttr("show").getValues().clear();
groupTO = groupService.update(groupTO).readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
}).getEntity();
- assertFalse(groupTO.getPlainAttrMap().containsKey("show"));
+ assertNull(groupTO.getPlainAttr("show"));
}
@Test
@@ -269,7 +269,7 @@ public class GroupITCase extends AbstractITCase {
GroupPatch patch = AnyOperations.diff(updated, original, true);
GroupTO group = updateGroup(patch).getEntity();
- Map<String, AttrTO> attrs = group.getPlainAttrMap();
+ Map<String, AttrTO> attrs = EntityTOUtils.buildAttrMap(group.getPlainAttrs());
assertFalse(attrs.containsKey("icon"));
assertFalse(attrs.containsKey("show"));
assertEquals(Collections.singletonList("sx"), attrs.get("rderived_sx").getValues());
@@ -574,10 +574,10 @@ public class GroupITCase extends AbstractITCase {
// 2. create a group *without* an attribute for that schema: it works
GroupTO groupTO = getSampleTO("lastGroup");
- assertFalse(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNull(groupTO.getPlainAttr(badge.getKey()));
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertFalse(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNull(groupTO.getPlainAttr(badge.getKey()));
// 3. add the new mandatory schema to the default group type
AnyTypeTO type = anyTypeService.read(AnyTypeKind.GROUP.name());
@@ -605,7 +605,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(groupPatch).getEntity();
assertNotNull(groupTO);
- assertTrue(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNotNull(groupTO.getPlainAttr(badge.getKey()));
} finally {
// restore the original group class
typeClass.getPlainSchemas().remove(badge.getKey());
@@ -669,7 +669,7 @@ public class GroupITCase extends AbstractITCase {
AnyObjectTO newAny = AnyObjectITCase.getSampleTO("aDynMembership");
newAny.getResources().clear();
newAny = createAnyObject(newAny).getEntity();
- assertNotNull(newAny.getPlainAttrMap().get("location"));
+ assertNotNull(newAny.getPlainAttr("location"));
assertTrue(anyObjectService.read(
"fc6dbc3a-6c07-4965-8781-921e7401a4a5").getDynGroups().contains(group.getKey()));
assertTrue(anyObjectService.read(
@@ -697,7 +697,7 @@ public class GroupITCase extends AbstractITCase {
attrTO(new AttrTO.Builder().schema("location").build()).
build());
newAny = updateAnyObject(anyPatch).getEntity();
- assertNull(newAny.getPlainAttrMap().get("location"));
+ assertNull(newAny.getPlainAttr("location"));
assertFalse(anyObjectService.read(
"fc6dbc3a-6c07-4965-8781-921e7401a4a5").getDynGroups().contains(group.getKey()));
assertFalse(anyObjectService.read(
@@ -1036,7 +1036,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertEquals("11.23", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.23", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 3. update schema, set conversion pattern
schema = schemaService.read(SchemaType.PLAIN, schema.getKey());
@@ -1046,7 +1046,7 @@ public class GroupITCase extends AbstractITCase {
// 4. re-read group, verify that pattern was applied
groupTO = groupService.read(groupTO.getKey());
assertNotNull(groupTO);
- assertEquals("11.230", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.230", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 5. modify group with new double value
GroupPatch patch = new GroupPatch();
@@ -1055,7 +1055,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(patch).getEntity();
assertNotNull(groupTO);
- assertEquals("11.257", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.257", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 6. update schema, unset conversion pattern
schema.setConversionPattern(null);
@@ -1068,7 +1068,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(patch).getEntity();
assertNotNull(groupTO);
- assertEquals("11.23", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.23", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
index 74a78d3..e150bb2 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
@@ -21,6 +21,7 @@ package org.apache.syncope.fit.core;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -74,7 +75,7 @@ public class MembershipITCase extends AbstractITCase {
UserTO user = UserITCase.getUniqueSampleTO("memb@apache.org");
user.setRealm("/even/two");
user.getPlainAttrs().add(new AttrTO.Builder().schema("aLong").value("1976").build());
- user.getPlainAttrs().remove(user.getPlainAttrMap().get("ctype"));
+ user.getPlainAttrs().remove(user.getPlainAttr("ctype"));
// the group 034740a9-fa10-453b-af37-dc7897e98fb1 has USER type extensions for 'csv' and 'other'
// any type classes
@@ -107,19 +108,19 @@ public class MembershipITCase extends AbstractITCase {
user = createUser(user).getEntity();
// 1. verify that 'aLong' is correctly populated for user
- assertEquals(1, user.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1976", user.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, user.getPlainAttr("aLong").getValues().size());
+ assertEquals("1976", user.getPlainAttr("aLong").getValues().get(0));
// 2. verify that 'aLong' is correctly populated for user's membership
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get("034740a9-fa10-453b-af37-dc7897e98fb1");
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1977", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1977", membership.getPlainAttr("aLong").getValues().get(0));
// 3. verify that derived attrbutes from 'csv' and 'other' are also populated for user's membership
- assertFalse(membership.getDerAttrMap().get("csvuserid").getValues().isEmpty());
- assertFalse(membership.getDerAttrMap().get("noschema").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("csvuserid").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("noschema").getValues().isEmpty());
// update user - change some values and add new membership attribute
UserPatch userPatch = new UserPatch();
@@ -138,19 +139,19 @@ public class MembershipITCase extends AbstractITCase {
user = updateUser(userPatch).getEntity();
// 4. verify that 'aLong' is correctly populated for user
- assertEquals(1, user.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1977", user.getPlainAttrMap().get("aLong").getValues().get(0));
- assertFalse(user.getPlainAttrMap().containsKey("ctype"));
+ assertEquals(1, user.getPlainAttr("aLong").getValues().size());
+ assertEquals("1977", user.getPlainAttr("aLong").getValues().get(0));
+ assertNull(user.getPlainAttr("ctype"));
// 5. verify that 'aLong' is correctly populated for user's membership
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get("034740a9-fa10-453b-af37-dc7897e98fb1");
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1976", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1976", membership.getPlainAttr("aLong").getValues().get(0));
// 6. verify that 'ctype' is correctly populated for user's membership
- assertEquals("membership type", membership.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("membership type", membership.getPlainAttr("ctype").getValues().get(0));
// finally remove membership
userPatch = new UserPatch();
@@ -212,12 +213,12 @@ public class MembershipITCase extends AbstractITCase {
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get(groupTO.getKey());
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1454", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1454", membership.getPlainAttr("aLong").getValues().get(0));
// verify that derived attrbutes from 'csv' and 'other' are also populated for user's membership
- assertFalse(membership.getDerAttrMap().get("csvuserid").getValues().isEmpty());
- assertFalse(membership.getDerAttrMap().get("noschema").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("csvuserid").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("noschema").getValues().isEmpty());
// now remove the group -> all related memberships should have been removed as well
groupService.delete(groupTO.getKey());
@@ -264,7 +265,7 @@ public class MembershipITCase extends AbstractITCase {
// 1. create user with new resource assigned
UserTO user = UserITCase.getUniqueSampleTO("memb@apache.org");
user.setRealm("/even/two");
- user.getPlainAttrs().remove(user.getPlainAttrMap().get("ctype"));
+ user.getPlainAttrs().remove(user.getPlainAttr("ctype"));
user.getResources().clear();
user.getResources().add(newResource.getKey());
@@ -310,7 +311,7 @@ public class MembershipITCase extends AbstractITCase {
assertEquals(1, users.getTotalCount());
assertEquals(1, users.getResult().get(0).getMemberships().size());
assertEquals("5432", users.getResult().get(0).getMemberships().get(0).
- getPlainAttrMap().get("aLong").getValues().get(0));
+ getPlainAttr("aLong").getValues().get(0));
} catch (Exception e) {
LOG.error("Unexpected error", e);
fail(e.getMessage());
http://git-wip-us.apache.org/repos/asf/syncope/blob/9ec5f834/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
index ed8d0df..9017a9b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
@@ -518,8 +518,8 @@ public class MigrationITCase extends AbstractTaskITCase {
assertEquals("/" + MIGRATION_REALM, group.getRealm());
// 4a. user plain attrs
- assertEquals("Gioacchino", user.getPlainAttrMap().get("firstname").getValues().get(0));
- assertEquals("Rossini", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("Gioacchino", user.getPlainAttr("firstname").getValues().get(0));
+ assertEquals("Rossini", user.getPlainAttr("surname").getValues().get(0));
// 4b. user resources
assertTrue(user.getResources().contains(RESOURCE_NAME_TESTDB2));
@@ -528,7 +528,7 @@ public class MigrationITCase extends AbstractTaskITCase {
assertNotNull(clientFactory.create("bellini12", ADMIN_PWD).self());
// 4d. group plain attrs
- assertEquals("r12", group.getPlainAttrMap().get("title").getValues().get(0));
+ assertEquals("r12", group.getPlainAttr("title").getValues().get(0));
// 4e. group resources
assertTrue(group.getResources().contains(RESOURCE_NAME_CSV));
[2/4] syncope git commit: [SYNCOPE-1106] Removed methods returning
Map, added methods for getting attribute for specific schema
Posted by il...@apache.org.
[SYNCOPE-1106] Removed methods returning Map, added methods for getting attribute for specific schema
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/31cffd4e
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/31cffd4e
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/31cffd4e
Branch: refs/heads/2_0_X
Commit: 31cffd4ec3fc6ba0b4ca1a96732299be7d585bab
Parents: ee453d6
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Mon Jun 12 11:43:03 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Mon Jun 12 11:43:03 2017 +0200
----------------------------------------------------------------------
.../commons/SortableAnyProviderComparator.java | 20 ++----
.../console/commons/status/StatusUtils.java | 14 +---
.../syncope/client/console/panels/Realm.java | 22 +++---
.../html/repeater/data/table/AttrColumn.java | 17 +++--
.../data/table/ConnObjectAttrColumn.java | 7 +-
.../console/wizards/any/ConnObjectPanel.java | 6 +-
.../client/console/wizards/any/DerAttrs.java | 7 +-
.../client/console/wizards/any/PlainAttrs.java | 5 +-
.../client/console/wizards/any/VirAttrs.java | 5 +-
.../resources/UserSelfCreateResource.java | 7 +-
.../enduser/resources/UserSelfReadResource.java | 6 +-
.../resources/UserSelfUpdateResource.java | 7 +-
.../enduser/util/UserRequestValidator.java | 12 ++--
.../enduser/util/UserRequestValidatorTest.java | 4 +-
.../syncope/common/lib/AnyOperations.java | 14 ++--
.../syncope/common/lib/EntityTOUtils.java | 13 ++++
.../org/apache/syncope/common/lib/to/AnyTO.java | 48 ++++++-------
.../syncope/common/lib/to/AttributableTO.java | 7 +-
.../syncope/common/lib/to/ConnObjectTO.java | 18 ++---
.../syncope/common/lib/to/MembershipTO.java | 50 +++++++-------
.../test/resources/domains/MasterContent.xml | 16 ++---
.../java/DefaultGroupProvisioningManager.java | 2 +-
.../java/job/report/GroupReportlet.java | 7 +-
.../java/job/report/UserReportlet.java | 7 +-
.../provisioning/java/utils/TemplateUtils.java | 7 +-
.../provisioning/java/MailTemplateTest.java | 2 +-
.../rest/cxf/service/AbstractAnyService.java | 6 +-
.../camel/producer/CreateProducer.java | 2 +-
.../syncope/fit/core/AnyObjectITCase.java | 16 ++---
.../syncope/fit/core/AuthenticationITCase.java | 4 +-
.../syncope/fit/core/CamelRouteITCase.java | 4 +-
.../apache/syncope/fit/core/DynRealmITCase.java | 2 +-
.../apache/syncope/fit/core/GroupITCase.java | 34 +++++-----
.../syncope/fit/core/MembershipITCase.java | 39 +++++------
.../syncope/fit/core/MigrationITCase.java | 6 +-
.../syncope/fit/core/PropagationTaskITCase.java | 8 +--
.../apache/syncope/fit/core/PullTaskITCase.java | 71 ++++++++++----------
.../apache/syncope/fit/core/ResourceITCase.java | 3 +-
.../org/apache/syncope/fit/core/UserITCase.java | 29 ++++----
.../syncope/fit/core/UserIssuesITCase.java | 69 +++++++++----------
.../apache/syncope/fit/core/UserSelfITCase.java | 2 +-
.../apache/syncope/fit/core/VirAttrITCase.java | 48 ++++++-------
42 files changed, 336 insertions(+), 337 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
index 52087f7..0eb370d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/SortableAnyProviderComparator.java
@@ -21,7 +21,6 @@ package org.apache.syncope.client.console.commons;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
@@ -54,18 +53,11 @@ public class SortableAnyProviderComparator<T extends AnyTO> extends SortableData
private static final long serialVersionUID = -7856686374020091808L;
- private final Map<String, AttrTO> plainAttrs;
-
- private final Map<String, AttrTO> derAttrs;
-
- private final Map<String, AttrTO> virAttrs;
+ private final AnyTO anyTO;
AttrModel(final AnyTO anyTO) {
super();
-
- this.plainAttrs = anyTO.getPlainAttrMap();
- this.derAttrs = anyTO.getDerAttrMap();
- this.virAttrs = anyTO.getVirAttrMap();
+ this.anyTO = anyTO;
}
/**
@@ -91,20 +83,20 @@ public class SortableAnyProviderComparator<T extends AnyTO> extends SortableData
final AttrTO attr;
if (schemaType == null) {
- attr = this.plainAttrs.get(schema);
+ attr = this.anyTO.getPlainAttr(schema);
} else {
switch (schemaType) {
case PLAIN:
default:
- attr = this.plainAttrs.get(schema);
+ attr = this.anyTO.getPlainAttr(schema);
break;
case DERIVED:
- attr = this.derAttrs.get(schema);
+ attr = this.anyTO.getDerAttr(schema);
break;
case VIRTUAL:
- attr = this.virAttrs.get(schema);
+ attr = this.anyTO.getVirAttr(schema);
break;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
index baf5b9b..6da9246 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/status/StatusUtils.java
@@ -21,9 +21,7 @@ package org.apache.syncope.client.console.commons.status;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.commons.ConnIdSpecialName;
import org.apache.syncope.client.console.commons.Constants;
@@ -113,22 +111,14 @@ public class StatusUtils implements Serializable {
}
private Boolean isEnabled(final ConnObjectTO objectTO) {
- final Map<String, AttrTO> attributeTOs = objectTO.getAttrMap();
-
- final AttrTO status = attributeTOs.get(ConnIdSpecialName.ENABLE);
-
+ final AttrTO status = objectTO.getAttr(ConnIdSpecialName.ENABLE);
return status != null && status.getValues() != null && !status.getValues().isEmpty()
? Boolean.valueOf(status.getValues().get(0))
: Boolean.FALSE;
}
private String getConnObjectLink(final ConnObjectTO objectTO) {
- final Map<String, AttrTO> attributeTOs = objectTO == null
- ? Collections.<String, AttrTO>emptyMap()
- : objectTO.getAttrMap();
-
- final AttrTO name = attributeTOs.get(ConnIdSpecialName.NAME);
-
+ final AttrTO name = objectTO == null ? null : objectTO.getAttr(ConnIdSpecialName.NAME);
return name != null && name.getValues() != null && !name.getValues().isEmpty()
? name.getValues().get(0)
: null;
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 615b393..e6d57cd 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -25,8 +25,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
@@ -85,8 +83,8 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
setPageRef(pageRef);
- AjaxBootstrapTabbedPanel<ITab> tabbedPanel
- = new AjaxBootstrapTabbedPanel<>("tabbedPanel", buildTabList(pageRef));
+ AjaxBootstrapTabbedPanel<ITab> tabbedPanel =
+ new AjaxBootstrapTabbedPanel<>("tabbedPanel", buildTabList(pageRef));
tabbedPanel.setSelectedTab(selectedIndex);
addInnerObject(tabbedPanel);
this.wizardBuilder = new RealmWizardBuilder(pageRef);
@@ -167,15 +165,15 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
}
});
- final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo
- = FormLayoutInfoUtils.fetch(anyTypeTOs);
+ final Triple<UserFormLayoutInfo, GroupFormLayoutInfo, Map<String, AnyObjectFormLayoutInfo>> formLayoutInfo =
+ FormLayoutInfoUtils.fetch(anyTypeTOs);
Collections.sort(anyTypeTOs, new AnyTypeComparator());
for (final AnyTypeTO anyTypeTO : anyTypeTOs) {
tabs.add(new ITabComponent(
new Model<>(anyTypeTO.getKey()),
AnyTypeKind.GROUP.name().equals(anyTypeTO.getKey())
- ? null : new String[]{String.format("%s_SEARCH", anyTypeTO.getKey())}) {
+ ? null : new String[] { String.format("%s_SEARCH", anyTypeTO.getKey()) }) {
private static final long serialVersionUID = 1169585538404171118L;
@@ -223,12 +221,12 @@ public abstract class Realm extends WizardMgtPanel<RealmTO> {
if ("afterObj".equalsIgnoreCase(key)) {
ConnObjectTO afterObj = bean.getAfterObj();
String remoteId = afterObj == null
- || MapUtils.isEmpty(afterObj.getAttrMap())
- || !afterObj.getAttrMap().containsKey(ConnIdSpecialName.NAME)
- || CollectionUtils.isEmpty(afterObj.getAttrMap().get(ConnIdSpecialName.NAME).getValues())
+ || afterObj.getAttrs().isEmpty()
+ || afterObj.getAttr(ConnIdSpecialName.NAME) == null
+ || afterObj.getAttr(ConnIdSpecialName.NAME).getValues() == null
+ || afterObj.getAttr(ConnIdSpecialName.NAME).getValues().isEmpty()
? StringUtils.EMPTY
- : afterObj.getAttrMap().get(ConnIdSpecialName.NAME).getValues().
- iterator().next();
+ : afterObj.getAttr(ConnIdSpecialName.NAME).getValues().get(0);
return new Label("field", remoteId);
} else if ("status".equalsIgnoreCase(key)) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
index b756a05..1341791 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
import java.util.List;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
@@ -50,27 +51,25 @@ public class AttrColumn<T extends AttributableTO> extends AbstractColumn<T, Stri
List<String> values = null;
+ AttrTO attr = null;
switch (schemaType) {
case PLAIN:
- if (rowModel.getObject().getPlainAttrMap().containsKey(name)) {
- values = rowModel.getObject().getPlainAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getPlainAttr(name);
break;
case DERIVED:
- if (rowModel.getObject().getDerAttrMap().containsKey(name)) {
- values = rowModel.getObject().getDerAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getDerAttr(name);
break;
case VIRTUAL:
- if (rowModel.getObject().getVirAttrMap().containsKey(name)) {
- values = rowModel.getObject().getVirAttrMap().get(name).getValues();
- }
+ attr = rowModel.getObject().getVirAttr(name);
break;
default:
}
+ if (attr != null) {
+ values = attr.getValues();
+ }
if (values == null || values.isEmpty()) {
cellItem.add(new Label(componentId, ""));
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
index 907f647..5d9dbd4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/ConnObjectAttrColumn.java
@@ -19,6 +19,7 @@
package org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table;
import java.util.List;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
@@ -47,10 +48,8 @@ public class ConnObjectAttrColumn extends AbstractColumn<ConnObjectTO, String> {
final String componentId,
final IModel<ConnObjectTO> rowModel) {
- List<String> values = null;
- if (rowModel.getObject().getAttrMap().containsKey(name)) {
- values = rowModel.getObject().getAttrMap().get(name).getValues();
- }
+ AttrTO attr = rowModel.getObject().getAttr(name);
+ List<String> values = attr == null ? null : attr.getValues();
if (values == null || values.isEmpty()) {
cellItem.add(new Label(componentId, ""));
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
index 7d3f612..2c75dae 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/ConnObjectPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.ConnObjectTO;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
@@ -88,11 +89,10 @@ public class ConnObjectPanel extends Panel {
final Map<String, AttrTO> beforeProfile = connObjectTOs == null || connObjectTOs.getLeft() == null
? null
- : connObjectTOs.getLeft().getAttrMap();
-
+ : EntityTOUtils.buildAttrMap(connObjectTOs.getLeft().getAttrs());
final Map<String, AttrTO> afterProfile = connObjectTOs == null || connObjectTOs.getRight() == null
? null
- : connObjectTOs.getRight().getAttrMap();
+ : EntityTOUtils.buildAttrMap(connObjectTOs.getRight().getAttrs());
final ListView<String> propView = new ListView<String>("propView", formProps) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
index d4edbf0..012a662 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/DerAttrs.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accordion;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
@@ -83,7 +84,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
@Override
public WebMarkupContainer getPanel(final String panelId) {
- return new DerAttrs.DerSchemas(panelId, new ListModel<AttrTO>(getAttrsFromTO(membershipTO)));
+ return new DerAttrs.DerSchemas(panelId, new ListModel<>(getAttrsFromTO(membershipTO)));
}
}), Model.of(-1)).setOutputMarkupId(true));
}
@@ -113,7 +114,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (DerSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -133,7 +134,7 @@ public class DerAttrs extends AbstractAttrs<DerSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getDerAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (DerSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 5c1291a..80891cf 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -37,6 +37,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.EncryptedFieldP
import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
@@ -142,7 +143,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (PlainSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -167,7 +168,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (PlainSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
index 5a49b88..4b66f0d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/VirAttrs.java
@@ -27,6 +27,7 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accor
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.client.console.wizards.AjaxWizard;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
@@ -117,7 +118,7 @@ public class VirAttrs extends AbstractAttrs<VirSchemaTO> {
protected void setAttrs() {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (VirSchemaTO schema : schemas.values()) {
AttrTO attrTO = new AttrTO();
@@ -139,7 +140,7 @@ public class VirAttrs extends AbstractAttrs<VirSchemaTO> {
protected void setAttrs(final MembershipTO membershipTO) {
List<AttrTO> attrs = new ArrayList<>();
- Map<String, AttrTO> attrMap = membershipTO.getVirAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (VirSchemaTO schema : membershipSchemas.get(membershipTO.getGroupKey()).values()) {
AttrTO attrTO = new AttrTO();
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
index 8b42285..7b2a834 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfCreateResource.java
@@ -19,7 +19,6 @@
package org.apache.syncope.client.enduser.resources;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.MediaType;
@@ -31,6 +30,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserConstants;
import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.util.UserRequestValidator;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
@@ -114,11 +114,10 @@ public class UserSelfCreateResource extends BaseUserSelfResource {
userTO.getPlainAttrs().removeAll(membAttrs);
// 2. millis -> Date conversion for PLAIN attributes of USER and its MEMBERSHIPS
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- millisToDate(userPlainAttrMap, plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- millisToDate(membership.getPlainAttrMap(), plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
index c4cb6c1..eae1ec7 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfReadResource.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.model.CustomAttribute;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
@@ -62,13 +63,12 @@ public class UserSelfReadResource extends BaseUserSelfResource {
}
UserTO userTO = SerializationUtils.clone(SyncopeEnduserSession.get().getSelfTO());
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
// 1. Date -> millis conversion for PLAIN attributes of USER and its MEMBERSHIPS
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- dateToMillis(userPlainAttrMap, plainSchema);
+ dateToMillis(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- dateToMillis(membership.getPlainAttrMap(), plainSchema);
+ dateToMillis(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
index 828f323..1e8ede2 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/UserSelfUpdateResource.java
@@ -19,7 +19,6 @@
package org.apache.syncope.client.enduser.resources;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.MediaType;
@@ -32,6 +31,7 @@ import org.apache.syncope.client.enduser.SyncopeEnduserSession;
import org.apache.syncope.client.enduser.annotations.Resource;
import org.apache.syncope.client.enduser.util.UserRequestValidator;
import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.MembershipTO;
import org.apache.syncope.common.lib.to.PlainSchemaTO;
@@ -95,11 +95,10 @@ public class UserSelfUpdateResource extends BaseUserSelfResource {
userTO.getPlainAttrs().removeAll(membAttrs);
// 2. millis -> Date conversion for PLAIN attributes of USER and its MEMBERSHIPS
- Map<String, AttrTO> userPlainAttrMap = userTO.getPlainAttrMap();
for (PlainSchemaTO plainSchema : SyncopeEnduserSession.get().getDatePlainSchemas()) {
- millisToDate(userPlainAttrMap, plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()), plainSchema);
for (MembershipTO membership : userTO.getMemberships()) {
- millisToDate(membership.getPlainAttrMap(), plainSchema);
+ millisToDate(EntityTOUtils.buildAttrMap(membership.getPlainAttrs()), plainSchema);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
index 350ae17..32f5551 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/util/UserRequestValidator.java
@@ -23,6 +23,7 @@ import org.apache.commons.collections4.IterableUtils;
import org.apache.commons.collections4.Predicate;
import org.apache.syncope.client.enduser.model.CustomAttribute;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
import org.apache.syncope.common.lib.types.SchemaType;
@@ -43,11 +44,12 @@ public final class UserRequestValidator {
return true;
}
- return validateAttributes(userTO.getPlainAttrMap(), customForm.get(SchemaType.PLAIN.name()), checkDefaultValues)
- && validateAttributes(userTO.getDerAttrMap(), customForm.get(SchemaType.DERIVED.name()),
- checkDefaultValues)
- && validateAttributes(userTO.getVirAttrMap(), customForm.get(SchemaType.VIRTUAL.name()),
- checkDefaultValues);
+ return validateAttributes(EntityTOUtils.buildAttrMap(userTO.getPlainAttrs()),
+ customForm.get(SchemaType.PLAIN.name()), checkDefaultValues)
+ && validateAttributes(EntityTOUtils.buildAttrMap(userTO.getDerAttrs()),
+ customForm.get(SchemaType.DERIVED.name()), checkDefaultValues)
+ && validateAttributes(EntityTOUtils.buildAttrMap(userTO.getVirAttrs()),
+ customForm.get(SchemaType.VIRTUAL.name()), checkDefaultValues);
}
private static boolean validateAttributes(final Map<String, AttrTO> attrMap,
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
index 70d4fd3..d8c021a 100644
--- a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
+++ b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
@@ -61,11 +61,11 @@ public class UserRequestValidatorTest {
assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// firstname must have only one defaultValue
- userTO.getPlainAttrMap().get("firstname").getValues().add("notAllowedFirstnameValue");
+ userTO.getPlainAttr("firstname").getValues().add("notAllowedFirstnameValue");
assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
// clean
- userTO.getPlainAttrMap().get("firstname").getValues().remove("notAllowedFirstnameValue");
+ userTO.getPlainAttr("firstname").getValues().remove("notAllowedFirstnameValue");
// derived must not be present
AttrTO derivedNotAllowed = attrTO("derivedNotAllowed");
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
index 1da4df7..69d373e 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/AnyOperations.java
@@ -89,8 +89,8 @@ public final class AnyOperations {
result.setGroup(updated.getGroupKey());
// 1. plain attributes
- Map<String, AttrTO> updatedAttrs = new HashMap<>(updated.getPlainAttrMap());
- Map<String, AttrTO> originalAttrs = new HashMap<>(original.getPlainAttrMap());
+ Map<String, AttrTO> updatedAttrs = EntityTOUtils.buildAttrMap(updated.getPlainAttrs());
+ Map<String, AttrTO> originalAttrs = EntityTOUtils.buildAttrMap(original.getPlainAttrs());
result.getPlainAttrs().clear();
@@ -159,8 +159,8 @@ public final class AnyOperations {
}
// 3. plain attributes
- Map<String, AttrTO> updatedAttrs = new HashMap<>(updated.getPlainAttrMap());
- Map<String, AttrTO> originalAttrs = new HashMap<>(original.getPlainAttrMap());
+ Map<String, AttrTO> updatedAttrs = EntityTOUtils.buildAttrMap(updated.getPlainAttrs());
+ Map<String, AttrTO> originalAttrs = EntityTOUtils.buildAttrMap(original.getPlainAttrs());
result.getPlainAttrs().clear();
@@ -483,7 +483,7 @@ public final class AnyOperations {
// 2. plain attributes
result.getPlainAttrs().clear();
- result.getPlainAttrs().addAll(patch(to.getPlainAttrMap(), patch.getPlainAttrs()));
+ result.getPlainAttrs().addAll(patch(EntityTOUtils.buildAttrMap(to.getPlainAttrs()), patch.getPlainAttrs()));
// 3. virtual attributes
result.getVirAttrs().clear();
@@ -571,7 +571,7 @@ public final class AnyOperations {
}
} else {
newMembershipTO.getPlainAttrs().addAll(
- patch(memb.getPlainAttrMap(), membPatch.getPlainAttrs()));
+ patch(EntityTOUtils.buildAttrMap(memb.getPlainAttrs()), membPatch.getPlainAttrs()));
}
// 3. virtual attributes
@@ -637,7 +637,7 @@ public final class AnyOperations {
}
} else {
newMembershipTO.getPlainAttrs().addAll(
- patch(memb.getPlainAttrMap(), membPatch.getPlainAttrs()));
+ patch(EntityTOUtils.buildAttrMap(memb.getPlainAttrs()), membPatch.getPlainAttrs()));
}
// 3. virtual attributes
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java b/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
index 001e569..d0c04bc 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/EntityTOUtils.java
@@ -18,7 +18,11 @@
*/
package org.apache.syncope.common.lib;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.commons.collections4.Transformer;
+import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.EntityTO;
public final class EntityTOUtils {
@@ -33,6 +37,15 @@ public final class EntityTOUtils {
};
}
+ public static Map<String, AttrTO> buildAttrMap(final Collection<AttrTO> attrs) {
+ Map<String, AttrTO> result = new HashMap<>(attrs.size());
+ for (AttrTO attributeTO : attrs) {
+ result.put(attributeTO.getSchema(), attributeTO);
+ }
+
+ return result;
+ }
+
/**
* Private default constructor, for static-only classes.
*/
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
index 47f1d9b..7796b62 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AnyTO.java
@@ -22,16 +22,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
@XmlType
@XmlSeeAlso({ UserTO.class, GroupTO.class, AnyObjectTO.class })
@@ -46,7 +45,7 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
private String realm;
- private List<String> dynRealms = new ArrayList<>();
+ private final List<String> dynRealms = new ArrayList<>();
private String status;
@@ -118,13 +117,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getPlainAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(plainAttrs.size());
- for (AttrTO attributeTO : plainAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getPlainAttr(final String schema) {
+ return IterableUtils.find(plainAttrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "derAttrs")
@@ -137,13 +137,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getDerAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(derAttrs.size());
- for (AttrTO attributeTO : derAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getDerAttr(final String schema) {
+ return IterableUtils.find(derAttrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "virAttrs")
@@ -156,13 +157,14 @@ public abstract class AnyTO extends AbstractAnnotatedBean implements EntityTO, A
@JsonIgnore
@Override
- public Map<String, AttrTO> getVirAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(virAttrs.size());
- for (AttrTO attributeTO : virAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getVirAttr(final String schema) {
+ return IterableUtils.find(virAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "resources")
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
index da2f7a1..79e57b8 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/AttributableTO.java
@@ -18,20 +18,19 @@
*/
package org.apache.syncope.common.lib.to;
-import java.util.Map;
import java.util.Set;
public interface AttributableTO {
Set<AttrTO> getPlainAttrs();
- Map<String, AttrTO> getPlainAttrMap();
+ AttrTO getPlainAttr(String schema);
Set<AttrTO> getDerAttrs();
- Map<String, AttrTO> getDerAttrMap();
+ AttrTO getDerAttr(String schema);
Set<AttrTO> getVirAttrs();
- Map<String, AttrTO> getVirAttrMap();
+ AttrTO getVirAttr(String schema);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
index 09784c8..6301d68 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/ConnObjectTO.java
@@ -20,15 +20,14 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.LinkedHashSet;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
import org.apache.syncope.common.lib.AbstractBaseBean;
@XmlRootElement(name = "connObject")
@@ -47,12 +46,13 @@ public class ConnObjectTO extends AbstractBaseBean {
}
@JsonIgnore
- public Map<String, AttrTO> getAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(attrs.size());
- for (AttrTO attributeTO : attrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
+ public AttrTO getAttr(final String schema) {
+ return IterableUtils.find(attrs, new Predicate<AttrTO>() {
- return Collections.unmodifiableMap(result);
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
----------------------------------------------------------------------
diff --git a/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java b/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
index a970dec..5737c7f 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/to/MembershipTO.java
@@ -20,15 +20,14 @@ package org.apache.syncope.common.lib.to;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.commons.collections4.IterableUtils;
+import org.apache.commons.collections4.Predicate;
import org.apache.syncope.common.lib.types.AnyTypeKind;
@XmlRootElement(name = "membership")
@@ -112,13 +111,14 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getPlainAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(plainAttrs.size());
- for (AttrTO attributeTO : plainAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getPlainAttr(final String schema) {
+ return IterableUtils.find(plainAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "derAttrs")
@@ -131,13 +131,14 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getDerAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(derAttrs.size());
- for (AttrTO attributeTO : derAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getDerAttr(final String schema) {
+ return IterableUtils.find(derAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
@XmlElementWrapper(name = "virAttrs")
@@ -150,12 +151,13 @@ public class MembershipTO extends RelationshipTO implements AttributableTO {
@JsonIgnore
@Override
- public Map<String, AttrTO> getVirAttrMap() {
- Map<String, AttrTO> result = new HashMap<>(virAttrs.size());
- for (AttrTO attributeTO : virAttrs) {
- result.put(attributeTO.getSchema(), attributeTO);
- }
-
- return Collections.unmodifiableMap(result);
+ public AttrTO getVirAttr(final String schema) {
+ return IterableUtils.find(virAttrs, new Predicate<AttrTO>() {
+
+ @Override
+ public boolean evaluate(final AttrTO object) {
+ return object.getSchema().equals(schema);
+ }
+ });
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/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 4521db6..ec97437 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -1264,15 +1264,15 @@ we are happy to inform you that the password request was successfully executed f
</html>"/>
<MailTemplate id="test"/>
<MailTemplate id="optin"
- textTemplate="Hi ${user.plainAttrMap["firstname"].values[0]} ${user.plainAttrMap["surname"].values[0]}, welcome to Syncope!
+ textTemplate="Hi ${user.getPlainAttr("firstname").values[0]} ${user.getPlainAttr("surname").values[0]}, welcome to Syncope!
Your username is ${user.username}.
-Your email address is ${user.plainAttrMap["email"].values[0]}.
-Your email address inside a link: http://localhost/?email=${user.plainAttrMap["email"].values[0].replace('@', '%40')}
+Your email address is ${user.getPlainAttr("email").values[0]}.
+Your email address inside a link: http://localhost/?email=${user.getPlainAttr("email").values[0].replace('@', '%40')}
This message was sent to the following recipients:
$$ for (recipient: recipients) {
- * ${recipient.plainAttrMap["email"].values[0]}
+ * ${recipient.getPlainAttr("email").values[0]}
$$ }
because one of the following events occurred:
@@ -1288,19 +1288,19 @@ $$ }
$$ } "
htmlTemplate="<html>
<body>
-<h3>Hi ${user.plainAttrMap["firstname"].values[0]} ${user.plainAttrMap["surname"].values[0]}, welcome to Syncope!</h3>
+<h3>Hi ${user.getPlainAttr("firstname").values[0]} ${user.getPlainAttr("surname").values[0]}, welcome to Syncope!</h3>
<p>
Your username is ${user.username}.<br/>
- Your email address is ${user.plainAttrMap["email"].values[0]}.
- Your email address inside a <a href="http://localhost/?email=${user.plainAttrMap["email"].values[0].replace('@', '%40')}">link</a>.
+ Your email address is ${user.getPlainAttr("email").values[0]}.
+ Your email address inside a <a href="http://localhost/?email=${user.getPlainAttr("email").values[0].replace('@', '%40')}">link</a>.
</p>
<p>
This message was sent to the following recipients:
<ul>
$$ for (recipient: recipients) { Na
- <li>${recipient.plainAttrMap["email"].values[0]}</li>
+ <li>${recipient.getPlainAttr("email").values[0]}</li>
$$ }
</ul>
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
index 13f19a0..2e213f7 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultGroupProvisioningManager.java
@@ -95,7 +95,7 @@ public class DefaultGroupProvisioningManager implements GroupProvisioningManager
WorkflowResult<String> created = gwfAdapter.create(groupTO);
// see ConnObjectUtils#getAnyTOFromConnObject for GroupOwnerSchema
- AttrTO groupOwner = groupTO.getPlainAttrMap().get(StringUtils.EMPTY);
+ AttrTO groupOwner = groupTO.getPlainAttr(StringUtils.EMPTY);
if (groupOwner != null) {
groupOwnerMap.put(created.getResult(), groupOwner.getValues().iterator().next());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
index fa558b6..44a4dfa 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/GroupReportlet.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.report.GroupReportletConf;
import org.apache.syncope.common.lib.report.GroupReportletConf.Feature;
@@ -86,7 +87,7 @@ public class GroupReportlet extends AbstractReportlet {
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
@@ -112,7 +113,7 @@ public class GroupReportlet extends AbstractReportlet {
}
if (!derAttrs.isEmpty()) {
- Map<String, AttrTO> derAttrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> derAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
@@ -138,7 +139,7 @@ public class GroupReportlet extends AbstractReportlet {
}
if (!virAttrs.isEmpty()) {
- Map<String, AttrTO> virAttrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> virAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
index 200f64a..2e4314d 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/UserReportlet.java
@@ -23,6 +23,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.report.ReportletConf;
import org.apache.syncope.common.lib.report.UserReportletConf;
@@ -98,7 +99,7 @@ public class UserReportlet extends AbstractReportlet {
AttributesImpl atts = new AttributesImpl();
if (!attrs.isEmpty()) {
- Map<String, AttrTO> attrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> attrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
handler.startElement("", "", "attributes", null);
for (String attrName : attrs) {
@@ -124,7 +125,7 @@ public class UserReportlet extends AbstractReportlet {
}
if (!derAttrs.isEmpty()) {
- Map<String, AttrTO> derAttrMap = anyTO.getDerAttrMap();
+ Map<String, AttrTO> derAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
handler.startElement("", "", "derivedAttributes", null);
for (String attrName : derAttrs) {
@@ -150,7 +151,7 @@ public class UserReportlet extends AbstractReportlet {
}
if (!virAttrs.isEmpty()) {
- Map<String, AttrTO> virAttrMap = anyTO.getVirAttrMap();
+ Map<String, AttrTO> virAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
handler.startElement("", "", "virtualAttributes", null);
for (String attrName : virAttrs) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/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 de0480f..69485e4 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
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.commons.jexl3.MapContext;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.AnyObjectTO;
import org.apache.syncope.common.lib.to.AnyTO;
@@ -75,7 +76,7 @@ public class TemplateUtils {
}
}
- Map<String, AttrTO> currentAttrMap = anyTO.getPlainAttrMap();
+ Map<String, AttrTO> currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs());
for (AttrTO templatePlainAttr : template.getPlainAttrs()) {
if (!templatePlainAttr.getValues().isEmpty()
&& (!currentAttrMap.containsKey(templatePlainAttr.getSchema())
@@ -85,14 +86,14 @@ public class TemplateUtils {
}
}
- currentAttrMap = anyTO.getDerAttrMap();
+ currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs());
for (AttrTO templateDerAttr : template.getDerAttrs()) {
if (!currentAttrMap.containsKey(templateDerAttr.getSchema())) {
anyTO.getDerAttrs().add(templateDerAttr);
}
}
- currentAttrMap = anyTO.getVirAttrMap();
+ currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs());
for (AttrTO templateVirAttr : template.getVirAttrs()) {
if (!templateVirAttr.getValues().isEmpty()
&& (!currentAttrMap.containsKey(templateVirAttr.getSchema())
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
index 37c37d1..cb9177a 100644
--- a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
+++ b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MailTemplateTest.java
@@ -111,7 +111,7 @@ public class MailTemplateTest extends AbstractTest {
ctx.put("input", input);
UserTO recipient = SerializationUtils.clone(user);
- recipient.getPlainAttrMap().get("email").getValues().set(0, "another@syncope.apache.org");
+ recipient.getPlainAttr("email").getValues().set(0, "another@syncope.apache.org");
ctx.put("recipients", Collections.singletonList(recipient));
String htmlBody = evaluate(
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
index 7a66c3d..0574d82 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/AbstractAnyService.java
@@ -87,16 +87,16 @@ public abstract class AbstractAnyService<TO extends AnyTO, P extends AnyPatch>
AttrTO result;
switch (schemaType) {
case DERIVED:
- result = any.getDerAttrMap().get(schema);
+ result = any.getDerAttr(schema);
break;
case VIRTUAL:
- result = any.getVirAttrMap().get(schema);
+ result = any.getVirAttr(schema);
break;
case PLAIN:
default:
- result = any.getPlainAttrMap().get(schema);
+ result = any.getPlainAttr(schema);
}
if (result == null) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
----------------------------------------------------------------------
diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
index 8193e3e..612844b 100644
--- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
+++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/producer/CreateProducer.java
@@ -72,7 +72,7 @@ public class CreateProducer extends AbstractProducer {
if (actual instanceof GroupTO && isPull()) {
Map<String, String> groupOwnerMap = exchange.getProperty("groupOwnerMap", Map.class);
- AttrTO groupOwner = ((GroupTO) actual).getPlainAttrMap().get(StringUtils.EMPTY);
+ AttrTO groupOwner = ((GroupTO) actual).getPlainAttr(StringUtils.EMPTY);
if (groupOwner != null) {
groupOwnerMap.put(created.getResult(), groupOwner.getValues().iterator().next());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
index 95325a9..ffd55b1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
@@ -67,10 +67,10 @@ public class AnyObjectITCase extends AbstractITCase {
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_DBSCRIPTED, anyObjectTO.getType(), anyObjectTO.getKey());
assertNotNull(connObjectTO);
- assertNotNull(connObjectTO.getAttrMap().get("LOCATION"));
+ assertNotNull(connObjectTO.getAttr("LOCATION"));
assertEquals(
- anyObjectTO.getPlainAttrMap().get("location").getValues(),
- connObjectTO.getAttrMap().get("LOCATION").getValues());
+ anyObjectTO.getPlainAttr("location").getValues(),
+ connObjectTO.getAttr("LOCATION").getValues());
}
@Test
@@ -123,8 +123,8 @@ public class AnyObjectITCase extends AbstractITCase {
public void list() {
PagedResult<AnyObjectTO> anyObjectTOs = anyObjectService.search(
new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
- fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER").query()).
- build());
+ fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER").query()).
+ build());
assertNotNull(anyObjectTOs);
assertTrue(anyObjectTOs.getResult().size() >= 2);
for (AnyObjectTO anyObjectTO : anyObjectTOs.getResult()) {
@@ -154,7 +154,7 @@ public class AnyObjectITCase extends AbstractITCase {
anyObjectTO = updateAnyObject(anyObjectPatch).getEntity();
- assertEquals(newLocation, anyObjectTO.getPlainAttrMap().get("location").getValues().get(0));
+ assertEquals(newLocation, anyObjectTO.getPlainAttr("location").getValues().get(0));
}
@Test
@@ -167,7 +167,7 @@ public class AnyObjectITCase extends AbstractITCase {
assertEquals(anyObjectTO.getPlainAttrs(), attrs);
AttrTO location = anyObjectService.read(anyObjectTO.getKey(), SchemaType.PLAIN, "location");
- assertEquals(anyObjectTO.getPlainAttrMap().get("location"), location);
+ assertEquals(anyObjectTO.getPlainAttr("location"), location);
}
@Test
@@ -190,7 +190,7 @@ public class AnyObjectITCase extends AbstractITCase {
AnyObjectTO anyObjectTO = getSampleTO("deleteAttr");
anyObjectTO = createAnyObject(anyObjectTO).getEntity();
assertNotNull(anyObjectTO);
- assertNotNull(anyObjectTO.getPlainAttrMap().get("location"));
+ assertNotNull(anyObjectTO.getPlainAttr("location"));
anyObjectService.delete(anyObjectTO.getKey(), SchemaType.PLAIN, "location");
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 55d0cd3..50fa799 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -278,7 +278,7 @@ public class AuthenticationITCase extends AbstractITCase {
user = response.readEntity(new GenericType<ProvisioningResult<UserTO>>() {
}).getEntity();
- assertEquals("surname", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname", user.getPlainAttr("surname").getValues().get(0));
// 5. as delegated, update user attempting to move under realm / -> fail
UserPatch userPatch = new UserPatch();
@@ -301,7 +301,7 @@ public class AuthenticationITCase extends AbstractITCase {
user = response.readEntity(new GenericType<ProvisioningResult<UserTO>>() {
}).getEntity();
- assertEquals("surname2", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("surname2", user.getPlainAttr("surname").getValues().get(0));
// 7. as delegated, delete user
delegatedUserService.delete(user.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
index 66fbcc1..4f4f475 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
@@ -120,7 +120,7 @@ public class CamelRouteITCase extends AbstractITCase {
+ " </setProperty>\n"
+ " <setBody>\n"
+ " <groovy>\n"
- + "request.body.getPlainAttrMap().get(\"camelAttribute\").getValues().set(0,\"true\")\n"
+ + "request.body.getPlainAttr(\"camelAttribute\").getValues().set(0,\"true\")\n"
+ " return request.body\n"
+ " </groovy>\n"
+ " </setBody>\n"
@@ -165,7 +165,7 @@ public class CamelRouteITCase extends AbstractITCase {
userTO = createUser(userTO).getEntity();
assertNotNull(userTO);
- assertEquals("true", userTO.getPlainAttrMap().get("camelAttribute").getValues().get(0));
+ assertEquals("true", userTO.getPlainAttr("camelAttribute").getValues().get(0));
} finally {
doUpdate(oldRoute.getKey(), oldRoute.getContent());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
index caf1623..88d08f9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DynRealmITCase.java
@@ -210,7 +210,7 @@ public class DynRealmITCase extends AbstractITCase {
readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
}).getEntity();
assertNotNull(group);
- assertEquals("modified", group.getPlainAttrMap().get("icon").getValues().get(0));
+ assertEquals("modified", group.getPlainAttr("icon").getValues().get(0));
} finally {
if (role != null) {
roleService.delete(role.getKey());
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
index 1d8c528..3dff239 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
@@ -44,6 +44,7 @@ import org.apache.commons.lang3.SerializationUtils;
import org.apache.syncope.client.lib.AnonymousAuthenticationHandler;
import org.apache.syncope.client.lib.SyncopeClient;
import org.apache.syncope.common.lib.AnyOperations;
+import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.SyncopeConstants;
import org.apache.syncope.common.lib.patch.AnyObjectPatch;
@@ -119,17 +120,16 @@ public class GroupITCase extends AbstractITCase {
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertNotNull(groupTO.getVirAttrMap());
- assertNotNull(groupTO.getVirAttrMap().get("rvirtualdata").getValues());
- assertFalse(groupTO.getVirAttrMap().get("rvirtualdata").getValues().isEmpty());
- assertEquals("rvirtualvalue", groupTO.getVirAttrMap().get("rvirtualdata").getValues().get(0));
+ assertNotNull(groupTO.getVirAttr("rvirtualdata").getValues());
+ assertFalse(groupTO.getVirAttr("rvirtualdata").getValues().isEmpty());
+ assertEquals("rvirtualvalue", groupTO.getVirAttr("rvirtualdata").getValues().get(0));
assertTrue(groupTO.getResources().contains(RESOURCE_NAME_LDAP));
ConnObjectTO connObjectTO =
resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), groupTO.getKey());
assertNotNull(connObjectTO);
- assertNotNull(connObjectTO.getAttrMap().get("owner"));
+ assertNotNull(connObjectTO.getAttr("owner"));
// SYNCOPE-515: remove ownership
GroupPatch groupPatch = new GroupPatch();
@@ -240,12 +240,12 @@ public class GroupITCase extends AbstractITCase {
assertEquals(modName, groupTO.getName());
assertEquals(2, groupTO.getPlainAttrs().size());
- groupTO.getPlainAttrMap().get("show").getValues().clear();
+ groupTO.getPlainAttr("show").getValues().clear();
groupTO = groupService.update(groupTO).readEntity(new GenericType<ProvisioningResult<GroupTO>>() {
}).getEntity();
- assertFalse(groupTO.getPlainAttrMap().containsKey("show"));
+ assertNull(groupTO.getPlainAttr("show"));
}
@Test
@@ -269,7 +269,7 @@ public class GroupITCase extends AbstractITCase {
GroupPatch patch = AnyOperations.diff(updated, original, true);
GroupTO group = updateGroup(patch).getEntity();
- Map<String, AttrTO> attrs = group.getPlainAttrMap();
+ Map<String, AttrTO> attrs = EntityTOUtils.buildAttrMap(group.getPlainAttrs());
assertFalse(attrs.containsKey("icon"));
assertFalse(attrs.containsKey("show"));
assertEquals(Collections.singletonList("sx"), attrs.get("rderived_sx").getValues());
@@ -574,10 +574,10 @@ public class GroupITCase extends AbstractITCase {
// 2. create a group *without* an attribute for that schema: it works
GroupTO groupTO = getSampleTO("lastGroup");
- assertFalse(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNull(groupTO.getPlainAttr(badge.getKey()));
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertFalse(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNull(groupTO.getPlainAttr(badge.getKey()));
// 3. add the new mandatory schema to the default group type
AnyTypeTO type = anyTypeService.read(AnyTypeKind.GROUP.name());
@@ -605,7 +605,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(groupPatch).getEntity();
assertNotNull(groupTO);
- assertTrue(groupTO.getPlainAttrMap().containsKey(badge.getKey()));
+ assertNotNull(groupTO.getPlainAttr(badge.getKey()));
} finally {
// restore the original group class
typeClass.getPlainSchemas().remove(badge.getKey());
@@ -669,7 +669,7 @@ public class GroupITCase extends AbstractITCase {
AnyObjectTO newAny = AnyObjectITCase.getSampleTO("aDynMembership");
newAny.getResources().clear();
newAny = createAnyObject(newAny).getEntity();
- assertNotNull(newAny.getPlainAttrMap().get("location"));
+ assertNotNull(newAny.getPlainAttr("location"));
assertTrue(anyObjectService.read(
"fc6dbc3a-6c07-4965-8781-921e7401a4a5").getDynGroups().contains(group.getKey()));
assertTrue(anyObjectService.read(
@@ -697,7 +697,7 @@ public class GroupITCase extends AbstractITCase {
attrTO(new AttrTO.Builder().schema("location").build()).
build());
newAny = updateAnyObject(anyPatch).getEntity();
- assertNull(newAny.getPlainAttrMap().get("location"));
+ assertNull(newAny.getPlainAttr("location"));
assertFalse(anyObjectService.read(
"fc6dbc3a-6c07-4965-8781-921e7401a4a5").getDynGroups().contains(group.getKey()));
assertFalse(anyObjectService.read(
@@ -1036,7 +1036,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = createGroup(groupTO).getEntity();
assertNotNull(groupTO);
- assertEquals("11.23", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.23", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 3. update schema, set conversion pattern
schema = schemaService.read(SchemaType.PLAIN, schema.getKey());
@@ -1046,7 +1046,7 @@ public class GroupITCase extends AbstractITCase {
// 4. re-read group, verify that pattern was applied
groupTO = groupService.read(groupTO.getKey());
assertNotNull(groupTO);
- assertEquals("11.230", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.230", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 5. modify group with new double value
GroupPatch patch = new GroupPatch();
@@ -1055,7 +1055,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(patch).getEntity();
assertNotNull(groupTO);
- assertEquals("11.257", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.257", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
// 6. update schema, unset conversion pattern
schema.setConversionPattern(null);
@@ -1068,7 +1068,7 @@ public class GroupITCase extends AbstractITCase {
groupTO = updateGroup(patch).getEntity();
assertNotNull(groupTO);
- assertEquals("11.23", groupTO.getPlainAttrMap().get(doubleSchemaName).getValues().get(0));
+ assertEquals("11.23", groupTO.getPlainAttr(doubleSchemaName).getValues().get(0));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
index 74a78d3..e150bb2 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
@@ -21,6 +21,7 @@ package org.apache.syncope.fit.core;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -74,7 +75,7 @@ public class MembershipITCase extends AbstractITCase {
UserTO user = UserITCase.getUniqueSampleTO("memb@apache.org");
user.setRealm("/even/two");
user.getPlainAttrs().add(new AttrTO.Builder().schema("aLong").value("1976").build());
- user.getPlainAttrs().remove(user.getPlainAttrMap().get("ctype"));
+ user.getPlainAttrs().remove(user.getPlainAttr("ctype"));
// the group 034740a9-fa10-453b-af37-dc7897e98fb1 has USER type extensions for 'csv' and 'other'
// any type classes
@@ -107,19 +108,19 @@ public class MembershipITCase extends AbstractITCase {
user = createUser(user).getEntity();
// 1. verify that 'aLong' is correctly populated for user
- assertEquals(1, user.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1976", user.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, user.getPlainAttr("aLong").getValues().size());
+ assertEquals("1976", user.getPlainAttr("aLong").getValues().get(0));
// 2. verify that 'aLong' is correctly populated for user's membership
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get("034740a9-fa10-453b-af37-dc7897e98fb1");
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1977", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1977", membership.getPlainAttr("aLong").getValues().get(0));
// 3. verify that derived attrbutes from 'csv' and 'other' are also populated for user's membership
- assertFalse(membership.getDerAttrMap().get("csvuserid").getValues().isEmpty());
- assertFalse(membership.getDerAttrMap().get("noschema").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("csvuserid").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("noschema").getValues().isEmpty());
// update user - change some values and add new membership attribute
UserPatch userPatch = new UserPatch();
@@ -138,19 +139,19 @@ public class MembershipITCase extends AbstractITCase {
user = updateUser(userPatch).getEntity();
// 4. verify that 'aLong' is correctly populated for user
- assertEquals(1, user.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1977", user.getPlainAttrMap().get("aLong").getValues().get(0));
- assertFalse(user.getPlainAttrMap().containsKey("ctype"));
+ assertEquals(1, user.getPlainAttr("aLong").getValues().size());
+ assertEquals("1977", user.getPlainAttr("aLong").getValues().get(0));
+ assertNull(user.getPlainAttr("ctype"));
// 5. verify that 'aLong' is correctly populated for user's membership
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get("034740a9-fa10-453b-af37-dc7897e98fb1");
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1976", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1976", membership.getPlainAttr("aLong").getValues().get(0));
// 6. verify that 'ctype' is correctly populated for user's membership
- assertEquals("membership type", membership.getPlainAttrMap().get("ctype").getValues().get(0));
+ assertEquals("membership type", membership.getPlainAttr("ctype").getValues().get(0));
// finally remove membership
userPatch = new UserPatch();
@@ -212,12 +213,12 @@ public class MembershipITCase extends AbstractITCase {
assertEquals(1, user.getMemberships().size());
membership = user.getMembershipMap().get(groupTO.getKey());
assertNotNull(membership);
- assertEquals(1, membership.getPlainAttrMap().get("aLong").getValues().size());
- assertEquals("1454", membership.getPlainAttrMap().get("aLong").getValues().get(0));
+ assertEquals(1, membership.getPlainAttr("aLong").getValues().size());
+ assertEquals("1454", membership.getPlainAttr("aLong").getValues().get(0));
// verify that derived attrbutes from 'csv' and 'other' are also populated for user's membership
- assertFalse(membership.getDerAttrMap().get("csvuserid").getValues().isEmpty());
- assertFalse(membership.getDerAttrMap().get("noschema").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("csvuserid").getValues().isEmpty());
+ assertFalse(membership.getDerAttr("noschema").getValues().isEmpty());
// now remove the group -> all related memberships should have been removed as well
groupService.delete(groupTO.getKey());
@@ -264,7 +265,7 @@ public class MembershipITCase extends AbstractITCase {
// 1. create user with new resource assigned
UserTO user = UserITCase.getUniqueSampleTO("memb@apache.org");
user.setRealm("/even/two");
- user.getPlainAttrs().remove(user.getPlainAttrMap().get("ctype"));
+ user.getPlainAttrs().remove(user.getPlainAttr("ctype"));
user.getResources().clear();
user.getResources().add(newResource.getKey());
@@ -310,7 +311,7 @@ public class MembershipITCase extends AbstractITCase {
assertEquals(1, users.getTotalCount());
assertEquals(1, users.getResult().get(0).getMemberships().size());
assertEquals("5432", users.getResult().get(0).getMemberships().get(0).
- getPlainAttrMap().get("aLong").getValues().get(0));
+ getPlainAttr("aLong").getValues().get(0));
} catch (Exception e) {
LOG.error("Unexpected error", e);
fail(e.getMessage());
http://git-wip-us.apache.org/repos/asf/syncope/blob/31cffd4e/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
index ed8d0df..9017a9b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
@@ -518,8 +518,8 @@ public class MigrationITCase extends AbstractTaskITCase {
assertEquals("/" + MIGRATION_REALM, group.getRealm());
// 4a. user plain attrs
- assertEquals("Gioacchino", user.getPlainAttrMap().get("firstname").getValues().get(0));
- assertEquals("Rossini", user.getPlainAttrMap().get("surname").getValues().get(0));
+ assertEquals("Gioacchino", user.getPlainAttr("firstname").getValues().get(0));
+ assertEquals("Rossini", user.getPlainAttr("surname").getValues().get(0));
// 4b. user resources
assertTrue(user.getResources().contains(RESOURCE_NAME_TESTDB2));
@@ -528,7 +528,7 @@ public class MigrationITCase extends AbstractTaskITCase {
assertNotNull(clientFactory.create("bellini12", ADMIN_PWD).self());
// 4d. group plain attrs
- assertEquals("r12", group.getPlainAttrMap().get("title").getValues().get(0));
+ assertEquals("r12", group.getPlainAttr("title").getValues().get(0));
// 4e. group resources
assertTrue(group.getResources().contains(RESOURCE_NAME_CSV));