You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2013/03/31 18:39:14 UTC
svn commit: r1463002 [3/5] - in
/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src:
main/java/org/apache/chemistry/opencmis/inmemory/
main/java/org/apache/chemistry/opencmis/inmemory/query/
main/java/org/apache/c...
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/InMemoryServiceValidatorImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/InMemoryServiceValidatorImpl.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/InMemoryServiceValidatorImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/InMemoryServiceValidatorImpl.java Sun Mar 31 16:39:14 2013
@@ -26,6 +26,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.AclPropagation;
import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.spi.Holder;
@@ -40,18 +41,26 @@ public class InMemoryServiceValidatorImp
super(sm);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkStandardParameters(java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkStandardParameters(java.lang.String, java.lang.String)
*/
@Override
protected StoredObject checkStandardParameters(String repositoryId, String objectId) {
- StoredObject so = super.checkStandardParameters(repositoryId, objectId);
+ StoredObject so = super.checkStandardParameters(repositoryId, objectId);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkStandardParametersAllowNull(java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkStandardParametersAllowNull(java.lang.String, java.lang.String)
*/
@Override
protected StoredObject checkStandardParametersAllowNull(String repositoryId, String objectId) {
@@ -60,18 +69,28 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkExistingObjectId(org.apache.chemistry.opencmis.inmemory.storedobj.api.ObjectStore, java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkExistingObjectId
+ * (org.apache.chemistry.opencmis.inmemory.storedobj.api.ObjectStore,
+ * java.lang.String)
*/
@Override
protected StoredObject checkExistingObjectId(ObjectStore objStore, String objectId) {
- StoredObject so = super.checkExistingObjectId(objStore, objectId);
+ StoredObject so = super.checkExistingObjectId(objStore, objectId);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkRepositoryId(java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkRepositoryId(java.lang.String)
*/
@Override
protected void checkRepositoryId(String repositoryId) {
@@ -79,8 +98,12 @@ public class InMemoryServiceValidatorImp
super.checkRepositoryId(repositoryId);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkParams(java.lang.String, java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkParams(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
protected StoredObject[] checkParams(String repositoryId, String objectId1, String objectId2) {
@@ -89,8 +112,14 @@ public class InMemoryServiceValidatorImp
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getRepositoryInfos(org.apache.chemistry.opencmis.commons.server.CallContext, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getRepositoryInfos
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getRepositoryInfos(CallContext context, ExtensionsData extension) {
@@ -98,8 +127,15 @@ public class InMemoryServiceValidatorImp
super.getRepositoryInfos(context, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getRepositoryInfo(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getRepositoryInfo
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getRepositoryInfo(CallContext context, String repositoryId, ExtensionsData extension) {
@@ -107,8 +143,15 @@ public class InMemoryServiceValidatorImp
super.getRepositoryInfo(context, repositoryId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getTypeChildren(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getTypeChildren
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getTypeChildren(CallContext context, String repositoryId, String typeId, ExtensionsData extension) {
@@ -116,8 +159,15 @@ public class InMemoryServiceValidatorImp
super.getTypeChildren(context, repositoryId, typeId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getTypeDescendants(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getTypeDescendants
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getTypeDescendants(CallContext context, String repositoryId, String typeId, ExtensionsData extension) {
@@ -125,8 +175,15 @@ public class InMemoryServiceValidatorImp
super.getTypeDescendants(context, repositoryId, typeId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getTypeDefinition(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getTypeDefinition
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getTypeDefinition(CallContext context, String repositoryId, String typeId, ExtensionsData extension) {
@@ -134,8 +191,14 @@ public class InMemoryServiceValidatorImp
super.getTypeDefinition(context, repositoryId, typeId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getChildren(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getChildren(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getChildren(CallContext context, String repositoryId, String folderId, ExtensionsData extension) {
@@ -145,8 +208,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getDescendants(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getDescendants(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getDescendants(CallContext context, String repositoryId, String folderId,
@@ -157,8 +226,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getFolderTree(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getFolderTree(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getFolderTree(CallContext context, String repositoryId, String folderId,
@@ -169,8 +244,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getObjectParents(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getObjectParents
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getObjectParents(CallContext context, String repositoryId, String objectId,
@@ -181,8 +263,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getFolderParent(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getFolderParent
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getFolderParent(CallContext context, String repositoryId, String folderId,
@@ -193,90 +282,147 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getCheckedOutDocs(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getCheckedOutDocs
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getCheckedOutDocs(CallContext context, String repositoryId, String folderId,
ExtensionsData extension) {
StoredObject so = super.getCheckedOutDocs(context, repositoryId, folderId, extension);
- if (null != so )
+ if (null != so)
checkReadAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#createDocument(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #createDocument(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject createDocument(CallContext context, String repositoryId, String folderId,
- ExtensionsData extension) {
+ List<String> policyIds, ExtensionsData extension) {
- StoredObject folder = super.createDocument(context, repositoryId, folderId, extension);
+ StoredObject folder = super.createDocument(context, repositoryId, folderId, policyIds, extension);
if (null != folder) // not if unfiled
checkWriteAccess(repositoryId, context.getUsername(), folder);
return folder;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#createDocumentFromSource(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #createDocumentFromSource
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject createDocumentFromSource(CallContext context, String repositoryId, String sourceId,
- String folderId, ExtensionsData extension) {
+ String folderId, List<String> policyIds, ExtensionsData extension) {
- StoredObject source = super.createDocumentFromSource(context, repositoryId, sourceId, folderId, extension);
+ StoredObject source = super.createDocumentFromSource(context, repositoryId, sourceId, folderId, policyIds,
+ extension);
checkWriteAccess(repositoryId, context.getUsername(), source);
return source;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#createFolder(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #createFolder(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
- public StoredObject createFolder(CallContext context, String repositoryId, String folderId, ExtensionsData extension) {
+ public StoredObject createFolder(CallContext context, String repositoryId, String folderId, List<String> policyIds,
+ ExtensionsData extension) {
- StoredObject parentFolder = super.createFolder(context, repositoryId, folderId, extension);
+ StoredObject parentFolder = super.createFolder(context, repositoryId, folderId, policyIds, extension);
checkWriteAccess(repositoryId, context.getUsername(), parentFolder);
return parentFolder;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#createRelationship(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #createRelationship
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] createRelationship(CallContext context, String repositoryId, String sourceId,
- String targetId, ExtensionsData extension) {
+ String targetId, List<String> policyIds, ExtensionsData extension) {
- StoredObject[] sos = super.createRelationship(context, repositoryId, sourceId, targetId, extension);
+ StoredObject[] sos = super.createRelationship(context, repositoryId, sourceId, targetId, policyIds, extension);
checkReadAccess(repositoryId, context.getUsername(), sos[0]);
- checkWriteAccess(repositoryId, context.getUsername(), sos[1]);
+ checkReadAccess(repositoryId, context.getUsername(), sos[1]);
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#createPolicy(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
- */
- @Override
- public StoredObject createPolicy(CallContext context, String repositoryId, String folderId, ExtensionsData extension) {
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #createPolicy(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ */
+ @Override
+ public StoredObject createPolicy(CallContext context, String repositoryId, String folderId, Acl addAces,
+ Acl removeAces, List<String> policyIds, ExtensionsData extension) {
+
+ if (policyIds != null && policyIds.size() > 0)
+ throw new CmisConstraintException("Applying policies to poilicies is not supported.");
+ if (folderId != null && folderId.length() > 0)
+ throw new CmisConstraintException("Policies cannot be created in folders.");
+ if (addAces != null || removeAces != null)
+ throw new CmisConstraintException("ACLs on policies are not suported.");
- StoredObject so = super.createPolicy(context, repositoryId, folderId, extension);
+ StoredObject so = super.createPolicy(context, repositoryId, folderId, addAces, removeAces, policyIds, extension);
checkAllAccess(repositoryId, context.getUsername(), so);
return so;
}
@Override
public StoredObject createItem(CallContext context, String repositoryId, Properties properties, String folderId,
- List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) {
- StoredObject folder = super.createFolder(context, repositoryId, folderId, extension);
+ List<String> policyIds, Acl addAces, Acl removeAces, ExtensionsData extension) {
+ StoredObject folder = super.createItem(context, repositoryId, properties, folderId, policyIds, addAces,
+ removeAces, extension);
if (null != folder) // not if unfiled
checkWriteAccess(repositoryId, context.getUsername(), folder);
- return folder;
+ return folder;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getAllowableActions(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getAllowableActions
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getAllowableActions(CallContext context, String repositoryId, String objectId,
@@ -287,8 +433,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getObject(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getObject(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getObject(CallContext context, String repositoryId, String objectId, ExtensionsData extension) {
@@ -298,8 +450,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getProperties(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getProperties(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getProperties(CallContext context, String repositoryId, String objectId,
@@ -310,8 +468,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getRenditions(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getRenditions(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getRenditions(CallContext context, String repositoryId, String objectId,
@@ -322,19 +486,33 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getObjectByPath(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getObjectByPath
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getObjectByPath(CallContext context, String repositoryId, String path, ExtensionsData extension) {
- StoredObject so = super.getObjectByPath(context, repositoryId, path, extension);
+ StoredObject so = super.getObjectByPath(context, repositoryId, path, extension);
checkReadAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getContentStream(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getContentStream
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getContentStream(CallContext context, String repositoryId, String objectId, String streamId,
@@ -345,8 +523,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#updateProperties(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #updateProperties
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject updateProperties(CallContext context, String repositoryId, Holder<String> objectId,
@@ -357,22 +542,36 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#moveObject(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #moveObject(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] moveObject(CallContext context, String repositoryId, Holder<String> objectId,
String targetFolderId, String sourceFolderId, ExtensionsData extension) {
- StoredObject[] sos = super.moveObject(context, repositoryId, objectId, targetFolderId, sourceFolderId, extension);
+ StoredObject[] sos = super.moveObject(context, repositoryId, objectId, targetFolderId, sourceFolderId,
+ extension);
checkReadAccess(repositoryId, context.getUsername(), sos[0]);
checkReadAccess(repositoryId, context.getUsername(), sos[1]);
checkWriteAccess(repositoryId, context.getUsername(), sos[2]);
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#deleteObject(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #deleteObject(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.Boolean,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject deleteObject(CallContext context, String repositoryId, String objectId, Boolean allVersions,
@@ -383,8 +582,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#deleteTree(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.UnfileObject, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #deleteTree(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.Boolean,
+ * org.apache.chemistry.opencmis.commons.enums.UnfileObject,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject deleteTree(CallContext context, String repositoryId, String folderId, Boolean allVersions,
@@ -395,8 +601,16 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#setContentStream(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #setContentStream
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * java.lang.Boolean,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject setContentStream(CallContext context, String repositoryId, Holder<String> objectId,
@@ -407,8 +621,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#deleteContentStream(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #deleteContentStream
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject deleteContentStream(CallContext context, String repositoryId, Holder<String> objectId,
@@ -417,54 +638,83 @@ public class InMemoryServiceValidatorImp
StoredObject so = super.deleteContentStream(context, repositoryId, objectId, extension);
checkWriteAccess(repositoryId, context.getUsername(), so);
return so;
- }
+ }
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkOut(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ExtensionsData, org.apache.chemistry.opencmis.commons.spi.Holder)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkOut(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData,
+ * org.apache.chemistry.opencmis.commons.spi.Holder)
*/
@Override
public StoredObject checkOut(CallContext context, String repositoryId, Holder<String> objectId,
ExtensionsData extension, Holder<Boolean> contentCopied) {
StoredObject so = super.checkOut(context, repositoryId, objectId, extension, contentCopied);
-// StoredObject container = so instanceof DocumentVersion ? ((DocumentVersion)so).getParentDocument() : so;
+ // StoredObject container = so instanceof DocumentVersion ?
+ // ((DocumentVersion)so).getParentDocument() : so;
checkWriteAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#cancelCheckOut(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #cancelCheckOut(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject cancelCheckOut(CallContext context, String repositoryId, String objectId,
ExtensionsData extension) {
StoredObject so = super.cancelCheckOut(context, repositoryId, objectId, extension);
-// StoredObject container = so instanceof DocumentVersion ? ((DocumentVersion)so).getParentDocument() : so;
+ // StoredObject container = so instanceof DocumentVersion ?
+ // ((DocumentVersion)so).getParentDocument() : so;
checkWriteAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#checkIn(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
- */
- @Override
- public StoredObject checkIn(CallContext context, String repositoryId, Holder<String> objectId,
- Acl addAces, Acl removeAces, ExtensionsData extension) {
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #checkIn(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ */
+ @Override
+ public StoredObject checkIn(CallContext context, String repositoryId, Holder<String> objectId, Acl addAces,
+ Acl removeAces, List<String> policyIds, ExtensionsData extension) {
+
+ StoredObject so = super.checkIn(context, repositoryId, objectId, addAces, removeAces, policyIds, extension);
+ // StoredObject container = so instanceof DocumentVersion ?
+ // ((DocumentVersion)so).getParentDocument() : so;
- StoredObject so = super.checkIn(context, repositoryId, objectId, addAces, removeAces, extension);
-// StoredObject container = so instanceof DocumentVersion ? ((DocumentVersion)so).getParentDocument() : so;
-
if (null != addAces || null != removeAces)
throw new CmisInvalidArgumentException(
"version specific ACLs are not supported, addAces and removeAces must be null.");
-
+
checkWriteAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getObjectOfLatestVersion(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getObjectOfLatestVersion
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getObjectOfLatestVersion(CallContext context, String repositoryId, String objectId,
@@ -475,20 +725,34 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getPropertiesOfLatestVersion(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getPropertiesOfLatestVersion
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getPropertiesOfLatestVersion(CallContext context, String repositoryId, String objectId,
String versionSeriesId, ExtensionsData extension) {
- StoredObject so = super.getPropertiesOfLatestVersion(context, repositoryId, objectId, versionSeriesId, extension);
+ StoredObject so = super.getPropertiesOfLatestVersion(context, repositoryId, objectId, versionSeriesId,
+ extension);
checkReadAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getAllVersions(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getAllVersions(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getAllVersions(CallContext context, String repositoryId, String objectId,
@@ -499,8 +763,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#query(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #query(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void query(CallContext context, String repositoryId, ExtensionsData extension) {
@@ -508,8 +778,15 @@ public class InMemoryServiceValidatorImp
super.query(context, repositoryId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getContentChanges(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getContentChanges
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public void getContentChanges(CallContext context, String repositoryId, ExtensionsData extension) {
@@ -517,8 +794,15 @@ public class InMemoryServiceValidatorImp
super.getContentChanges(context, repositoryId, extension);
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#addObjectToFolder(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #addObjectToFolder
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] addObjectToFolder(CallContext context, String repositoryId, String objectId, String folderId,
@@ -530,8 +814,15 @@ public class InMemoryServiceValidatorImp
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#removeObjectFromFolder(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #removeObjectFromFolder
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] removeObjectFromFolder(CallContext context, String repositoryId, String objectId,
@@ -543,20 +834,36 @@ public class InMemoryServiceValidatorImp
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getObjectRelationships(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.enums.RelationshipDirection, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getObjectRelationships
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.enums.RelationshipDirection,
+ * java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getObjectRelationships(CallContext context, String repositoryId, String objectId,
RelationshipDirection relationshipDirection, String typeId, ExtensionsData extension) {
- StoredObject so = super.getObjectRelationships(context, repositoryId, objectId, relationshipDirection, typeId, extension);
+ StoredObject so = super.getObjectRelationships(context, repositoryId, objectId, relationshipDirection, typeId,
+ extension);
checkReadAccess(repositoryId, context.getUsername(), so);
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getAcl(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getAcl(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getAcl(CallContext context, String repositoryId, String objectId, ExtensionsData extension) {
@@ -566,8 +873,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#applyAcl(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.enums.AclPropagation, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #applyAcl(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.enums.AclPropagation,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject applyAcl(CallContext context, String repositoryId, String objectId,
@@ -578,8 +892,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#applyPolicy(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #applyPolicy(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] applyPolicy(CallContext context, String repositoryId, String policyId, String objectId,
@@ -590,8 +910,14 @@ public class InMemoryServiceValidatorImp
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#removePolicy(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #removePolicy(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject[] removePolicy(CallContext context, String repositoryId, String policyId, String objectId,
@@ -602,8 +928,15 @@ public class InMemoryServiceValidatorImp
return sos;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#getAppliedPolicies(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #getAppliedPolicies
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject getAppliedPolicies(CallContext context, String repositoryId, String objectId,
@@ -614,8 +947,14 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#create(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #create(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject create(CallContext context, String repositoryId, String folderId, ExtensionsData extension) {
@@ -625,8 +964,15 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#deleteObjectOrCancelCheckOut(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #deleteObjectOrCancelCheckOut
+ * (org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String,
+ * org.apache.chemistry.opencmis.commons.data.ExtensionsData)
*/
@Override
public StoredObject deleteObjectOrCancelCheckOut(CallContext context, String repositoryId, String objectId,
@@ -637,8 +983,13 @@ public class InMemoryServiceValidatorImp
return so;
}
- /* (non-Javadoc)
- * @see org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl#applyAcl(org.apache.chemistry.opencmis.commons.server.CallContext, java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.chemistry.opencmis.inmemory.server.BaseServiceValidatorImpl
+ * #applyAcl(org.apache.chemistry.opencmis.commons.server.CallContext,
+ * java.lang.String, java.lang.String)
*/
@Override
public StoredObject applyAcl(CallContext context, String repositoryId, String objectId) {
@@ -647,21 +998,21 @@ public class InMemoryServiceValidatorImp
checkAllAccess(repositoryId, context.getUsername(), so);
return so;
}
-
+
private ObjectStoreImpl getObjectStore(String repositoryId) {
return (ObjectStoreImpl) fStoreManager.getObjectStore(repositoryId);
}
-
+
private void checkReadAccess(String repositoryId, String principalId, StoredObject so) {
getObjectStore(repositoryId).checkReadAccess(principalId, so);
}
-
+
private void checkWriteAccess(String repositoryId, String principalId, StoredObject so) {
getObjectStore(repositoryId).checkWriteAccess(principalId, so);
}
-
+
private void checkAllAccess(String repositoryId, String principalId, StoredObject so) {
getObjectStore(repositoryId).checkAllAccess(principalId, so);
}
-
+
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/ObjectStoreImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/ObjectStoreImpl.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/ObjectStoreImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/ObjectStoreImpl.java Sun Mar 31 16:39:14 2013
@@ -33,6 +33,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.AclPropagation;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
@@ -42,6 +43,7 @@ import org.apache.chemistry.opencmis.inm
import org.apache.chemistry.opencmis.inmemory.storedobj.api.Folder;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.MultiFiling;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.ObjectStore;
+import org.apache.chemistry.opencmis.inmemory.storedobj.api.Relationship;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.SingleFiling;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoredObject;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.VersionedDocument;
@@ -144,8 +146,6 @@ public class ObjectStoreImpl implements
return so;
}
}
- } else {
- return null;
}
}
return null;
@@ -251,24 +251,25 @@ public class ObjectStoreImpl implements
fRootFolder = rootFolder;
}
- public Document createDocument(String name,
- Map<String, PropertyData<?>> propMap, String user, Folder folder,
- Acl addACEs, Acl removeACEs) {
- DocumentImpl doc = new DocumentImpl(this);
+ public Document createDocument(String name, Map<String, PropertyData<?>> propMap, String user, Folder folder,
+ List<String> policies, Acl addACEs, Acl removeACEs) {
+ DocumentImpl doc = new DocumentImpl(this);
doc.createSystemBasePropertiesWhenCreated(propMap, user);
doc.setCustomProperties(propMap);
doc.setRepositoryId(fRepositoryId);
doc.setName(name);
if (null != folder) {
- ((FolderImpl)folder).addChildDocument(doc); // add document to folder and
+ ((FolderImpl) folder).addChildDocument(doc); // add document to
+ // folder and
}
- int aclId = getAclId(((FolderImpl)folder), addACEs, removeACEs);
+ int aclId = getAclId(((FolderImpl) folder), addACEs, removeACEs);
doc.setAclId(aclId);
+ doc.setAppliedPolicies(policies);
return doc;
}
public StoredObject createItem(String name, Map<String, PropertyData<?>> propMap, String user, Folder folder,
- Acl addACEs, Acl removeACEs) {
+ List<String> policies, Acl addACEs, Acl removeACEs) {
StoredObjectImpl item = new ItemImpl(this);
item.createSystemBasePropertiesWhenCreated(propMap, user);
item.setCustomProperties(propMap);
@@ -277,6 +278,7 @@ public class ObjectStoreImpl implements
if (null != folder) {
((FolderImpl)folder).addChildItem(item); // add document to folder and
}
+ item.setAppliedPolicies(policies);
int aclId = getAclId(((FolderImpl)folder), addACEs, removeACEs);
item.setAclId(aclId);
return item;
@@ -284,7 +286,7 @@ public class ObjectStoreImpl implements
public DocumentVersion createVersionedDocument(String name,
Map<String, PropertyData<?>> propMap, String user, Folder folder,
- Acl addACEs, Acl removeACEs, ContentStream contentStream, VersioningState versioningState) {
+ List<String> policies, Acl addACEs, Acl removeACEs, ContentStream contentStream, VersioningState versioningState) {
VersionedDocumentImpl doc = new VersionedDocumentImpl(this);
doc.createSystemBasePropertiesWhenCreated(propMap, user);
doc.setCustomProperties(propMap);
@@ -298,13 +300,14 @@ public class ObjectStoreImpl implements
version.setCustomProperties(propMap);
int aclId = getAclId(((FolderImpl)folder), addACEs, removeACEs);
doc.setAclId(aclId);
+ doc.setAppliedPolicies(policies);
doc.persist();
return version;
}
public Folder createFolder(String name,
Map<String, PropertyData<?>> propMap, String user, Folder parent,
- Acl addACEs, Acl removeACEs) {
+ List<String> policies, Acl addACEs, Acl removeACEs) {
FolderImpl folder = new FolderImpl(this, name, null);
if (null != propMap) {
@@ -318,16 +321,28 @@ public class ObjectStoreImpl implements
int aclId = getAclId(((FolderImpl)parent), addACEs, removeACEs);
folder.setAclId(aclId);
-
+ folder.setAppliedPolicies(policies);
+
return folder;
}
public Folder createFolder(String name) {
- Folder folder = new FolderImpl(this, name, null);
+ Folder folder = new FolderImpl(this, name, null);
folder.setRepositoryId(fRepositoryId);
return folder;
}
+ public StoredObject createPolicy(String name, String policyText, Map<String, PropertyData<?>> propMap, String user) {
+ PolicyImpl policy = new PolicyImpl(this);
+ policy.createSystemBasePropertiesWhenCreated(propMap, user);
+ policy.setCustomProperties(propMap);
+ policy.setRepositoryId(fRepositoryId);
+ policy.setName(name);
+ policy.setPolicyText(policyText);
+ policy.persist();
+ return policy;
+ }
+
public List<StoredObject> getCheckedOutDocuments(String orderBy,
String user, IncludeRelationships includeRelationships) {
List<StoredObject> res = new ArrayList<StoredObject>();
@@ -344,13 +359,48 @@ public class ObjectStoreImpl implements
return res;
}
- public StoredObject createRelationship(StoredObject sourceObject,
+ public StoredObject createRelationship(String name, StoredObject sourceObject,
StoredObject targetObject, Map<String, PropertyData<?>> propMap,
String user, Acl addACEs, Acl removeACEs) {
- // TODO Auto-generated method stub
- return null;
+
+ RelationshipImpl rel = new RelationshipImpl(this);
+ rel.createSystemBasePropertiesWhenCreated(propMap, user);
+ rel.setCustomProperties(propMap);
+ rel.setRepositoryId(fRepositoryId);
+ rel.setName(name);
+ if (null != sourceObject)
+ rel.setSource(sourceObject.getId());
+ if (null != targetObject)
+ rel.setTarget(targetObject.getId());
+ int aclId = getAclId(null, addACEs, removeACEs);
+ rel.setAclId(aclId);
+ rel.persist();
+ return rel;
}
+ public List<StoredObject> getRelationships(String objectId, List<String> typeIds, RelationshipDirection direction) {
+
+ List<StoredObject> res = new ArrayList<StoredObject>();
+
+ if (typeIds != null && typeIds.size() > 0) {
+ for (String typeId : typeIds) {
+ for (StoredObject so : fStoredObjectMap.values()) {
+ if (so instanceof Relationship && so.getTypeId().equals(typeId)) {
+ Relationship ro = (Relationship) so;
+ if (ro.getSourceObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.SOURCE == direction)) {
+ res.add(so);
+ } else if (ro.getTargetObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction
+ || RelationshipDirection.TARGET == direction)) {
+ res.add(so);
+ }
+ }
+ }
+ }
+ } else
+ res = getAllRelationships(objectId, direction);
+ return res;
+ }
+
public Acl applyAcl(StoredObject so, Acl addAces, Acl removeAces, AclPropagation aclPropagation, String principalId) {
if (aclPropagation==AclPropagation.OBJECTONLY || !(so instanceof Folder)) {
return applyAcl(so, addAces, removeAces);
@@ -603,6 +653,24 @@ public class ObjectStoreImpl implements
return result;
}
+ private List<StoredObject> getAllRelationships(String objectId, RelationshipDirection direction) {
+
+ List<StoredObject> res = new ArrayList<StoredObject>();
+
+ for (StoredObject so : fStoredObjectMap.values()) {
+ if (so instanceof Relationship) {
+ Relationship ro = (Relationship) so;
+ if (ro.getSourceObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.SOURCE == direction)) {
+ res.add(so);
+ } else if (ro.getTargetObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction
+ || RelationshipDirection.TARGET == direction)) {
+ res.add(so);
+ }
+ }
+ }
+ return res;
+ }
+
public boolean isTypeInUse(String typeId) {
// iterate over all the objects and check for each if the type matches
for (String objectId : getIds()) {
@@ -613,4 +681,5 @@ public class ObjectStoreImpl implements
return false;
}
+
}
Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/PolicyImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/PolicyImpl.java?rev=1463002&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/PolicyImpl.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/PolicyImpl.java Sun Mar 31 16:39:14 2013
@@ -0,0 +1,60 @@
+/*
+ * 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.chemistry.opencmis.inmemory.storedobj.impl;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.data.PropertyData;
+import org.apache.chemistry.opencmis.commons.spi.BindingsObjectFactory;
+import org.apache.chemistry.opencmis.inmemory.FilterParser;
+import org.apache.chemistry.opencmis.inmemory.storedobj.api.Policy;
+
+public class PolicyImpl extends StoredObjectImpl implements Policy {
+
+ PolicyImpl(ObjectStoreImpl objStore) {
+ super(objStore);
+ }
+
+ private String policyText;
+
+
+ public void setPolicyText(String text) {
+ policyText = text;
+ }
+
+ public String getPolicyText() {
+ return policyText;
+ }
+
+ @Override
+ public void fillProperties(Map<String, PropertyData<?>> properties, BindingsObjectFactory objFactory,
+ List<String> requestedIds) {
+
+ super.fillProperties(properties, objFactory, requestedIds);
+
+ if (FilterParser.isContainedInFilter(PropertyIds.POLICY_TEXT, requestedIds)) {
+ properties.put(PropertyIds.POLICY_TEXT, objFactory.createPropertyStringData(
+ PropertyIds.POLICY_TEXT, policyText) );
+ }
+
+ }
+
+}
Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/RelationshipImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/RelationshipImpl.java?rev=1463002&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/RelationshipImpl.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/RelationshipImpl.java Sun Mar 31 16:39:14 2013
@@ -0,0 +1,76 @@
+/*
+ * 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.chemistry.opencmis.inmemory.storedobj.impl;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.data.PropertyData;
+import org.apache.chemistry.opencmis.commons.spi.BindingsObjectFactory;
+import org.apache.chemistry.opencmis.inmemory.FilterParser;
+import org.apache.chemistry.opencmis.inmemory.storedobj.api.Relationship;
+
+public class RelationshipImpl extends StoredObjectImpl implements Relationship {
+
+ private String sourceObjId;
+ private String targetObjId;
+
+ RelationshipImpl(ObjectStoreImpl objStore) {
+ super(objStore);
+ }
+
+ public String getSourceObjectId() {
+ return sourceObjId;
+ }
+
+ public void setSource(String id) {
+ this.sourceObjId = id;
+ }
+
+ public String getTargetObjectId() {
+ return targetObjId;
+ }
+
+ public void setTarget(String id) {
+ targetObjId = id;
+ }
+
+ @Override
+ public void fillProperties(Map<String, PropertyData<?>> properties, BindingsObjectFactory objFactory,
+ List<String> requestedIds) {
+
+ super.fillProperties(properties, objFactory, requestedIds);
+
+ if (FilterParser.isContainedInFilter(PropertyIds.SOURCE_ID, requestedIds)) {
+ properties.put(PropertyIds.SOURCE_ID, objFactory.createPropertyStringData(
+ PropertyIds.SOURCE_ID, sourceObjId) );
+ }
+
+ if (FilterParser.isContainedInFilter(PropertyIds.TARGET_ID, requestedIds)) {
+ properties.put(PropertyIds.TARGET_ID, objFactory.createPropertyStringData(
+ PropertyIds.TARGET_ID, targetObjId));
+ }
+
+ }
+
+
+
+
+}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java Sun Mar 31 16:39:14 2013
@@ -48,6 +48,7 @@ import org.apache.chemistry.opencmis.inm
import org.apache.chemistry.opencmis.inmemory.FilterParser;
import org.apache.chemistry.opencmis.inmemory.server.InMemoryServiceContext;
import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoredObject;
+import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
/**
* StoredObject is the common superclass of all objects hold in the repository
@@ -75,6 +76,7 @@ public class StoredObjectImpl implements
protected int fAclId;
protected String description; // CMIS 1.1
protected List<String> secondaryTypeIds; // CMIS 1.1
+ protected List<String> policyIds;
StoredObjectImpl(ObjectStoreImpl objStore) { // visibility should be package
GregorianCalendar now = getNow();
@@ -83,6 +85,7 @@ public class StoredObjectImpl implements
fModifiedAt = now;
fObjStore = objStore;
secondaryTypeIds = new ArrayList<String>();
+ policyIds = null;
}
public String getId() {
@@ -145,6 +148,14 @@ public class StoredObjectImpl implements
return fRepositoryId;
}
+ public List<String> getAppliedPolicies() {
+ return policyIds;
+ }
+
+ public void setAppliedPolicies(List<String> newPolicies) {
+ policyIds = newPolicies;
+ }
+
// CMIS 1.1:
public void setDescription(String descr) {
description = descr;
@@ -442,13 +453,10 @@ public class StoredObjectImpl implements
fAclId = aclId;
}
- public ObjectList getObjectRelationships(
- Boolean includeSubRelationshipTypes,
- RelationshipDirection relationshipDirection, String typeId,
- String filter, Boolean includeAllowableActions,
- BigInteger maxItems, BigInteger skipCount,
- ExtensionsData extension, String user) {
- return null;
+ public List<StoredObject> getObjectRelationships(RelationshipDirection relationshipDirection, String user) {
+
+ List<StoredObject> rels = fObjStore.getRelationships(getId(), null, relationshipDirection);
+ return rels;
}
public AllowableActions getAllowableActions(String user) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/VersionedDocumentImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/VersionedDocumentImpl.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/VersionedDocumentImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/VersionedDocumentImpl.java Sun Mar 31 16:39:14 2013
@@ -67,11 +67,13 @@ public class VersionedDocumentImpl exten
public boolean deleteVersion(DocumentVersion version) {
if (fIsCheckedOut) {
- // Note: Do not throw an exception here if the document is checked-out. In AtomPub binding cancelCheckout
+ // Note: Do not throw an exception here if the document is
+ // checked-out. In AtomPub binding cancelCheckout
// mapped to a deleteVersion() call!
DocumentVersion pwc = getPwc();
if (pwc == version) {
- cancelCheckOut(false); // note object is already deleted from map in ObjectStore
+ cancelCheckOut(false); // note object is already deleted from
+ // map in ObjectStore
return !fVersions.isEmpty();
}
}
@@ -87,7 +89,8 @@ public class VersionedDocumentImpl exten
cancelCheckOut(true);
}
- public void checkIn(boolean isMajor, Properties properties, ContentStream content, String checkinComment, String user) {
+ public void checkIn(boolean isMajor, Properties properties, ContentStream content, String checkinComment,
+ List<String> policyIds, String user) {
if (fIsCheckedOut) {
if (fCheckedOutUser.equals(user)) {
fIsCheckedOut = false;
@@ -102,15 +105,18 @@ public class VersionedDocumentImpl exten
}
DocumentVersion pwc = getPwc();
-
+
if (null != content)
pwc.setContent(content, false);
if (null != properties && null != properties.getProperties())
- ((DocumentVersionImpl)pwc).setCustomProperties(properties.getProperties());
+ ((DocumentVersionImpl) pwc).setCustomProperties(properties.getProperties());
pwc.setCheckinComment(checkinComment);
pwc.commit(isMajor);
+ if (policyIds != null && policyIds.size() > 0 ) {
+ ((DocumentVersionImpl) pwc).setAppliedPolicies(policyIds);
+ }
}
public DocumentVersion checkOut(ContentStream content, String user) {
@@ -132,8 +138,8 @@ public class VersionedDocumentImpl exten
DocumentVersion latest = null;
if (fVersions.size() == 0)
- return null;
-
+ return null;
+
if (major) {
for (DocumentVersion ver : fVersions) {
if (ver.isMajor()) {
@@ -171,43 +177,44 @@ public class VersionedDocumentImpl exten
super.fillProperties(properties, objFactory, requestedIds);
-
if (FilterParser.isContainedInFilter(PropertyIds.IS_IMMUTABLE, requestedIds)) {
- properties.put(PropertyIds.IS_IMMUTABLE, objFactory.createPropertyBooleanData(PropertyIds.IS_IMMUTABLE,
- false));
+ properties.put(PropertyIds.IS_IMMUTABLE,
+ objFactory.createPropertyBooleanData(PropertyIds.IS_IMMUTABLE, false));
}
// overwrite the version related properties
if (FilterParser.isContainedInFilter(PropertyIds.VERSION_SERIES_ID, requestedIds)) {
- properties.put(PropertyIds.VERSION_SERIES_ID, objFactory.createPropertyIdData(
- PropertyIds.VERSION_SERIES_ID, getId()));
+ properties.put(PropertyIds.VERSION_SERIES_ID,
+ objFactory.createPropertyIdData(PropertyIds.VERSION_SERIES_ID, getId()));
}
if (FilterParser.isContainedInFilter(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, requestedIds)) {
- properties.put(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, objFactory.createPropertyBooleanData(
- PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, isCheckedOut()));
+ properties.put(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT,
+ objFactory.createPropertyBooleanData(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT, isCheckedOut()));
}
if (FilterParser.isContainedInFilter(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, requestedIds)) {
- properties.put(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, objFactory.createPropertyStringData(
- PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, getCheckedOutBy()));
+ properties.put(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY,
+ objFactory.createPropertyStringData(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY, getCheckedOutBy()));
}
if (FilterParser.isContainedInFilter(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID, requestedIds)) {
- properties.put(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID, objFactory.createPropertyIdData(
- PropertyIds.VERSION_SERIES_CHECKED_OUT_ID, pwc == null ? null : pwc.getId()));
+ properties.put(
+ PropertyIds.VERSION_SERIES_CHECKED_OUT_ID,
+ objFactory.createPropertyIdData(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID,
+ pwc == null ? null : pwc.getId()));
}
}
-
+
private void cancelCheckOut(boolean deleteInObjectStore) {
-
+
DocumentVersion pwc = getPwc();
fIsCheckedOut = false;
fCheckedOutUser = null;
fVersions.remove(pwc);
if (fVersions.size() > 0) {
- String nameLatestVer = getLatestVersion(false).getName();
- if (!getName().equals(nameLatestVer)) {
- setName(nameLatestVer);
- }
+ String nameLatestVer = getLatestVersion(false).getName();
+ if (!getName().equals(nameLatestVer)) {
+ setName(nameLatestVer);
+ }
}
if (deleteInObjectStore)
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.java Sun Mar 31 16:39:14 2013
@@ -24,9 +24,10 @@ import java.util.List;
import java.util.Map;
import org.apache.chemistry.opencmis.commons.PropertyIds;
+import org.apache.chemistry.opencmis.commons.definitions.PolicyTypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.RelationshipTypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
-import org.apache.chemistry.opencmis.commons.enums.Cardinality;
import org.apache.chemistry.opencmis.commons.enums.Updatability;
import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl;
@@ -61,11 +62,11 @@ public class DocumentTypeCreationHelper
cmisType = InMemoryFolderTypeDefinition.getRootFolderType();
typesList.add(cmisType);
- // cmisType = RelationshipTypeDefinition.getRootRelationshipType();
- // typesList.add(cmisType);
- //
- // cmisType = PolicyTypeDefinition.getRootPolicyType();
- // typesList.add(cmisType);
+ cmisType = InMemoryRelationshipTypeDefinition.getRootRelationshipType();
+ typesList.add(cmisType);
+
+ cmisType = InMemoryPolicyTypeDefinition.getRootPolicyType();
+ typesList.add(cmisType);
// CMIS 1.1
cmisType = InMemoryItemTypeDefinition.getRootItemType();
@@ -222,7 +223,7 @@ public class DocumentTypeCreationHelper
setBasicPropertyDefinitions(propertyDefinitions);
PropertyStringDefinitionImpl propS = PropertyCreationHelper.createStringDefinition(PropertyIds.POLICY_TEXT,
- "Policy Text", Updatability.READONLY);
+ "Policy Text", Updatability.READWRITE);
propS.setIsRequired(true);
propertyDefinitions.put(propS.getId(), propS);
}
@@ -231,13 +232,23 @@ public class DocumentTypeCreationHelper
setBasicPropertyDefinitions(propertyDefinitions);
PropertyIdDefinitionImpl propId = PropertyCreationHelper.createIdDefinition(PropertyIds.SOURCE_ID,
- "Source Id", Updatability.READONLY);
+ "Source Id", Updatability.READWRITE);
propId.setIsRequired(true);
propertyDefinitions.put(propId.getId(), propId);
- propId = PropertyCreationHelper.createIdDefinition(PropertyIds.TARGET_ID, "Target Id", Updatability.READONLY);
+ propId = PropertyCreationHelper.createIdDefinition(PropertyIds.TARGET_ID, "Target Id", Updatability.READWRITE);
propId.setIsRequired(true);
propertyDefinitions.put(propId.getId(), propId);
+
+// propId = PropertyCreationHelper.createIdMultiDefinition(PropertyIds.,
+// "allowedSourceTypes", Updatability.READWRITE);
+// propId.setIsRequired(false);
+// propertyDefinitions.put(propId.getId(), propId);
+//
+// propId = PropertyCreationHelper.createIdMultiDefinition(PropertyIds.,
+// "allowedTargetTypes", Updatability.READWRITE);
+// propId.setIsRequired(false);
+// propertyDefinitions.put(propId.getId(), propId);
}
public static void mergePropertyDefinitions(Map<String, PropertyDefinition<?>> existingPpropertyDefinitions,
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryPolicyTypeDefinition.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryPolicyTypeDefinition.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryPolicyTypeDefinition.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryPolicyTypeDefinition.java Sun Mar 31 16:39:14 2013
@@ -94,7 +94,7 @@ public class InMemoryPolicyTypeDefinitio
setIsControllableAcl(false);
setIsControllablePolicy(false);
setIsCreatable(true);
- setIsFileable(true);
+ setIsFileable(false);
setIsFulltextIndexed(false);
setIsIncludedInSupertypeQuery(true);
setIsQueryable(false);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryRelationshipTypeDefinition.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryRelationshipTypeDefinition.java?rev=1463002&r1=1463001&r2=1463002&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryRelationshipTypeDefinition.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/InMemoryRelationshipTypeDefinition.java Sun Mar 31 16:39:14 2013
@@ -19,6 +19,7 @@
package org.apache.chemistry.opencmis.inmemory.types;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -95,7 +96,7 @@ public class InMemoryRelationshipTypeDef
setIsControllableAcl(false);
setIsControllablePolicy(false);
setIsCreatable(true);
- setIsFileable(true);
+ setIsFileable(false);
setIsFulltextIndexed(false);
setIsIncludedInSupertypeQuery(true);
setIsQueryable(false);
@@ -107,8 +108,8 @@ public class InMemoryRelationshipTypeDef
setTypeMutability (typeMutability);
// relationship specifics
- setAllowedSourceTypes(null);
- setAllowedTargetTypes(null);
+ setAllowedSourceTypes(Collections.<String> emptyList());
+ setAllowedTargetTypes(Collections.<String> emptyList());
// set base properties
Map<String, PropertyDefinition<?>> props = new HashMap<String, PropertyDefinition<?>>();