taylor 2004/03/29 13:38:43 Modified: src/java/org/apache/jetspeed/portal BasePortletSet.java Portlet.java src/java/org/apache/jetspeed/portal/controls VelocityPortletControl.java src/java/org/apache/jetspeed/portal/portlets AbstractPortlet.java ContainerTestPortlet.java src/java/org/apache/jetspeed/portal/security/portlets PortletWrapper.java src/java/org/apache/jetspeed/util/template JetspeedTool.java webapp/WEB-INF/conf JetspeedSecurity.properties xdocs changes.xml Log: New feature to allow portlets to control whether the portlet and decorator is viewed This required a new method on the Portlet interface, getAllowView(RunData) This new method better fills out the obsoleting api; for some reason 'view' was missing from the interface where as 'edit' and 'info' were there. Perhaps a more general solution would mirror the Portlet API and make the modes and states parameterized Revision Changes Path 1.35 +8 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/BasePortletSet.java Index: BasePortletSet.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/BasePortletSet.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- BasePortletSet.java 23 Feb 2004 04:05:35 -0000 1.34 +++ BasePortletSet.java 29 Mar 2004 21:38:42 -0000 1.35 @@ -544,6 +544,13 @@ } /** + */ + public boolean getAllowView(RunData rundata) + { + return true; + } + + /** */ public boolean getAllowMaximize(RunData rundata) { 1.48 +9 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/Portlet.java Index: Portlet.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/Portlet.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- Portlet.java 23 Feb 2004 04:05:35 -0000 1.47 +++ Portlet.java 29 Mar 2004 21:38:42 -0000 1.48 @@ -171,6 +171,14 @@ public boolean getAllowEdit( RunData rundata ); /** + <p>Return true if this portlet is allowed to be viewed in the rundata's context .</p> + + <p>Note: PortletControl implementations should pay attention to this so + that they don't allow this option if it returns false.</p> + */ + public boolean getAllowView( RunData rundata ); + + /** <p>Return true if this portlets is allowed to be maximized.</p> <p>Note: PortletControl implementations should pay attention to this so 1.30 +3 -3 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/VelocityPortletControl.java Index: VelocityPortletControl.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/VelocityPortletControl.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- VelocityPortletControl.java 29 Mar 2004 21:16:27 -0000 1.29 +++ VelocityPortletControl.java 29 Mar 2004 21:38:42 -0000 1.30 @@ -210,8 +210,8 @@ { // the portlet is state aware PortletState state = (PortletState)portlet; - boolean customized = (jdata.getMode()==jdata.CUSTOMIZE); - boolean maximized = customized||(jdata.getMode()==jdata.MAXIMIZE); + boolean customized = (jdata.getMode()==JetspeedRunData.CUSTOMIZE); + boolean maximized = customized||(jdata.getMode()==JetspeedRunData.MAXIMIZE); boolean infoAdded = false; if ( state.allowCustomize( rundata ) ) 1.65 +28 -2 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/AbstractPortlet.java Index: AbstractPortlet.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/AbstractPortlet.java,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- AbstractPortlet.java 23 Feb 2004 04:03:33 -0000 1.64 +++ AbstractPortlet.java 29 Mar 2004 21:38:42 -0000 1.65 @@ -577,10 +577,23 @@ */ public boolean getAllowEdit( RunData rundata ) { - return allowInfo( rundata ); + return allowCustomize(rundata); } /** + * Is the portled viewable. + * @param rundata The RunData object for the current request + * @return <CODE>true</CODE> Viewing is allow + * <CODE>false</CODE> Viewing is NOT alowed + * + * Override this method to control your own View behavior + */ + public boolean getAllowView( RunData rundata ) + { + return allowView( rundata ); + } + + /** * Can this portlet be maximized * @param rundata The RunData object for the current request * @return <CODE>true</CODE> Portlet can be maximized<br> @@ -729,6 +742,19 @@ return true; } + /** + * Implements the default view behavior: + * security permissions will be checked. + * + * @param rundata The RunData object for the current request + */ + public boolean allowView( RunData rundata ) + { + //Security will not allow this call to succeed if there are + //not enough permissions + return true; + } + /** * Implements the default print friendly format behavior: * security permissions will be checked. 1.9 +14 -1 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/ContainerTestPortlet.java Index: ContainerTestPortlet.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/ContainerTestPortlet.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ContainerTestPortlet.java 23 Feb 2004 04:03:33 -0000 1.8 +++ ContainerTestPortlet.java 29 Mar 2004 21:38:42 -0000 1.9 @@ -422,5 +422,18 @@ return true; } + /** + * Is the portled viewable. + * @param rundata The RunData object for the current request + * @return <CODE>true</CODE> Viewing is allow + * <CODE>false</CODE> Viewing is NOT alowed + * + * Override this method to control your own View behavior + */ + public boolean getAllowView( RunData rundata ) + { + return true; + } + } 1.25 +7 -2 jakarta-jetspeed/src/java/org/apache/jetspeed/portal/security/portlets/PortletWrapper.java Index: PortletWrapper.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/security/portlets/PortletWrapper.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- PortletWrapper.java 29 Mar 2004 21:02:29 -0000 1.24 +++ PortletWrapper.java 29 Mar 2004 21:38:43 -0000 1.25 @@ -213,7 +213,12 @@ */ public boolean getAllowView(RunData rundata) { - return checkPermission(rundata, JetspeedSecurity.PERMISSION_VIEW); + + if (checkPermission(rundata, JetspeedSecurity.PERMISSION_VIEW)) + { + return wrappedPortlet.getAllowView(rundata); + } + return false; } /** 1.38 +1 -2 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.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- JetspeedTool.java 23 Feb 2004 03:20:46 -0000 1.37 +++ JetspeedTool.java 29 Mar 2004 21:38:43 -0000 1.38 @@ -28,7 +28,6 @@ import org.apache.jetspeed.portal.PortletControl; import org.apache.jetspeed.services.PortalToolkit; import org.apache.jetspeed.services.PortletFactory; -import org.apache.jetspeed.services.PsmlManager; import org.apache.jetspeed.services.logging.JetspeedLogFactoryService; import org.apache.jetspeed.services.logging.JetspeedLogger; import org.apache.jetspeed.services.resources.JetspeedResources; 1.81 +0 -0 jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedSecurity.properties Index: JetspeedSecurity.properties =================================================================== RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/JetspeedSecurity.properties,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 1.184 +7 -1 jakarta-jetspeed/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v retrieving revision 1.183 retrieving revision 1.184 diff -u -r1.183 -r1.184 --- changes.xml 23 Mar 2004 21:12:56 -0000 1.183 +++ changes.xml 29 Mar 2004 21:38:43 -0000 1.184 @@ -39,6 +39,12 @@ </li> --> <li> + Add - - 2004/03/29 - New feature to hide portlet controls(decorators) if the portlet is not viewable (DST) +</li> +<li> + Add - - 2004/03/29 - New feature to allow portlets to control whether the portlet and decorator is viewed (DST) +</li> +<li> Add - - 2004/03/11 - Added new Email portlet (DST) </li> <li>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]