morciuch    2002/11/27 09:56:39

  Modified:    docs/site changes.html
               src/java/org/apache/jetspeed/modules ParameterLoader.java
               src/java/org/apache/jetspeed/modules/parameters
                        VelocityParameterPresentationStyle.java
               src/java/org/apache/jetspeed/util/template JetspeedTool.java
               webapp/WEB-INF/conf admin.xreg
               webapp/WEB-INF/templates/vm/portlets/html
                        customizer-portletset.vm
               xdocs    changes.xml
  Added:       webapp/WEB-INF/templates/vm/parameters/html Button.vm
  Log:
  Access to add reference functionality on the layout customizer can now be security 
driven. This can be accomplished by adding security constraint on the "addRef" 
parameter for PortletSetCustomizer.
  
  Default behavior is that all users can add references.
  
  Revision  Changes    Path
  1.75      +6 -1      jakarta-jetspeed/docs/site/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/docs/site/changes.html,v
  retrieving revision 1.74
  retrieving revision 1.75
  diff -u -r1.74 -r1.75
  --- changes.html      25 Nov 2002 03:47:17 -0000      1.74
  +++ changes.html      27 Nov 2002 17:56:38 -0000      1.75
  @@ -5,7 +5,6 @@
           
   <!-- start the processing -->
       <!-- ====================================================================== -->
  -    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
       <!-- Main Page Section -->
       <!-- ====================================================================== -->
       <html>
  @@ -133,6 +132,12 @@
     action (add/remove/update/fix) - [Bug # xxx -] date - description (committer's 
initials) [Thanks to developer_name]
   </li>
   -->
  +<li>
  +  Add - 2002/11/27 - Presence of "Add Reference" button on the layout customizer 
can now be security driven (MO)
  +</li>
  +<li>
  +  Fixed - Bug 14772 - 2002/11/28 - Unable to use default customizer with 
VelocityPortlet (RL)
  +</li>
   <li>
     Fixed - Bug 5476 - 2002/11/24 - Localized NewUserRejected.vm and 
NewUserAwaitingAcceptance.vm (PS)
   </li>
  
  
  
  1.2       +14 -6     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/ParameterLoader.java
  
  Index: ParameterLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/ParameterLoader.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ParameterLoader.java      20 Aug 2002 18:52:29 -0000      1.1
  +++ ParameterLoader.java      27 Nov 2002 17:56:38 -0000      1.2
  @@ -87,6 +87,11 @@
       private static ParameterLoader instance = new 
