weaver      2003/08/11 16:29:22

  Modified:    portal/src/java/org/apache/jetspeed/engine/core
                        PortalControlParameter.java
  Log:
  getPortletWindowOfAction now uses the action key and PortletWindowFactory
  to look up the window on which the action is to be invoked
  
  - Did some checkstylin'
  
  Revision  Changes    Path
  1.3       +97 -68    
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/engine/core/PortalControlParameter.java
  
  Index: PortalControlParameter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/engine/core/PortalControlParameter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PortalControlParameter.java       29 Jul 2003 03:58:54 -0000      1.2
  +++ PortalControlParameter.java       11 Aug 2003 23:29:22 -0000      1.3
  @@ -62,7 +62,20 @@
   import javax.portlet.PortletMode;
   import javax.portlet.WindowState;
   
  +import org.apache.jetspeed.Jetspeed;
  +import org.apache.jetspeed.aggregator.PortletWindowFactory;
  +import org.apache.jetspeed.exception.JetspeedException;
  +import org.apache.jetspeed.om.common.window.PortletWindowImpl;
  +import org.apache.jetspeed.request.RequestContext;
  +import org.apache.jetspeed.services.entity.PortletEntityAccess;
  +import org.apache.jetspeed.services.registry.JetspeedPortletRegistry;
  +import org.apache.jetspeed.util.JetspeedObjectID;
  +import org.apache.pluto.om.entity.PortletEntity;
  +import org.apache.pluto.om.portlet.PortletDefinition;
   import org.apache.pluto.om.window.PortletWindow;
  +import org.apache.pluto.om.window.PortletWindowCtrl;
  +import org.apache.pluto.om.window.PortletWindowList;
  +import org.apache.pluto.om.window.PortletWindowListCtrl;
   import org.apache.pluto.util.StringUtils;
   
   /**
  @@ -83,12 +96,13 @@
       static public final String PREV_STATE = "ps";
       static public final String RENDER_PARAM = "rp";
       static public final String STATE = "st";
  +    static public final String KEY_DELIMITER = ":";
   
       public static String decodeParameterName(String paramName)
       {
           return paramName.substring(PREFIX.length());
       }
  -    
  +
       public static String decodeParameterValue(String paramName, String paramValue)
       {
           return paramValue;
  @@ -97,11 +111,14 @@
       private static String decodeRenderParamName(String encodedParamName)
       {
           StringTokenizer tokenizer = new StringTokenizer(encodedParamName, "_");
  -        if (!tokenizer.hasMoreTokens()) return null;
  +        if (!tokenizer.hasMoreTokens())
  +            return null;
           String constant = tokenizer.nextToken();
  -        if (!tokenizer.hasMoreTokens()) return null;
  +        if (!tokenizer.hasMoreTokens())
  +            return null;
           String objectId = tokenizer.nextToken();
  -        if (!tokenizer.hasMoreTokens()) return null;
  +        if (!tokenizer.hasMoreTokens())
  +            return null;
           String name = tokenizer.nextToken();
           return name;
       }
  @@ -109,13 +126,15 @@
       private static String[] decodeRenderParamValues(String encodedParamValues)
       {
           StringTokenizer tokenizer = new StringTokenizer(encodedParamValues, "_");
  -        if (!tokenizer.hasMoreTokens()) return null;
  +        if (!tokenizer.hasMoreTokens())
  +            return null;
           String _count = tokenizer.nextToken();
           int count = Integer.valueOf(_count).intValue();
           String[] values = new String[count];
  -        for (int i=0; i<count; i++)
  +        for (int i = 0; i < count; i++)
           {
  -            if (!tokenizer.hasMoreTokens()) return null;
  +            if (!tokenizer.hasMoreTokens())
  +                return null;
               values[i] = decodeValue(tokenizer.nextToken());
           }
           return values;
  @@ -123,14 +142,14 @@
   
       private static String decodeValue(String value)
       {
  -        value = StringUtils.replace(value, "0x1", "_" );
  -        value = StringUtils.replace(value, "0x2", "." );
  +        value = StringUtils.replace(value, "0x1", "_");
  +        value = StringUtils.replace(value, "0x2", ".");
           return value;
       }
   
       public static String encodeParameter(String param)
       {
  -        return PREFIX+param;
  +        return PREFIX + param;
       }
   
       public static String encodeRenderParamName(PortletWindow window, String 
paramName)
  @@ -148,7 +167,7 @@
       {
           StringBuffer returnvalue = new StringBuffer(100);
           returnvalue.append(paramValues.length);
  -        for (int i=0; i<paramValues.length; i++)
  +        for (int i = 0; i < paramValues.length; i++)
           {
               returnvalue.append("_");
               returnvalue.append(encodeValue(paramValues[i]));
  @@ -156,33 +175,32 @@
           return returnvalue.toString();
       }
   
  -
       private static String encodeValue(String value)
       {
  -        value = StringUtils.replace(value, "_", "0x1" );
  -        value = StringUtils.replace(value, ".", "0x2" );
  +        value = StringUtils.replace(value, "_", "0x1");
  +        value = StringUtils.replace(value, ".", "0x2");
           return value;
       }
   
       public static String getRenderParamKey(PortletWindow window)
       {
  -        return RENDER_PARAM+"_"+window.getId().toString();
  +        return RENDER_PARAM + "_" + window.getId().toString();
       }
   
       public static boolean isControlParameter(String param)
       {
           return param.startsWith(PREFIX);
       }
  -    
  +
       public static boolean isStateFullParameter(String param)
       {
           if (isControlParameter(param))
           {
  -            if ((param.startsWith(PREFIX+MODE)) ||
  -                (param.startsWith(PREFIX+PREV_MODE)) ||
  -                (param.startsWith(PREFIX+STATE)) ||
  -                (param.startsWith(PREFIX+PREV_STATE)) ||
  -                (param.startsWith(PREFIX+RENDER_PARAM)))
  +            if ((param.startsWith(PREFIX + MODE))
  +                || (param.startsWith(PREFIX + PREV_MODE))
  +                || (param.startsWith(PREFIX + STATE))
  +                || (param.startsWith(PREFIX + PREV_STATE))
  +                || (param.startsWith(PREFIX + RENDER_PARAM)))
               {
                   return true;
               }
  @@ -209,7 +227,7 @@
   
           while (keyIterator.hasNext())
           {
  -            String name = (String)keyIterator.next();
  +            String name = (String) keyIterator.next();
               if (name.startsWith(prefix))
               {
                   keyIterator.remove();
  @@ -219,37 +237,35 @@
   
       private String getActionKey(PortletWindow window)
       {
  -        return ACTION+"_"+window.getId().toString();
  +        return ACTION + "_" + window.getId().toString();
       }
   
       public PortletMode getMode(PortletWindow window)
       {
  -        String mode = (String)stateFullControlParameter.get(getModeKey(window));
  -        if (mode!=null)
  +        String mode = (String) stateFullControlParameter.get(getModeKey(window));
  +        if (mode != null)
               return new PortletMode(mode);
  -        else 
  +        else
               return PortletMode.VIEW;
       }
   
  -
  -
  -
       private String getModeKey(PortletWindow window)
       {
  -        return MODE+"_"+window.getId().toString();
  +        return MODE + "_" + window.getId().toString();
       }
   
  -    public PortletWindow getPortletWindowOfAction()
  +    public PortletWindow getPortletWindowOfAction() throws JetspeedException
       {
           Iterator iterator = getStateLessControlParameter().keySet().iterator();
  +             PortletWindow portletWindow = null;
           while (iterator.hasNext())
           {
  -            String name = (String)iterator.next();
  +            String name = (String) iterator.next();
               if (name.startsWith(ACTION))
               {
  -                String id = name.substring(ACTION.length()+1);
  +                String id = name.substring(ACTION.length() + 1);
                   /*
  -
  +                
                   TODO: BROKEN: need to go the profiler to get the profile, psml, and 
then window for an entity
                   this is normally done in the aggregator valve, need to sort out the 
sequence 
                   
  @@ -258,35 +274,50 @@
                       return ((PortletFragment)fragment).getPortletWindow();
                   }
                   */
  +
  +                StringTokenizer idTokenizer = new StringTokenizer(id, 
KEY_DELIMITER);
  +                String portletName = idTokenizer.nextToken();
  +                String sequence = idTokenizer.nextToken();
  +                String entityName = idTokenizer.nextToken();
  +
  +                PortletDefinition portletDefinition = 
