Author: sklevenz
Date: Mon Feb 22 16:20:43 2010
New Revision: 912643

URL: http://svn.apache.org/viewvc?rev=912643&view=rev
Log:
API SessionParameter clean up and re-factoring
https://issues.apache.org/jira/browse/CMIS-120
Continuous Runtime Implementation and Unit Tests
https://issues.apache.org/jira/browse/CMIS-124

Added:
    
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
   (with props)
Modified:
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/SessionFactoryImpl.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/Cache.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/CacheImpl.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/misc/CacheTest.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/mock/MockTestSuite.java
    
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxAtomPubCmisTestSuite.java
    
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/SessionParameter.java

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/PersistentSessionImpl.java
 Mon Feb 22 16:20:43 2010
@@ -25,6 +25,8 @@
 import java.util.Map;
 import java.util.UUID;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.opencmis.client.api.ChangeEvent;
 import org.apache.opencmis.client.api.CmisObject;
 import org.apache.opencmis.client.api.Document;
@@ -44,6 +46,7 @@
 import org.apache.opencmis.client.runtime.cache.CacheImpl;
 import org.apache.opencmis.client.runtime.repository.PropertyFactoryImpl;
 import org.apache.opencmis.commons.SessionParameter;
+import org.apache.opencmis.commons.enums.BindingType;
 import org.apache.opencmis.commons.enums.CmisProperties;
 import org.apache.opencmis.commons.enums.IncludeRelationships;
 import org.apache.opencmis.commons.enums.UnfileObjects;
