rwatler 2005/02/01 19:22:05 Modified: portal/src/java/org/apache/jetspeed/deployment/impl DeployPortletAppEventListener.java portal/src/test/org/apache/jetspeed/deployment TestSimpleDeployment.java portal/src/test/org/apache/jetspeed/engine TestSpringEngine.java portal/src/webapp/WEB-INF/assembly jetspeed-spring.xml Log: War Infusion PAM Implementation Revision Changes Path 1.21 +24 -98 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.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- DeployPortletAppEventListener.java 3 Dec 2004 09:37:59 -0000 1.20 +++ DeployPortletAppEventListener.java 2 Feb 2005 03:22:05 -0000 1.21 @@ -20,11 +20,8 @@ import org.apache.jetspeed.deployment.DeploymentEventListener; import org.apache.jetspeed.deployment.DeploymentException; import org.apache.jetspeed.deployment.DeploymentObject; -import org.apache.jetspeed.factory.PortletFactory; -import org.apache.jetspeed.om.common.portlet.MutablePortletApplication; import org.apache.jetspeed.tools.pamanager.PortletApplicationManagement; import org.apache.jetspeed.util.DirectoryHelper; -import org.apache.jetspeed.util.FileSystemHelper; import org.apache.jetspeed.util.descriptor.PortletApplicationWar; import org.apache.pluto.om.portlet.PortletApplicationDefinition; import org.jdom.Document; @@ -49,8 +46,6 @@ private PortletApplicationManagement pam; private Map appNameToFile; protected PortletRegistry registry; - private PortletFactory portletFactory; - /** * @@ -61,10 +56,9 @@ * the <code>webAppDir</code> directory does not exist. */ public DeployPortletAppEventListener( String webAppDir, PortletApplicationManagement pam, - PortletRegistry registry, PortletFactory portletFactory ) throws FileNotFoundException + PortletRegistry registry) throws FileNotFoundException { File checkFile = new File(webAppDir); - this.portletFactory = portletFactory; if (checkFile.exists()) { @@ -202,95 +196,45 @@ PortletApplicationWar paWar = new PortletApplicationWar(deploymentObj.getFileObject(), id, "/" + id ); - if (registry.getPortletApplicationByIdentifier(id) != null - && !event.getEventType().equals(DeploymentEvent.EVENT_TYPE_REDEPLOY)) + if ((registry.getPortletApplicationByIdentifier(id) != null) && + event.getEventType().equals(DeploymentEvent.EVENT_TYPE_DEPLOY)) { log.info("Portlet application \"" + id + "\"" - + " already been registered. Skipping initial deployment."); - // still need to register the filename to the app name so - // undeploy works correctly - appNameToFile.put(deploymentObj.getPath(), id); - if (isLocal) - { - portletFactory.addClassLoader( - registry.getPortletApplicationByIdentifier(id).getId().toString(), - paWar.createClassloader(getClass().getClassLoader())); - } - else - { - try - { - ClassLoader classloader = createPortletClassloader(getClass().getClassLoader(), id); - if (classloader != null) - { - portletFactory.addClassLoader( - registry.getPortletApplicationByIdentifier(id).getId().toString(), - classloader); - } - } - catch (IOException e1) - { - log.info("Could not add Portlet Class Loader: " + id); - } - } - return; + + " already been registered. Skipping initial deployment."); + pam.register(paWar); } - - log.info("Preparing to (re) deploy portlet app \"" + id + "\""); - - if (event.getEventType().equals(DeploymentEvent.EVENT_TYPE_DEPLOY)) + else { - - if (isLocal) + log.info("Preparing to (re) deploy portlet app \"" + id + "\""); + + if (event.getEventType().equals(DeploymentEvent.EVENT_TYPE_DEPLOY)) { - log.info(fileName + " will be registered as a local portlet applicaiton."); - pam.register(paWar); - MutablePortletApplication mpa = registry.getPortletApplicationByIdentifier(id); - if (mpa != null) + if (isLocal) + { + log.info(fileName + " will be registered as a local portlet application."); + pam.register(paWar); + } + else { - portletFactory.addClassLoader( - mpa.getId().toString(), - paWar.createClassloader(getClass().getClassLoader())); + log.info("Deploying portlet application WAR " + fileName); + pam.deploy(paWar); } } - else + else if (event.getEventType().equals(DeploymentEvent.EVENT_TYPE_REDEPLOY)) { - log.info("Deploying portlet applicaion WAR " + fileName); - pam.deploy(paWar); - try + if (isLocal) { - ClassLoader classloader = createPortletClassloader(getClass().getClassLoader(), id); - if (classloader != null) - { - MutablePortletApplication mpa = registry.getPortletApplicationByIdentifier(id); - if (mpa != null) - { - portletFactory.addClassLoader(mpa.getId().toString(), classloader); - } - } + //TODO: get this working } - catch (IOException e1) + else { - log.info("Could not add Portlet Class Loader: " + id); + log.info("Re-deploying portlet application WAR " + fileName); + pam.redeploy(paWar); } } } - else if (event.getEventType().equals(DeploymentEvent.EVENT_TYPE_REDEPLOY)) - { - if (isLocal) - { - //TODO: get this working - - } - else - { - log.info("Re-deploying portlet applicaion WAR " + fileName); - pam.redeploy(paWar); - } - - } - appNameToFile.put(deploymentObj.getPath(), id); + log.info("Portlet app \"" + id + "\" " + "successfuly (re)deployed."); } catch (Exception e) @@ -327,22 +271,4 @@ { doDeploy(event); } - - /** - * <p> - * createPortletClassloader - * </p> - * - * @param parent - * @param id - * @return - * @throws IOException - */ - private ClassLoader createPortletClassloader(ClassLoader parent, String id) throws IOException - { - String portletAppDirectory = pam.getDeploymentPath(id); - FileSystemHelper target = new DirectoryHelper(new File(portletAppDirectory)); - PortletApplicationWar targetWar = new PortletApplicationWar(target, id, "/" + id); - return targetWar.createClassloader(parent); - } } 1.22 +4 -4 jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/deployment/TestSimpleDeployment.java Index: TestSimpleDeployment.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/deployment/TestSimpleDeployment.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- TestSimpleDeployment.java 3 Dec 2004 09:37:59 -0000 1.21 +++ TestSimpleDeployment.java 2 Feb 2005 03:22:05 -0000 1.22 @@ -141,7 +141,7 @@ .getAbsolutePath()); DeployPortletAppEventListener dpal = new DeployPortletAppEventListener(webAppsDir, new FileSystemPAM( - webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, manager), portletRegistry, portletFactory ); + webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, portletFactory, manager), portletRegistry ); ArrayList eventListeners = new ArrayList(2); eventListeners.add(ddel); eventListeners.add(dpal); @@ -239,7 +239,7 @@ manager = new TomcatManager("", "", 0, "", 0, "", ""); DeployPortletAppEventListener dpal = new DeployPortletAppEventListener(webAppsDir, new FileSystemPAM( - webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, manager), portletRegistry, portletFactory ); + webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, portletFactory, manager), portletRegistry ); ArrayList eventListeners = new ArrayList(1); eventListeners.add(dpal); @@ -454,7 +454,7 @@ public void tearDown() throws Exception { manager = new TomcatManager("", "", 0, "", 0, "", ""); - FileSystemPAM pam = new FileSystemPAM(webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, manager); + FileSystemPAM pam = new FileSystemPAM(webAppsDir, portletRegistry, entityAccess, windowAccess, portletCache, portletFactory, manager); try { 1.6 +3 -4 jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/engine/TestSpringEngine.java Index: TestSpringEngine.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/engine/TestSpringEngine.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TestSpringEngine.java 8 Nov 2004 15:13:53 -0000 1.5 +++ TestSpringEngine.java 2 Feb 2005 03:22:05 -0000 1.6 @@ -30,7 +30,6 @@ import org.apache.jetspeed.security.SecurityProvider; import org.apache.jetspeed.security.UserManager; import org.apache.jetspeed.security.impl.RdbmsPolicy; -import org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager; import org.apache.jetspeed.userinfo.UserInfoManager; import org.apache.pluto.services.information.StaticInformationProvider; @@ -56,7 +55,7 @@ Profiler.class, Capabilities.class, PropertyManager.class, PreferencesProvider.class, UserManager.class, GroupManager.class, RoleManager.class, PermissionManager.class, RdbmsPolicy.class, SecurityProvider.class, UserInfoManager.class, NavigationalStateComponent.class, RequestContextComponent.class, PortletWindowAccessor.class, - PortletRenderer.class, PageAggregator.class, PortletAggregator.class, ApplicationServerManager.class, "PAM", + PortletRenderer.class, PageAggregator.class, PortletAggregator.class, "PAM", "deploymentManager", "portletCache", "portletFactory", "portletFactoryProxy", ServletConfig.class, StaticInformationProvider.class}; } @@ -80,4 +79,4 @@ return SpringEngine.class; } -} \ No newline at end of file +} 1.41 +22 -1 jakarta-jetspeed-2/portal/src/webapp/WEB-INF/assembly/jetspeed-spring.xml Index: jetspeed-spring.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/portal/src/webapp/WEB-INF/assembly/jetspeed-spring.xml,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- jetspeed-spring.xml 27 Jan 2005 21:27:52 -0000 1.40 +++ jetspeed-spring.xml 2 Feb 2005 03:22:05 -0000 1.41 @@ -666,6 +666,7 @@ Provides hooks into the application server to help us deploy portlet applications as web application into that server. This manager is for Tomcat 4/5 --> + <!-- <bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager" class="org.apache.jetspeed.tools.pamanager.servletcontainer.TomcatManager" init-method="start" destroy-method="stop" @@ -678,6 +679,7 @@ <constructor-arg index="5"><value>${autodeployment.user}</value></constructor-arg> <constructor-arg index="6"><value>${autodeployment.password}</value></constructor-arg> </bean> + --> <!-- Application Server Manager for JBoss. To support deployment in JBoss, comment the Tomcat app server definition above @@ -695,6 +697,7 @@ and to application server Jetspeed is using to process the web application portion of the portlet application. --> + <!-- <bean id="PAM" class="org.apache.jetspeed.tools.pamanager.ApplicationServerPAM" init-method="start" destroy-method="stop" @@ -705,6 +708,25 @@ <constructor-arg ><ref bean="org.apache.jetspeed.container.window.PortletWindowAccessor" /></constructor-arg> <constructor-arg ><ref bean="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager" /></constructor-arg> <constructor-arg ><ref bean="portletCache" /></constructor-arg> + <constructor-arg ><ref bean="portletFactory" /></constructor-arg> + <property name="searchEngine"><ref bean="org.apache.jetspeed.search.SearchEngine"/></property> + </bean> + --> + <bean id="deployFactory" class="org.apache.jetspeed.tools.deploy.JetspeedDeployFactory"/> + <bean id="PAM" + class="org.apache.jetspeed.tools.pamanager.WarInfusionPAM" + > + <constructor-arg><value>${autodeployment.target.dir}</value></constructor-arg> + <constructor-arg><ref bean="org.apache.jetspeed.components.portletregistry.PortletRegistry"/></constructor-arg> + <constructor-arg><ref bean="org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent"/></constructor-arg> + <constructor-arg><ref bean="org.apache.jetspeed.container.window.PortletWindowAccessor"/></constructor-arg> + <constructor-arg><ref bean="portletCache"/></constructor-arg> + <constructor-arg><ref bean="portletFactory"/></constructor-arg> + <constructor-arg><ref bean="deployFactory"/></constructor-arg> + <!-- force deployment to use expanded wars, (i.e. Tomcat 4.X), default = not specified - inspect webapps to determine --> + <!-- <constructor-arg type="boolean"><value>true</value></constructor-arg> --> + <!-- force deployment to use war files, (i.e. Tomcat 5.X), default = not specified - inspect webapps to determine --> + <!-- <constructor-arg type="boolean"><value>false</value></constructor-arg> --> <property name="searchEngine"><ref bean="org.apache.jetspeed.search.SearchEngine"/></property> </bean> @@ -715,7 +737,6 @@ <constructor-arg ><value>${autodeployment.staging.dir}</value></constructor-arg> <constructor-arg ><ref bean="PAM" /></constructor-arg> <constructor-arg ><ref bean="org.apache.jetspeed.components.portletregistry.PortletRegistry" /></constructor-arg> - <constructor-arg><ref bean="portletFactory"/></constructor-arg> </bean> <bean id="decoratorDeploymentRegistry" class="org.apache.jetspeed.deployment.simpleregistry.impl.InMemoryRegistryImpl"
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]