You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2008/09/17 03:46:37 UTC

svn commit: r696133 - in /portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed: components/portletpreferences/ om/preference/impl/

Author: ate
Date: Tue Sep 16 18:46:37 2008
New Revision: 696133

URL: http://svn.apache.org/viewvc?rev=696133&view=rev
Log:
More preferences handling fixes

Modified:
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java?rev=696133&r1=696132&r2=696133&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java Tue Sep 16 18:46:37 2008
@@ -88,7 +88,7 @@
 
     public PreferenceSetComposite getPreferenceSet(PortletDefinitionComposite pd)
     {
-        return getPreferenceSet(((MutablePortletApplication)pd.getPortletApplicationDefinition()).getName(), pd.getName(), null, null);
+        return getPreferenceSet(((MutablePortletApplication)pd.getPortletApplicationDefinition()).getName(), pd.getName(), null, null, false);
     }
 
     public PreferenceSetComposite getPreferenceSet(MutablePortletEntity pe)
@@ -99,10 +99,10 @@
     public PreferenceSetComposite getPreferenceSet(MutablePortletEntity pe, String userName)
     {
         PortletDefinitionComposite pd = (PortletDefinitionComposite)pe.getPortletDefinition();
-        return getPreferenceSet(((MutablePortletApplication)pd.getPortletApplicationDefinition()).getName(), pd.getName(), pe.getOid(), userName);
+        return getPreferenceSet(((MutablePortletApplication)pd.getPortletApplicationDefinition()).getName(), pd.getName(), pe.getOid(), userName, false);
     }
 
-    private PreferenceSetImpl getPreferenceSet(String applicationName, String portletName, Long entityOid, String userName)
+    private PreferenceSetImpl getPreferenceSet(String applicationName, String portletName, Long entityOid, String userName, boolean forUpdate)
     {
         if (entityOid == null)
         {
@@ -114,9 +114,9 @@
             userName = UNDEFINED_USER_NAME;
         }
         
-        String cacheKey = getPreferenceSetKey(applicationName, portletName, entityOid, userName);
+        String cacheKey = forUpdate ? null : getPreferenceSetKey(applicationName, portletName, entityOid, userName);
         PreferenceSetImpl prefs = null;
-        CacheElement cachedElement = preferenceCache.get(cacheKey);        
+        CacheElement cachedElement = forUpdate ? null : preferenceCache.get(cacheKey);        
         if (cachedElement != null)
         {
             prefs = (PreferenceSetImpl)cachedElement.getContent();
@@ -167,15 +167,21 @@
                     preference.addValue(value.getValue());
                 }
             }
-            for (Map.Entry<Long,String> entry : prefsMap.entrySet())
+            if (forUpdate)
             {
-                if (prefs.get(entry.getValue()) == null)
+                for (Map.Entry<Long,String> entry : prefsMap.entrySet())
                 {
-                    // ensure preferences without *any* value are still loaded
-                    prefs.add(entry.getKey().longValue(), entry.getValue(),null);
+                    if (prefs.get(entry.getValue()) == null)
+                    {
+                        // ensure preferences without *any* value are still loaded
+                        prefs.add(entry.getKey().longValue(), entry.getValue(),null);
+                    }
                 }
             }
-            preferenceCache.put(preferenceCache.createElement(cacheKey, prefs));
+            else
+            {
+                preferenceCache.put(preferenceCache.createElement(cacheKey, prefs));
+            }
         }
         return new PreferenceSetImpl(prefs);
     }
@@ -235,7 +241,7 @@
         {
             userName = UNDEFINED_USER_NAME;
         }
-        PreferenceSetImpl current = getPreferenceSet(applicationName, portletName, entityOid, userName);
+        PreferenceSetImpl current = getPreferenceSet(applicationName, portletName, entityOid, userName, true);
 
         Criteria c;
         PreferenceSetImpl.PreferenceImpl currentPref;

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java?rev=696133&r1=696132&r2=696133&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-registry/src/main/java/org/apache/jetspeed/om/preference/impl/PreferenceSetImpl.java Tue Sep 16 18:46:37 2008
@@ -161,20 +161,25 @@
             }
         }
         
-        public boolean equals(PreferenceImpl other)
+        public boolean equals(Object obj)
         {
-            if (other != null && name.equals(other.name) && readOnly == other.readOnly && values.size() == other.values.size() )
+            if (obj != null && obj instanceof PreferenceImpl)
             {
-                String a;
-                String b;
-                for (int i = 0, size = values.size(); i < size; i++)
+                PreferenceImpl other = (PreferenceImpl)obj;
+                if (other != null && name.equals(other.name) && readOnly == other.readOnly && values.size() == other.values.size() )
                 {
-                    a = values.get(i);
-                    b = other.values.get(i);
-                    if ((a == null && b != null) || (a != null && !a.equals(b)))
+                    String a;
+                    String b;
+                    for (int i = 0, size = values.size(); i < size; i++)
                     {
-                        return false;
+                        a = values.get(i);
+                        b = other.values.get(i);
+                        if ((a == null && b != null) || (a != null && !a.equals(b)))
+                        {
+                            return false;
+                        }
                     }
+                    return true;
                 }
             }
             return false;



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org