portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tay...@apache.org
Subject cvs commit: jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session NavigationalStateContext.java NavigationalState.java
Date Wed, 24 Mar 2004 23:31:19 GMT
taylor      2004/03/24 15:31:19

  Modified:    portal/src/java/org/apache/jetspeed/container/session/impl
                        PathNavigationalState.java
                        SessionNavigationalState.java
               portal/src/java/org/apache/jetspeed/container/session
                        NavigationalState.java
  Added:       portal/src/test/org/apache/jetspeed/containers
                        test-navstate-container.groovy
               portal/src/java/org/apache/jetspeed/container/session/impl
                        SessionNavigationalStateContext.java
                        PathNavigationalStateContext.java
               portal/src/test/org/apache/jetspeed/container/session
                        TestNavigationalState.java
               portal/src/java/org/apache/jetspeed/container/session
                        NavigationalStateContext.java
  Log:
  Start of refactoring of Navigational State and Context
  Unit test and test assembly in place
  Added Mockrunner for Servlet Mock objects in tests
  
  Goal is to replace PortalControlParameter and PortalURL with pluggable Nav State and URL
generation components and context classes
  The current implementation is very much coupled to Pluto's approach of storing nav state
in the URL using Pluto-like navstate encoding
  Plan to have 3 implementations in Jetspeed from NavState handling:
  - Pluto Paths
  - Session
  - Encrypted
  
  The NavigationalState component will eventually be capable of storing and retrieving navigational

  state on a per user/window basis, so that when a user returns to a site, the window state
