taylor      2004/11/12 11:35:46

  Modified:    
portals-bridges/frameworks/src/java/org/apache/portals/bridges/frameworks
                        Lookup.java GenericFrameworkPortlet.java
  Log:
  - add bean parameter to actions
  - support for isNew for typical form beans
  
  Revision  Changes    Path
  1.2       +2 -1      
jakarta-jetspeed-2/portals-bridges/frameworks/src/java/org/apache/portals/bridges/frameworks/Lookup.java
  
  Index: Lookup.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portals-bridges/frameworks/src/java/org/apache/portals/bridges/frameworks/Lookup.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Lookup.java       12 Nov 2004 06:28:56 -0000      1.1
  +++ Lookup.java       12 Nov 2004 19:35:46 -0000      1.2
  @@ -25,4 +25,5 @@
   public interface Lookup
   {
       boolean lookup(String key);
  +    boolean isNew();
   }
  
  
  
  1.8       +33 -20    
jakarta-jetspeed-2/portals-bridges/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java
  
  Index: GenericFrameworkPortlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portals-bridges/frameworks/src/java/org/apache/portals/bridges/frameworks/GenericFrameworkPortlet.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- GenericFrameworkPortlet.java      12 Nov 2004 06:28:56 -0000      1.7
  +++ GenericFrameworkPortlet.java      12 Nov 2004 19:35:46 -0000      1.8
  @@ -56,6 +56,7 @@
    */
   public class GenericFrameworkPortlet extends GenericVelocityPortlet
   {
  +
       /**
        * Init Parameter: default spring configuration property
        */
  @@ -69,11 +70,12 @@
       private static final String PREFS_SUFFIX = ".prefs";
   
       private static final String SESSION_ERROR_MESSAGES = 
"portals.bridges.framework.errors";
  +
       /**
        * Action signature for calling velocity portlet actions
        */
       private static final Class[] VELOCITY_PORTLET_ACTION_SIGNATURE =
  -    { ActionRequest.class, ActionResponse.class};
  +    { ActionRequest.class, ActionResponse.class, Object.class};
   
       private static PortletApplicationModel model = null;
   
  @@ -87,7 +89,7 @@
       {
           model.setExternalSupport(map);
       }
  -    
  +
       public void init(PortletConfig config) throws PortletException
       {
           super.init(config);
  @@ -141,7 +143,7 @@
           if (errors.isEmpty())
           {
               
request.getPortletSession().removeAttribute(SESSION_ERROR_MESSAGES, 
PortletSession.PORTLET_SCOPE);
  -            
  +
               // (4) execute the velocity action
               String action = 
request.getParameter(FrameworkConstants.BRIDGES_ACTION);
               if (null == action)
  @@ -157,7 +159,7 @@
               else
               {
                   // call the specified action in the post params
  -                String actionForward = invokeVelocityPortletAction(action, 
request, response);
  +                String actionForward = invokeVelocityPortletAction(action, 
request, response, bean);
                   forward = model.getForward(actionForward);
               }
           }
  @@ -327,7 +329,8 @@
                   if (view == null || view.equals(this.getDefaultViewPage()))
                   {
                       // clear it
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -339,7 +342,8 @@
                   if (view == null || view.equals(this.getDefaultEditPage()))
                   {
                       // clear it
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -350,7 +354,8 @@
               {
                   if (view == null || view.equals(this.getDefaultHelpPage()))
                   {
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -365,7 +370,8 @@
                   if (view == null || view.equals(this.getDefaultViewPage()))
                   {
                       // clear it
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_VIEW_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -377,7 +383,8 @@
                   if (view == null || view.equals(this.getDefaultEditPage()))
                   {
                       // clear it
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_EDIT_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -388,7 +395,8 @@
               {
                   if (view == null || view.equals(this.getDefaultHelpPage()))
                   {
  -                    
response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); 
//(String) null);
  +                    
response.setRenderParameter(FrameworkConstants.VIEW_HELP_MODE, view); //(String)
  +                                                                             
             // null);
                   }
                   else
                   {
  @@ -402,7 +410,7 @@
       {
   
           // try to get the bean from the session first
  -        Object bean = getBeanFromSession(request, mb); 
  +        Object bean = getBeanFromSession(request, mb);
           if (bean == null)
           {
               bean = model.createBean(mb);
  @@ -472,14 +480,14 @@
        * 
        * @param methodName
        */
  -    protected String invokeVelocityPortletAction(String methodName, 
ActionRequest request, ActionResponse response)
  -            throws PortletException
  +    protected String invokeVelocityPortletAction(String methodName, 
ActionRequest request, ActionResponse response,
  +            Object bean) throws PortletException
       {
           try
           {
               Method method = this.getClass().getMethod(methodName, 
VELOCITY_PORTLET_ACTION_SIGNATURE);
               Object[] parameters =
  -            { request, response};
  +            { request, response, bean};
               String result = (String) method.invoke(this, parameters);
               return result;
           }
  @@ -523,9 +531,10 @@
               break;
           }
           putRequestVariable(request, FrameworkConstants.FORWARD_TOOL, new 
Forwarder(model, request, response));
  -        Map errors = 
(Map)request.getPortletSession().getAttribute(SESSION_ERROR_MESSAGES, 
PortletSession.PORTLET_SCOPE);
  +        Map errors = (Map) 
request.getPortletSession().getAttribute(SESSION_ERROR_MESSAGES,
  +                PortletSession.PORTLET_SCOPE);
           if (errors != null)
  -        {            
  +        {
               putRequestVariable(request, "ERRORS", errors);
           }
           request.setAttribute(FrameworkConstants.MODEL_TOOL, model);
  @@ -538,8 +547,13 @@
       private void beanToContext(RenderRequest request, String view, ModelBean 
mb)
       {
           Object bean;
  +
  +        String key = null;
  +        if (mb.getLookupKey() != null)
  +        {
  +            key = (String) request.getAttribute(mb.getLookupKey());
  +        }
           
  -        String key = (String)request.getAttribute(mb.getLookupKey());
           if (key != null)
           {
               bean = model.lookupBean(mb, key);
  @@ -569,7 +583,6 @@
           putRequestVariable(request, FrameworkConstants.PREFS_VARIABLE, bean);
       }
   
  -    
       private Object getBeanFromSession(PortletRequest request, ModelBean mb)
       {
           return 
request.getPortletSession().getAttribute(makeModelBeanKey(mb));
  @@ -582,12 +595,12 @@
               request.getPortletSession().setAttribute(makeModelBeanKey(mb), 
bean);
           }
       }
  -    
  +
       private String makeModelBeanKey(ModelBean mb)
       {
           return "ModelBean:" + mb.getBeanName();
       }
  -    
  +
       /**
        * Specific for Velocity
        * 
  
  
  

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

Reply via email to