shesmer 01/05/04 04:29:46
Modified: src/java/org/apache/jetspeed/portal/controls Tag:
portlet_api FullScreenControl.java
TitleControl.java TitlePortletControl.java
Log:
portlet api 2 implementation
Revision Changes Path
No revision
No revision
1.9.2.1 +105 -2
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/FullScreenControl.java
Index: FullScreenControl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/FullScreenControl.java,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -r1.9 -r1.9.2.1
--- FullScreenControl.java 2001/03/12 09:26:42 1.9
+++ FullScreenControl.java 2001/05/04 11:29:38 1.9.2.1
@@ -65,7 +65,14 @@
import org.apache.jetspeed.util.*;
import org.apache.jetspeed.portal.*;
import org.apache.jetspeed.capability.*;
+import org.apache.jetspeed.services.resources.JetspeedResources;
+import org.apache.jetspeed.portletcontainer.om.portletregistry.PortletEntry;
+import org.apache.jetspeed.services.portletregistry.*;
+import org.apache.jetspeed.portletcontainer.om.clientregistry.ClientEntry;
+import org.apache.jetspeed.portletcontainer.om.common.MimetypeMap;
+import org.apache.jetspeed.services.clientregistry.*;
+
//turbine
import org.apache.turbine.util.*;
@@ -216,7 +223,8 @@
private ConcreteElement[] getPortletOptions( RunData rundata ) {
Vector v = new Vector();
-
+ ContentURI content = new ContentURI( rundata );
+
int type = URILookup.getURIType(this.getPortlet(), rundata);
int subtype = URILookup.SUBTYPE_NONE;
try {
@@ -248,7 +256,102 @@
}
}
+// SHESMER-AGGR-PAPI2 - BEGIN
+ boolean supportsHelp = false;
+ boolean supportsMax = false;
+ ClientEntry clientEntry =
ClientRegistryAccess.findEntry(rundata.getUserAgent());
+ PortletEntry portletEntry =
PortletRegistryAccess.getPortlet(this.getPortlet().getName());
+ Enumeration modes = portletEntry.getSupportedModes(clientEntry);
+ while (modes.hasMoreElements()) {
+ org.apache.jetspeed.portlet.Portlet.Mode mode =
+ (org.apache.jetspeed.portlet.Portlet.Mode)modes.nextElement();
+ if (mode.equals(org.apache.jetspeed.portlet.Portlet.Mode.HELP)) {
+ supportsHelp = true;
+ break;
+ }
+ }
+ Enumeration states = portletEntry.getSupportedStates();
+ while (states.hasMoreElements()) {
+ org.apache.jetspeed.portlet.PortletWindow.State state =
+
(org.apache.jetspeed.portlet.PortletWindow.State)states.nextElement();
+ if
(state.equals(org.apache.jetspeed.portlet.PortletWindow.State.MAXIMIZED)) {
+ supportsMax = true;
+ break;
+ }
+ }
+ if (type == URILookup.TYPE_HELP) {
+ if (supportsHelp) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HOME,
+ URILookup.SUBTYPE_MAXIMIZE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
+ JetspeedResources.getString(
+ JetspeedResources.CONTENT_ROOT_URL_KEY, "" ) +
"images/nohelp.gif" ) )
+ .setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ if (supportsMax) {
+ try {
+ A max = new A(
+ URILookup.getURI( URILookup.TYPE_HELP,
+ URILookup.SUBTYPE_RESTORE,
+ this.getPortlet(),
+ rundata )
+ ).addElement( new IMG( RESTORE_IMAGE
).setBorder( 0 ) );
+
+ v.addElement( max );
+ }
+ catch (JetspeedException e) {
+ Log.error(e.getMessage());
+ }
+ }
+ }
+ else {
+ if (supportsHelp) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HELP,
+ URILookup.SUBTYPE_MAXIMIZE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
+ JetspeedResources.getString(
+ JetspeedResources.CONTENT_ROOT_URL_KEY, "" ) +
"images/help.gif" ) )
+ .setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ if (supportsMax) {
+ try {
+ A max = new A(
+ URILookup.getURI( URILookup.TYPE_HOME,
+ URILookup.SUBTYPE_RESTORE,
+ this.getPortlet(),
+ rundata )
+ ).addElement( new IMG( RESTORE_IMAGE
).setBorder( 0 ) );
+
+ v.addElement( max );
+ }
+ catch (JetspeedException e) {
+ Log.error(e.getMessage());
+ }
+ }
+ }
+// END
+/* old source
try {
String str = RESTORE_IMAGE;
A max = new A(
@@ -263,7 +366,7 @@
catch (JetspeedException e) {
Log.error(e.getMessage());
}
-
+*/
}
ConcreteElement[] elements = new ConcreteElement[v.size()];
1.8.2.1 +2 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/TitleControl.java
Index: TitleControl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/TitleControl.java,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -r1.8 -r1.8.2.1
--- TitleControl.java 2001/03/12 09:26:42 1.8
+++ TitleControl.java 2001/05/04 11:29:39 1.8.2.1
@@ -82,7 +82,7 @@
@author <a href="mailto:[EMAIL PROTECTED]">Sascha Alda</a>
@author <a href="mailto:[EMAIL PROTECTED]">Stephan Hesmer</a>
@author <a href="mailto:[EMAIL PROTECTED]">Santiago Gala</a>
- @version $Id: TitleControl.java,v 1.8 2001/03/12 09:26:42 sgala Exp $
+ @version $Id: TitleControl.java,v 1.8.2.1 2001/05/04 11:29:39 shesmer Exp $
*/
public class TitleControl extends PortletControl {
@@ -179,6 +179,7 @@
URILookup.getURI(
URILookup.TYPE_HOME,
URILookup.SUBTYPE_MAXIMIZE,
getName(),
+ (String)null,
rundata ) )
.addElement( getTitle() ) ) );
}
1.15.2.1 +125 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/TitlePortletControl.java
Index: TitlePortletControl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/TitlePortletControl.java,v
retrieving revision 1.15
retrieving revision 1.15.2.1
diff -u -r1.15 -r1.15.2.1
--- TitlePortletControl.java 2001/03/12 09:26:43 1.15
+++ TitlePortletControl.java 2001/05/04 11:29:40 1.15.2.1
@@ -64,6 +64,11 @@
import org.apache.jetspeed.capability.*;
import org.apache.jetspeed.services.resources.JetspeedResources;
+import org.apache.jetspeed.portletcontainer.om.portletregistry.*;
+import org.apache.jetspeed.services.portletregistry.*;
+import org.apache.jetspeed.portletcontainer.om.clientregistry.*;
+import org.apache.jetspeed.services.clientregistry.*;
+
//turbine
import org.apache.turbine.util.*;
@@ -80,7 +85,7 @@
@author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
@author <a href="mailto:[EMAIL PROTECTED]">Rapha�l Luta</a>
-@version $Id: TitlePortletControl.java,v 1.15 2001/03/12 09:26:43 sgala Exp $
+@version $Id: TitlePortletControl.java,v 1.15.2.1 2001/05/04 11:29:40 shesmer Exp $
*/
public class TitlePortletControl extends PortletControl {
@@ -157,7 +162,7 @@
Vector v = new Vector();
ContentURI content = new ContentURI( rundata );
-
+ /* SHESMER-AGGR-PAPI2 - do not allow info anymore
if ( this.getPortlet().getAllowEdit( rundata ) ) {
try
@@ -177,7 +182,124 @@
}
+*/
+
+// SHESMER-AGGR-PAPI2 - BEGIN
+ boolean supportsPersonalize = false;
+ boolean supportsHelp = false;
+ boolean supportsMax = false;
+ ClientEntry clientEntry =
ClientRegistryAccess.findEntry(rundata.getUserAgent());
+ PortletEntry portletEntry =
PortletRegistryAccess.getPortlet(this.getPortlet().getName());
+ Enumeration modes = portletEntry.getSupportedModes(clientEntry);
+ while (modes.hasMoreElements()) {
+ org.apache.jetspeed.portlet.Portlet.Mode mode =
+ (org.apache.jetspeed.portlet.Portlet.Mode)modes.nextElement();
+ if (mode==org.apache.jetspeed.portlet.Portlet.Mode.HELP) supportsHelp =
true;
+ if (mode==org.apache.jetspeed.portlet.Portlet.Mode.PERSONALIZE)
supportsPersonalize = true;
+ }
+ Enumeration states = portletEntry.getSupportedStates();
+ while (states.hasMoreElements()) {
+ org.apache.jetspeed.portlet.PortletWindow.State state =
+
(org.apache.jetspeed.portlet.PortletWindow.State)states.nextElement();
+ if
(state.equals(org.apache.jetspeed.portlet.PortletWindow.State.MAXIMIZED)) {
+ supportsMax = true;
+ break;
+ }
+ }
+
+ if ((supportsPersonalize) &&
+ (rundata.getUser().hasLoggedIn())) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_EDIT_PORTLET,
+ URILookup.SUBTYPE_NONE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
+ JetspeedResources.getString(
+ JetspeedResources.CONTENT_ROOT_URL_KEY, "" ) +
"images/edit.gif" ) )
+ .setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+
+ if (URILookup.getURIType(this.getPortlet(),rundata)==URILookup.TYPE_HELP) {
+ if (supportsHelp) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HOME,
+ URILookup.SUBTYPE_NONE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
+ JetspeedResources.getString(
+ JetspeedResources.CONTENT_ROOT_URL_KEY, "" ) +
"images/nohelp.gif" ) )
+ .setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ if (supportsMax) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HELP,
+ URILookup.SUBTYPE_MAXIMIZE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
JetspeedResources.MAX_IMAGE ) ).setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ }
+ else {
+ if (supportsHelp) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HELP,
+ URILookup.SUBTYPE_NONE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
+ JetspeedResources.getString(
+ JetspeedResources.CONTENT_ROOT_URL_KEY, "" ) +
"images/help.gif" ) )
+ .setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ if (supportsMax) {
+ try
+ {
+ A max = new A( URILookup.getURI( URILookup.TYPE_HOME,
+ URILookup.SUBTYPE_MAXIMIZE,
+ this.getPortlet(),
+ rundata ) )
+ .addElement( new IMG( content.getURI(
JetspeedResources.MAX_IMAGE ) ).setBorder( 0 ) );
+ v.addElement( max );
+ }
+ catch (JetspeedException e)
+ {
+ Log.note(e.getMessage());
+ }
+ }
+ }
+// END
+/* old source
if ( this.getPortlet().getAllowMaximize( rundata ) ) {
try
@@ -196,7 +318,7 @@
}
-
+*/
ConcreteElement[] elements = new ConcreteElement[v.size()];
v.copyInto(elements);
return elements;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]