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]>