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:05:06 UTC

cvs commit: jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity PortletEntityAccessComponentImpl.java

weaver      2004/06/10 13:05:06

  Modified:    components/registry/src/java/org/apache/jetspeed/components/portletentity
                        PortletEntityAccessComponentImpl.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.17      +120 -17   jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponentImpl.java
  
  Index: PortletEntityAccessComponentImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity/PortletEntityAccessComponentImpl.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PortletEntityAccessComponentImpl.java	5 Jun 2004 05:11:17 -0000	1.16
  +++ PortletEntityAccessComponentImpl.java	10 Jun 2004 20:05:06 -0000	1.17
  @@ -23,9 +23,12 @@
   import org.apache.jetspeed.components.persistence.store.Filter;
   import org.apache.jetspeed.components.persistence.store.PersistenceStore;
   import org.apache.jetspeed.components.persistence.store.Transaction;
  +import org.apache.jetspeed.components.portletregistry.PortletRegistryComponent;
   import org.apache.jetspeed.om.common.portlet.MutablePortletEntity;
  +import org.apache.jetspeed.om.page.Fragment;
   import org.apache.jetspeed.om.portlet.impl.StoreablePortletDefinitionDelegate;
   import org.apache.jetspeed.om.preference.impl.PreferenceSetImpl;
  +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.entity.PortletEntityCtrl;
  @@ -51,12 +54,122 @@
   
       private PersistenceStore persistenceStore;
   
  +    private PortletRegistryComponent registry;
  +
       
   
  -    public PortletEntityAccessComponentImpl(PersistenceStore persistenceStore)
  +    /**
  +     * 
  +     * @param persistenceStore
  +     * @param registry
  +     */
  +    public PortletEntityAccessComponentImpl(PersistenceStore persistenceStore, PortletRegistryComponent registry)
       {
           this.persistenceStore = persistenceStore;
  +        this.registry = registry;
  +    }
  +    
  +
  +    /**
  +     * <p>
  +     * generateEntityFromFragment
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent#generateEntityFromFragment(org.apache.jetspeed.om.page.Fragment, java.security.Principal)
  +     * @param fragment
  +     * @param principal
  +     * @return
  +     */
  +    public MutablePortletEntity generateEntityFromFragment( Fragment fragment, String principal ) throws PortletEntityNotGeneratedException
  +    {       
  +        PortletDefinition pd = registry.getPortletDefinitionByUniqueName(fragment.getName());
  +        ObjectID entityKey = generateEntityKey(fragment, principal);
  +        
  +        if (pd == null)
  +        {
  +            throw new PortletEntityNotGeneratedException("Failed to retrieve Portlet Definition for " + fragment.getName());
  +        }
  +        MutablePortletEntity portletEntity = newPortletEntityInstance(pd);
  +        if (portletEntity == null)
  +        {
  +            throw new PortletEntityNotGeneratedException("Failed to create Portlet Entity for " + fragment.getName());
  +        }
  +        portletEntity.setId(entityKey.toString());
  +              
  +        return portletEntity;
  +    }
  +    
  +    /**
  +     * <p>
  +     * generateEntityFromFragment
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent#generateEntityFromFragment(org.apache.jetspeed.om.page.Fragment)
  +     * @param fragment
  +     * @return
  +     * @throws PortletEntityNotGeneratedException
  +     */
  +    public MutablePortletEntity generateEntityFromFragment( Fragment fragment )
  +            throws PortletEntityNotGeneratedException
  +    {
  +        return generateEntityFromFragment(fragment, null);
  +    }
  +    
  +    /**
  +     * <p>
  +     * getPortletEntityForFragment
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent#getPortletEntityForFragment(org.apache.jetspeed.om.page.Fragment, java.lang.String)
  +     * @param fragment
  +     * @param principal
  +     * @return
  +     */
  +    public MutablePortletEntity getPortletEntityForFragment( Fragment fragment, String principal )
  +    {
  +        return getPortletEntity(generateEntityKey(fragment, principal));
  +    }
  +    
  +    /**
  +     * <p>
  +     * getPortletEntityForFragment
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent#getPortletEntityForFragment(org.apache.jetspeed.om.page.Fragment)
  +     * @param fragment
  +     * @return
  +     */
  +    public MutablePortletEntity getPortletEntityForFragment( Fragment fragment )
  +    {
  +        return getPortletEntity(generateEntityKey(fragment, null));
       }
  +    
  +    /**
  +     * 
  +     * <p>
  +     * generateEntityKey
  +     * </p>
  +     *
  +     * @see org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent#generateEntityKey(org.apache.jetspeed.om.page.Fragment, java.lang.String)
  +     * @param fragment
  +     * @param principal
  +     * @return
  +     */
  +    public ObjectID generateEntityKey(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());
  +    }
  +    
  +    
  +    
  +    
       /**
        * @see org.apache.jetspeed.entity.PortletEntityAccessComponent#getPortletEntity(org.apache.pluto.om.common.ObjectID)
        * 
  @@ -88,21 +201,6 @@
           }
       }
   
  -    /**
  -     * @see org.apache.jetspeed.entity.PortletEntityAccessComponent#getPortletEntity(org.apache.pluto.om.portlet.PortletDefinition, java.lang.String)
  -     *
  -    public StoreablePortletEntityDelegate getPortletEntity(PortletDefinition portletDefinition, String entityName)
  -    {
  -        ObjectID entityId = JetspeedObjectID.createPortletEntityId(portletDefinition, entityName);
  -        PortletEntity portletEntity = getPortletEntity(entityId);
  -        if (portletEntity == null)
  -        {
  -            portletEntity = newPortletEntityInstance(portletDefinition);
  -            ((PortletEntityCtrl) portletEntity).setId(entityId.toString());
  -        }
  -        return (StoreablePortletEntityDelegate)portletEntity; //wrapEntity(portletEntity);
  -    }
  -    */
       
       /**
        * @see org.apache.jetspeed.entity.PortletEntityAccessComponent#newPortletEntityInstance(org.apache.pluto.om.portlet.PortletDefinition)
  @@ -235,5 +333,10 @@
           List list =(List) ((PreferenceSetImpl)entity.getPreferenceSet()).getInnerCollection();
           return new StoreablePortletEntityDelegate(entity, entity, list, getPersistenceStore());
       }
  +    
  +
  +    
  +    
  +    
   
   }
  
  
  

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