@@ -55,48 +58,44 @@
 public class PersistentSessionImpl implements PersistentSession, Testable,
                Serializable {
 
+       private static Log log = LogFactory.getLog(PersistentSessionImpl.class);
+
        /*
-        * root folder containing generated test data
-        * (not serializable)
+        * root folder containing generated test data (not serializable)
         */
        private transient Folder testRootFolder = null;
 
        /*
-        * session parameter
-        * (serializable)
+        * session parameter (serializable)
         */
        private Map<String, String> parameters = null;
 
        /*
-        * CMIS provider
-        * (serializable)
+        * CMIS provider (serializable)
         */
        private CmisProvider provider = null;
 
        /*
-        * Session Locale, determined from session parameter
-        * (serializable)
+        * Session Locale, determined from session parameter (serializable)
         */
        private Locale locale = null;
 
        /*
-        * If not set explicitly then the repository id is returned by the 
repository
-        * (serializable)
+        * If not set explicitly then the repository id is returned by the
+        * repository (serializable)
         */
        private String repositoryId;
 
        /*
-        * helper factory
-        * (non serializable)
+        * helper factory (non serializable)
         */
        private transient PropertyFactory propertyFactory = new 
PropertyFactoryImpl();
 
        /*
-        * Object cache
-        * (serializable)
+        * Object cache (serializable)
         */
-       private Cache cache = new CacheImpl();
-       
+       private Cache cache = null;
+
        /**
         * required for serialization
         */
@@ -104,8 +103,31 @@
 
        public PersistentSessionImpl(Map<String, String> parameters) {
                this.parameters = parameters;
+               PersistentSessionImpl.log.info("Session Parameters: " + 
parameters);
+
                this.locale = this.determineLocale(parameters);
+               PersistentSessionImpl.log.info("Session Locale: "
+                               + this.locale.toString());
+
                this.repositoryId = this.determineRepositoryId(parameters);
+               PersistentSessionImpl.log.info("Session Repository Id: "
+                               + this.repositoryId);
+
+               int cacheSize = this.determineCacheSize(parameters);
+
+               if (cacheSize == -1) {
+                       this.cache = CacheImpl.newInstance();
+               } else {
+                       this.cache = CacheImpl.newInstance(cacheSize);
+               }
+               PersistentSessionImpl.log.info("Session Cache Size: "
+                               + this.cache.size());
+       }
+
+       private int determineCacheSize(Map<String, String> parameters) {
+               int size = -1;
+
+               return size;
        }
 
        private String determineRepositoryId(Map<String, String> parameters) {
@@ -113,10 +135,10 @@
                // if null then the provider will return a repository id (lazy)
                return repositoryId;
        }
-       
+
        private Locale determineLocale(Map<String, String> parameters) {
                Locale locale = null;
-               
+
                String language = parameters
                                .get(SessionParameter.LOCALE_ISO639_LANGUAGE);
                String country = parameters
@@ -124,22 +146,22 @@
                String variant = 
parameters.get(SessionParameter.LOCALE_VARIANT);
 
                if (variant != null) {
-                       // all 3 parameter must not be null and valid 
+                       // all 3 parameter must not be null and valid
                        locale = new Locale(language, country, variant);
-               }else {
+               } else {
                        if (country != null) {
-                               // 2 parameter must not be null and valid 
+                               // 2 parameter must not be null and valid
                                locale = new Locale(language, country);
-                       }else {
+                       } else {
                                if (language != null) {
-                                       // 1 parameter must not be null and 
valid 
+                                       // 1 parameter must not be null and 
valid
                                        locale = new Locale(language);
                                } else {
                                        locale = Locale.getDefault();
                                }
                        }
                }
-               
+
                return locale;
        }
 
@@ -195,16 +217,18 @@
 
        public Folder getRootFolder() {
                Folder rootFolder = null;
-               
+
                if (this.cache.containsPath("/")) {
                        rootFolder = (Folder) this.cache.getByPath("/");
                } else {
                        String rootFolderId = 
this.getRepositoryInfo().getRootFolderId();
-                       ObjectData od = 
this.provider.getObjectService().getObject(this.repositoryId, rootFolderId, "", 
false, IncludeRelationships.NONE, "", false, false, null);
+                       ObjectData od = 
this.provider.getObjectService().getObject(
+                                       this.repositoryId, rootFolderId, "", 
false,
+                                       IncludeRelationships.NONE, "", false, 
false, null);
                        rootFolder = new PersistentFolderImpl(this, od);
                        this.cache.put(rootFolder);
                }
-               
+
                return rootFolder;
        }
 
@@ -241,7 +265,9 @@
        }
 
        public void generateTestData(Map<String, String> parameter) {
-               ObjectGenerator og = new 
ObjectGenerator(this.provider.getObjectFactory(), 
this.provider.getNavigationService(), this.provider.getObjectService(), 
this.repositoryId);
+               ObjectGenerator og = new ObjectGenerator(this.provider
+                               .getObjectFactory(), 
this.provider.getNavigationService(),
+                               this.provider.getObjectService(), 
this.repositoryId);
                Folder rootFolder = null;
                String documentTypeId = null;
                String folderTypeId = null;
@@ -310,47 +336,30 @@
                if (this.parameters == null || this.parameters.isEmpty()) {
                        throw new CmisRuntimeException("Session parameter not 
set!");
                }
-               // Is the AtomPub URL set?
-               boolean isAtomPub = this.parameters
-                               .containsKey(SessionParameter.ATOMPUB_URL) ? 
true : false;
-               // Are the WebService Prefix or all service URLS are set?
-               boolean isWebService = this.parameters
-                               
.containsKey(SessionParameter.WEBSERVICE_URL_PREFIX)
-                               || (this.parameters
-                                               
.containsKey(SessionParameter.WEBSERVICES_ACL_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_OBJECT_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_POLICY_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE)
-                                               && this.parameters
-                                                               
.containsKey(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE) && this.parameters
-                                               
.containsKey(SessionParameter.WEBSERVICES_VERSIONING_SERVICE)) ? true
-                               : false;
 
-               if (!(isAtomPub ^ isWebService)) {
-                       // Illegal parameter combination
-                       throw new CmisRuntimeException("Ambiguous session 
parameter: "
-                                       + this.parameters);
-               }
+               BindingType bt = BindingType.fromValue(this.parameters
+                               .get(SessionParameter.BINDING_TYPE));
 
-               if (isAtomPub) {
+               switch (bt) {
+               case ATOM:
                        this.provider = 
this.creaetAtomPubProvider(this.parameters);
-               } else if (isWebService) {
+                       break;
+               case SOAP:
                        this.provider = 
this.creaetWebServiceProvider(this.parameters);
-               } else {
-                       // Illegal parameter combination
+                       break;
+               case UNSPECIFIC:
+                       this.provider = 
this.creaetUnspecificProvider(this.parameters);
+                       break;
+               default:
                        throw new CmisRuntimeException("Ambiguous session 
parameter: "
                                        + this.parameters);
                }
+       }
 
+       private CmisProvider creaetUnspecificProvider(Map<String, String> 
parameters) {
+               CmisProviderFactory factory = CmisProviderFactory.newInstance();
+               CmisProvider provider = factory.createCmisProvider(parameters);
+               return provider;
        }
 
        private CmisProvider creaetWebServiceProvider(Map<String, String> 
parameters) {

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/SessionFactoryImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/SessionFactoryImpl.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/SessionFactoryImpl.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/SessionFactoryImpl.java
 Mon Feb 22 16:20:43 2010
@@ -46,6 +46,14 @@
  */
 public class SessionFactoryImpl implements SessionFactory {
 
+       protected SessionFactoryImpl() {
+
+       }
+
+       public static SessionFactory newInstance() {
+               return new SessionFactoryImpl();
+       }
+
        @SuppressWarnings("unchecked")
        public <T extends Session> T createSession(Map<String, String> 
parameters) {
                Session s = null;
@@ -63,7 +71,7 @@
                switch (t) {
                case PERSISTENT:
                        PersistentSessionImpl ps = new 
PersistentSessionImpl(parameters);
-                       ps.connect();  // connect session with provider
+                       ps.connect(); // connect session with provider
                        s = ps;
                        break;
                case TRANSIENT:

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/Cache.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/Cache.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/Cache.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/Cache.java
 Mon Feb 22 16:20:43 2010
@@ -44,4 +44,5 @@
        // public List<CmisObject> get(int pageNumber);
        
        void clear();
+       int size();
 }

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/CacheImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/CacheImpl.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/CacheImpl.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/main/java/org/apache/opencmis/client/runtime/cache/CacheImpl.java
 Mon Feb 22 16:20:43 2010
@@ -42,12 +42,20 @@
         */
        private static final long serialVersionUID = 1978445442452564094L;
 
-       public CacheImpl() {
+       public static Cache newInstance() {
+               return new CacheImpl();
+       }
+
+       public static Cache newInstance(int cacheSize) {
+               return new CacheImpl(cacheSize);
+       }
+
+       protected CacheImpl() {
                this.idMap = this.createLruCache();
                this.pathMap = this.createLruCache();
        }
 
-       public CacheImpl(int cacheSize) {
+       protected CacheImpl(int cacheSize) {
                this.cacheSize = cacheSize;
 
                this.idMap = this.createLruCache();
@@ -99,4 +107,8 @@
                this.pathMap.put(object.getPath(), object);
        }
 
+       public int size() {
+               return this.cacheSize;
+       }
+
 }

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/misc/CacheTest.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/misc/CacheTest.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/misc/CacheTest.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/misc/CacheTest.java
 Mon Feb 22 16:20:43 2010
@@ -18,17 +18,24 @@
  */
 package org.apache.opencmis.client.runtime.misc;
 
+import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
 import junit.framework.Assert;
 
 import org.apache.opencmis.client.api.CmisObject;
 import org.apache.opencmis.client.runtime.cache.Cache;
 import org.apache.opencmis.client.runtime.cache.CacheImpl;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
 import org.junit.Before;
 import org.junit.Test;
 
+import com.sun.xml.ws.util.ByteArrayBuffer;
+
 public class CacheTest {
 
        @Before
@@ -36,8 +43,8 @@
        }
 
        @Test
-       public void cacheSingleobject() {
-               Cache cache = new CacheImpl();
+       public void cacheSingleObjectTest() {
+               Cache cache = CacheImpl.newInstance();
 
                String id = "1";
                String path = "/1";
@@ -71,20 +78,53 @@
        }
 
        @Test
+       public void cacheSizeTest() {
+               int cacheSize = 50000;
+               Cache cache = CacheImpl.newInstance(cacheSize);
+               Assert.assertEquals(cacheSize, cache.size());
+       }
+
+       @Test
        public void lruTest() {
                int cacheSize = 3;
-               Cache cache = new CacheImpl(cacheSize);
+               Cache cache = CacheImpl.newInstance(cacheSize);
 
                for (int i = 0; i < cacheSize + 1; i++) {
                        CmisObject obj = this.createCmisObject("id" + i, "path" 
+ i);
                        cache.put(obj);
                }
-               
-               Assert.assertNull(cache.get("id0"));    // thrown out
+
+               Assert.assertNull(cache.get("id0")); // thrown out
                Assert.assertNotNull(cache.get("id1"));
                Assert.assertNotNull(cache.get("id2"));
                Assert.assertNotNull(cache.get("id3"));
-               
+       }
+
+       @Test
+       public void serializationTest() throws IOException, 
ClassNotFoundException {
+               int cacheSize = 10;
+               Cache cache = CacheImpl.newInstance(cacheSize);
+
+               for (int i = 0; i < cacheSize; i++) {
+                       CmisObject obj = this.createCmisObject("id" + i, "path" 
+ i);
+                       cache.put(obj);
+               }
+
+               ByteArrayBuffer buffer = new ByteArrayBuffer();
+               ObjectOutputStream out = new ObjectOutputStream(buffer);
+               out.writeObject(cache);
+               out.close();
+
+               ObjectInputStream in = new 
ObjectInputStream(buffer.newInputStream());
+               Cache cache2 = (Cache) in.readObject();
+               in.close();
+
+               for (int k = 0; k < cacheSize; k++) {
+                       CmisObject o1 = cache.get("id" + k);
+                       CmisObject o2 = cache2.get("id" + k);
+                       Assert.assertEquals(o1.getId(), o2.getId());
+               }
+
        }
 
        /**

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/mock/MockTestSuite.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/mock/MockTestSuite.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/mock/MockTestSuite.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/mock/MockTestSuite.java
 Mon Feb 22 16:20:43 2010
@@ -31,6 +31,7 @@
 import org.apache.opencmis.client.runtime.ReadOnlyRepositoryInfoTest;
 import org.apache.opencmis.client.runtime.ReadOnlySessionTest;
 import org.apache.opencmis.client.runtime.ReadOnlyTypeTest;
+import org.apache.opencmis.client.runtime.misc.CacheTest;
 import org.apache.opencmis.client.runtime.mock.MockSessionFactory;
 import org.apache.opencmis.client.runtime.suite.AbstractCmisTestSuite;
 import org.apache.opencmis.commons.SessionParameter;
@@ -46,7 +47,7 @@
 @SuiteClasses( { ReadOnlyCreateSessionTest.class, ReadOnlySessionTest.class,
     ReadOnlyRepositoryInfoTest.class, ReadOnlyAclCapabilityTest.class, 
ReadOnlyObjectTest.class,
     ReadOnlyTypeTest.class, ReadOnlyNavigationTest.class, 
ReadOnlyContentStreamTest.class,
-    ReadOnlyDiscoverTest.class })
+    ReadOnlyDiscoverTest.class, CacheTest.class })
 public class MockTestSuite extends AbstractCmisTestSuite {
 
   public MockTestSuite(Class<?> klass, RunnerBuilder r) throws 
InitializationError {

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxAtomPubCmisTestSuite.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxAtomPubCmisTestSuite.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxAtomPubCmisTestSuite.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-client-impl/src/test/java/org/apache/opencmis/client/runtime/suite/otx/OtxAtomPubCmisTestSuite.java
 Mon Feb 22 16:20:43 2010
@@ -28,6 +28,7 @@
 import org.apache.opencmis.client.runtime.SessionFactoryImpl;
 import org.apache.opencmis.client.runtime.suite.AbstractCmisTestSuite;
 import org.apache.opencmis.commons.SessionParameter;
+import org.apache.opencmis.commons.enums.BindingType;
 import org.apache.opencmis.commons.enums.SessionType;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite.SuiteClasses;
@@ -54,8 +55,8 @@
     parameter.put(SessionParameter.SESSION_TYPE, 
SessionType.PERSISTENT.value());
     parameter.put(SessionParameter.LOCALE_ISO3166_COUNTRY, 
Locale.GERMANY.getISO3Country());
     parameter.put(SessionParameter.LOCALE_ISO639_LANGUAGE, 
Locale.GERMANY.getISO3Language());
+    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOM.value());
     parameter.put(SessionParameter.ATOMPUB_URL, 
"http://pwdf6227:8080/cmis/atom";);
-//    parameter.put(SessionParameter.WEBSERVICE_URL_PREFIX, 
"http://pwdf6227:8080/cmis/services";);
     
     Fixture.DOCUMENT_TYPE_ID = "sap.doc";
     Fixture.FOLDER_TYPE_ID = "sap.folder";
@@ -71,7 +72,7 @@
 //    -Dopencmis.test.atompub.url=http://pwdf6227:8080/cmis/atom
     
     Fixture.setParamter(parameter);
-    Fixture.setSessionFactory(new SessionFactoryImpl());
+    Fixture.setSessionFactory(SessionFactoryImpl.newInstance());
   }
 
 }

Modified: 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/SessionParameter.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/SessionParameter.java?rev=912643&r1=912642&r2=912643&view=diff
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/SessionParameter.java
 (original)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/SessionParameter.java
 Mon Feb 22 16:20:43 2010
@@ -34,14 +34,15 @@
        public static final String PASSWORD = "org.apache.opencmis.password";
 
        // ---- provider parameter ----
+       /** Predefined binding types (see {...@code BindingType}) */
+       public static final String BINDING_TYPE = 
"org.apache.opencmis.provider.binding.type";
+       
        /** Class name of the binding class. */
        public static final String BINDING_SPI_CLASS = 
"org.apache.opencmis.provider.binding.classname";
 
        /** URL of the AtomPub service document. */
        public static final String ATOMPUB_URL = 
"org.apache.opencmis.provider.atompub.url";
 
-       public static final String WEBSERVICE_URL_PREFIX = 
"org.apache.opencmis.provider.webservices.url";
-
        public static final String WEBSERVICES_REPOSITORY_SERVICE = 
"org.apache.opencmis.provider.webservices.RepositoryService";
        public static final String WEBSERVICES_NAVIGATION_SERVICE = 
"org.apache.opencmis.provider.webservices.NavigationService";
        public static final String WEBSERVICES_OBJECT_SERVICE = 
"org.apache.opencmis.provider.webservices.ObjectService";

Added: 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
URL: 
http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java?rev=912643&view=auto
==============================================================================
--- 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
 (added)
+++ 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
 Mon Feb 22 16:20:43 2010
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.commons.enums;
+
+/**
+ * Binding Type Enum.
+ * 
+ * 
+ */
+public enum BindingType {
+
+  SOAP("soap"), ATOM("atom"), UNSPECIFIC("unspecific");
+  private final String value;
+
+  BindingType(String v) {
+    value = v;
+  }
+
+  public String value() {
+    return value;
+  }
+
+  public static BindingType fromValue(String v) {
+    for (BindingType c : BindingType.values()) {
+      if (c.value.equals(v)) {
+        return c;
+      }
+    }
+    throw new IllegalArgumentException(v);
+  }
+
+}

Propchange: 
incubator/chemistry/trunk/opencmis/opencmis-commons/opencmis-commons-api/src/main/java/org/apache/opencmis/commons/enums/BindingType.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to