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]

Reply via email to