Repository: syncope
Updated Branches:
  refs/heads/master 74bf00b47 -> cbd108309


[SYNCOPE-1083] Normalizing ConnInstance location


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/cbd10830
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/cbd10830
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/cbd10830

Branch: refs/heads/master
Commit: cbd10830915ce423dfce7ce4b555d01f00e51300
Parents: 74bf00b
Author: Marco Di Sabatino Di Diodoro <marco.disabat...@tirasa.net>
Authored: Wed May 17 13:19:54 2017 +0200
Committer: Marco Di Sabatino Di Diodoro <marco.disabat...@tirasa.net>
Committed: Wed May 17 13:22:01 2017 +0200

----------------------------------------------------------------------
 .../core/provisioning/api/ConnIdBundleManager.java        |  3 ++-
 .../core/provisioning/java/ConnIdBundleManagerImpl.java   |  5 +++--
 .../core/provisioning/java/ConnectorFacadeProxy.java      |  2 +-
 .../java/data/ConnInstanceDataBinderImpl.java             | 10 +++++++---
 4 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/cbd10830/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/ConnIdBundleManager.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/ConnIdBundleManager.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/ConnIdBundleManager.java
index 242202f..1913e68 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/ConnIdBundleManager.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/ConnIdBundleManager.java
@@ -21,6 +21,7 @@ package org.apache.syncope.core.provisioning.api;
 import java.net.URI;
 import java.util.List;
 import java.util.Map;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.core.persistence.api.entity.ConnInstance;
 import org.identityconnectors.framework.api.ConfigurationProperties;
 import org.identityconnectors.framework.api.ConnectorInfo;
@@ -35,7 +36,7 @@ public interface ConnIdBundleManager {
 
     Map<URI, ConnectorInfoManager> getConnManagers();
 
-    ConnectorInfo getConnectorInfo(ConnInstance connInstance);
+    Pair<URI, ConnectorInfo> getConnectorInfo(ConnInstance connInstance);
 
     Map<URI, ConnectorInfoManager> getConnInfoManagers();
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/cbd10830/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnIdBundleManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnIdBundleManagerImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnIdBundleManagerImpl.java
index 7e103bb..69e1049 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnIdBundleManagerImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/ConnIdBundleManagerImpl.java
@@ -32,6 +32,7 @@ import java.util.Map;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.core.persistence.api.dao.NotFoundException;
 import org.apache.syncope.core.persistence.api.entity.ConnInstance;
 import org.apache.syncope.core.provisioning.api.ConnIdBundleManager;
@@ -224,7 +225,7 @@ public class ConnIdBundleManagerImpl implements 
ConnIdBundleManager {
     }
 
     @Override
-    public ConnectorInfo getConnectorInfo(final ConnInstance connInstance) {
+    public Pair<URI, ConnectorInfo> getConnectorInfo(final ConnInstance 
connInstance) {
         // check ConnIdLocation
         URI uriLocation = null;
         try {
@@ -252,7 +253,7 @@ public class ConnIdBundleManagerImpl implements 
ConnIdBundleManager {
             throw new NotFoundException("ConnectorInfo for location " + 
connInstance.getLocation() + " and key " + key);
         }
 
-        return info;
+        return Pair.of(uriLocation, info);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/cbd10830/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 a62444e..a8024f2 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
@@ -101,7 +101,7 @@ public class ConnectorFacadeProxy implements Connector {
 
         ConnIdBundleManager connIdBundleManager = 
ApplicationContextProvider.getBeanFactory().getBean(
                 ConnIdBundleManager.class);
-        ConnectorInfo info = 
connIdBundleManager.getConnectorInfo(connInstance);
+        ConnectorInfo info = 
connIdBundleManager.getConnectorInfo(connInstance).getRight();
 
         // create default configuration
         APIConfiguration apiConfig = info.createDefaultAPIConfiguration();

http://git-wip-us.apache.org/repos/asf/syncope/blob/cbd10830/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ConnInstanceDataBinderImpl.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ConnInstanceDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ConnInstanceDataBinderImpl.java
index 689df6b..63cb084 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ConnInstanceDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ConnInstanceDataBinderImpl.java
@@ -18,11 +18,13 @@
  */
 package org.apache.syncope.core.provisioning.java.data;
 
+import java.net.URI;
 import org.apache.syncope.core.provisioning.api.data.ConnInstanceDataBinder;
 import java.util.Arrays;
 import java.util.Collection;
 import org.apache.commons.collections4.IterableUtils;
 import org.apache.commons.collections4.Predicate;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
 import org.apache.syncope.common.lib.to.ConnPoolConfTO;
@@ -38,13 +40,14 @@ import 
org.identityconnectors.framework.api.ConfigurationProperties;
 import org.identityconnectors.framework.api.ConfigurationProperty;
 import org.identityconnectors.framework.impl.api.ConfigurationPropertyImpl;
 import org.apache.syncope.core.spring.BeanUtils;
+import org.identityconnectors.framework.api.ConnectorInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Component
 public class ConnInstanceDataBinderImpl implements ConnInstanceDataBinder {
 
-    private static final String[] IGNORE_PROPERTIES = { "poolConf" };
+    private static final String[] IGNORE_PROPERTIES = { "poolConf", "location" 
};
 
     @Autowired
     private ConnIdBundleManager connIdBundleManager;
@@ -181,11 +184,12 @@ public class ConnInstanceDataBinderImpl implements 
ConnInstanceDataBinder {
     public ConnInstanceTO getConnInstanceTO(final ConnInstance connInstance) {
         ConnInstanceTO connInstanceTO = new ConnInstanceTO();
 
+        Pair<URI, ConnectorInfo> info = 
connIdBundleManager.getConnectorInfo(connInstance);
         BeanUtils.copyProperties(connInstance, connInstanceTO, 
IGNORE_PROPERTIES);
-
+        connInstanceTO.setLocation(info.getLeft().toASCIIString());
         // refresh stored properties in the given connInstance with direct 
information from underlying connector
         ConfigurationProperties properties =
-                
connIdBundleManager.getConfigurationProperties(connIdBundleManager.getConnectorInfo(connInstance));
+                
connIdBundleManager.getConfigurationProperties(info.getRight());
         for (final String propName : properties.getPropertyNames()) {
             ConnConfPropSchema schema = 
build(properties.getProperty(propName));
 

Reply via email to