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/04 04:37:15 UTC

cvs commit: jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/deployment/impl DeployPortletAppEventListener.java

weaver      2004/06/03 19:37:15

  Modified:    commons/src/java/org/apache/jetspeed/factory
                        JetspeedPortletFactory.java
               commons/src/java/org/apache/jetspeed/cache PortletCache.java
               portal/src/java/org/apache/jetspeed/deployment/impl
                        DeployPortletAppEventListener.java
  Log:
  Fixed JS2-68: <http://nagoya.apache.org/jira/browse/JS2-68>
  
  Revision  Changes    Path
  1.3       +13 -9     jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/factory/JetspeedPortletFactory.java
  
  Index: JetspeedPortletFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/factory/JetspeedPortletFactory.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JetspeedPortletFactory.java	8 Mar 2004 00:41:59 -0000	1.2
  +++ JetspeedPortletFactory.java	4 Jun 2004 02:37:15 -0000	1.3
  @@ -15,14 +15,15 @@
    */
   package org.apache.jetspeed.factory;
   
  -import javax.servlet.ServletConfig;
  -import javax.servlet.ServletContext;
  -
   import javax.portlet.Portlet;
  -import javax.portlet.PortletException;
  -import javax.portlet.PortletContext;
   import javax.portlet.PortletConfig;
  +import javax.portlet.PortletContext;
  +import javax.portlet.PortletException;
  +import javax.servlet.ServletConfig;
  +import javax.servlet.ServletContext;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   import org.apache.jetspeed.cache.PortletCache;
   import org.apache.jetspeed.container.PortalAccessor;
   import org.apache.pluto.om.portlet.PortletDefinition;
  @@ -37,6 +38,8 @@
   public abstract class JetspeedPortletFactory
   {
   
  +    private static final Log log = LogFactory.getLog(JetspeedPortletFactory.class);
  +    
       /**
        * Gets a portlet by either creating it or returning a handle to it from the portlet 'cache'
        * 
  @@ -50,7 +53,8 @@
           Portlet portlet = null;
           Class portletClass = null;
           String handle = null;
  -        String portletName =  portletDefinition.getName();
  +        String portletName = portletDefinition.getId().toString();
  +        //String portletName = portletDefinition.getName();
           String className = portletDefinition.getClassName(); 
   
           try
  @@ -74,9 +78,9 @@
           }
           catch (Throwable e)
           {
  -            System.out.println(">>>> Exception Loading Class: " + e);
  +            log.error("PortletFactory: Failed to load portlet "+className, e);
               e.printStackTrace();
  -            throw new PortletException( "PortletFactory: Unable to load class " + className );
  +            throw new PortletException( "PortletFactory: Failed to load portlet " + className +":"+e.toString(), e);
           }
   
           return portlet;
  
  
  
  1.3       +20 -1     jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/cache/PortletCache.java
  
  Index: PortletCache.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/commons/src/java/org/apache/jetspeed/cache/PortletCache.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PortletCache.java	8 Mar 2004 00:40:36 -0000	1.2
  +++ PortletCache.java	4 Jun 2004 02:37:15 -0000	1.3
  @@ -16,9 +16,15 @@
   package org.apache.jetspeed.cache;
   
   import java.util.HashMap;
  +import java.util.Iterator;
   
   import javax.portlet.Portlet;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
  +import org.apache.pluto.om.portlet.PortletApplicationDefinition;
  +import org.apache.pluto.om.portlet.PortletDefinition;
  +
   /**
    * Very Simple Portlet Cache to manage portlets in container
    * Keeps only one object instance of a portlet
  @@ -33,6 +39,7 @@
   public class PortletCache
   {
       static private HashMap portlets = new HashMap();
  +    private static Log log = LogFactory.getLog(PortletCache.class);
       
       /*
        * Adds a portlet to the portlet cache. If it exists, replaces it
  @@ -69,6 +76,18 @@
           {        
               portlets.remove(portletName);
           }    
  +    }
  +    
  +    static public void removeAll(PortletApplicationDefinition portletApplication)
  +    {
  +         Iterator itr = portletApplication.getPortletDefinitionList().iterator();
  +         log.info("Removing all portlets from cache for PA: "+portletApplication.getId());
  +         while(itr.hasNext())
  +         {             
  +             PortletDefinition portlet = (PortletDefinition) itr.next();
  +             log.info("Removing portlet "+portlet.getId());
  +             remove(portlet.getId().toString());
  +         }
       }
       
   }
  
  
  
  1.8       +12 -1     jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/deployment/impl/DeployPortletAppEventListener.java
  
  Index: DeployPortletAppEventListener.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/deployment/impl/DeployPortletAppEventListener.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DeployPortletAppEventListener.java	9 Mar 2004 19:35:46 -0000	1.7
  +++ DeployPortletAppEventListener.java	4 Jun 2004 02:37:15 -0000	1.8
  @@ -14,6 +14,7 @@
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   import org.apache.jetspeed.Jetspeed;
  +import org.apache.jetspeed.cache.PortletCache;
   import org.apache.jetspeed.components.portletregistry.PortletRegistryComponent;
   import org.apache.jetspeed.deployment.DeploymentEvent;
   import org.apache.jetspeed.deployment.DeploymentEventListener;
  @@ -21,6 +22,7 @@
   import org.apache.jetspeed.deployment.fs.FSObjectHandler;
   import org.apache.jetspeed.tools.pamanager.Deployment;
   import org.apache.jetspeed.tools.pamanager.PortletApplicationException;
  +import org.apache.pluto.om.portlet.PortletApplicationDefinition;
   import org.jdom.Document;
   import org.jdom.Element;
   import org.jdom.input.SAXBuilder;
  @@ -119,6 +121,15 @@
                       log.warn(msg);
                   	throw new DeploymentException(msg);
                   }
  +                
  +                PortletRegistryComponent regsitry = (PortletRegistryComponent) Jetspeed.getComponentManager().getComponent(PortletRegistryComponent.class);
  +                PortletApplicationDefinition pa = regsitry.getPortletApplicationByIdentifier(paName);
  +                if(pa != null)
  +                {
  +                    log.info("Removing a portlets from the PortletCache that belong to portlet application "+paName);
  +                    PortletCache.removeAll(pa);
  +                }
  +                
                   log.info("Preparing to undeploy portlet application \""+paName+"\"");
                   pam.undeploy(webAppDir, paName);
                   log.info("Portlet application \""+paName+"\""+" was successfuly undeployed.");
  
  
  

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