You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/06/10 22:15:11 UTC

cvs commit: jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl PortletWindowAccessorImpl.java

weaver      2004/06/10 13:15:11

  Modified:    portal/src/java/org/apache/jetspeed/container/window/impl
                        PortletWindowAccessorImpl.java
  Log:
  Moved some logic out of WindowAccessorImpl into PortletEntityAccessComponentImpl.
  It is now very easy to generate PortletEntities from an existing Fragment.  This negates
  the need to pre-load portlet entites in the quickStart goal.
  
  Revision  Changes    Path
  1.2       +26 -36    jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl/PortletWindowAccessorImpl.java
  
  Index: PortletWindowAccessorImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/container/window/impl/PortletWindowAccessorImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PortletWindowAccessorImpl.java	15 Mar 2004 19:38:00 -0000	1.1
  +++ PortletWindowAccessorImpl.java	10 Jun 2004 20:15:11 -0000	1.2
  @@ -15,22 +15,23 @@
    */
   package org.apache.jetspeed.container.window.impl;
   
  +import groovy.swing.impl.Startable;
  +
   import java.util.HashMap;
   import java.util.Map;
   
  -import groovy.swing.impl.Startable;
  -
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   import org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent;
  +import org.apache.jetspeed.components.portletentity.PortletEntityNotGeneratedException;
  +import org.apache.jetspeed.components.portletentity.PortletEntityNotStoredException;
   import org.apache.jetspeed.components.portletregistry.PortletRegistryComponent;
   import org.apache.jetspeed.container.window.PortletWindowAccessor;
  +import org.apache.jetspeed.om.common.portlet.MutablePortletEntity;
   import org.apache.jetspeed.om.page.Fragment;
   import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
   import org.apache.jetspeed.util.JetspeedObjectID;
   import org.apache.pluto.om.common.ObjectID;
  -import org.apache.pluto.om.entity.PortletEntity;
  -import org.apache.pluto.om.portlet.PortletDefinition;
   import org.apache.pluto.om.window.PortletWindow;
   import org.apache.pluto.om.window.PortletWindowCtrl;
   import org.apache.pluto.om.window.PortletWindowList;
  @@ -95,22 +96,30 @@
       private PortletWindow createPortletWindow(Fragment fragment, String principal)
       {
           PortletWindow portletWindow = new PortletWindowImpl(fragment.getId());
  -        
  -        PortletEntity portletEntity = entityAccessor.getPortletEntity(makeEntityKey(fragment, principal));
  +                
  +        MutablePortletEntity portletEntity = entityAccessor.getPortletEntityForFragment(fragment, principal);
           if (portletEntity == null)
           {
  -            PortletDefinition pd = registry.getPortletDefinitionByUniqueName(fragment.getName());
  -            if (pd == null)
  +            log.info("No portlet entity defined for fragment ID "+fragment.getId()+" attempting to auto-generate...");
  +            try
               {
  -                log.error("Failed to retrieve Portlet Definition for " + fragment.getName());
  -                return null;
  +                portletEntity = entityAccessor.generateEntityFromFragment(fragment, principal);
  +                entityAccessor.storePortletEntity(portletEntity);
               }
  -            portletEntity = entityAccessor.newPortletEntityInstance(pd);
  -            if (portletEntity == null)
  +            catch (PortletEntityNotGeneratedException e)
               {
  -                log.error("Failed to create Portlet Entity for " + fragment.getName());
  -                return null;
  -            }            
  +                log.error("Error generating new PortletEntity: "+e.toString(), e);                
  +            }
  +            catch (PortletEntityNotStoredException e)
  +            {
  +                log.error("Error storing new PortletEntity: "+e.toString(), e);
  +            }
  +            
  +            if(portletEntity == null)
  +            {
  +                throw new IllegalStateException("Unable to generate portlet entity.");
  +            }
  +            
           }
           ((PortletWindowCtrl) portletWindow).setPortletEntity(portletEntity);
           PortletWindowList windowList = portletEntity.getPortletWindowList();
  @@ -118,28 +127,9 @@
           
           windows.put(fragment.getId(), portletWindow);
           
  -        try
  -        {
  -            entityAccessor.storePortletEntity(portletEntity);
  -        }
  -        catch (Exception e)
  -        {
  -            log.error("Error persisting new portletEntity", e);
  -        }
  +        
           
           return portletWindow;
  -    }
  -    
  -    private ObjectID makeEntityKey(Fragment fragment, String principal)
  -    {
  -        StringBuffer key = new StringBuffer();
  -        if (principal != null && principal.length() > 0)
  -        {
  -            key.append(principal);
  -            key.append("/");
  -        }
  -        key.append(fragment.getId());
  -        return JetspeedObjectID.createFromString(key.toString());
       }
       
       private PortletWindow getWindowFromCache(Fragment fragment)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org