Author: woonsan
Date: Mon Oct 11 20:10:19 2010
New Revision: 1021492

URL: http://svn.apache.org/viewvc?rev=1021492&view=rev
Log:
JS2-1221: Fixing a bug of wrong usage on CacheElement with a unit test showing 
the exception case.

Modified:
    
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryApplicationCache.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryPortletCache.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestRegistryCache.java

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryApplicationCache.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryApplicationCache.java?rev=1021492&r1=1021491&r2=1021492&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryApplicationCache.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryApplicationCache.java
 Mon Oct 11 20:10:19 2010
@@ -149,10 +149,18 @@ public class RegistryApplicationCache im
         RegistryCacheObjectWrapper wrapper = w;
         if (wrapper == null)
         {
-            wrapper = (RegistryCacheObjectWrapper)nameCache.get(key);
-            if (wrapper == null)
-                return;
+            CacheElement cacheElement = nameCache.get(key);
+            if (cacheElement != null)
+            {
+                wrapper = (RegistryCacheObjectWrapper) 
cacheElement.getContent();
+            }
         }
+        
+        if (wrapper == null)
+        {
+            return;
+        }
+        
         Identity oid = wrapper.getId();      
         
         PortletApplication pd = (PortletApplication)cacheLookup(oid);

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryPortletCache.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryPortletCache.java?rev=1021492&r1=1021491&r2=1021492&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryPortletCache.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/RegistryPortletCache.java
 Mon Oct 11 20:10:19 2010
@@ -148,10 +148,18 @@ public class RegistryPortletCache implem
         RegistryCacheObjectWrapper wrapper = w;
         if (wrapper == null)
         {
-            wrapper = (RegistryCacheObjectWrapper)nameCache.get(key);
-            if (wrapper == null)
-                return;
+            CacheElement cacheElement = nameCache.get(key);
+            if (cacheElement != null)
+            {
+                wrapper = (RegistryCacheObjectWrapper) 
cacheElement.getContent();
+            }
         }
+        
+        if (wrapper == null)
+        {
+            return;
+        }
+        
         Identity oid = wrapper.getId();
 
         PortletDefinition pd = (PortletDefinition)cacheLookup(oid);

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestRegistryCache.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestRegistryCache.java?rev=1021492&r1=1021491&r2=1021492&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestRegistryCache.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestRegistryCache.java
 Mon Oct 11 20:10:19 2010
@@ -25,14 +25,16 @@ import org.apache.jetspeed.components.ut
 import org.apache.jetspeed.engine.MockJetspeedEngine;
 import org.apache.jetspeed.om.portlet.InitParam;
 import org.apache.jetspeed.om.portlet.Language;
-import org.apache.jetspeed.om.portlet.Supports;
-import org.apache.jetspeed.om.portlet.UserAttribute;
-import org.apache.jetspeed.om.portlet.Preference;
-import org.apache.jetspeed.om.portlet.Preferences;
 import org.apache.jetspeed.om.portlet.PortletApplication;
 import org.apache.jetspeed.om.portlet.PortletDefinition;
+import org.apache.jetspeed.om.portlet.Preference;
+import org.apache.jetspeed.om.portlet.Preferences;
+import org.apache.jetspeed.om.portlet.Supports;
+import org.apache.jetspeed.om.portlet.UserAttribute;
 import org.apache.jetspeed.om.portlet.UserAttributeRef;
 import org.apache.jetspeed.om.portlet.impl.PortletApplicationDefinitionImpl;
+import org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl;
+import org.apache.ojb.broker.Identity;
 
 /**
  * <p>
@@ -93,6 +95,20 @@ public class TestRegistryCache extends D
         
assertEquals(portletRegistry.getAllPortletDefinitions().iterator().next(), def);
     }
     
+    public void testCacheDirectly() {
+        assertNotNull(portletRegistry);
+        PortletDefinition def = 
portletRegistry.getPortletDefinitionByUniqueName("PA-001::Portlet-1");
+        assertNotNull(def);
+        
+        Identity testPortletDefOid = new Identity(PortletDefinitionImpl.class, 
PortletApplicationDefinitionImpl.class, new Object [] { "PA-001::Portlet-1" });
+        RegistryPortletCache.cacheAdd(testPortletDefOid, def);
+        assertNotNull(RegistryPortletCache.cacheLookup(testPortletDefOid));
+        assertEquals(def, RegistryPortletCache.cacheLookup(testPortletDefOid));
+        
+        RegistryPortletCache.cacheRemoveQuiet(def.getUniqueName(), null);
+        assertNull(RegistryPortletCache.cacheLookup(testPortletDefOid));
+    }
+    
     private void buildTestData() throws RegistryException, LockFailedException
     {
         String lang = Locale.getDefault().toString();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to