raphael 01/05/29 15:55:44
Modified: src/java/org/apache/jetspeed/portal/controllers
AbstractPortletController.java
RowColumnPortletController.java
SinglePortletController.java
Log:
start clean-up of controllers implementation
Revision Changes Path
1.16 +76 -171
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/AbstractPortletController.java
Index: AbstractPortletController.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/AbstractPortletController.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- AbstractPortletController.java 2001/03/07 06:45:49 1.15
+++ AbstractPortletController.java 2001/05/29 22:55:39 1.16
@@ -60,6 +60,10 @@
import org.apache.jetspeed.profiler.*;
import org.apache.jetspeed.capability.*;
import org.apache.jetspeed.util.*;
+import org.apache.jetspeed.services.Registry;
+import org.apache.jetspeed.om.newregistry.PortletControllerEntry;
+import org.apache.jetspeed.om.newregistry.MediaTypeEntry;
+import org.apache.jetspeed.util.MimeType;
//turbine support
import org.apache.turbine.util.*;
@@ -67,160 +71,59 @@
//ecs stuff
import org.apache.ecs.*;
-public abstract class AbstractPortletController implements PortletController {
+import java.util.Iterator;
- private boolean cacheable = false;
+/**
+ @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
+ @version $Id: AbstractPortletController.java,v 1.16 2001/05/29 22:55:39 raphael
Exp $
+*/
+public abstract class AbstractPortletController implements PortletController
+{
+
private String width="100%";
private PortletSet portlets = null;
- private RunData rundata = null;
private PortletControllerConfig conf = null;
/**
- Cache handle for this object
- */
- private String handle = "";
-
-
- /**
- Name for this object within the Registry
- */
- private String name = "";
-
- /**
- * Get the value of name.
- * @return value of name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Set the value of name.
- * @param name Value to assign to name.
- */
- public void setName(String name) {
-
- this.name = name;
- }
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49
taylor Exp $
- */
- public void setRunData(RunData rundata) {
- this.rundata = rundata;
- }
-
- /**
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public RunData getRunData() {
- return this.rundata;
- }
-
-
- /**
Allows the user to override the default set of portlets...
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public final void setConfig(PortletControllerConfig conf) {
+ public final void setConfig(PortletControllerConfig conf)
+ {
this.conf = conf;
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public final PortletControllerConfig getConfig() {
+ public final PortletControllerConfig getConfig()
+ {
return this.conf;
}
/**
Allows the user to override the default set of portlets...
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public final void setPortlets(PortletSet portlets) {
+ public final void setPortlets(PortletSet portlets)
+ {
this.portlets = portlets;
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public final PortletSet getPortlets() {
+ public final PortletSet getPortlets()
+ {
return this.portlets;
}
- //Cacheable interface
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public boolean isCacheable() {
- return this.cacheable;
- }
-
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public void setCacheable(boolean cacheable) {
- this.cacheable = cacheable;
- }
-
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public Expire getExpire() {
- try {
- return ExpireFactory.getExpire( null, ExpireFactory.NO_EXPIRE );
- } catch ( JetspeedException e ) {
- Log.error( e );
- return null;
- }
- }
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public final String getHandle() {
- return this.handle;
- }
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public final void setHandle( String handle ) {
- this.handle = handle;
- }
-
- /**
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
public String getWidth() {
return this.width;
}
/**
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
public void setWidth(String width) {
this.width = width;
@@ -228,9 +131,6 @@
/**
Returns the padding value between the displayed portlets
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
public int getPadding() {
int padding = 0;
@@ -247,9 +147,6 @@
/**
Sets the padding space to be put between portlets
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
public void setPadding(int padding) {
try {
@@ -263,9 +160,6 @@
/**
Sets the padding space to be put between portlets
-
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
public void setPadding(String padding) {
try {
@@ -277,79 +171,90 @@
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public void init() {
+ public void init()
+ {
+ // no specific init
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
- */
- public boolean supportsType( String mimeType ) {
- return MimeType.HTML.equals( mimeType );
- }
-
- /**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
+ @see Portlet.supportsType
*/
- public ConcreteElement getContent( RunData rundata ) {
+ public boolean supportsType( MimeType mimeType )
+ {
+ // we now need to check that the control also supports the type...
+ PortletControllerEntry entry =
+
(PortletControllerEntry)Registry.getEntry(Registry.PORTLET_CONTROLLER,
+ getConfig().getName() );
+ String baseType = mimeType.toString();
+
+ if (entry!=null)
+ {
+ Iterator i = entry.listMediaTypes();
- CapabilityMap map = CapabilityMapFactory.getCapabilityMap( rundata );
- ConcreteElement content = null;
+ while(i.hasNext())
+ {
+ String name = (String)i.next();
+ MediaTypeEntry media =
(MediaTypeEntry)Registry.getEntry(Registry.MEDIA_TYPE, name);
- if ( MimeType.WML.equals( map.getPreferredType() ) ) {
- content = getWMLContent();
- } else if ( MimeType.XML.equals( map.getPreferredType() ) ) {
- content = getXMLContent();
- } else {
- content = getHTMLContent();
- }
-
- if ( content == null ) {
- content = new ElementContainer();
+ if (media != null)
+ {
+ if (baseType.equals(media.getMimeType()))
+ {
+ return true;
+ }
+ }
+ }
}
- return content;
+ return false;
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- protected ConcreteElement getWMLContent() {
+ public ConcreteElement getContent( RunData rundata )
+ {
+
+ CapabilityMap map = CapabilityMapFactory.getCapabilityMap( rundata );
+ ConcreteElement content = null;
- return null;
+ if ( MimeType.WML.equals( map.getPreferredType() ) )
+ {
+ content = getWMLContent( portlets, rundata );
+ }
+ else if ( MimeType.HTML.equals( map.getPreferredType() ) )
+ {
+ content = getHTMLContent( portlets, rundata );
+ }
+ else
+ {
+ // we don't know how to handle this type, maybe a subclass knows
+ content = getContent( portlets, rundata );
+ }
+ return content;
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- protected ConcreteElement getXMLContent() {
- return null;
+ protected ConcreteElement getContent( PortletSet set, RunData data )
+ {
+ return new ElementContainer();
}
/**
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- protected ConcreteElement getHTMLContent() {
- return null;
+ protected ConcreteElement getWMLContent( PortletSet set, RunData data )
+ {
+ return new ElementContainer();
}
/**
- @see Portlet.supportsType
- @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
- @version $Id: AbstractPortletController.java,v 1.15 2001/03/07 06:45:49 taylor
Exp $
*/
- public boolean supportsType( MimeType mimeType ) {
- return MimeType.HTML.equals( mimeType );
+ protected ConcreteElement getHTMLContent( PortletSet set, RunData data )
+ {
+ return new ElementContainer();
}
-
}
1.14 +5 -24
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/RowColumnPortletController.java
Index: RowColumnPortletController.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/RowColumnPortletController.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- RowColumnPortletController.java 2001/03/07 06:45:55 1.13
+++ RowColumnPortletController.java 2001/05/29 22:55:40 1.14
@@ -84,7 +84,7 @@
</p>
@author <a href="mailto:[EMAIL PROTECTED]">Rapha�l Luta</a>
-@version $Id: RowColumnPortletController.java,v 1.13 2001/03/07 06:45:55 taylor Exp
$
+@version $Id: RowColumnPortletController.java,v 1.14 2001/05/29 22:55:40 raphael
Exp $
*/
public class RowColumnPortletController extends AbstractPortletController {
@@ -102,34 +102,14 @@
this.size = new Vector();
}
-
- /**
- Method checks, which MimeType is requested. According to the requested
MimeTyp
- the appropriate content is returned, i.e. either WML or html content.
- @param rundata RunData object from Turbine.
- */
- public ConcreteElement getContent( RunData rundata ){
- CapabilityMap cm = CapabilityMapFactory.getCapabilityMap( rundata );
-
- if ( cm.getPreferredType().equals( MimeType.HTML ) ){
- return getHTMLContent( this.getPortlets() , rundata );
- }
- else if ( cm.getPreferredType().equals( MimeType.WML ) ){
- return getWMLContent( this.getPortlets() , rundata );
- }
- else{
- Log.error("The Given MIME-Type is not supportet for this
controller");
- return null;
- }
- }
-
/**
Method returns content for html in case that the requested MimeTyp is html.
@param ps PortletSet, including all portlets to be rendered.
@param rundata RunData object from Turbine.
@return ConcreteElement object, including the complete ECS code for
rendering the html page.
*/
- private ConcreteElement getHTMLContent( PortletSet ps , RunData rundata ){
+ protected ConcreteElement getHTMLContent( PortletSet ps , RunData rundata )
+ {
ElementContainer base = new ElementContainer();
PortletSet portlets = getPortlets();
@@ -275,7 +255,8 @@
@param rundata RunData object from Turbine.
@return ConcreteElement object, including the complete ECS code for
rendering the WML page.
*/
- public ConcreteElement getWMLContent( PortletSet ps , RunData rundata ){
+ protected ConcreteElement getWMLContent( PortletSet ps , RunData rundata )
+ {
Enumeration en = ps.getPortlets();
ElementContainer ec = new ElementContainer();
1.5 +2 -22
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/SinglePortletController.java
Index: SinglePortletController.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controllers/SinglePortletController.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SinglePortletController.java 2001/03/07 06:45:56 1.4
+++ SinglePortletController.java 2001/05/29 22:55:41 1.5
@@ -89,32 +89,12 @@
{
/**
- Method checks, which MimeTyp is requested. According to this MimeTyp, the
- appropriate method is invoked (getWMLContent() or getHTMLContent() ).
- @param rundata RunData object from Turbine.
- @return ConcreteElement object, including the complete ECS code for
rendering the page.
- */
- public ConcreteElement getContent( RunData rundata ){
- CapabilityMap cm = CapabilityMapFactory.getCapabilityMap( rundata );
- if ( cm.getPreferredType().equals( MimeType.HTML ) ){
- return getHTMLContent( this.getPortlets() , rundata );
- }
- else if ( cm.getPreferredType().equals( MimeType.WML ) ){
- return getWMLContent( this.getPortlets() , rundata );
- }
- else{
- Log.error("The Given MIME-Type is not supportet for this
controller");
- return null;
- }
- }
-
- /**
Method returns content for html, in case that the requested MimeTyp is
html.
@param ps PortletSet, including all portlets to be rendered.
@param rundata RunData object from Turbine.
@return ConcreteElement object, including the complete ECS code for
rendering the html page.
*/
- private ConcreteElement getHTMLContent( PortletSet ps , RunData rundata ){
+ protected ConcreteElement getHTMLContent( PortletSet ps , RunData rundata ){
ElementContainer base = new ElementContainer();
PortletSet portlets = getPortlets();
@@ -148,7 +128,7 @@
@param rundata RunData object from Turbine.
@return ConcreteElement object, including the complete ECS code for
rendering the WML page.
*/
- public ConcreteElement getWMLContent( PortletSet ps , RunData rundata ){
+ protected ConcreteElement getWMLContent( PortletSet ps , RunData rundata ){
Enumeration en = ps.getPortlets();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]