[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