You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2011/05/30 15:14:10 UTC

svn commit: r1129163 - in /chemistry/opencmis/trunk/chemistry-opencmis-client: chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/b...

Author: fmui
Date: Mon May 30 13:14:10 2011
New Revision: 1129163

URL: http://svn.apache.org/viewvc?rev=1129163&view=rev
Log:
CMIS-379: First step: added AuthenticationProvider parameter to CmisBindingFactory

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ObjectFactory.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/CmisBindingImpl.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/CmisBindingHelper.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/repository/ObjectFactoryImpl.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ObjectFactory.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ObjectFactory.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ObjectFactory.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/ObjectFactory.java Mon May 30 13:14:10 2011
@@ -31,19 +31,24 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.data.Properties;
 import org.apache.chemistry.opencmis.commons.data.PropertyData;
 import org.apache.chemistry.opencmis.commons.data.RenditionData;
+import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
 import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
 import org.apache.chemistry.opencmis.commons.enums.Updatability;
 
 /**
  * A factory to create CMIS objects.
- *
+ * 
  * @see org.apache.chemistry.opencmis.client.api.Session#getObjectFactory()
  */
 public interface ObjectFactory {
 
     void initialize(Session session, Map<String, String> parameters);
 
+    // repository info
+
+    RepositoryInfo convertRepositoryInfo(RepositoryInfo repositoryInfo);
+
     // ACL and ACE
 
     Acl convertAces(List<Ace> aces);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/CmisBindingFactory.java Mon May 30 13:14:10 2011
@@ -22,6 +22,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl;
+import org.apache.chemistry.opencmis.client.bindings.spi.AbstractAuthenticationProvider;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.spi.CmisBinding;
 
@@ -81,22 +82,42 @@ public final class CmisBindingFactory {
      * the session parameters.
      */
     public CmisBinding createCmisBinding(Map<String, String> sessionParameters) {
+        return createCmisBinding(sessionParameters, null);
+    }
+
+    /**
+     * Creates a CMIS binding instance. A binding class has to be provided in
+     * the session parameters.
+     */
+    public CmisBinding createCmisBinding(Map<String, String> sessionParameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         checkSessionParameters(sessionParameters, true);
 
         addDefaultParameters(sessionParameters);
 
-        return new CmisBindingImpl(sessionParameters);
+        return new CmisBindingImpl(sessionParameters, authenticationProvider);
     }
 
     /**
      * Creates a default CMIS AtomPub binding instance.
      */
     public CmisBinding createCmisAtomPubBinding(Map<String, String> sessionParameters) {
+        return createCmisAtomPubBinding(sessionParameters, null);
+    }
+
+    /**
+     * Creates a default CMIS AtomPub binding instance with a custom
+     * authentication provider.
+     */
+    public CmisBinding createCmisAtomPubBinding(Map<String, String> sessionParameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         checkSessionParameters(sessionParameters, false);
 
         sessionParameters.put(SessionParameter.BINDING_SPI_CLASS, BINDING_SPI_ATOMPUB);
-        if (!sessionParameters.containsKey(SessionParameter.AUTHENTICATION_PROVIDER_CLASS)) {
-            sessionParameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, STANDARD_AUTHENTICATION_PROVIDER);
+        if (authenticationProvider == null) {
+            if (!sessionParameters.containsKey(SessionParameter.AUTHENTICATION_PROVIDER_CLASS)) {
+                sessionParameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, STANDARD_AUTHENTICATION_PROVIDER);
+            }
         }
         if (!sessionParameters.containsKey(SessionParameter.AUTH_HTTP_BASIC)) {
             sessionParameters.put(SessionParameter.AUTH_HTTP_BASIC, "true");
@@ -106,18 +127,29 @@ public final class CmisBindingFactory {
 
         check(sessionParameters, SessionParameter.ATOMPUB_URL);
 
-        return new CmisBindingImpl(sessionParameters);
+        return new CmisBindingImpl(sessionParameters, authenticationProvider);
     }
 
     /**
      * Creates a default CMIS Web Services binding instance.
      */
     public CmisBinding createCmisWebServicesBinding(Map<String, String> sessionParameters) {
+        return createCmisWebServicesBinding(sessionParameters, null);
+    }
+
+    /**
+     * Creates a default CMIS Web Services binding instance with a custom
+     * authentication provider.
+     */
+    public CmisBinding createCmisWebServicesBinding(Map<String, String> sessionParameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         checkSessionParameters(sessionParameters, false);
 
         sessionParameters.put(SessionParameter.BINDING_SPI_CLASS, BINDING_SPI_WEBSERVICES);
-        if (!sessionParameters.containsKey(SessionParameter.AUTHENTICATION_PROVIDER_CLASS)) {
-            sessionParameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, STANDARD_AUTHENTICATION_PROVIDER);
+        if (authenticationProvider == null) {
+            if (!sessionParameters.containsKey(SessionParameter.AUTHENTICATION_PROVIDER_CLASS)) {
+                sessionParameters.put(SessionParameter.AUTHENTICATION_PROVIDER_CLASS, STANDARD_AUTHENTICATION_PROVIDER);
+            }
         }
         if (!sessionParameters.containsKey(SessionParameter.AUTH_SOAP_USERNAMETOKEN)) {
             sessionParameters.put(SessionParameter.AUTH_SOAP_USERNAMETOKEN, "true");
@@ -137,7 +169,7 @@ public final class CmisBindingFactory {
         check(sessionParameters, SessionParameter.WEBSERVICES_REPOSITORY_SERVICE);
         check(sessionParameters, SessionParameter.WEBSERVICES_VERSIONING_SERVICE);
 
-        return new CmisBindingImpl(sessionParameters);
+        return new CmisBindingImpl(sessionParameters, authenticationProvider);
     }
 
     /**

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/CmisBindingImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/CmisBindingImpl.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/CmisBindingImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/CmisBindingImpl.java Mon May 30 13:14:10 2011
@@ -57,6 +57,18 @@ public class CmisBindingImpl implements 
      *            the session parameters
      */
     public CmisBindingImpl(Map<String, String> sessionParameters) {
+        this(sessionParameters, null);
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param sessionParameters
+     *            the session parameters
+     * @param authenticationProvider
+     *            an authentication provider instance
+     */
+    public CmisBindingImpl(Map<String, String> sessionParameters, AbstractAuthenticationProvider authenticationProvider) {
         // some checks first
         if (sessionParameters == null) {
             throw new IllegalArgumentException("Session parameters must be set!");
@@ -71,25 +83,30 @@ public class CmisBindingImpl implements 
             session.put(entry.getKey(), entry.getValue());
         }
 
-        // create authentication provider and add it session
-        String authProvider = sessionParameters.get(SessionParameter.AUTHENTICATION_PROVIDER_CLASS);
-        if (authProvider != null) {
-            Object authProviderObj = null;
-
-            try {
-                authProviderObj = Class.forName(authProvider).newInstance();
-            } catch (Exception e) {
-                throw new IllegalArgumentException("Could not load authentication provider: " + e, e);
+        if (authenticationProvider == null) {
+            // create authentication provider and add it session
+            String authProvider = sessionParameters.get(SessionParameter.AUTHENTICATION_PROVIDER_CLASS);
+            if (authProvider != null) {
+                Object authProviderObj = null;
+
+                try {
+                    authProviderObj = Class.forName(authProvider).newInstance();
+                } catch (Exception e) {
+                    throw new IllegalArgumentException("Could not load authentication provider: " + e, e);
+                }
+
+                if (!(authProviderObj instanceof AbstractAuthenticationProvider)) {
+                    throw new IllegalArgumentException(
+                            "Authentication provider does not extend AbstractAuthenticationProvider!");
+                }
+
+                session.put(CmisBindingsHelper.AUTHENTICATION_PROVIDER_OBJECT,
+                        (AbstractAuthenticationProvider) authProviderObj);
+                ((AbstractAuthenticationProvider) authProviderObj).setSession(session);
             }
-
-            if (!(authProviderObj instanceof AbstractAuthenticationProvider)) {
-                throw new IllegalArgumentException(
-                        "Authentication provider does not extend AbstractAuthenticationProvider!");
-            }
-
-            session.put(CmisBindingsHelper.AUTHENTICATION_PROVIDER_OBJECT,
-                    (AbstractAuthenticationProvider) authProviderObj);
-            ((AbstractAuthenticationProvider) authProviderObj).setSession(session);
+        } else {
+            session.put(CmisBindingsHelper.AUTHENTICATION_PROVIDER_OBJECT, authenticationProvider);
+            authenticationProvider.setSession(session);
         }
 
         // set up caches

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/CmisBindingHelper.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/CmisBindingHelper.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/CmisBindingHelper.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/CmisBindingHelper.java Mon May 30 13:14:10 2011
@@ -21,6 +21,7 @@ package org.apache.chemistry.opencmis.cl
 import java.util.Map;
 
 import org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory;
+import org.apache.chemistry.opencmis.client.bindings.spi.AbstractAuthenticationProvider;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.enums.BindingType;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
@@ -37,7 +38,8 @@ public class CmisBindingHelper {
     /**
      * Creates a {@link CmisBinding} object.
      */
-    public static CmisBinding createBinding(Map<String, String> parameters) {
+    public static CmisBinding createBinding(Map<String, String> parameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         if (parameters == null || parameters.isEmpty()) {
             throw new CmisRuntimeException("Session parameter not set!");
         }
@@ -50,13 +52,13 @@ public class CmisBindingHelper {
 
         switch (bt) {
         case ATOMPUB:
-            return createAtomPubBinding(parameters);
+            return createAtomPubBinding(parameters, authenticationProvider);
         case WEBSERVICES:
-            return createWebServiceBinding(parameters);
+            return createWebServiceBinding(parameters, authenticationProvider);
         case LOCAL:
             return createLocalBinding(parameters);
         case CUSTOM:
-            return createCustomBinding(parameters);
+            return createCustomBinding(parameters, authenticationProvider);
         default:
             throw new CmisRuntimeException("Ambiguous session parameter: " + parameters);
         }
@@ -65,9 +67,10 @@ public class CmisBindingHelper {
     /**
      * Creates a binding with custom parameters.
      */
-    private static CmisBinding createCustomBinding(Map<String, String> parameters) {
+    private static CmisBinding createCustomBinding(Map<String, String> parameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
-        CmisBinding binding = factory.createCmisBinding(parameters);
+        CmisBinding binding = factory.createCmisBinding(parameters, authenticationProvider);
 
         return binding;
     }
@@ -75,9 +78,10 @@ public class CmisBindingHelper {
     /**
      * Creates a Web Services binding.
      */
-    private static CmisBinding createWebServiceBinding(Map<String, String> parameters) {
+    private static CmisBinding createWebServiceBinding(Map<String, String> parameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
-        CmisBinding binding = factory.createCmisWebServicesBinding(parameters);
+        CmisBinding binding = factory.createCmisWebServicesBinding(parameters, authenticationProvider);
 
         return binding;
     }
@@ -85,9 +89,10 @@ public class CmisBindingHelper {
     /**
      * Creates an AtomPub binding.
      */
-    private static CmisBinding createAtomPubBinding(Map<String, String> parameters) {
+    private static CmisBinding createAtomPubBinding(Map<String, String> parameters,
+            AbstractAuthenticationProvider authenticationProvider) {
         CmisBindingFactory factory = CmisBindingFactory.newInstance();
-        CmisBinding binding = factory.createCmisAtomPubBinding(parameters);
+        CmisBinding binding = factory.createCmisAtomPubBinding(parameters, authenticationProvider);
 
         return binding;
     }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionFactoryImpl.java Mon May 30 13:14:10 2011
@@ -35,7 +35,7 @@ import org.apache.chemistry.opencmis.com
  * <p>
  * <code>
  * SessionFactory sf = new SessionFactoryImpl();<br>
- * Session s = sf.create(...);
+ * Session s = sf.createSession(...);
  * </code>
  * <p>
  * Alternative factory lookup methods:
@@ -57,14 +57,14 @@ public class SessionFactoryImpl implemen
 
     @SuppressWarnings("unchecked")
     public <T extends Session> T createSession(Map<String, String> parameters) {
-        SessionImpl session = new SessionImpl(parameters);
+        SessionImpl session = new SessionImpl(parameters, null, null, null);
         session.connect();
 
         return (T) session;
     }
 
     public List<Repository> getRepositories(Map<String, String> parameters) {
-        CmisBinding binding = CmisBindingHelper.createBinding(parameters);
+        CmisBinding binding = CmisBindingHelper.createBinding(parameters, null);
 
         List<RepositoryInfo> repositoryInfos = binding.getRepositoryService().getRepositoryInfos(null);
 

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java Mon May 30 13:14:10 2011
@@ -44,6 +44,7 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.client.api.Relationship;
 import org.apache.chemistry.opencmis.client.api.Session;
 import org.apache.chemistry.opencmis.client.api.Tree;
+import org.apache.chemistry.opencmis.client.bindings.spi.AbstractAuthenticationProvider;
 import org.apache.chemistry.opencmis.client.runtime.cache.Cache;
 import org.apache.chemistry.opencmis.client.runtime.cache.CacheImpl;
 import org.apache.chemistry.opencmis.client.runtime.repository.ObjectFactoryImpl;
@@ -113,11 +114,16 @@ public class SessionImpl implements Sess
     private Locale locale = null;
 
     /*
-     * helper factory (serializable)
+     * Object factory (serializable)
      */
     private final ObjectFactory objectFactory;
 
     /*
+     * Authentication provider (serializable)
+     */
+    private final AbstractAuthenticationProvider authenticationProvider;
+
+    /*
      * Object cache (serializable)
      */
     private Cache cache;
@@ -136,7 +142,8 @@ public class SessionImpl implements Sess
     /**
      * Constructor.
      */
-    public SessionImpl(Map<String, String> parameters) {
+    public SessionImpl(Map<String, String> parameters, ObjectFactory objectFactory,
+            AbstractAuthenticationProvider authenticationProvider, Cache cache) {
         if (parameters == null) {
             throw new IllegalArgumentException("No parameters provided!");
         }
@@ -144,18 +151,13 @@ public class SessionImpl implements Sess
         this.parameters = parameters;
         this.locale = determineLocale(parameters);
 
-        this.objectFactory = createObjectFactory();
-        this.cache = createCache();
+        this.objectFactory = (objectFactory == null ? createObjectFactory() : objectFactory);
+        this.authenticationProvider = authenticationProvider;
+        this.cache = (cache == null ? createCache() : cache);
 
         cachePathOmit = Boolean.parseBoolean(parameters.get(SessionParameter.CACHE_PATH_OMIT));
     }
 
-    private static String determineRepositoryId(Map<String, String> parameters) {
-        String repositoryId = parameters.get(SessionParameter.REPOSITORY_ID);
-        // if null then the provider will return a repository id (lazy)
-        return repositoryId;
-    }
-
     private static Locale determineLocale(Map<String, String> parameters) {
         Locale locale = null;
 
@@ -598,15 +600,16 @@ public class SessionImpl implements Sess
     public void connect() {
         lock.writeLock().lock();
         try {
-            this.binding = CmisBindingHelper.createBinding(this.parameters);
+            this.binding = CmisBindingHelper.createBinding(parameters, authenticationProvider);
 
             /* get initial repository id from session parameter */
-            String repositoryId = determineRepositoryId(this.parameters);
+            String repositoryId = parameters.get(SessionParameter.REPOSITORY_ID);
             if (repositoryId == null) {
                 throw new IllegalStateException("Repository Id is not set!");
             }
 
-            repositoryInfo = getBinding().getRepositoryService().getRepositoryInfo(repositoryId, null);
+            repositoryInfo = objectFactory.convertRepositoryInfo(getBinding().getRepositoryService().getRepositoryInfo(
+                    repositoryId, null));
         } finally {
             lock.writeLock().unlock();
         }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/repository/ObjectFactoryImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/repository/ObjectFactoryImpl.java?rev=1129163&r1=1129162&r2=1129163&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/repository/ObjectFactoryImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/repository/ObjectFactoryImpl.java Mon May 30 13:14:10 2011
@@ -66,6 +66,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.data.PropertyData;
 import org.apache.chemistry.opencmis.commons.data.PropertyId;
 import org.apache.chemistry.opencmis.commons.data.RenditionData;
+import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
 import org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.FolderTypeDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.PolicyTypeDefinition;
@@ -113,6 +114,12 @@ public class ObjectFactoryImpl implement
         return session.getBinding().getObjectFactory();
     }
 
+    // repository info
+
+    public RepositoryInfo convertRepositoryInfo(RepositoryInfo repositoryInfo) {
+        return repositoryInfo;
+    }
+
     // ACL and ACE
 
     public Acl convertAces(List<Ace> aces) {