chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r967219 - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory: storedobj/impl/StoredObjectImpl.java types/PropertyCreationHelper.java
Date Fri, 23 Jul 2010 19:36:20 GMT
Author: jens
Date: Fri Jul 23 19:36:20 2010
New Revision: 967219

URL: http://svn.apache.org/viewvc?rev=967219&view=rev
Log:
InMemory: Fix bug in buiding query result: fill PropertyData objects with query names, fix
bug in evaluating SELECTed properties of custom properties

Modified:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.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/storedobj/impl/StoredObjectImpl.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/storedobj/impl/StoredObjectImpl.java?rev=967219&r1=967218&r2=967219&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java
(original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/storedobj/impl/StoredObjectImpl.java
Fri Jul 23 19:36:20 2010
@@ -315,7 +315,8 @@ public class StoredObjectImpl implements
         // add custom properties of type definition to the collection
         if (null != fProperties) {
             for (Entry<String, PropertyData<?>> prop : fProperties.entrySet())
{
-                properties.put(prop.getKey(), prop.getValue());
+                if (FilterParser.isContainedInFilter(prop.getKey(), requestedIds))
+                    properties.put(prop.getKey(), prop.getValue());
             }
         }
     }

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=967219&r1=967218&r2=967219&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
Fri Jul 23 19:36:20 2010
@@ -40,6 +40,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.enums.Updatability;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyData;
 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;
@@ -250,15 +251,24 @@ public class PropertyCreationHelper {
             }
         }
 
-        // replace all ids with query names or alias:
         Map<String, PropertyData<?>> mappedProperties = new HashMap<String,
PropertyData<?>>();
-        for (Map.Entry<String, PropertyData<?>> prop : properties.entrySet())
{
-            String key = requestedIds.get(prop.getKey());
-            if (key == null)
-                key = prop.getKey();
-            mappedProperties.put(key, prop.getValue());
+        if (requestedIds.containsKey("*")) {
+            for (Map.Entry<String, PropertyData<?>> prop : properties.entrySet())
{
+                // map property id to property query name
+                String queryName = td.getPropertyDefinitions().get(prop.getKey()).getQueryName();
+                AbstractPropertyData<?> ad = (AbstractPropertyData<?>) prop.getValue();
// a bit dirty
+                ad.setQueryName(queryName);
+                mappedProperties.put(queryName, prop.getValue());
+            }
+        } else {
+            // replace all ids with query names or alias:
+            for (Map.Entry<String, PropertyData<?>> prop : properties.entrySet())
{
+                String queryNameOrAlias = requestedIds.get(prop.getKey());
+                AbstractPropertyData<?> ad = (AbstractPropertyData<?>) prop.getValue();
// a bit dirty
+                ad.setQueryName(queryNameOrAlias);
+                mappedProperties.put(queryNameOrAlias, prop.getValue());
+            }
         }
-
         // add functions:
         BindingsObjectFactory objFactory = new BindingsObjectFactoryImpl();
         for (String func : requestedFuncs.keySet()) {



Mime
View raw message