can be 
  recreated on a per user basis, not per page
  
  
  PR:
  Obtained from:
  Submitted by:	
  Reviewed by:	
  CVS: ----------------------------------------------------------------------
  CVS: PR:
  CVS:   If this change addresses a PR in the problem report tracking
  CVS:   database, then enter the PR number(s) here.
  CVS: Obtained from:
  CVS:   If this change has been taken from another system, such as NCSA,
  CVS:   then name the system in this line, otherwise delete it.
  CVS: Submitted by:
  CVS:   If this code has been contributed to Apache by someone else; i.e.,
  CVS:   they sent us a patch or a new module, then include their name/email
  CVS:   address here. If this is your work then delete this line.
  CVS: Reviewed by:
  CVS:   If we are doing pre-commit code reviews and someone else has
  CVS:   reviewed your changes, include their name(s) here.
  CVS:   If you have not had it reviewed then delete this line.
  
  Revision  Changes    Path
  1.1                  jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/containers/test-navstate-container.groovy
  
  Index: test-navstate-container.groovy
  ===================================================================
  /*
   * Copyright 2000-2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  import org.picocontainer.defaults.DefaultPicoContainer
  import org.picocontainer.defaults.ConstantParameter
  import org.picocontainer.defaults.ComponentParameter
  import org.picocontainer.Parameter
  import org.apache.jetspeed.components.util.NanoQuickAssembler
   
  import org.apache.jetspeed.container.session.NavigationalState
  import org.apache.jetspeed.container.session.impl.PathNavigationalState
  
  
  // def register(container) 
  
  
  ClassLoader cl = Thread.currentThread().getContextClassLoader()
  container = new DefaultPicoContainer()
  
  
  container.registerComponentImplementation(NavigationalState, 
                                            PathNavigationalState)
  
  return container
  
  
  
  
  
  1.3       +64 -44    jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/PathNavigationalState.java
  
  Index: PathNavigationalState.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/PathNavigationalState.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PathNavigationalState.java	8 Mar 2004 00:24:16 -0000	1.2
  +++ PathNavigationalState.java	24 Mar 2004 23:31:19 -0000	1.3
  @@ -15,63 +15,83 @@
    */
   package org.apache.jetspeed.container.session.impl;
   
  -import javax.portlet.PortletMode;
  -import javax.portlet.WindowState;
  -
   import org.apache.jetspeed.container.session.NavigationalState;
  -import org.apache.pluto.om.window.PortletWindow;
  +import org.apache.jetspeed.container.session.NavigationalStateContext;
  +import org.apache.jetspeed.request.RequestContext;
   import org.picocontainer.Startable;
   
   /**
  - * PathNavigationalState
  + * PathNavigationalState is based on Pluto navigational state.
  + * All nav state is stored as path parameters in the URL.
  + * This implementation does not currently support persisting navigational state
    *
    * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
    * @version $Id$
    */
   public class PathNavigationalState implements NavigationalState, Startable
   {
  -    /* (non-Javadoc)
  -     * @see org.apache.jetspeed.container.session.NavigationalState#getState(org.apache.pluto.om.window.PortletWindow)
  -     */
  -    public WindowState getState(PortletWindow window)
  -    {
  -        // TODO Auto-generated method stub
  -        return null;
  -    }
  -    /* (non-Javadoc)
  -     * @see org.apache.jetspeed.container.session.NavigationalState#setState(org.apache.pluto.om.window.PortletWindow,
javax.portlet.WindowState)
  -     */
  -    public void setState(PortletWindow window, WindowState state)
  -    {
  -        // TODO Auto-generated method stub
  -    }
  -    /* (non-Javadoc)
  -     * @see org.apache.jetspeed.container.session.NavigationalState#getMode(org.apache.pluto.om.window.PortletWindow)
  -     */
  -    public PortletMode getMode(PortletWindow window)
  -    {
  -        // TODO Auto-generated method stub
  -        return null;
  -    }
  -    /* (non-Javadoc)
  -     * @see org.apache.jetspeed.container.session.NavigationalState#setMode(org.apache.pluto.om.window.PortletWindow,
javax.portlet.PortletMode)
  -     */
  -    public void setMode(PortletWindow window, PortletMode mode)
  -    {
  -        // TODO Auto-generated method stub
  -    }
  -    /* (non-Javadoc)
  -     * @see org.picocontainer.Startable#start()
  -     */
  +    static private final String ACTION = "ac";
  +    static private final String MODE = "md";
  +    static private final String PREFIX = "_";
  +    static private final String PREV_MODE = "pm";
  +    static private final String PREV_STATE = "ps";
  +    static private final String RENDER_PARAM = "rp";
  +    static private final String STATE = "st";
  +    static private final String KEY_DELIMITER = ":";
  +    static private final String PORTLET_ID = "pid";
  +
  +    public PathNavigationalState()
  +    {   
  +    }
  +            
       public void start()
       {
  -        // TODO Auto-generated method stub
       }
  -    /* (non-Javadoc)
  -     * @see org.picocontainer.Startable#stop()
  -     */
  +    
       public void stop()
       {
  -        // TODO Auto-generated method stub
       }
  +    
  +    public NavigationalStateContext createContext(RequestContext context)
  +    {
  +        // TODO: pool
  +        return new PathNavigationalStateContext(context);
  +    }
  +    
  +    public void storeContext(RequestContext context, NavigationalStateContext navContext)
  +    {
  +        // TODO: implement
  +    }
  +
  +    public String getActionKey()
  +    {
  +        return ACTION;
  +    }
  +
  +    public String getRenderParamKey()
  +    {
  +        return RENDER_PARAM;
  +    }
  +    
  +    public String getModeKey()
  +    {
  +        return MODE;
  +    }
  +    
  +    public String getPreviousModeKey()
  +    {
  +        return PREV_MODE;
  +    }
  +    
  +    
  +    public String getStateKey()
  +    {
  +        return STATE;
  +    }
  +    
  +    public String getPreviousStateKey()
  +    {
  +        return PREV_STATE;
  +    }
  +    
   }
  
  
  
  1.3       +43 -21    jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/SessionNavigationalState.java
  
  Index: SessionNavigationalState.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/SessionNavigationalState.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SessionNavigationalState.java	8 Mar 2004 00:24:16 -0000	1.2
  +++ SessionNavigationalState.java	24 Mar 2004 23:31:19 -0000	1.3
  @@ -15,14 +15,9 @@
    */
   package org.apache.jetspeed.container.session.impl;
   
  -import java.util.Map;
  -
  -import javax.portlet.PortletMode;
  -import javax.portlet.WindowState;
  -import javax.servlet.http.HttpSession;
  -
   import org.apache.jetspeed.container.session.NavigationalState;
  -import org.apache.pluto.om.window.PortletWindow;
  +import org.apache.jetspeed.container.session.NavigationalStateContext;
  +import org.apache.jetspeed.request.RequestContext;
   import org.picocontainer.Startable;
   
   /**
  @@ -33,14 +28,17 @@
    */
   public class SessionNavigationalState implements NavigationalState, Startable
   {
  -    HttpSession session;
  -    
  -    public SessionNavigationalState(HttpSession session)
  -    {
  -        this.session = session;
  -    }
  +    static private final String ACTION = "ac";
  +    static private final String MODE = "md";
  +    static private final String PREFIX = "_";
  +    static private final String PREV_MODE = "pm";
  +    static private final String PREV_STATE = "ps";
  +    static private final String RENDER_PARAM = "rp";
  +    static private final String STATE = "st";
  +    static private final String KEY_DELIMITER = ":";
  +    static private final String PORTLET_ID = "pid";
   
  -    public SessionNavigationalState(Map session) // we need mock objects for HTTP stuff!

  +    public SessionNavigationalState()  
       {
       }
   
  @@ -52,23 +50,47 @@
       public void stop()
       {
       }
  +
  +    public NavigationalStateContext createContext(RequestContext context)
  +    {
  +        // TODO: pool
  +        return new SessionNavigationalStateContext(context);
  +    }
  +    
  +    public void storeContext(RequestContext context, NavigationalStateContext navContext)
  +    {
  +        // TODO: implement
  +    }
       
  -    public WindowState getState(PortletWindow window)
  +    public String getActionKey()
  +    {
  +        return ACTION;
  +    }
  +
  +    public String getRenderParamKey()
       {
  -        return null;
  +        return RENDER_PARAM;
       }
       
  -    public void setState(PortletWindow window, WindowState state)
  +    public String getModeKey()
       {
  +        return MODE;
       }
       
  -    public PortletMode getMode(PortletWindow window)
  +    public String getPreviousModeKey()
  +    {
  +        return PREV_MODE;
  +    }
  +    
  +    
  +    public String getStateKey()
       {
  -        return null;
  +        return STATE;
       }
       
  -    public void setMode(PortletWindow window, PortletMode mode)
  +    public String getPreviousStateKey()
       {
  +        return PREV_STATE;
       }
       
   }
  
  
  
  1.1                  jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/SessionNavigationalStateContext.java
  
  Index: SessionNavigationalStateContext.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.container.session.impl;
  
  import javax.portlet.PortletMode;
  import javax.portlet.WindowState;
  
  import org.apache.jetspeed.container.session.NavigationalStateContext;
  import org.apache.jetspeed.request.RequestContext;
  import org.apache.pluto.om.window.PortletWindow;
  
  /**
   * SessionNavigationalStateContext
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: SessionNavigationalStateContext.java,v 1.1 2004/03/24 23:31:19 taylor Exp
$
   */
  public class SessionNavigationalStateContext
          implements
              NavigationalStateContext 
  {
      RequestContext context;
      
      public SessionNavigationalStateContext(RequestContext context)
      {
          init(context);        
      }
      
      public void init(RequestContext context)
      {
          this.context = context;
      }
      
      public WindowState getState(PortletWindow window) 
      {
          return null;
      }
      
      public void setState(PortletWindow window, WindowState state) 
      {
      }
      
      public PortletMode getMode(PortletWindow window) 
      {
          return null;
      }
      
      public void setMode(PortletWindow window, PortletMode mode) 
      {
      }
      
      public PortletMode getPreviousMode(PortletWindow window) 
      {
          return null;
      }
      
      public WindowState getPreviousState(PortletWindow window) 
      {
          return null;
      }
  }
  
  
  
  1.1                  jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/impl/PathNavigationalStateContext.java
  
  Index: PathNavigationalStateContext.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.container.session.impl;
  
  import javax.portlet.PortletMode;
  import javax.portlet.WindowState;
  
  import org.apache.jetspeed.container.session.NavigationalStateContext;
  import org.apache.jetspeed.engine.core.PortalControlParameter;
  import org.apache.jetspeed.engine.core.PortalURL;
  import org.apache.jetspeed.request.RequestContext;
  import org.apache.pluto.om.window.PortletWindow;
  
  /**
   * PathNavigationalStateContext is based on Pluto navigational state.
   * All nav state is stored as path parameters in the URL.
   * This implementation does not currently support persisting navigational state
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: PathNavigationalStateContext.java,v 1.1 2004/03/24 23:31:19 taylor Exp
$
   */
  public class PathNavigationalStateContext implements NavigationalStateContext 
  {
      RequestContext context;
      PortalURL url;
      PortalControlParameter pcp;
      
      public PathNavigationalStateContext(RequestContext context)
      {
          init(context);
      }
      
      public void init(RequestContext context)
      {
          this.context = context;
          this.url = context.getRequestedPortalURL();
          this.pcp = new PortalControlParameter(url);        
      }
      
      public WindowState getState(PortletWindow window) 
      {
          return pcp.getState(window);
      }
      
      public void setState(PortletWindow window, WindowState state) 
      {
          pcp.setState(window, state);
      }
      
      public PortletMode getMode(PortletWindow window) 
      {
          return pcp.getMode(window);
      }
      
      public void setMode(PortletWindow window, PortletMode mode) 
      {
          pcp.setMode(window, mode);
      }
      
      public PortletMode getPreviousMode(PortletWindow window) 
      {
          return pcp.getPrevMode(window);
      }
      
      public WindowState getPreviousState(PortletWindow window) 
      {
          return pcp.getPrevState(window);
      }
      
  }
  
  
  
  1.1                  jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/container/session/TestNavigationalState.java
  
  Index: TestNavigationalState.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.container.session;
  
  import javax.portlet.PortletMode;
  import javax.portlet.WindowState;
  import javax.servlet.ServletConfig;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  import junit.framework.Test;
  
  import org.apache.jetspeed.JetspeedPortalContext;
  import org.apache.jetspeed.PortalContext;
  import org.apache.jetspeed.components.AbstractComponentAwareTestCase;
  import org.apache.jetspeed.components.ComponentAwareTestSuite;
  import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
  import org.apache.jetspeed.request.JetspeedRequestContext;
  import org.apache.jetspeed.request.RequestContext;
  import org.apache.pluto.om.window.PortletWindow;
  import org.picocontainer.MutablePicoContainer;
  
  import com.mockrunner.mock.web.MockHttpServletRequest;
  import com.mockrunner.mock.web.MockHttpServletResponse;
  import com.mockrunner.mock.web.MockServletConfig;
  
  /**
   * TestPortletContainer
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: TestNavigationalState.java,v 1.1 2004/03/24 23:31:19 taylor Exp $
   */
  
  public class TestNavigationalState extends AbstractComponentAwareTestCase 
  {
      private MutablePicoContainer container;
      private NavigationalState navState;
      
      /**
       * Defines the testcase name for JUnit.
       *
       * @param name the testcase's name.
       */
      public TestNavigationalState(String name)
      {
          super(name);
      }
  
      /**
       * Start the tests.
       *
       * @param args the arguments. Not used
       */
      public static void main(String args[])
      {
          junit.awtui.TestRunner.main(new String[] { TestNavigationalState.class.getName()});
      }
  
      protected void setUp() throws Exception
      {
          super.setUp();
          container = (MutablePicoContainer) getContainer();
          assertNotNull("container is null", container);
          navState = (NavigationalState) container.getComponentInstance(NavigationalState.class);
       
      }
  
      /**
       * Creates the test suite.
       *
       * @return a test suite (<code>TestSuite</code>) that includes all methods
       *         starting with "test"
       */
      public static Test suite()
      {
          ComponentAwareTestSuite suite = new ComponentAwareTestSuite(TestNavigationalState.class);
          suite.setScript("org/apache/jetspeed/containers/test-navstate-container.groovy");
          return suite;
      }
  
      public void testBasic()
      {
          MockHttpServletRequest request = new MockHttpServletRequest();
          HttpServletResponse response = new MockHttpServletResponse();
          ServletConfig config = new MockServletConfig();
          request.setPathInfo("/stuff/");
          RequestContext context = new JetspeedRequestContext(new JetspeedPortalContext(null),

                                                          (HttpServletRequest)request, 
                                                          response, 
                                                          config);
          
          
          assertNotNull("portlet container is null", navState);
          PortletWindow window = new PortletWindowImpl("33");
          PortletWindow window2 = new PortletWindowImpl("222");
          
          NavigationalStateContext nav = navState.createContext(context);
          nav.setState(window, WindowState.MAXIMIZED);
          nav.setMode(window, PortletMode.HELP);
          
          // Check that they come out correctly
          assertTrue("window mode is not set", nav.getMode(window).equals(PortletMode.HELP));
          assertTrue("window state is not set", nav.getState(window).equals(WindowState.MAXIMIZED));
          assertTrue("window mode is not set", nav.getMode(window2).equals(PortletMode.VIEW));
          
      }
      
  }
  
  
  
  1.3       +31 -12    jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/NavigationalState.java
  
  Index: NavigationalState.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/NavigationalState.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NavigationalState.java	8 Mar 2004 00:24:25 -0000	1.2
  +++ NavigationalState.java	24 Mar 2004 23:31:19 -0000	1.3
  @@ -15,11 +15,7 @@
    */
   package org.apache.jetspeed.container.session;
   
  -import javax.portlet.PortletMode;
  -import javax.portlet.WindowState;
  -
  -// import org.apache.pluto.om.entity.PortletEntity;
  -import org.apache.pluto.om.window.PortletWindow;
  +import org.apache.jetspeed.request.RequestContext;
   
   /**
    * NavigationalState
  @@ -28,12 +24,35 @@
    * @version $Id$
    */
   public interface NavigationalState
  -{
  -    WindowState getState(PortletWindow window);
  -    
  -    void setState(PortletWindow window, WindowState state);
  +{        
  +    /**
  +     * Creates a navigational state context for the given request context.
  +     * Depending on the implementation, navigational state can be retrieved from 
  +     * a persistence store to recover the state of a page such as portlet modes 
  +     * and window states of portlets on a page.
  +     *  
  +     * @param context The request context for which this navigational state is valid.
  +     * @return A new navigational state context for the given request.
  +     */
  +    NavigationalStateContext createContext(RequestContext context);
       
  -    PortletMode getMode(PortletWindow window);
  +    /**
  +     * Save the navigational state to persistence store for the given context.
  +     *   
  +     * @param context The request context for retrieving user and other information.
  +     * @param navContext The current navigational state context for the given request.
  +     */
  +    void storeContext(RequestContext context, NavigationalStateContext navContext);
  +     
  +    /**
  +     * Keys for URL encoding
  +     * @return
  +     */
  +    String getActionKey();
  +    String getRenderParamKey();    
  +    String getModeKey();    
  +    String getPreviousModeKey();        
  +    String getStateKey();    
  +    String getPreviousStateKey();
       
  -    void setMode(PortletWindow window, PortletMode mode);
   }
  
  
  
  1.1                  jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/session/NavigationalStateContext.java
  
  Index: NavigationalStateContext.java
  ===================================================================
  /*
   * Copyright 2000-2001,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.container.session;
  
  import javax.portlet.PortletMode;
  import javax.portlet.WindowState;
  
  import org.apache.pluto.om.window.PortletWindow;
  
  /**
   * NavigationalStateContext
   *
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
   * @version $Id: NavigationalStateContext.java,v 1.1 2004/03/24 23:31:19 taylor Exp $
   */
  public interface NavigationalStateContext 
  {
      WindowState getState(PortletWindow window);
      
      void setState(PortletWindow window, WindowState state);
      
      PortletMode getMode(PortletWindow window);
      
      void setMode(PortletWindow window, PortletMode mode);
      
      PortletMode getPreviousMode(PortletWindow window);
      
      WindowState getPreviousState(PortletWindow window);
      
  }
  
  
  

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


Mime
View raw message