You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/10/12 13:16:43 UTC
[2/2] syncope git commit: Getting some nice ConnId 1.5 features
onboard
Getting some nice ConnId 1.5 features onboard
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/f5a1b5b7
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/f5a1b5b7
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/f5a1b5b7
Branch: refs/heads/master
Commit: f5a1b5b791dc5e61a91b9819f01e8bfa248d311a
Parents: 5ca5439
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Oct 12 15:16:25 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Oct 12 15:16:35 2018 +0200
----------------------------------------------------------------------
.../core/provisioning/api/Connector.java | 9 ++++++--
.../provisioning/java/ConnectorFacadeProxy.java | 12 +++++++++--
.../provisioning/java/ConnectorManager.java | 22 ++++++++++++--------
3 files changed, 30 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/f5a1b5b7/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/Connector.java
----------------------------------------------------------------------
diff --git a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/Connector.java b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/Connector.java
index e5a7939..09de13c 100644
--- a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/Connector.java
+++ b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/Connector.java
@@ -199,16 +199,21 @@ public interface Connector {
Set<ObjectClassInfo> getObjectClassInfo();
/**
- * Validate a connector instance.
+ * Validate connector instance.
*/
void validate();
/**
- * Check connection to resource.
+ * Check connection.
*/
void test();
/**
+ * Dispose of any resources associated with connector instance.
+ */
+ void dispose();
+
+ /**
* Getter for active connector instance.
*
* @return active connector instance.
http://git-wip-us.apache.org/repos/asf/syncope/blob/f5a1b5b7/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorFacadeProxy.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorFacadeProxy.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorFacadeProxy.java
index 1608d83..44dddaa 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorFacadeProxy.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorFacadeProxy.java
@@ -94,12 +94,15 @@ public class ConnectorFacadeProxy implements Connector {
public ConnectorFacadeProxy(final ConnInstance connInstance) {
this.connInstance = connInstance;
- ConnIdBundleManager connIdBundleManager = ApplicationContextProvider.getBeanFactory().getBean(
- ConnIdBundleManager.class);
+ ConnIdBundleManager connIdBundleManager =
+ ApplicationContextProvider.getBeanFactory().getBean(ConnIdBundleManager.class);
ConnectorInfo info = connIdBundleManager.getConnectorInfo(connInstance).getRight();
// create default configuration
APIConfiguration apiConfig = info.createDefaultAPIConfiguration();
+ if (connInstance.getDisplayName() != null) {
+ apiConfig.setInstanceName(connInstance.getDisplayName());
+ }
// enable filtered results handler in validation mode
apiConfig.getResultsHandlerConfiguration().setFilteredResultsHandlerInValidationMode(true);
@@ -498,6 +501,11 @@ public class ConnectorFacadeProxy implements Connector {
}
@Override
+ public void dispose() {
+ connector.dispose();
+ }
+
+ @Override
public ConnInstance getConnInstance() {
return connInstance;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f5a1b5b7/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorManager.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorManager.java
index 32f22fb..0d4bcde 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnectorManager.java
@@ -84,7 +84,7 @@ public class ConnectorManager implements ConnectorRegistry, ConnectorFactory, Sy
registerConnector(resource);
}
- return (Connector) ApplicationContextProvider.getBeanFactory().getBean(getBeanName(resource));
+ return ApplicationContextProvider.getBeanFactory().getBean(getBeanName(resource), Connector.class);
}
@Override
@@ -113,21 +113,21 @@ public class ConnectorManager implements ConnectorRegistry, ConnectorFactory, Sy
Map<String, ConnConfProperty> overridable = new HashMap<>();
Set<ConnConfProperty> conf = new HashSet<>();
- for (ConnConfProperty prop : override.getConf()) {
+ override.getConf().forEach(prop -> {
if (prop.isOverridable()) {
overridable.put(prop.getSchema().getName(), prop);
} else {
conf.add(prop);
}
- }
+ });
// add override properties
- for (ConnConfProperty prop : confOverride) {
- if (overridable.containsKey(prop.getSchema().getName()) && !prop.getValues().isEmpty()) {
- conf.add(prop);
- overridable.remove(prop.getSchema().getName());
- }
- }
+ confOverride.stream().
+ filter(prop -> overridable.containsKey(prop.getSchema().getName()) && !prop.getValues().isEmpty()).
+ forEach(prop -> {
+ conf.add(prop);
+ overridable.remove(prop.getSchema().getName());
+ });
// add override properties not substituted
conf.addAll(overridable.values());
@@ -190,6 +190,7 @@ public class ConnectorManager implements ConnectorRegistry, ConnectorFactory, Sy
LOG.info("Registering resource-connector pair {}-{}", resource, resource.getConnector());
try {
registerConnector(resource);
+
connectors++;
} catch (Exception e) {
LOG.error("While registering resource-connector pair {}-{}", resource, resource.getConnector(), e);
@@ -207,7 +208,10 @@ public class ConnectorManager implements ConnectorRegistry, ConnectorFactory, Sy
String beanName = getBeanName(resource);
if (ApplicationContextProvider.getBeanFactory().containsSingleton(beanName)) {
LOG.info("Unegistering resource-connector pair {}-{}", resource, resource.getConnector());
+
+ getConnector(resource).dispose();
unregisterConnector(beanName);
+
connectors++;
}
}