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 2015/10/26 10:55:34 UTC
[2/4] syncope git commit: [SYNCOPE-714] Consolidating old
buildSchemaNames and buildSupportedObjectClasses into new buildO
bjectClassInfo
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
index 2cc6476..39dbba9 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ResourceServiceImpl.java
@@ -28,6 +28,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.common.lib.patch.ResourceDeassociationPatch;
import org.apache.syncope.common.lib.to.AnyTO;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
@@ -35,8 +36,6 @@ import org.apache.syncope.common.lib.to.ConnObjectTO;
import org.apache.syncope.common.lib.to.PagedConnObjectTOResult;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
-import org.apache.syncope.common.lib.types.ResourceDeassociationAction;
-import org.apache.syncope.common.lib.wrap.AnyKey;
import org.apache.syncope.common.rest.api.RESTHeaders;
import org.apache.syncope.common.rest.api.beans.ConnObjectTOListQuery;
import org.apache.syncope.common.rest.api.service.ResourceService;
@@ -134,41 +133,39 @@ public class ResourceServiceImpl extends AbstractServiceImpl implements Resource
}
@Override
- public BulkActionResult bulkDeassociation(
- final String key, final String anyTypeKey, final ResourceDeassociationAction type,
- final List<AnyKey> keys) {
-
- AbstractResourceAssociator<? extends AnyTO> associator = anyTypeKey.equalsIgnoreCase(AnyTypeKind.USER.name())
- ? userLogic
- : anyTypeKey.equalsIgnoreCase(AnyTypeKind.GROUP.name())
- ? groupLogic
- : anyObjectLogic;
+ public BulkActionResult bulkDeassociation(final ResourceDeassociationPatch patch) {
+ AbstractResourceAssociator<? extends AnyTO> associator =
+ patch.getAnyTypeKey().equalsIgnoreCase(AnyTypeKind.USER.name())
+ ? userLogic
+ : patch.getAnyTypeKey().equalsIgnoreCase(AnyTypeKind.GROUP.name())
+ ? groupLogic
+ : anyObjectLogic;
BulkActionResult result = new BulkActionResult();
- for (AnyKey anyKey : keys) {
- Set<String> resources = Collections.singleton(key);
+ for (Long anyKey : patch.getAnyKyes()) {
+ Set<String> resources = Collections.singleton(patch.getKey());
try {
- switch (type) {
+ switch (patch.getAction()) {
case DEPROVISION:
- associator.deprovision(anyKey.getElement(), resources);
+ associator.deprovision(anyKey, resources);
break;
case UNASSIGN:
- associator.unassign(anyKey.getElement(), resources);
+ associator.unassign(anyKey, resources);
break;
case UNLINK:
- associator.unlink(anyKey.getElement(), resources);
+ associator.unlink(anyKey, resources);
break;
default:
}
- result.getResults().put(String.valueOf(anyKey.getElement()), BulkActionResult.Status.SUCCESS);
+ result.getResults().put(String.valueOf(anyKey), BulkActionResult.Status.SUCCESS);
} catch (Exception e) {
- LOG.warn("While executing {} on {} {}", type, anyTypeKey, anyKey.getElement(), e);
- result.getResults().put(String.valueOf(anyKey.getElement()), BulkActionResult.Status.FAILURE);
+ LOG.warn("While executing {} on {} {}", patch.getAction(), patch.getAnyTypeKey(), anyKey, e);
+ result.getResults().put(String.valueOf(anyKey), BulkActionResult.Status.FAILURE);
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
index b30c962..60565e1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AbstractITCase.java
@@ -399,7 +399,7 @@ public abstract class AbstractITCase {
throws NamingException {
ResourceTO ldapRes = resourceService.read(RESOURCE_NAME_LDAP);
final Map<String, ConnConfProperty> ldapConnConf =
- connectorService.read(ldapRes.getConnector(), Locale.ENGLISH.getLanguage()).getConfigurationMap();
+ connectorService.read(ldapRes.getConnector(), Locale.ENGLISH.getLanguage()).getConfMap();
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java
index 71859a7..770a7cb 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java
@@ -28,6 +28,7 @@ import static org.junit.Assert.fail;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Iterator;
@@ -37,16 +38,18 @@ import java.util.Map;
import java.util.Properties;
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.commons.io.IOUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.ConnBundleTO;
+import org.apache.syncope.common.lib.to.ConnIdObjectClassTO;
import org.apache.syncope.common.lib.to.ConnInstanceTO;
import org.apache.syncope.common.lib.to.ConnPoolConfTO;
import org.apache.syncope.common.lib.to.MappingItemTO;
import org.apache.syncope.common.lib.to.MappingTO;
-import org.apache.syncope.common.lib.to.PlainSchemaTO;
import org.apache.syncope.common.lib.to.ProvisionTO;
import org.apache.syncope.common.lib.to.ResourceTO;
import org.apache.syncope.common.lib.types.AnyTypeKind;
@@ -54,7 +57,6 @@ import org.apache.syncope.common.lib.types.ConnConfPropSchema;
import org.apache.syncope.common.lib.types.ConnConfProperty;
import org.apache.syncope.common.lib.types.ConnectorCapability;
import org.apache.syncope.common.lib.types.IntMappingType;
-import org.apache.syncope.common.lib.wrap.ConnIdObjectClass;
import org.apache.syncope.common.rest.api.service.ConnectorService;
import org.apache.syncope.common.rest.api.service.ResourceService;
import org.identityconnectors.common.security.GuardedString;
@@ -146,7 +148,7 @@ public class ConnectorITCase extends AbstractITCase {
conf.add(servicename);
// set connector configuration
- connectorTO.getConfiguration().addAll(conf);
+ connectorTO.getConf().addAll(conf);
// set connector capabilities
connectorTO.getCapabilities().add(ConnectorCapability.CREATE);
@@ -253,7 +255,7 @@ public class ConnectorITCase extends AbstractITCase {
conf.add(servicename);
// set connector configuration
- connectorTO.getConfiguration().addAll(conf);
+ connectorTO.getConf().addAll(conf);
connectorService.update(connectorTO);
ConnInstanceTO actual = connectorService.read(connectorTO.getKey(), Locale.ENGLISH.getLanguage());
@@ -397,7 +399,7 @@ public class ConnectorITCase extends AbstractITCase {
@Test
public void getConnectorConfiguration() {
- Set<ConnConfProperty> props = connectorService.read(104L, Locale.ENGLISH.getLanguage()).getConfiguration();
+ Set<ConnConfProperty> props = connectorService.read(104L, Locale.ENGLISH.getLanguage()).getConf();
assertNotNull(props);
assertFalse(props.isEmpty());
}
@@ -408,7 +410,7 @@ public class ConnectorITCase extends AbstractITCase {
boolean check = false;
- for (ConnConfProperty prop : connInstanceTO.getConfiguration()) {
+ for (ConnConfProperty prop : connInstanceTO.getConf()) {
if ("receiveTimeout".equals(prop.getSchema().getName())) {
check = true;
}
@@ -424,7 +426,7 @@ public class ConnectorITCase extends AbstractITCase {
Map<String, ConnConfProperty> instanceConfMap;
for (ConnInstanceTO instance : connectorInstanceTOs) {
if ("net.tirasa.connid.bundles.db.table".equals(instance.getBundleName())) {
- instanceConfMap = instance.getConfigurationMap();
+ instanceConfMap = instance.getConfMap();
assertEquals("Utente", instanceConfMap.get("user").getSchema().getDisplayName());
}
}
@@ -434,7 +436,7 @@ public class ConnectorITCase extends AbstractITCase {
for (ConnInstanceTO instance : connectorInstanceTOs) {
if ("net.tirasa.connid.bundles.db.table".equals(instance.getBundleName())) {
- instanceConfMap = instance.getConfigurationMap();
+ instanceConfMap = instance.getConfMap();
assertEquals("User", instanceConfMap.get("user").getSchema().getDisplayName());
}
}
@@ -516,7 +518,7 @@ public class ConnectorITCase extends AbstractITCase {
conf.add(passwordColumn);
// set connector configuration
- connectorTO.getConfiguration().addAll(conf);
+ connectorTO.getConf().addAll(conf);
try {
connectorService.check(connectorTO);
@@ -538,51 +540,35 @@ public class ConnectorITCase extends AbstractITCase {
}
@Test
- public void getSchemaNames() {
- ConnInstanceTO conn = connectorService.read(101L, Locale.ENGLISH.getLanguage());
-
- List<PlainSchemaTO> schemaNames = connectorService.buildSchemaNames(conn, true);
- assertNotNull(schemaNames);
- assertFalse(schemaNames.isEmpty());
- assertNotNull(schemaNames.get(0).getKey());
- assertNull(schemaNames.get(0).getEnumerationValues());
+ public void buildObjectClassInfo() {
+ ConnInstanceTO ws = connectorService.read(102L, Locale.ENGLISH.getLanguage());
+ assertNotNull(ws);
- schemaNames = connectorService.buildSchemaNames(conn, false);
+ List<ConnIdObjectClassTO> objectClassInfo = connectorService.buildObjectClassInfo(ws, true);
+ assertNotNull(objectClassInfo);
+ assertEquals(1, objectClassInfo.size());
+ assertEquals(ObjectClass.ACCOUNT_NAME, objectClassInfo.get(0).getType());
+ assertTrue(objectClassInfo.get(0).getAttributes().contains("promoThirdPartyDisclaimer"));
- assertNotNull(schemaNames);
- assertEquals(1, schemaNames.size());
+ ConnInstanceTO ldap = connectorService.read(105L, Locale.ENGLISH.getLanguage());
+ assertNotNull(ldap);
- conn = connectorService.read(104L, Locale.ENGLISH.getLanguage());
+ objectClassInfo = connectorService.buildObjectClassInfo(ldap, true);
+ assertNotNull(objectClassInfo);
+ assertEquals(2, objectClassInfo.size());
- // to be used with overridden properties
- conn.getConfiguration().clear();
+ Collection<String> objectClasses = CollectionUtils.collect(objectClassInfo,
+ new Transformer<ConnIdObjectClassTO, String>() {
- schemaNames = connectorService.buildSchemaNames(conn, true);
- assertNotNull(schemaNames);
- assertFalse(schemaNames.isEmpty());
- }
-
- @Test
- public void getSupportedObjectClasses() {
- ConnInstanceTO ldap = connectorService.read(105L, Locale.ENGLISH.getLanguage());
- assertNotNull(ldap);
+ @Override
+ public String transform(final ConnIdObjectClassTO info) {
+ return info.getType();
+ }
- List<ConnIdObjectClass> objectClasses = connectorService.buildSupportedObjectClasses(ldap);
- assertNotNull(objectClasses);
+ });
assertEquals(2, objectClasses.size());
- assertTrue(objectClasses.contains(
- ConnIdObjectClass.getInstance(ConnIdObjectClass.class, ObjectClass.ACCOUNT_NAME)));
- assertTrue(objectClasses.contains(
- ConnIdObjectClass.getInstance(ConnIdObjectClass.class, ObjectClass.GROUP_NAME)));
-
- ConnInstanceTO csv = connectorService.read(104L, Locale.ENGLISH.getLanguage());
- assertNotNull(csv);
-
- objectClasses = connectorService.buildSupportedObjectClasses(csv);
- assertNotNull(objectClasses);
- assertEquals(1, objectClasses.size());
- assertTrue(objectClasses.contains(
- ConnIdObjectClass.getInstance(ConnIdObjectClass.class, ObjectClass.ACCOUNT_NAME)));
+ assertTrue(objectClasses.contains(ObjectClass.ACCOUNT_NAME));
+ assertTrue(objectClasses.contains(ObjectClass.GROUP_NAME));
}
@Test
@@ -631,7 +617,7 @@ public class ConnectorITCase extends AbstractITCase {
conf.add(servicename);
// set connector configuration
- connectorTO.getConfiguration().addAll(conf);
+ connectorTO.getConf().addAll(conf);
try {
try {
@@ -664,7 +650,7 @@ public class ConnectorITCase extends AbstractITCase {
endpoint.getValues().add("http://localhost:9080/wssample/services/provisioning");
conf.add(endpoint);
- resourceTO.getConnConfProperties().addAll(conf);
+ resourceTO.getConfOverride().addAll(conf);
ProvisionTO provisionTO = new ProvisionTO();
provisionTO.setAnyType(AnyTypeKind.USER.name());
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java
index 928365f..236d169 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java
@@ -38,7 +38,7 @@ import org.apache.syncope.common.lib.types.AuditLoggerName;
import org.apache.syncope.common.lib.types.LoggerLevel;
import org.apache.syncope.common.lib.types.LoggerType;
import org.apache.syncope.common.lib.types.ResourceOperation;
-import org.apache.syncope.common.rest.api.CollectionWrapper;
+import org.apache.syncope.common.rest.api.LoggerWrapper;
import org.apache.syncope.core.logic.ReportLogic;
import org.apache.syncope.core.logic.ResourceLogic;
import org.apache.syncope.core.logic.GroupLogic;
@@ -105,7 +105,7 @@ public class LoggerITCase extends AbstractITCase {
"deleteExecution",
AuditElements.Result.FAILURE);
- List<AuditLoggerName> audits = CollectionWrapper.wrapLogger(loggerService.list(LoggerType.AUDIT));
+ List<AuditLoggerName> audits = LoggerWrapper.wrap(loggerService.list(LoggerType.AUDIT));
assertNotNull(audits);
assertFalse(audits.contains(auditLoggerName));
@@ -114,13 +114,13 @@ public class LoggerITCase extends AbstractITCase {
loggerTO.setLevel(LoggerLevel.DEBUG);
loggerService.update(LoggerType.AUDIT, loggerTO);
- audits = CollectionWrapper.wrapLogger(loggerService.list(LoggerType.AUDIT));
+ audits = LoggerWrapper.wrap(loggerService.list(LoggerType.AUDIT));
assertNotNull(audits);
assertTrue(audits.contains(auditLoggerName));
loggerService.delete(LoggerType.AUDIT, auditLoggerName.toLoggerName());
- audits = CollectionWrapper.wrapLogger(loggerService.list(LoggerType.AUDIT));
+ audits = LoggerWrapper.wrap(loggerService.list(LoggerType.AUDIT));
assertNotNull(audits);
assertFalse(audits.contains(auditLoggerName));
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java
index e0539c8..5d4d176 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java
@@ -170,7 +170,7 @@ public class ResourceITCase extends AbstractITCase {
p.getValues().add("http://invalidurl/");
Set<ConnConfProperty> connectorConfigurationProperties = new HashSet<>(Arrays.asList(p));
- resourceTO.getConnConfProperties().addAll(connectorConfigurationProperties);
+ resourceTO.getConfOverride().addAll(connectorConfigurationProperties);
Response response = resourceService.create(resourceTO);
ResourceTO actual = getObject(response.getLocation(), ResourceService.class, ResourceTO.class);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
index e8ffd56..ef73242 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SyncTaskITCase.java
@@ -748,7 +748,7 @@ public class SyncTaskITCase extends AbstractTaskITCase {
ResourceTO ldapResource = resourceService.read(RESOURCE_NAME_LDAP);
ConnInstanceTO resourceConnector = connectorService.read(
ldapResource.getConnector(), Locale.ENGLISH.getLanguage());
- ConnConfProperty property = resourceConnector.getConfigurationMap().get("retrievePasswordsWithSearch");
+ ConnConfProperty property = resourceConnector.getConfMap().get("retrievePasswordsWithSearch");
property.getValues().clear();
property.getValues().add(Boolean.TRUE);
connectorService.update(resourceConnector);
http://git-wip-us.apache.org/repos/asf/syncope/blob/1347c108/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/VirAttrITCase.java
index e96026f..cf00ffd 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/VirAttrITCase.java
@@ -367,7 +367,7 @@ public class VirAttrITCase extends AbstractITCase {
String jdbcURL = null;
ConnInstanceTO connInstanceTO = connectorService.readByResource(
RESOURCE_NAME_DBVIRATTR, Locale.ENGLISH.getLanguage());
- for (ConnConfProperty prop : connInstanceTO.getConfiguration()) {
+ for (ConnConfProperty prop : connInstanceTO.getConf()) {
if ("jdbcUrlTemplate".equals(prop.getSchema().getName())) {
jdbcURL = prop.getValues().iterator().next().toString();
prop.getValues().clear();
@@ -400,7 +400,7 @@ public class VirAttrITCase extends AbstractITCase {
// ----------------------------------------
// 5. restore connector URL, values can be read again from external resource
// ----------------------------------------
- for (ConnConfProperty prop : connInstanceTO.getConfiguration()) {
+ for (ConnConfProperty prop : connInstanceTO.getConf()) {
if ("jdbcUrlTemplate".equals(prop.getSchema().getName())) {
prop.getValues().clear();
prop.getValues().add(jdbcURL);