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/08/19 21:24:23 UTC
svn commit: r1515570 - in
/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory:
query/ server/ storedobj/api/ storedobj/impl/
Author: jens
Date: Mon Aug 19 19:24:22 2013
New Revision: 1515570
URL: http://svn.apache.org/r1515570
Log:
InMemory: minor internal interface change
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/ObjectStore.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/ObjectStoreImpl.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.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/query/InMemoryQueryProcessor.java?rev=1515570&r1=1515569&r2=1515570&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java Mon Aug 19 19:24:22 2013
@@ -517,7 +517,7 @@ public class InMemoryQueryProcessor {
// check if object is in folder
if (so instanceof Filing) {
- return hasParent((Filing) so, folderId, user);
+ return hasParent(so, folderId, user);
} else {
return false;
}
@@ -538,7 +538,7 @@ public class InMemoryQueryProcessor {
// check if object is in folder
if (so instanceof Filing) {
- return hasAncestor((Filing) so, folderId, user);
+ return hasAncestor(so, folderId, user);
} else {
return false;
}
@@ -642,7 +642,7 @@ public class InMemoryQueryProcessor {
}
- private boolean hasParent(Filing objInFolder, String folderId, String user) {
+ private boolean hasParent(StoredObject objInFolder, String folderId, String user) {
List<String> parents = objStore.getParentIds(objInFolder, user);
for (String parentId : parents) {
@@ -653,7 +653,7 @@ public class InMemoryQueryProcessor {
return false;
}
- private boolean hasAncestor(Filing objInFolder, String folderId, String user) {
+ private boolean hasAncestor(StoredObject objInFolder, String folderId, String user) {
List<String> parents = objStore.getParentIds(objInFolder, user);
for (String parentId : parents) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.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/server/InMemoryMultiFilingServiceImpl.java?rev=1515570&r1=1515569&r2=1515570&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java Mon Aug 19 19:24:22 2013
@@ -95,7 +95,7 @@ public class InMemoryMultiFilingServiceI
}
} else {
checkObjects(repositoryId, so, null);
- List<String> parentIds = objStore.getParentIds((Filing) so, context.getUsername());
+ List<String> parentIds = objStore.getParentIds(so, context.getUsername());
for (String parentId: parentIds) {
Folder parent = (Folder) objStore.getObjectById(parentId);
objStore.removeParent(so, parent);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.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/server/InMemoryNavigationServiceImpl.java?rev=1515570&r1=1515569&r2=1515570&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java Mon Aug 19 19:24:22 2013
@@ -243,13 +243,11 @@ public class InMemoryNavigationServiceIm
List<ObjectParentData> result = null;
Filing spo = null;
- if (so instanceof Filing) {
- spo = (Filing) so;
- } else {
+ if (!(so instanceof Filing)) {
return Collections.emptyList();
}
- result = getObjectParentsIntern(repositoryId, spo, filter, context.isObjectInfoRequired() ? objectInfos : null,
+ result = getObjectParentsIntern(repositoryId, so, filter, context.isObjectInfoRequired() ? objectInfos : null,
includeAllowableActions, includeRelationships, renditionFilter, includeRelativePathSegment,
context.getUsername());
@@ -358,14 +356,14 @@ public class InMemoryNavigationServiceIm
return childrenOfFolderId;
}
- private List<ObjectParentData> getObjectParentsIntern(String repositoryId, Filing sop, String filter,
+ private List<ObjectParentData> getObjectParentsIntern(String repositoryId, StoredObject so, String filter,
ObjectInfoHandler objectInfos, Boolean includeAllowableActions, IncludeRelationships includeRelationships,
String renditionFilter, Boolean includeRelativePathSegment, String user) {
List<ObjectParentData> result = null;
result = new ArrayList<ObjectParentData>();
ObjectStore objStore = fStoreManager.getObjectStore(repositoryId);
- List<String> parentIds = objStore.getParentIds(sop, user);
+ List<String> parentIds = objStore.getParentIds(so, user);
if (null != parentIds) {
for (String parentId : parentIds) {
ObjectParentDataImpl parentData = new ObjectParentDataImpl();
@@ -374,8 +372,8 @@ public class InMemoryNavigationServiceIm
ObjectData objData = PropertyCreationHelper.getObjectData(tm, objStore, parent, filter, user,
includeAllowableActions, includeRelationships, renditionFilter, false, true, null);
parentData.setObject(objData);
- if (null != includeRelativePathSegment && includeRelativePathSegment) {
- parentData.setRelativePathSegment(sop.getPathSegment());
+ if (null != includeRelativePathSegment && includeRelativePathSegment && so instanceof Fileable) {
+ parentData.setRelativePathSegment(((Fileable)so).getPathSegment());
}
result.add(parentData);
if (objectInfos != null) {
@@ -389,14 +387,14 @@ public class InMemoryNavigationServiceIm
return result;
}
- private ObjectData getFolderParentIntern(String repositoryId, Filing sop, String filter,
+ private ObjectData getFolderParentIntern(String repositoryId, StoredObject so, String filter,
Boolean includeAllowableActions, IncludeRelationships includeRelationships, String user,
ObjectInfoHandler objectInfos) {
ObjectDataImpl parent = new ObjectDataImpl();
ObjectStore objStore = fStoreManager.getObjectStore(repositoryId);
- List<String> parents = objStore.getParentIds(sop, user);
+ List<String> parents = objStore.getParentIds(so, user);
if (null == parents || parents.isEmpty()) {
return null;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.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/server/InMemoryObjectServiceImpl.java?rev=1515570&r1=1515569&r2=1515570&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java Mon Aug 19 19:24:22 2013
@@ -485,14 +485,11 @@ public class InMemoryObjectServiceImpl e
Folder targetFolder = null;
Folder sourceFolder = null;
ObjectStore objectStore = fStoreManager.getObjectStore(repositoryId);
- Filing spo = null;
String user = context.getUsername();
if (null == so) {
throw new CmisObjectNotFoundException("Unknown object: " + objectId.getValue());
- } else if (so instanceof Filing) {
- spo = (Filing) so;
- } else {
+ } else if (!(so instanceof Filing)) {
throw new CmisInvalidArgumentException("Object must be fileable: " + objectId.getValue());
}
@@ -516,7 +513,7 @@ public class InMemoryObjectServiceImpl e
}
boolean foundOldParent = false;
- for (String parentId : objectStore.getParentIds(spo, user)) {
+ for (String parentId : objectStore.getParentIds(so, user)) {
if (parentId.equals(soSource.getId())) {
foundOldParent = true;
break;
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/ObjectStore.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/api/ObjectStore.java?rev=1515570&r1=1515569&r2=1515570&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/ObjectStore.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/api/ObjectStore.java Mon Aug 19 19:24:22 2013
@@ -424,7 +424,7 @@ public interface ObjectStore {
* user who can see parents
* @return list of folder ids
*/
- List<String> getParentIds(Filing spo, String user);
+ List<String> getParentIds(StoredObject so, String user);
/**
* Add this document to a new parent folder as child object
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=1515570&r1=1515569&r2=1515570&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 Mon Aug 19 19:24:22 2013
@@ -745,12 +745,16 @@ public class ObjectStoreImpl implements
}
@Override
- public List<String> getParentIds(Filing fileable, String user) {
- List<String> visibleParents = new ArrayList<String>();
+ public List<String> getParentIds(StoredObject so, String user) {
+ List<String> visibleParents = new ArrayList<String>();
+ if (!(so instanceof Fileable)) {
+ throw new CmisInvalidArgumentException("Object is not fileable: " + so.getId());
+ }
+ Filing fileable = (Fileable) so;
List<String> parents = fileable.getParentIds();
for (String id: parents) {
- StoredObject so = getObjectById(id);
- if (hasReadAccess(user, so)) {
+ StoredObject parent = getObjectById(id);
+ if (hasReadAccess(user, parent)) {
visibleParents.add(id);
}
}