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 2010/06/10 14:51:18 UTC

svn commit: r953310 - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory: ./ server/ types/

Author: jens
Date: Thu Jun 10 12:51:17 2010
New Revision: 953310

URL: http://svn.apache.org/viewvc?rev=953310&view=rev
Log:
cleanup some ugly dependencies

Modified:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DataObjectCreator.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/PropertyCreationHelper.java

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DataObjectCreator.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DataObjectCreator.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DataObjectCreator.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/DataObjectCreator.java Thu Jun 10 12:51:17 2010
@@ -48,7 +48,7 @@ import org.apache.chemistry.opencmis.inm
  */
 public class DataObjectCreator {
 
-    public static AllowableActions fillAllowableActions(ObjectStore objStore, StoredObject so, String user) {
+    public static AllowableActions fillAllowableActions(StoredObject so, String user) {
 
         boolean isFolder = so instanceof Folder;
         boolean isDocument = so instanceof Content;
@@ -57,7 +57,8 @@ public class DataObjectCreator {
         boolean canCheckIn = false;
         boolean isVersioned = so instanceof Version || so instanceof VersionedDocument;
         boolean hasContent = so instanceof Content && ((Content) so).hasContent();
-
+        boolean isRootFolder = isFolder && ((Folder)so).getParent() == null;
+        
         if (so instanceof Version) {
             isCheckedOut = ((Version) so).isPwc();
             canCheckIn = isCheckedOut && ((Version) so).getParentDocument().getCheckedOutBy().equals(user);
@@ -66,7 +67,7 @@ public class DataObjectCreator {
             canCheckOut = !((VersionedDocument) so).isCheckedOut();
             canCheckIn = isCheckedOut && ((VersionedDocument) so).getCheckedOutBy().equals(user);
         }
-
+        
         AllowableActionsImpl allowableActions = new AllowableActionsImpl();
         Set<Action> set = allowableActions.getAllowableActions();
 
@@ -75,14 +76,14 @@ public class DataObjectCreator {
 
         if (isFolder || isDocument) {
             set.add(Action.CAN_GET_PROPERTIES);
-            if (!so.equals(objStore.getRootFolder())) {
+            if (!isRootFolder) {
                 set.add(Action.CAN_GET_OBJECT_PARENTS);
             }
             set.add(Action.CAN_MOVE_OBJECT);
         }
 
         if (isFolder) {
-            if (!so.equals(objStore.getRootFolder())) {
+            if (!isRootFolder) {
                 set.add(Action.CAN_GET_FOLDER_PARENT);
             }
             set.add(Action.CAN_GET_FOLDER_TREE);

Modified: incubator/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/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryMultiFilingServiceImpl.java Thu Jun 10 12:51:17 2010
@@ -20,6 +20,7 @@ package org.apache.chemistry.opencmis.in
 
 import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
 import org.apache.chemistry.opencmis.commons.data.ObjectData;
+import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
 import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
@@ -70,9 +71,9 @@ public class InMemoryMultiFilingServiceI
             objectInfos.addObjectInfo(objectInfo);
         }
 
-
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         LOG.debug("End addObjectToFolder()");
@@ -103,7 +104,8 @@ public class InMemoryMultiFilingServiceI
         }
 
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         LOG.debug("End removeObjectFromFolder()");

Modified: incubator/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/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java Thu Jun 10 12:51:17 2010
@@ -33,6 +33,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.data.ObjectList;
 import org.apache.chemistry.opencmis.commons.data.ObjectParentData;
 import org.apache.chemistry.opencmis.commons.data.Properties;
+import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
 import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
@@ -90,7 +91,8 @@ public class InMemoryNavigationServiceIm
             List<VersionedDocument> checkedOuts = fStoreManager.getObjectStore(repositoryId).getCheckedOutDocuments(
                     orderBy);
             for (VersionedDocument checkedOut : checkedOuts) {
-                ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, checkedOut, filter, user,
+                TypeDefinition td = fStoreManager.getTypeById(repositoryId, checkedOut.getTypeId()).getTypeDefinition();
+                ObjectData od = PropertyCreationHelper.getObjectData(td, checkedOut, filter, user,
                         includeAllowableActions, includeRelationships, renditionFilter, false, false, extension);
                 if (context.isObjectInfoRequired()) {
                     ObjectInfoImpl objectInfo = new ObjectInfoImpl();
@@ -290,7 +292,7 @@ public class InMemoryNavigationServiceIm
             if (includePathSegments != null && includePathSegments)
                 oifd.setPathSegment(spo.getName());
             if (includeAllowableActions != null && includeAllowableActions) {
-                AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(fs, spo, user);
+                AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(spo, user);
                 objectData.setAllowableActions(allowableActions);
             }
             if (includeRelationships != null && includeRelationships != IncludeRelationships.NONE) {
@@ -303,8 +305,8 @@ public class InMemoryNavigationServiceIm
                                                   */);
             }
 
-            Properties props = PropertyCreationHelper.getPropertiesFromObject(repositoryId, spo, fStoreManager,
-                    requestedIds);
+            TypeDefinition td = fStoreManager.getTypeById(repositoryId, spo.getTypeId()).getTypeDefinition();
+            Properties props = PropertyCreationHelper.getPropertiesFromObject(spo, td, requestedIds);
             objectData.setProperties(props);
 
             oifd.setObject(objectData);
@@ -428,8 +430,8 @@ public class InMemoryNavigationServiceIm
 
     void copyFilteredProperties(String repositoryId, StoredObject so, String filter, ObjectDataImpl objData) {
         List<String> requestedIds = FilterParser.getRequestedIdsFromFilter(filter);
-        Properties props = PropertyCreationHelper
-                .getPropertiesFromObject(repositoryId, so, fStoreManager, requestedIds);
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        Properties props = PropertyCreationHelper.getPropertiesFromObject(so, td, requestedIds);
         objData.setProperties(props);
     }
 

Modified: incubator/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/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java Thu Jun 10 12:51:17 2010
@@ -116,8 +116,8 @@ public class InMemoryObjectServiceImpl e
         // build properties collection
         List<String> requestedIds = FilterParser.getRequestedIdsFromFilter("*");
 
-        Properties existingProps = PropertyCreationHelper.getPropertiesFromObject(repositoryId, so, fStoreManager,
-                requestedIds);
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        Properties existingProps = PropertyCreationHelper.getPropertiesFromObject(so, td, requestedIds);
 
         PropertiesImpl newPD = new PropertiesImpl();
         // copy all existing properties
@@ -223,7 +223,8 @@ public class InMemoryObjectServiceImpl e
 
         // Make a call to getObject to convert the resulting id into an
         // ObjectData
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        TypeDefinition td = typeDefC.getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         if (context.isObjectInfoRequired()) {
@@ -317,7 +318,7 @@ public class InMemoryObjectServiceImpl e
             throw new CmisObjectNotFoundException("Unknown object id: " + objectId);
 
         String user = context.getUsername();
-        AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(objectStore, so, user);
+        AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(so, user);
         LOG.debug("stop getAllowableActions()");
         return allowableActions;
     }
@@ -352,7 +353,8 @@ public class InMemoryObjectServiceImpl e
             throw new CmisObjectNotFoundException("Unknown object id: " + objectId);
 
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, filter, user, includeAllowableActions,
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, filter, user, includeAllowableActions,
                 includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);
 
         if (context.isObjectInfoRequired()) {
@@ -379,7 +381,8 @@ public class InMemoryObjectServiceImpl e
             throw new CmisObjectNotFoundException("Unknown path: " + path);
 
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, filter, user, includeAllowableActions,
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, filter, user, includeAllowableActions,
                 includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);
 
         LOG.debug("stop getObjectByPath()");
@@ -406,8 +409,8 @@ public class InMemoryObjectServiceImpl e
 
         // build properties collection
         List<String> requestedIds = FilterParser.getRequestedIdsFromFilter(filter);
-        Properties props = PropertyCreationHelper
-                .getPropertiesFromObject(repositoryId, so, fStoreManager, requestedIds);
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        Properties props = PropertyCreationHelper.getPropertiesFromObject(so, td, requestedIds);
         LOG.debug("stop getProperties()");
         return props;
     }
@@ -475,8 +478,9 @@ public class InMemoryObjectServiceImpl e
         objectId.setValue(so.getId());
         LOG.debug("stop moveObject()");
 
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         // To be able to provide all Atom links in the response we need
@@ -624,8 +628,9 @@ public class InMemoryObjectServiceImpl e
             // extension);
         }
 
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
         String user = context.getUsername();
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         // To be able to provide all Atom links in the response we need

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryVersioningServiceImpl.java Thu Jun 10 12:51:17 2010
@@ -95,7 +95,8 @@ public class InMemoryVersioningServiceIm
             objectInfos.addObjectInfo(objectInfo);
         }
 
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         return od;
@@ -141,7 +142,8 @@ public class InMemoryVersioningServiceIm
             objectInfos.addObjectInfo(objectInfo);
         }
 
-        ObjectData od = PropertyCreationHelper.getObjectData(fStoreManager, so, null, user, false,
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                 IncludeRelationships.NONE, null, false, false, extension);
 
         return od;
@@ -218,8 +220,9 @@ public class InMemoryVersioningServiceIm
             throw new RuntimeException("Object is not instance of a document (version series)");
 
         List<String> requestedIds = FilterParser.getRequestedIdsFromFilter(filter);
-        Properties props = PropertyCreationHelper.getPropertiesFromObject(repositoryId, latestVersionObject,
-                fStoreManager, requestedIds);
+        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
+        Properties props = PropertyCreationHelper.getPropertiesFromObject(latestVersionObject, td, 
+                requestedIds);
 
         return props;
     }

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/PropertyCreationHelper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/PropertyCreationHelper.java?rev=953310&r1=953309&r2=953310&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/PropertyCreationHelper.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/types/PropertyCreationHelper.java Thu Jun 10 12:51:17 2010
@@ -40,6 +40,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
 import org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyDefinition;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.BindingsObjectFactoryImpl;
 import org.apache.chemistry.opencmis.commons.impl.dataobjects.ChoiceImpl;
 import org.apache.chemistry.opencmis.commons.impl.dataobjects.ObjectDataImpl;
 import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
@@ -203,11 +204,10 @@ public class PropertyCreationHelper {
         prop.setUpdatability(Updatability.READWRITE);
     }
 
-    public static Properties getPropertiesFromObject(String repositoryId, StoredObject so, StoreManager storeManager,
-            List<String> requestedIds) {
+    public static Properties getPropertiesFromObject(StoredObject so, TypeDefinition td, List<String> requestedIds) {
         // build properties collection
 
-        BindingsObjectFactory objectFactory = storeManager.getObjectFactory();
+        BindingsObjectFactory objectFactory = new BindingsObjectFactoryImpl();
         Map<String, PropertyData<?>> properties = new HashMap<String, PropertyData<?>>();
         so.fillProperties(properties, objectFactory, requestedIds);
 
@@ -215,13 +215,11 @@ public class PropertyCreationHelper {
         // (String) props.getProperties().get(PropertyIds.CMIS_OBJECT_TYPE_ID).
         // getFirstValue();
         if (FilterParser.isContainedInFilter(PropertyIds.BASE_TYPE_ID, requestedIds)) {
-            TypeDefinitionContainer typeDefC = storeManager.getTypeById(repositoryId, typeId);
-            if (typeDefC == null) {
+            if (td == null) {
                 log.warn("getPropertiesFromObject(), cannot get type definition, a type with id " + typeId
                         + " is unknown");
             } else {
-                TypeDefinition typeDef = typeDefC.getTypeDefinition();
-                String baseTypeId = typeDef.getBaseTypeId().value();
+                String baseTypeId = td.getBaseTypeId().value();
                 properties.put(PropertyIds.BASE_TYPE_ID, objectFactory.createPropertyIdData(PropertyIds.BASE_TYPE_ID,
                         baseTypeId));
             }
@@ -231,7 +229,7 @@ public class PropertyCreationHelper {
         return props;
     }
 
-    public static ObjectData getObjectData(StoreManager sm, StoredObject so, String filter, String user,
+    public static ObjectData getObjectData(TypeDefinition typeDef, StoredObject so, String filter, String user,
             Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter,
             Boolean includePolicyIds, Boolean includeACL, ExtensionsData extension) {
 
@@ -242,12 +240,11 @@ public class PropertyCreationHelper {
 
         // build properties collection
         List<String> requestedIds = FilterParser.getRequestedIdsFromFilter(filter);
-        Properties props = getPropertiesFromObject(so.getRepositoryId(), so, sm, requestedIds);
+        Properties props = getPropertiesFromObject(so, typeDef, requestedIds);
 
         // fill output object
         if (null != includeAllowableActions && includeAllowableActions) {
-            ObjectStore objectStore = sm.getObjectStore(so.getRepositoryId());
-            AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(objectStore, so, user);
+            AllowableActions allowableActions = DataObjectCreator.fillAllowableActions(so, user);
             od.setAllowableActions(allowableActions);
         }
         if (null != includeACL && includeACL)