morciuch    2005/05/19 08:59:40

  Modified:    src/java/org/apache/jetspeed/util/template JetspeedTool.java
  Log:
  Applied missed patch for parameter styles object model change (see issue 
http://issues.apache.org/jira/browse/JS1-543)
  
  Revision  Changes    Path
  1.44      +73 -61    
jakarta-jetspeed/src/java/org/apache/jetspeed/util/template/JetspeedTool.java
  
  Index: JetspeedTool.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/template/JetspeedTool.java,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- JetspeedTool.java 4 May 2005 20:26:37 -0000       1.43
  +++ JetspeedTool.java 19 May 2005 15:59:40 -0000      1.44
  @@ -843,6 +843,46 @@
                           new PortalResource(entry, param),
                           JetspeedSecurity.PERMISSION_CUSTOMIZE);
   
  +                             // If security does not allow access to 
specific parameter, allow to provide a fallback parameter
  +                             if (canAccess == false)
  +                {
  +                    ParameterStyle ps = param.getParameterStyle();
  +                    String parmNameNoAccess = null;
  +                    if (ps == null)
  +                    {
  +                        parmNameNoAccess =
  +                            portlet.getPortletConfig().getInitParameter(
  +                                parmName + ".style.no-access");
  +                    }
  +                    else
  +                    {
  +                        StyleOption noaccess = ps.getOption("no-access");
  +                        if (noaccess != null)
  +                        {
  +                            parmNameNoAccess = noaccess.getValue();
  +                        }
  +                    }
  +                    if (parmNameNoAccess != null)
  +                    {
  +                        if (logger.isDebugEnabled())
  +                        {
  +                            logger.debug(
  +                                "JetspeedTool: access to parm ["
  +                                    + parmName
  +                                    + "] disallowed, redirecting to parm ["
  +                                    + parmNameNoAccess
  +                                    + "]");
  +                        }
  +                        parmName = parmNameNoAccess;
  +                                             param = 
entry.getParameter(parmName);
  +                                             if (param == null)
  +                                             {
  +                                                     throw new Exception(
  +                                                             "No access 
parameter [" + parmName + "] was not found");
  +                                             }
  +                    }
  +                }
  +
                   // Set parameter options        
                   Map portletParms = null;
                   String parmStyle = null;
  @@ -857,20 +897,24 @@
                   }
                   else
                   {
  -                     parmStyle = ps.getName();
  -                     portletParms = new Hashtable();
  -                     for (Iterator it = ps.getOptions().iterator(); 
it.hasNext();)
  -                     { 
  -                             StyleOption so = (StyleOption) it.next();
  -                             portletParms.put(parmName + ".style." + 
so.getName(), so.getValue());
  -                     }
  -                     String template = ps.getTemplate(); 
  -                     if (StringUtils.isNotEmpty(template))
  -                     {
  -                                             portletParms.put(
  -                                                     
parmName.concat(".style.template"),
  -                                                     template);
  -                     }
  +                    parmStyle = ps.getName();
  +                    portletParms = new Hashtable();
  +                    for (Iterator it = ps.getOptions().iterator();
  +                        it.hasNext();
  +                        )
  +                    {
  +                        StyleOption so = (StyleOption) it.next();
  +                        portletParms.put(
  +                            parmName + ".style." + so.getName(),
  +                            so.getValue());
  +                    }
  +                    String template = ps.getTemplate();
  +                    if (StringUtils.isNotEmpty(template))
  +                    {
  +                        portletParms.put(
  +                            parmName.concat(".style.template"),
  +                            template);
  +                    }
                   }
   
                   // Support for template name style
  @@ -910,52 +954,20 @@
                       }
                   }
   
  -                if (canAccess)
  -                {
  -                    if (parmStyle != null)
  -                    {
  -                        result =
  -                            ParameterLoader.getInstance().eval(
  -                                data,
  -                                parmStyle,
  -                                parmName,
  -                                parmValue,
  -                                portletParms);
  -                    }
  -                    else
  -                    {
  -                        throw new Exception("Parameter style name was not 
specified");
  -                    }
  -                }
  -                else
  -                {
  -                    // If security does not allow access to specific 
parameter, allow to provide a fallback parameter
  -                    String parmNameNoAccess =
  -                        portlet.getPortletConfig().getInitParameter(
  -                            parmName + ".style.no-access");
  -                    if (parmNameNoAccess != null)
  -                    {
  -                        if (logger.isDebugEnabled())
  -                        {
  -                            logger.debug(
  -                                "JetspeedTool: access to parm ["
  -                                    + parmName
  -                                    + "] disallowed, redirecting to parm ["
  -                                    + parmNameNoAccess
  -                                    + "]");
  -                        }
  -                        String parmStyleNoAccess =
  -                            portlet.getPortletConfig().getInitParameter(
  -                                parmNameNoAccess + ".style");
  -                        result =
  -                            ParameterLoader.getInstance().eval(
  -                                data,
  -                                parmStyleNoAccess,
  -                                parmNameNoAccess,
  -                                parmValue,
  -                                portletParms);
  -                    }
  -                }
  +                             if (parmStyle != null)
  +                             {
  +                                     result =
  +                                             
ParameterLoader.getInstance().eval(
  +                                                     data,
  +                                                     parmStyle,
  +                                                     parmName,
  +                                                     parmValue,
  +                                                     portletParms);
  +                             }
  +                             else
  +                             {
  +                                     throw new Exception("Parameter style 
name was not specified");
  +                             }
               }
           }
           catch (Exception e)
  
  
  

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

Reply via email to