Author: fmui
Date: Mon Apr 19 16:00:02 2010
New Revision: 935641
URL: http://svn.apache.org/viewvc?rev=935641&view=rev
Log:
added local binding implementation
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AbstractLocalService.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AclServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/DiscoveryServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/MultiFilingServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/NavigationServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/PolicyServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RelationshipServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/VersioningServiceImpl.java
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/SessionImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/CmisSpi.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/Session.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/CmisAtomPubSpi.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/CmisLocalSpi.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/RepositoryMap.java
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/SessionImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/SessionImpl.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/SessionImpl.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/SessionImpl.java
Mon Apr 19 16:00:02 2010
@@ -19,6 +19,7 @@
package org.apache.chemistry.opencmis.client.bindings.impl;
import java.io.Serializable;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -43,6 +44,10 @@ public class SessionImpl implements Sess
data = new HashMap<String, Object>();
}
+ public Collection<String> getKeys() {
+ return data.keySet();
+ }
+
public Object get(String key) {
Object value = null;
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/CmisSpi.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/CmisSpi.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/CmisSpi.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/CmisSpi.java
Mon Apr 19 16:00:02 2010
@@ -18,6 +18,8 @@
*/
package org.apache.chemistry.opencmis.client.bindings.spi;
+import java.io.Serializable;
+
import org.apache.chemistry.opencmis.commons.api.AclService;
import org.apache.chemistry.opencmis.commons.api.DiscoveryService;
import org.apache.chemistry.opencmis.commons.api.MultiFilingService;
@@ -31,7 +33,7 @@ import org.apache.chemistry.opencmis.com
/**
* CMIS SPI interface.
*/
-public interface CmisSpi {
+public interface CmisSpi extends Serializable {
/**
* Gets a Repository Service interface object.
*/
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/Session.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/Session.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/Session.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/Session.java
Mon Apr 19 16:00:02 2010
@@ -19,6 +19,7 @@
package org.apache.chemistry.opencmis.client.bindings.spi;
import java.io.Serializable;
+import java.util.Collection;
/**
* CMIS provider session interface.
@@ -26,6 +27,11 @@ import java.io.Serializable;
public interface Session extends Serializable {
/**
+ * Returns all keys.
+ */
+ Collection<String> getKeys();
+
+ /**
* Gets a session value.
*/
Object get(String key);
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/CmisAtomPubSpi.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/CmisAtomPubSpi.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/CmisAtomPubSpi.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/CmisAtomPubSpi.java
Mon Apr 19 16:00:02 2010
@@ -38,6 +38,8 @@ import org.apache.commons.logging.LogFac
*/
public class CmisAtomPubSpi implements CmisSpiFactory, CmisSpi {
+ private static final long serialVersionUID = 1L;
+
private static Log log = LogFactory.getLog(CmisAtomPubSpi.class);
private Session session;
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AbstractLocalService.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AbstractLocalService.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AbstractLocalService.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AbstractLocalService.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,111 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.api.server.CallContext;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+
+/**
+ * Base class for all local clients.
+ */
+public abstract class AbstractLocalService {
+
+ private Session session;
+ private CmisServiceFactory factory;
+
+ private String user;
+ private String password;
+
+ /**
+ * Sets the current session.
+ */
+ protected void setSession(Session session) {
+ this.session = session;
+
+ Object userObj = session.get(SessionParameter.USER);
+ user = userObj instanceof String ? userObj.toString() : null;
+
+ Object passwordObj = session.get(SessionParameter.PASSWORD);
+ password = passwordObj instanceof String ?
passwordObj.toString() : null;
+ }
+
+ /**
+ * Gets the current session.
+ */
+ protected Session getSession() {
+ return session;
+ }
+
+ /**
+ * Sets the service factory.
+ */
+ protected void setServiceFactory(CmisServiceFactory factory) {
+ this.factory = factory;
+ }
+
+ /**
+ * Gets the service factory.
+ */
+ protected CmisServiceFactory getServiceFactory() {
+ return factory;
+ }
+
+ /**
+ * creates a local call context.
+ */
+ protected CallContext createCallContext(String repositoryId) {
+ return new LocalCallContext(repositoryId, user, password);
+ }
+
+ protected CmisService getService(String repositoryId) {
+ return factory.getService(createCallContext(repositoryId));
+ }
+
+ // ------------------------------------------------------------------
+
+ /**
+ * Simple {...@link CallContext} implementation.
+ */
+ class LocalCallContext implements CallContext {
+
+ private Map<String, String> contextMap = new HashMap<String,
String>();
+
+ public LocalCallContext(String repositoryId, String user,
String password) {
+ contextMap.put(REPOSITORY_ID, repositoryId);
+ contextMap.put(USERNAME, user);
+ contextMap.put(PASSWORD, password);
+ }
+
+ public String getBinding() {
+ return BINDING_LOCAL;
+ }
+
+ public String get(String key) {
+ return contextMap.get(key);
+ }
+
+ public String getRepositoryId() {
+ return get(REPOSITORY_ID);
+ }
+
+ public String getUsername() {
+ return get(USERNAME);
+ }
+
+ public String getPassword() {
+ return get(PASSWORD);
+ }
+
+ public String getLocale() {
+ return null;
+ }
+
+ public boolean isObjectInfoRequired() {
+ return false;
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AclServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AclServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AclServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/AclServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,41 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.Acl;
+import org.apache.chemistry.opencmis.commons.api.AclService;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.AclPropagation;
+
+public class AclServiceImpl extends AbstractLocalService implements AclService
{
+
+ /**
+ * Constructor.
+ */
+ public AclServiceImpl(Session session, CmisServiceFactory factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public Acl applyAcl(String repositoryId, String objectId, Acl addAces,
Acl removeAces,
+ AclPropagation aclPropagation, ExtensionsData
extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.applyAcl(repositoryId, objectId,
addAces, removeAces, aclPropagation, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public Acl getAcl(String repositoryId, String objectId, Boolean
onlyBasicPermissions, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getAcl(repositoryId, objectId,
onlyBasicPermissions, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/CmisLocalSpi.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/CmisLocalSpi.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/CmisLocalSpi.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/CmisLocalSpi.java
Mon Apr 19 16:00:02 2010
@@ -1,5 +1,8 @@
package org.apache.chemistry.opencmis.client.bindings.spi.local;
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.chemistry.opencmis.client.bindings.spi.CmisSpi;
import org.apache.chemistry.opencmis.client.bindings.spi.CmisSpiFactory;
import org.apache.chemistry.opencmis.client.bindings.spi.Session;
@@ -23,10 +26,11 @@ import org.apache.commons.logging.LogFac
*/
public class CmisLocalSpi implements CmisSpiFactory, CmisSpi {
+ private static final long serialVersionUID = 1L;
+
private static Log log = LogFactory.getLog(CmisLocalSpi.class);
- private Session session;
- private CmisServiceFactory serviceFactory;
+ private CmisServiceFactory factory;
private RepositoryService repositoryService;
private NavigationService navigationService;
@@ -49,19 +53,38 @@ public class CmisLocalSpi implements Cmi
log.debug("Initializing local SPI...");
}
- this.session = session;
-
+ // get the service factory class name
String serviceFactoryClassname = (String)
session.get(SessionParameter.LOCAL_FACTORY);
if (serviceFactoryClassname == null) {
throw new CmisConnectionException("Factory class not
set!");
}
try {
- serviceFactory = (CmisServiceFactory)
Class.forName(serviceFactoryClassname).newInstance();
+ // gather parameters from session
+ Map<String, String> parameters = new HashMap<String,
String>();
+ for (String key : session.getKeys()) {
+ Object value = session.get(key);
+ if (value instanceof String) {
+ parameters.put(key, (String) value);
+ }
+ }
+
+ // create and initialize factory
+ factory = (CmisServiceFactory)
Class.forName(serviceFactoryClassname).newInstance();
+ factory.init(parameters);
} catch (Exception e) {
throw new CmisConnectionException("Factory cannot be
created!", e);
}
+ repositoryService = new RepositoryServiceImpl(session, factory);
+ navigationService = new NavigationServiceImpl(session, factory);
+ objectService = new ObjectServiceImpl(session, factory);
+ versioningService = new VersioningServiceImpl(session, factory);
+ discoveryService = new DiscoveryServiceImpl(session, factory);
+ multiFilingService = new MultiFilingServiceImpl(session,
factory);
+ relationshipService = new RelationshipServiceImpl(session,
factory);
+ policyService = new PolicyServiceImpl(session, factory);
+
return this;
}
@@ -108,6 +131,6 @@ public class CmisLocalSpi implements Cmi
}
public void close() {
- serviceFactory.destroy();
+ factory.destroy();
}
}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/DiscoveryServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/DiscoveryServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/DiscoveryServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/DiscoveryServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,48 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.math.BigInteger;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.DiscoveryService;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.Holder;
+import org.apache.chemistry.opencmis.commons.api.ObjectList;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+
+public class DiscoveryServiceImpl extends AbstractLocalService implements
DiscoveryService {
+
+ /**
+ * Constructor.
+ */
+ public DiscoveryServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public ObjectList getContentChanges(String repositoryId, Holder<String>
changeLogToken, Boolean includeProperties,
+ String filter, Boolean includePolicyIds, Boolean
includeAcl, BigInteger maxItems, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getContentChanges(repositoryId,
changeLogToken, includeProperties, filter, includePolicyIds,
+ includeAcl, maxItems, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectList query(String repositoryId, String statement, Boolean
searchAllVersions,
+ Boolean includeAllowableActions, IncludeRelationships
includeRelationships, String renditionFilter,
+ BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.query(repositoryId, statement,
searchAllVersions, includeAllowableActions,
+ includeRelationships, renditionFilter,
maxItems, skipCount, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/MultiFilingServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/MultiFilingServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/MultiFilingServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/MultiFilingServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,39 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.MultiFilingService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+
+public class MultiFilingServiceImpl extends AbstractLocalService implements
MultiFilingService {
+
+ /**
+ * Constructor.
+ */
+ public MultiFilingServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public void addObjectToFolder(String repositoryId, String objectId,
String folderId, Boolean allVersions,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.addObjectToFolder(repositoryId, objectId,
folderId, allVersions, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void removeObjectFromFolder(String repositoryId, String
objectId, String folderId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.removeObjectFromFolder(repositoryId, objectId,
folderId, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/NavigationServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/NavigationServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/NavigationServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/NavigationServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,102 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.NavigationService;
+import org.apache.chemistry.opencmis.commons.api.ObjectData;
+import org.apache.chemistry.opencmis.commons.api.ObjectInFolderContainer;
+import org.apache.chemistry.opencmis.commons.api.ObjectInFolderList;
+import org.apache.chemistry.opencmis.commons.api.ObjectList;
+import org.apache.chemistry.opencmis.commons.api.ObjectParentData;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+
+public class NavigationServiceImpl extends AbstractLocalService implements
NavigationService {
+
+ /**
+ * Constructor.
+ */
+ public NavigationServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public ObjectList getCheckedOutDocs(String repositoryId, String
folderId, String filter, String orderBy,
+ Boolean includeAllowableActions, IncludeRelationships
includeRelationships, String renditionFilter,
+ BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getCheckedOutDocs(repositoryId,
folderId, filter, orderBy, includeAllowableActions,
+ includeRelationships, renditionFilter,
maxItems, skipCount, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectInFolderList getChildren(String repositoryId, String
folderId, String filter, String orderBy,
+ Boolean includeAllowableActions, IncludeRelationships
includeRelationships, String renditionFilter,
+ Boolean includePathSegment, BigInteger maxItems,
BigInteger skipCount, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getChildren(repositoryId, folderId,
filter, orderBy, includeAllowableActions,
+ includeRelationships, renditionFilter,
includePathSegment, maxItems, skipCount, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<ObjectInFolderContainer> getDescendants(String
repositoryId, String folderId, BigInteger depth,
+ String filter, Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
+ String renditionFilter, Boolean includePathSegment,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getDescendants(repositoryId, folderId,
depth, filter, includeAllowableActions,
+ includeRelationships, renditionFilter,
includePathSegment, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectData getFolderParent(String repositoryId, String folderId,
String filter, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getFolderParent(repositoryId, folderId,
filter, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<ObjectInFolderContainer> getFolderTree(String repositoryId,
String folderId, BigInteger depth,
+ String filter, Boolean includeAllowableActions,
IncludeRelationships includeRelationships,
+ String renditionFilter, Boolean includePathSegment,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getFolderTree(repositoryId, folderId,
depth, filter, includeAllowableActions,
+ includeRelationships, renditionFilter,
includePathSegment, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<ObjectParentData> getObjectParents(String repositoryId,
String objectId, String filter,
+ Boolean includeAllowableActions, IncludeRelationships
includeRelationships, String renditionFilter,
+ Boolean includeRelativePathSegment, ExtensionsData
extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getObjectParents(repositoryId, objectId,
filter, includeAllowableActions,
+ includeRelationships, renditionFilter,
includeRelativePathSegment, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,224 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.Acl;
+import org.apache.chemistry.opencmis.commons.api.AllowableActions;
+import org.apache.chemistry.opencmis.commons.api.ContentStream;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.FailedToDeleteData;
+import org.apache.chemistry.opencmis.commons.api.Holder;
+import org.apache.chemistry.opencmis.commons.api.ObjectData;
+import org.apache.chemistry.opencmis.commons.api.ObjectService;
+import org.apache.chemistry.opencmis.commons.api.Properties;
+import org.apache.chemistry.opencmis.commons.api.RenditionData;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
+import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+
+public class ObjectServiceImpl extends AbstractLocalService implements
ObjectService {
+
+ /**
+ * Constructor.
+ */
+ public ObjectServiceImpl(Session session, CmisServiceFactory factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public String createDocument(String repositoryId, Properties
properties, String folderId,
+ ContentStream contentStream, VersioningState
versioningState, List<String> policies, Acl addAces,
+ Acl removeAces, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createDocument(repositoryId, properties,
folderId, contentStream, versioningState, policies,
+ addAces, removeAces, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public String createDocumentFromSource(String repositoryId, String
sourceId, Properties properties,
+ String folderId, VersioningState versioningState,
List<String> policies, Acl addAces, Acl removeAces,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createDocumentFromSource(repositoryId,
sourceId, properties, folderId, versioningState,
+ policies, addAces, removeAces,
extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public String createFolder(String repositoryId, Properties properties,
String folderId, List<String> policies,
+ Acl addAces, Acl removeAces, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createFolder(repositoryId, properties,
folderId, policies, addAces, removeAces, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public String createPolicy(String repositoryId, Properties properties,
String folderId, List<String> policies,
+ Acl addAces, Acl removeAces, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createPolicy(repositoryId, properties,
folderId, policies, addAces, removeAces, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public String createRelationship(String repositoryId, Properties
properties, List<String> policies, Acl addAces,
+ Acl removeAces, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createRelationship(repositoryId,
properties, policies, addAces, removeAces, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void deleteContentStream(String repositoryId, Holder<String>
objectId, Holder<String> changeToken,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.deleteContentStream(repositoryId, objectId,
changeToken, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void deleteObject(String repositoryId, String objectId, Boolean
allVersions, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.deleteObject(repositoryId, objectId,
allVersions, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public FailedToDeleteData deleteTree(String repositoryId, String
folderId, Boolean allVersions,
+ UnfileObject unfileObjects, Boolean continueOnFailure,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.deleteTree(repositoryId, folderId,
allVersions, unfileObjects, continueOnFailure, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public AllowableActions getAllowableActions(String repositoryId, String
objectId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getAllowableActions(repositoryId,
objectId, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ContentStream getContentStream(String repositoryId, String
objectId, String streamId, BigInteger offset,
+ BigInteger length, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getContentStream(repositoryId, objectId,
streamId, offset, length, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectData getObject(String repositoryId, String objectId,
String filter, Boolean includeAllowableActions,
+ IncludeRelationships includeRelationships, String
renditionFilter, Boolean includePolicyIds,
+ Boolean includeAcl, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getObject(repositoryId, objectId,
filter, includeAllowableActions, includeRelationships,
+ renditionFilter, includePolicyIds,
includeAcl, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectData getObjectByPath(String repositoryId, String path,
String filter, Boolean includeAllowableActions,
+ IncludeRelationships includeRelationships, String
renditionFilter, Boolean includePolicyIds,
+ Boolean includeAcl, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getObjectByPath(repositoryId, path,
filter, includeAllowableActions, includeRelationships,
+ renditionFilter, includePolicyIds,
includeAcl, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public Properties getProperties(String repositoryId, String objectId,
String filter, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getProperties(repositoryId, objectId,
filter, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<RenditionData> getRenditions(String repositoryId, String
objectId, String renditionFilter,
+ BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getRenditions(repositoryId, objectId,
renditionFilter, maxItems, skipCount, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void moveObject(String repositoryId, Holder<String> objectId,
String targetFolderId, String sourceFolderId,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.moveObject(repositoryId, objectId,
targetFolderId, sourceFolderId, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void setContentStream(String repositoryId, Holder<String>
objectId, Boolean overwriteFlag,
+ Holder<String> changeToken, ContentStream
contentStream, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.setContentStream(repositoryId, objectId,
overwriteFlag, changeToken, contentStream, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void updateProperties(String repositoryId, Holder<String>
objectId, Holder<String> changeToken,
+ Properties properties, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.updateProperties(repositoryId, objectId,
changeToken, properties, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/PolicyServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/PolicyServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/PolicyServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/PolicyServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,52 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.util.List;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.ObjectData;
+import org.apache.chemistry.opencmis.commons.api.PolicyService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+
+public class PolicyServiceImpl extends AbstractLocalService implements
PolicyService {
+
+ /**
+ * Constructor.
+ */
+ public PolicyServiceImpl(Session session, CmisServiceFactory factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public void applyPolicy(String repositoryId, String policyId, String
objectId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.applyPolicy(repositoryId, policyId, objectId,
extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<ObjectData> getAppliedPolicies(String repositoryId, String
objectId, String filter,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getAppliedPolicies(repositoryId,
objectId, filter, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void removePolicy(String repositoryId, String policyId, String
objectId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.removePolicy(repositoryId, policyId, objectId,
extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RelationshipServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RelationshipServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RelationshipServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RelationshipServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,35 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.math.BigInteger;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.ObjectList;
+import org.apache.chemistry.opencmis.commons.api.RelationshipService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
+
+public class RelationshipServiceImpl extends AbstractLocalService implements
RelationshipService {
+
+ /**
+ * Constructor.
+ */
+ public RelationshipServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public ObjectList getObjectRelationships(String repositoryId, String
objectId, Boolean includeSubRelationshipTypes,
+ RelationshipDirection relationshipDirection, String
typeId, String filter, Boolean includeAllowableActions,
+ BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getObjectRelationships(repositoryId,
objectId, includeSubRelationshipTypes,
+ relationshipDirection, typeId, filter,
includeAllowableActions, maxItems, skipCount, extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,82 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.RepositoryInfo;
+import org.apache.chemistry.opencmis.commons.api.RepositoryService;
+import org.apache.chemistry.opencmis.commons.api.TypeDefinition;
+import org.apache.chemistry.opencmis.commons.api.TypeDefinitionContainer;
+import org.apache.chemistry.opencmis.commons.api.TypeDefinitionList;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+
+/**
+ * Repository Service local client.
+ */
+public class RepositoryServiceImpl extends AbstractLocalService implements
RepositoryService {
+
+ /**
+ * Constructor.
+ */
+ public RepositoryServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public RepositoryInfo getRepositoryInfo(String repositoryId,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getRepositoryInfo(repositoryId,
extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<RepositoryInfo> getRepositoryInfos(ExtensionsData
extension) {
+ CmisService service = getService(null);
+
+ try {
+ return service.getRepositoryInfos(extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public TypeDefinition getTypeDefinition(String repositoryId, String
typeId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getTypeDefinition(repositoryId, typeId,
extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public TypeDefinitionList getTypeChildren(String repositoryId, String
typeId, Boolean includePropertyDefinitions,
+ BigInteger maxItems, BigInteger skipCount,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getTypeChildren(repositoryId, typeId,
includePropertyDefinitions, maxItems, skipCount,
+ extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<TypeDefinitionContainer> getTypeDescendants(String
repositoryId, String typeId, BigInteger depth,
+ Boolean includePropertyDefinitions, ExtensionsData
extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getTypeDescendants(repositoryId, typeId,
depth, includePropertyDefinitions, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+}
Added:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/VersioningServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/VersioningServiceImpl.java?rev=935641&view=auto
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/VersioningServiceImpl.java
(added)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/VersioningServiceImpl.java
Mon Apr 19 16:00:02 2010
@@ -0,0 +1,98 @@
+package org.apache.chemistry.opencmis.client.bindings.spi.local;
+
+import java.util.List;
+
+import org.apache.chemistry.opencmis.client.bindings.spi.Session;
+import org.apache.chemistry.opencmis.commons.api.Acl;
+import org.apache.chemistry.opencmis.commons.api.ContentStream;
+import org.apache.chemistry.opencmis.commons.api.ExtensionsData;
+import org.apache.chemistry.opencmis.commons.api.Holder;
+import org.apache.chemistry.opencmis.commons.api.ObjectData;
+import org.apache.chemistry.opencmis.commons.api.Properties;
+import org.apache.chemistry.opencmis.commons.api.VersioningService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisService;
+import org.apache.chemistry.opencmis.commons.api.server.CmisServiceFactory;
+import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+
+public class VersioningServiceImpl extends AbstractLocalService implements
VersioningService {
+
+ /**
+ * Constructor.
+ */
+ public VersioningServiceImpl(Session session, CmisServiceFactory
factory) {
+ setSession(session);
+ setServiceFactory(factory);
+ }
+
+ public void cancelCheckOut(String repositoryId, String objectId,
ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.cancelCheckOut(repositoryId, objectId,
extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void checkIn(String repositoryId, Holder<String> objectId,
Boolean major, Properties properties,
+ ContentStream contentStream, String checkinComment,
List<String> policies, Acl addAces, Acl removeAces,
+ ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.checkIn(repositoryId, objectId, major,
properties, contentStream, checkinComment, policies,
+ addAces, removeAces, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void checkOut(String repositoryId, Holder<String> objectId,
ExtensionsData extension,
+ Holder<Boolean> contentCopied) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.checkOut(repositoryId, objectId, extension,
contentCopied);
+ } finally {
+ service.close();
+ }
+ }
+
+ public List<ObjectData> getAllVersions(String repositoryId, String
objectId, String versionSeriesId, String filter,
+ Boolean includeAllowableActions, ExtensionsData
extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getAllVersions(repositoryId, objectId,
versionSeriesId, filter, includeAllowableActions,
+ extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public ObjectData getObjectOfLatestVersion(String repositoryId, String
objectId, String versionSeriesId,
+ Boolean major, String filter, Boolean
includeAllowableActions, IncludeRelationships includeRelationships,
+ String renditionFilter, Boolean includePolicyIds,
Boolean includeAcl, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.getObjectOfLatestVersion(repositoryId,
objectId, versionSeriesId, major, filter,
+ includeAllowableActions,
includeRelationships, renditionFilter, includePolicyIds, includeAcl,
+ extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public Properties getPropertiesOfLatestVersion(String repositoryId,
String objectId, String versionSeriesId,
+ Boolean major, String filter, ExtensionsData extension)
{
+ CmisService service = getService(repositoryId);
+
+ try {
+ return
service.getPropertiesOfLatestVersion(repositoryId, objectId, versionSeriesId,
major, filter,
+ extension);
+ } finally {
+ service.close();
+ }
+ }
+}
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
Mon Apr 19 16:00:02 2010
@@ -38,6 +38,8 @@ import org.apache.commons.logging.LogFac
*/
public class CmisWebServicesSpi implements CmisSpiFactory, CmisSpi {
+ private static final long serialVersionUID = 1L;
+
private static Log log = LogFactory.getLog(CmisWebServicesSpi.class);
private RepositoryService repositoryService;
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/RepositoryMap.java
URL:
http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/RepositoryMap.java?rev=935641&r1=935640&r2=935641&view=diff
==============================================================================
---
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/RepositoryMap.java
(original)
+++
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/RepositoryMap.java
Mon Apr 19 16:00:02 2010
@@ -76,7 +76,7 @@ public class RepositoryMap {
}
// get repository object
- return getRepository(repositoryId);
+ return repositoryId == null ? null :
getRepository(repositoryId);
}
/**