ParameterLoader(JetspeedResources.getInt("parameter.cache.size", 50));
   
       /**
  +     * Logging verbosity level for debug statements (the higher the more output)
  +     */
  +    private static int verbosity = JetspeedResources.getInt("parameter.verbosity", 
1);
  +
  +    /**
        * These ctor's are private to force clients to use getInstance()
        * to access this class.
        */
  @@ -178,7 +183,7 @@
           if (cache() && this.containsKey(provider)) {
   
               prm = (ParameterPresentationStyle) this.get(provider);
  -            if (Log.getLogger().isDebugEnabled()) {
  +            if (verbosity > 0 && Log.getLogger().isDebugEnabled()) {
                   Log.debug("ParameterLoader: Serving parameter: "+provider+", 
prm="+prm+" from cache");            
               }
   
  @@ -193,13 +198,13 @@
                   // Attempt to load the presentation style
                   prm = (ParameterPresentationStyle)ab.getAssembler("parameter", 
provider);
                   if (prm == null) {
  -                    if (Log.getLogger().isDebugEnabled()) {
  +                    if (verbosity > 0 && Log.getLogger().isDebugEnabled()) {
                           Log.debug("ParameterLoader: Registering the factory");
                       }
                       ab.registerFactory("parameter", new 
ParameterPresentationStyleFactory());
                       prm = (ParameterPresentationStyle)ab.getAssembler("parameter", 
provider);
                   }
  -                if (Log.getLogger().isDebugEnabled()) {
  +                if (verbosity > 0 && Log.getLogger().isDebugEnabled()) {
                       Log.debug("ParameterLoader: Loaded parameter: "+provider+", 
prm="+prm);
                   }
               } catch (ClassCastException cce) {
  @@ -252,11 +257,14 @@
               Iterator it = parms.keySet().iterator();
               while (it.hasNext()) {
                   String parmkey = (String)it.next();
  -                //Log.debug("PortletUtils: checking parmkey ["+parmkey+"] for key 
["+key+"]");
                   if (parmkey.startsWith(key)) {
                       try {
                           String stylekey = 
parmkey.substring(parmkey.lastIndexOf(".")+1);
  -                        //Log.debug("PortletUtils: storing stylekey 
["+stylekey+"]");
  +                        if (verbosity > 1 && Log.getLogger().isDebugEnabled())
  +                        {
  +                            Log.debug("ParameterLoader: parm name [" + parmName + 
"] - storing option [" + stylekey + 
  +                                      "] with value [" + parms.get(parmkey) + "]");
  +                        }
                           result.put(stylekey, parms.get(parmkey));
                       } catch (Exception e) {
                           Log.error(e);
  
  
  
  1.3       +5 -2      
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/VelocityParameterPresentationStyle.java
  
  Index: VelocityParameterPresentationStyle.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/VelocityParameterPresentationStyle.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- VelocityParameterPresentationStyle.java   21 Nov 2002 23:49:41 -0000      1.2
  +++ VelocityParameterPresentationStyle.java   27 Nov 2002 17:56:38 -0000      1.3
  @@ -58,12 +58,13 @@
   import org.apache.turbine.util.Log;
   import org.apache.turbine.util.RunData;
   import org.apache.turbine.services.velocity.TurbineVelocity;
  -
  +import org.apache.turbine.services.localization.LocalizationTool;
   // Java stuff
   import java.util.Map;
   
   // jetspeed stuff
   import org.apache.jetspeed.services.TemplateLocator;
  +import org.apache.jetspeed.util.template.BaseJetspeedLink;
   
   // Velocity Stuff
   import org.apache.velocity.context.Context;
  @@ -116,6 +117,8 @@
           context.put("value", value);
           context.put("parms", parms);
           context.put("events", this.getJavascriptEvents());
  +        context.put("l10n", new LocalizationTool());
  +        context.put("jslink", new BaseJetspeedLink(data));
   
           try
           {
  
  
  
  1.29      +22 -3     
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.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- JetspeedTool.java 27 Nov 2002 13:46:13 -0000      1.28
  +++ JetspeedTool.java 27 Nov 2002 17:56:38 -0000      1.29
  @@ -671,10 +671,10 @@
                   boolean canAccess = JetspeedSecurity.checkPermission((JetspeedUser) 
data.getUser(), 
                                                                        new 
PortalResource(entry, param), 
                                                                        
JetspeedSecurity.PERMISSION_CUSTOMIZE);
  +                Map portletParms = portlet.getPortletConfig().getInitParameters();
  +                String parmStyle = 
portlet.getPortletConfig().getInitParameter(parmName + ".style");
                   if (canAccess)
                   {
  -                    Map portletParms = 
portlet.getPortletConfig().getInitParameters();
  -                    String parmStyle = 
portlet.getPortletConfig().getInitParameter(parmName + ".style");
                       if (parmStyle != null) 
                       {
                           result = ParameterLoader.getInstance().eval(data, 
  @@ -686,6 +686,25 @@
                       else
                       {
                           result = "<input type=\"text\" name=\"" + parmName + "\" 
value=\"" + parmValue + "\"";
  +                    }
  +                }
  +                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 (Log.getLogger().isDebugEnabled())
  +                        {
  +                            Log.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);  
              
                       }
                   }
               }
  
  
  
  1.28      +33 -24    jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg
  
  Index: admin.xreg
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- admin.xreg        15 Nov 2002 17:27:17 -0000      1.27
  +++ admin.xreg        27 Nov 2002 17:56:38 -0000      1.28
  @@ -14,14 +14,14 @@
       <classname>org.apache.jetspeed.portal.portlets.VelocityPortlet</classname>
       <parameter name="template" value="customizer-portlet"/>
       <parameter name="action" value="portlets.CustomizeAction"/>
  -    <parameter name="_security_ref" value="" type="style" hidden="false" 
cachedOnName="true" cachedOnValue="true">
  +    <parameter name="_security_ref" value="" type="style" hidden="false">
           <security-ref parent="user-view_admin-all"/>
       </parameter>
  -    <parameter name="_security_ref.style" value="RegistryEntryListBox" 
hidden="false" cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="_security_ref.style.registry" value="Security" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="_skin" value="" type="style" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="_skin.style" value="RegistryEntryListBox" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="_skin.style.registry" value="Skin" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>    
  +    <parameter name="_security_ref.style" value="RegistryEntryListBox" 
hidden="false"/>
  +    <parameter name="_security_ref.style.registry" value="Security" hidden="false"/>
  +    <parameter name="_skin" value="" type="style" hidden="false"/>
  +    <parameter name="_skin.style" value="RegistryEntryListBox" hidden="false"/>
  +    <parameter name="_skin.style.registry" value="Skin" hidden="false"/>    
       <meta-info>
         <title>Customize portlet</title>
       </meta-info>
  @@ -35,26 +35,35 @@
       <classname>org.apache.jetspeed.portal.portlets.VelocityPortlet</classname>
       <parameter name="template" value="customizer-portletset"/>
       <parameter name="action" value="portlets.CustomizeSetAction"/>
  -     <parameter name="securityRef" value="" type="style" hidden="false" 
cachedOnName="true" cachedOnValue="true">
  +     <parameter name="securityRef" value="" type="style" hidden="false">
           <security-ref parent="user-view_admin-all"/>
       </parameter>
  -    <parameter name="securityRef.style" value="RegistryEntryListBox" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="securityRef.style.registry" value="Security" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="securityRef.style.disabled-if-wml" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="securityRef.style.javascript:onchange" 
value="document.securityRefs.submit()" hidden="false" cachedOnName="true" 
cachedOnValue="true"/>
  -    <parameter name="skin" value="" type="style" hidden="false" cachedOnName="true" 
cachedOnValue="true"/>
  -    <parameter name="skin.style" value="RegistryEntryListBox" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="skin.style.registry" value="Skin" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="skin.style.disabled-if-wml" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="skin.style.javascript:onchange" 
value="document.skins.submit()" hidden="false" cachedOnName="true" 
cachedOnValue="true"/>    
  -    <parameter name="control" value="" type="style" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style" value="RegistryEntryListBox" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.registry" value="PortletControl" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.disabled-if-wml" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.select-hidden" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.select-if-simple" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.set-label" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  -    <parameter name="control.style.javascript:onchange" value="this.form.submit()" 
hidden="false" cachedOnName="true" cachedOnValue="true"/>    
  +    <parameter name="securityRef.style" value="RegistryEntryListBox" 
hidden="false"/>
  +    <parameter name="securityRef.style.registry" value="Security" hidden="false"/>
  +    <parameter name="securityRef.style.disabled-if-wml" value="true" 
hidden="false"/>
  +    <parameter name="securityRef.style.javascript:onchange" 
value="document.securityRefs.submit()" hidden="false"/>
  +    <parameter name="skin" value="" type="style" hidden="false"/>
  +    <parameter name="skin.style" value="RegistryEntryListBox" hidden="false"/>
  +    <parameter name="skin.style.registry" value="Skin" hidden="false"/>
  +    <parameter name="skin.style.disabled-if-wml" value="true" hidden="false"/>
  +    <parameter name="skin.style.javascript:onchange" 
value="document.skins.submit()" hidden="false"/>    
  +    <parameter name="control" value="" type="style" hidden="false"/>
  +    <parameter name="control.style" value="RegistryEntryListBox" hidden="false"/>
  +    <parameter name="control.style.registry" value="PortletControl" hidden="false"/>
  +    <parameter name="control.style.disabled-if-wml" value="true" hidden="false"/>
  +    <parameter name="control.style.select-hidden" value="true" hidden="false"/>
  +    <parameter name="control.style.select-if-simple" value="true" hidden="false"/>
  +    <parameter name="control.style.set-label" value="true" hidden="false"/>
  +    <parameter name="control.style.javascript:onchange" value="this.form.submit()" 
hidden="false"/>    
  +    <parameter name="addRef" value="" type="style" hidden="false"/>
  +    <parameter name="addRef.style" value="VelocityParameterPresentationStyle" 
hidden="false"/>
  +    <parameter name="addRef.style.template" value="Button.vm" hidden="false"/>
  +    <parameter name="addRef.style.no-access" value="addRefDisabled" 
hidden="false"/>         
  +    <parameter name="addRefDisabled" value="" type="style" hidden="false"/>
  +    <parameter name="addRefDisabled.style" 
value="VelocityParameterPresentationStyle" hidden="false"/>
  +    <parameter name="addRefDisabled.style.template" value="Button.vm" 
hidden="false"/>
  +    <parameter name="addRefDisabled.style.disabled" value="true" hidden="false"/>   
         
  +    <parameter name="addRefDisabled.style.no-access" value="addRefDisabled" 
hidden="false"/>    
       <meta-info>
         <title>Customize pane</title>
       </meta-info>
  
  
  
  1.1                  
jakarta-jetspeed/webapp/WEB-INF/templates/vm/parameters/html/Button.vm
  
  Index: Button.vm
  ===================================================================
  ## $Id: Button.vm,v 1.1 2002/11/27 17:56:38 morciuch Exp $
  
  ## Get button type option
  #set ($type = $parms.get("type"))
  #if (!$type)
      #set ($type = "submit")
  #end
  
  ## Get disabled option
  #set ($disabled = $parms.get("disabled"))
  #set ($disabledFlag = "")
  #if ($disabled)
      #set ($disabledFlag = "disabled")
  #end
  
  #if ($wrap-in-form)
  <form method="post" action="$form-action">
  #end 
  <input type="$type" name="$name" value="$value" $!disabledFlag #foreach($event in 
$events.keySet()) $event="$events.get($event)"#end>
  #if ($wrap-in-form)
  </form>
  #end
  
  
  
  
  1.13      +3 -3      
jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset.vm
  
  Index: customizer-portletset.vm
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset.vm,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- customizer-portletset.vm  8 Aug 2002 03:05:41 -0000       1.12
  +++ customizer-portletset.vm  27 Nov 2002 17:56:39 -0000      1.13
  @@ -36,7 +36,7 @@
         </form>
      </td>
     
  -    <td nowrap align="center" width="20%">
  +    <td nowrap align="center" width="20%">      
         #if ($!mtype) 
           <form 
action="$jslink.Template.addPathInfo("mode","addref").addQueryData('mtype', $mtype)" 
method="post">
         #else
  @@ -44,9 +44,9 @@
         #end
   
           #if ($allowportlet=="true")
  -          <input type="submit" value="$l10n.CUSTOMIZER_ADDREFERENCE" >
  +          $jetspeed.getPortletParameter($data, $customizer, "addRef", 
$l10n.CUSTOMIZER_ADDREFERENCE)
           #else
  -          <input type="submit" value="$l10n.CUSTOMIZER_ADDREFERENCE" disabled >
  +          $jetspeed.getPortletParameter($data, $customizer, "addRefDisabled", 
$l10n.CUSTOMIZER_ADDREFERENCE)
           #end
         </form>
      </td>
  
  
  
  1.96      +4 -1      jakarta-jetspeed/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v
  retrieving revision 1.95
  retrieving revision 1.96
  diff -u -r1.95 -r1.96
  --- changes.xml       27 Nov 2002 13:47:36 -0000      1.95
  +++ changes.xml       27 Nov 2002 17:56:39 -0000      1.96
  @@ -23,6 +23,9 @@
   </li>
   -->
   <li>
  +  Add - 2002/11/27 - Presence of "Add Reference" button on the layout customizer 
can now be security driven (MO)
  +</li>
  +<li>
     Fixed - Bug 14772 - 2002/11/28 - Unable to use default customizer with 
VelocityPortlet (RL)
   </li>
   <li>
  
  
  

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

Reply via email to