chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From f...@apache.org
Subject svn commit: r1084907 - /chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java
Date Thu, 24 Mar 2011 11:35:45 GMT
Author: fmui
Date: Thu Mar 24 11:35:45 2011
New Revision: 1084907

URL: http://svn.apache.org/viewvc?rev=1084907&view=rev
Log:
CMIS-339: filter unnecessary links

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java?rev=1084907&r1=1084906&r2=1084907&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java
(original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/LinkCache.java
Thu Mar 24 11:35:45 2011
@@ -21,7 +21,9 @@ package org.apache.chemistry.opencmis.cl
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.chemistry.opencmis.client.bindings.cache.Cache;
 import org.apache.chemistry.opencmis.client.bindings.cache.impl.CacheImpl;
@@ -30,6 +32,7 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.client.bindings.cache.impl.MapCacheLevelImpl;
 import org.apache.chemistry.opencmis.client.bindings.spi.Session;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
 
 /**
@@ -39,6 +42,22 @@ public class LinkCache implements Serial
 
     private static final long serialVersionUID = 1L;
 
+    private static final Set<String> KNOWN_LINKS = new HashSet<String>();
+
+    static {
+        KNOWN_LINKS.add(Constants.REL_ACL);
+        KNOWN_LINKS.add(Constants.REL_DOWN);
+        KNOWN_LINKS.add(Constants.REL_UP);
+        KNOWN_LINKS.add(Constants.REL_FOLDERTREE);
+        KNOWN_LINKS.add(Constants.REL_RELATIONSHIPS);
+        KNOWN_LINKS.add(Constants.REL_SELF);
+        KNOWN_LINKS.add(Constants.REL_ALLOWABLEACTIONS);
+        KNOWN_LINKS.add(Constants.REL_EDITMEDIA);
+        KNOWN_LINKS.add(Constants.REL_POLICIES);
+        KNOWN_LINKS.add(Constants.REL_VERSIONHISTORY);
+        KNOWN_LINKS.add(AtomPubParser.LINK_REL_CONTENT);
+    }
+
     private static final int CACHE_SIZE_REPOSITORIES = 10;
     private static final int CACHE_SIZE_TYPES = 100;
     private static final int CACHE_SIZE_OBJECTS = 400;
@@ -72,7 +91,7 @@ public class LinkCache implements Serial
         linkCache.initialize(new String[] {
                 MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "="
+ repCount, // repository
                 LruCacheLevelImpl.class.getName() + " " + LruCacheLevelImpl.MAX_ENTRIES +
"=" + objCount, // id
-                MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "=16",
// rel
+                MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "=12",
// rel
                 ContentTypeCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY
+ "=3,"
                         + MapCacheLevelImpl.SINGLE_VALUE + "=true" // type
         });
@@ -81,7 +100,7 @@ public class LinkCache implements Serial
         typeLinkCache.initialize(new String[] {
                 MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "="
+ repCount, // repository
                 LruCacheLevelImpl.class.getName() + " " + LruCacheLevelImpl.MAX_ENTRIES +
"=" + typeCount, // id
-                MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "=16",
// rel
+                MapCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY + "=12",
// rel
                 ContentTypeCacheLevelImpl.class.getName() + " " + MapCacheLevelImpl.CAPACITY
+ "=3,"
                         + MapCacheLevelImpl.SINGLE_VALUE + "=true"// type
         });
@@ -109,7 +128,9 @@ public class LinkCache implements Serial
      * Adds a link.
      */
     public void addLink(String repositoryId, String id, String rel, String type, String link)
{
-        linkCache.put(link, repositoryId, id, rel, type);
+        if (KNOWN_LINKS.contains(rel)) {
+            linkCache.put(link, repositoryId, id, rel, type);
+        }
     }
 
     /**
@@ -158,7 +179,9 @@ public class LinkCache implements Serial
      * Adds a type link.
      */
     public void addTypeLink(String repositoryId, String id, String rel, String type, String
link) {
-        typeLinkCache.put(link, repositoryId, id, rel, type);
+        if (KNOWN_LINKS.contains(rel)) {
+            typeLinkCache.put(link, repositoryId, id, rel, type);
+        }
     }
 
     /**



Mime
View raw message