[jboss-cvs] jboss-portal/portlet/src/main/org/jboss/portal/portlet/state/producer ...
Julien Viet
julien at jboss.com
Tue Aug 22 08:52:59 EDT 2006
User: julien
Date: 06/08/22 08:52:59
Modified: portlet/src/main/org/jboss/portal/portlet/state/producer
StatefulPortletInvoker.java
Log:
make the stateful portlet container retrieve properties value in the wrapped invoker via metadata rather than the getProperties() operation
Revision Changes Path
1.11 +32 -4 jboss-portal/portlet/src/main/org/jboss/portal/portlet/state/producer/StatefulPortletInvoker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: StatefulPortletInvoker.java
===================================================================
RCS file: /cvsroot/jboss/jboss-portal/portlet/src/main/org/jboss/portal/portlet/state/producer/StatefulPortletInvoker.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- StatefulPortletInvoker.java 31 Jul 2006 19:29:54 -0000 1.10
+++ StatefulPortletInvoker.java 22 Aug 2006 12:52:59 -0000 1.11
@@ -45,7 +45,7 @@
/**
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class StatefulPortletInvoker extends AbstractJBossService implements PortletInvoker
{
@@ -359,7 +359,7 @@
}
else
{
- ValueMap originalState = portletInvoker.getProperties(portletId);
+ ValueMap originalState = getPropertiesFromMetaData(portletId);
ValueMap newState = new SimpleValueMap();
for (Iterator i = originalState.getKeys().iterator(); i.hasNext();)
{
@@ -458,7 +458,7 @@
else
{
// Get the container
- return portletInvoker.getProperties(portletId);
+ return getPropertiesFromMetaData(portletId);
}
}
@@ -531,4 +531,32 @@
throw new InvalidPortletIdException(e, portletId);
}
}
+
+ /**
+ * Retrieve the properties from the portlet meta data.
+ *
+ * @param portletId the portlet id
+ * @return the properties
+ * @throws PortletInvokerException
+ */
+ private ValueMap getPropertiesFromMetaData(String portletId) throws PortletInvokerException
+ {
+ //
+ Portlet portlet = portletInvoker.getPortlet(portletId);
+
+ // The prefs info
+ PreferencesInfo prefs = portlet.getInfo().getPreferences();
+
+ // Get the state
+ ValueMap value = new SimpleValueMap();
+ for (Iterator i = prefs.getKeys().iterator(); i.hasNext();)
+ {
+ String key = (String)i.next();
+ PreferenceInfo pref = prefs.getPreference(key);
+ value.setValue(key, (Value)pref.getDefaultValue().clone());
+ }
+
+ //
+ return value;
+ }
}
More information about the jboss-cvs-commits
mailing list