JetspeedPortletRegistry.getPortletDefinitionByUniqueName(portletName);
  +                if (portletDefinition == null)
  +                {
  +                    throw new JetspeedException("Failed to load: " + portletName + 
" from registry");
  +                }                
  +
  +                portletWindow = PortletWindowFactory.getWindow(portletDefinition, 
entityName);               
  +
               }
           }
  -        return null;
  +        
  +        return portletWindow;
       }
   
       public PortletMode getPrevMode(PortletWindow window)
       {
  -        String mode = (String)stateFullControlParameter.get(getPrevModeKey(window));
  -        if (mode!=null)
  +        String mode = (String) 
stateFullControlParameter.get(getPrevModeKey(window));
  +        if (mode != null)
               return new PortletMode(mode);
  -        else 
  +        else
               return null;
       }
       private String getPrevModeKey(PortletWindow window)
       {
  -        return PREV_MODE+"_"+window.getId().toString();
  +        return PREV_MODE + "_" + window.getId().toString();
       }
   
       public WindowState getPrevState(PortletWindow window)
       {
  -        String state = 
(String)stateFullControlParameter.get(getPrevStateKey(window));
  -        if (state!=null)
  +        String state = (String) 
stateFullControlParameter.get(getPrevStateKey(window));
  +        if (state != null)
               return new WindowState(state);
  -        else 
  +        else
               return null;
       }
       private String getPrevStateKey(PortletWindow window)
       {
  -        return PREV_STATE+"_"+window.getId().toString();
  +        return PREV_STATE + "_" + window.getId().toString();
       }
   
       public Iterator getRenderParamNames(PortletWindow window)
  @@ -297,10 +328,10 @@
   
           while (keyIterator.hasNext())
           {
  -            String name = (String)keyIterator.next();
  +            String name = (String) keyIterator.next();
               if (name.startsWith(prefix))
               {
  -                returnvalue.add(name.substring(prefix.length()+1));
  +                returnvalue.add(name.substring(prefix.length() + 1));
               }
           }
   
  @@ -309,7 +340,7 @@
   
       public String[] getRenderParamValues(PortletWindow window, String paramName)
       {
  -        String encodedValues = 
(String)stateFullControlParameter.get(encodeRenderParamName(window, paramName));
  +        String encodedValues = (String) 
stateFullControlParameter.get(encodeRenderParamName(window, paramName));
           String[] values = decodeRenderParamValues(encodedValues);
           return values;
       }
  @@ -321,10 +352,10 @@
   
       public WindowState getState(PortletWindow window)
       {
  -        String state = (String)stateFullControlParameter.get(getStateKey(window));
  -        if (state!=null)
  +        String state = (String) stateFullControlParameter.get(getStateKey(window));
  +        if (state != null)
               return new WindowState(state);
  -        else 
  +        else
               return WindowState.NORMAL;
       }
   
  @@ -335,9 +366,9 @@
   
       private String getStateKey(PortletWindow window)
       {
  -        return STATE+"_"+window.getId().toString();
  +        return STATE + "_" + window.getId().toString();
       }
  -    
  +
       public Map getStateLessControlParameter()
       {
           return stateLessControlParameter;
  @@ -348,7 +379,7 @@
           Iterator iterator = stateFullControlParameter.keySet().iterator();
           while (iterator.hasNext())
           {
  -            String name = (String)iterator.next();
  +            String name = (String) iterator.next();
               if (name.startsWith(STATE))
               {
                   if 
(stateFullControlParameter.get(name).equals(WindowState.MAXIMIZED.toString()))
  @@ -362,13 +393,13 @@
   
       public void setAction(PortletWindow window)
       {
  -        
getStateFullControlParameter().put(getActionKey(window),ACTION.toUpperCase());
  +        getStateFullControlParameter().put(getActionKey(window), 
ACTION.toUpperCase());
       }
   
       public void setMode(PortletWindow window, PortletMode mode)
       {
           Object prevMode = stateFullControlParameter.get(getModeKey(window));
  -        if (prevMode!=null)
  +        if (prevMode != null)
               stateFullControlParameter.put(getPrevModeKey(window), prevMode);
           // set current mode
           stateFullControlParameter.put(getModeKey(window), mode.toString());
  @@ -376,28 +407,26 @@
   
       public void setRenderParam(PortletWindow window, String name, String[] values)
       {
  -        stateFullControlParameter.put(encodeRenderParamName(window, name), 
  -                                      encodeRenderParamValues(values) );
  +        stateFullControlParameter.put(encodeRenderParamName(window, name), 
encodeRenderParamValues(values));
       }
   
  -/*
  -    public void setRequestParam(String name, String value)
  -    {
  -        requestParameter.put(name, value );
  -    }
  -*/
  -    public void setRequestParam(String name, String[] values )
  +    /*
  +        public void setRequestParam(String name, String value)
  +        {
  +            requestParameter.put(name, value );
  +        }
  +    */
  +    public void setRequestParam(String name, String[] values)
       {
  -        requestParameter.put(name, values );
  +        requestParameter.put(name, values);
       }
   
  -
       public void setState(PortletWindow window, WindowState state)
       {
           Object prevState = stateFullControlParameter.get(getStateKey(window));
  -        if (prevState!=null)
  +        if (prevState != null)
               stateFullControlParameter.put(getPrevStateKey(window), prevState);
           stateFullControlParameter.put(getStateKey(window), state.toString());
       }
  -    
  +
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to