You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2012/04/12 08:57:31 UTC

svn commit: r1325138 - in /sling/trunk/bundles/jcr/resource: pom.xml src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java

Author: cziegeler
Date: Thu Apr 12 06:57:30 2012
New Revision: 1325138

URL: http://svn.apache.org/viewvc?rev=1325138&view=rev
Log:
SLING-2448 : org.apache.sling.jcr.resource should embed com.google.common.collect.MapDifference. Apply patch from Robert Munteanu

Modified:
    sling/trunk/bundles/jcr/resource/pom.xml
    sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java

Modified: sling/trunk/bundles/jcr/resource/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/pom.xml?rev=1325138&r1=1325137&r2=1325138&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/pom.xml (original)
+++ sling/trunk/bundles/jcr/resource/pom.xml Thu Apr 12 06:57:30 2012
@@ -100,7 +100,6 @@
                         <Embed-Dependency>
                             jackrabbit-classloader;inline="org/apache/jackrabbit/net/**|org/apache/jackrabbit/classloader/Util.*",
                             jackrabbit-jcr-commons;inline="org/apache/jackrabbit/util/ISO9075.*|org/apache/jackrabbit/name/QName.*|org/apache/jackrabbit/util/XMLChar.*|org/apache/jackrabbit/util/Text.*",
-                            guava;inline="com/google/common/collect/Maps*.*|com/google/common/base/Preconditions.*|com/google/common/primitives/Ints.*"
                         </Embed-Dependency>
 
                         <Sling-Namespaces>
@@ -197,12 +196,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>r09</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>adapter-annotations</artifactId>
             <version>1.0.0</version>

Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java?rev=1325138&r1=1325137&r2=1325138&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java Thu Apr 12 06:57:30 2012
@@ -47,8 +47,6 @@ import org.apache.sling.jcr.resource.int
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.Maps;
-
 /**
  * An implementation of the value map based on a JCR node.
  * @see JcrModifiablePropertyMap
@@ -210,7 +208,7 @@ public class JcrPropertyMap
         if (cache.size() == valueCache.size()) {
             sourceMap = valueCache;
         } else {
-            sourceMap = Maps.transformEntries(cache, entryTransformer);
+            sourceMap = transformEntries(cache);
         }
         return Collections.unmodifiableSet(sourceMap.entrySet());
     }
@@ -232,7 +230,7 @@ public class JcrPropertyMap
         if (cache.size() == valueCache.size()) {
             sourceMap = valueCache;
         } else {
-            sourceMap = Maps.transformEntries(cache, entryTransformer);
+            sourceMap = transformEntries(cache);
         }
         return Collections.unmodifiableCollection(sourceMap.values());
     }
@@ -484,13 +482,15 @@ public class JcrPropertyMap
         }
         return type;
     }
-
-    private static Maps.EntryTransformer<String, JcrPropertyMapCacheEntry, Object> entryTransformer = new Maps.EntryTransformer<String, JcrPropertyMapCacheEntry, Object>() {
-
-        public Object transformEntry(String key, JcrPropertyMapCacheEntry value) {
-            return value.getDefaultValueOrNull();
-        }
-    };
+    
+	private Map<String, Object> transformEntries( Map<String, JcrPropertyMapCacheEntry> map) {
+		
+		Map<String, Object> transformedEntries = new LinkedHashMap<String, Object>(map.size());
+		for ( Map.Entry<String, JcrPropertyMapCacheEntry> entry : map.entrySet() )
+			transformedEntries.put(entry.getKey(), entry.getValue().getDefaultValueOrNull());
+		
+		return transformedEntries;
+	}
 
     /**
      * This is an extended version of the object input stream which uses the