weaver 2004/06/11 11:01:35
Modified: portal/src/test/org/apache/jetspeed/tools/pamanager
TestPortletDescriptorSecurityRoles.java
TestPortletDescriptor.java
portal/src/java/org/apache/jetspeed/util/descriptor
PortletApplicationWar.java
portal/src/java/org/apache/jetspeed/tools/pamanager
FileSystemPAM.java
portal/src/java/org/apache/jetspeed/deployment/impl
DeployPortletAppEventListener.java
Log:
committed Serge Huber's patch for VFS in the PortletApplicationWar
Revision Changes Path
1.6 +12 -12
jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/tools/pamanager/TestPortletDescriptorSecurityRoles.java
Index: TestPortletDescriptorSecurityRoles.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/tools/pamanager/TestPortletDescriptorSecurityRoles.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TestPortletDescriptorSecurityRoles.java 9 Jun 2004 14:56:41 -0000 1.5
+++ TestPortletDescriptorSecurityRoles.java 11 Jun 2004 18:01:35 -0000 1.6
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -34,9 +34,9 @@
/**
* TestPortletDescriptorSecurityRoles - test and validate security roles and
* security role references from portlet.xml and web.xml deployment descriptor.
- *
+ *
* @author <a href="[EMAIL PROTECTED]">Ate Douma </a>
- *
+ *
* @version $Id: TestPortletDescriptorSecurityRoles.java,v 1.4 2004/05/27
* 19:57:24 weaver Exp $
*/
@@ -45,7 +45,7 @@
/**
* Defines the testcase name for JUnit.
- *
+ *
* @param name
* the testcase's name.
*/
@@ -56,7 +56,7 @@
/**
* Start the tests.
- *
+ *
* @param args
* the arguments. Not used
*/
@@ -67,7 +67,7 @@
/**
* Creates the test suite.
- *
+ *
* @return a test suite (<code>TestSuite</code>) that includes all
* methods starting with "test"
*/
@@ -80,11 +80,11 @@
public void testSecurityRoles() throws Exception
{
System.out.println("Testing securityRoles");
- PortletApplicationWar paWar = new
PortletApplicationWar("./test/testdata/deploy/webapp", "unit-test", "/",
Jetspeed.getDefaultLocale(), "unit-test");
-
+ PortletApplicationWar paWar = new
PortletApplicationWar("./test/testdata/deploy/webapp", "unit-test", "/",
Jetspeed.getDefaultLocale(), "unit-test", null);
+
MutablePortletApplication app = paWar.createPortletApp();
assertNotNull("App is null", app);
-
+
MutableWebApplication webApp = paWar.createWebApp();
assertNotNull("WebApp is null", webApp);
@@ -182,4 +182,4 @@
assertNotNull("Security Role Ref users.manager undefined", roleRef);
assertNull("Undefined security Role link for users.managers expected",
roleRef.getRoleLink());
}
-}
\ No newline at end of file
+}
1.21 +36 -32
jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/tools/pamanager/TestPortletDescriptor.java
Index: TestPortletDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/test/org/apache/jetspeed/tools/pamanager/TestPortletDescriptor.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- TestPortletDescriptor.java 9 Jun 2004 14:56:41 -0000 1.20
+++ TestPortletDescriptor.java 11 Jun 2004 18:01:35 -0000 1.21
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -56,7 +56,7 @@
* into Java objects
*
* @author <a href="[EMAIL PROTECTED]">David Sean Taylor</a>
- *
+ *
* @version $Id$
*/
public class TestPortletDescriptor extends RegistrySupportedTestCase
@@ -81,12 +81,16 @@
TestRunner.main(new String[] { TestPortletDescriptor.class.getName()});
}
- public static Test suite()
- {
- // All methods starting with "test" will be executed in the test suite.
- return new TestSuite(TestPortletDescriptor.class);
+ public static Test suite()
+
+ {
+
+ // All methods starting with "test" will be executed in the test suite.
+
+ return new TestSuite(TestPortletDescriptor.class);
+
}
-
+
/*
* Overrides the database properties
*/
@@ -175,7 +179,7 @@
assertNotNull("Portlet.Expiration is null", portlet.getExpirationCache());
assertTrue("Portlet.Expiration invalid: " + portlet.getExpirationCache(),
portlet.getExpirationCache().equals("-1"));
- // Display Name
+ // Display Name
DisplayName displayName = portlet.getDisplayName(Locale.ENGLISH);
assertNotNull("Display Name is null", displayName);
assertTrue(
@@ -308,7 +312,7 @@
store.getTransaction().commit();
store.getTransaction().begin();
}
-
+
PortletApplicationDescriptor pad = new PortletApplicationDescriptor(new
FileReader("./test/testdata/deploy/portlet2.xml"), "HW_App");
app = pad.createPortletApplication();
@@ -350,54 +354,54 @@
store.getTransaction().commit();
}
-
+
public void testInfusingWebXML() throws Exception
{
- PortletApplicationWar paWar = new
PortletApplicationWar("./test/testdata/deploy/webapp", "unit-test", "/",
Locale.getDefault(), "unit-test");
-
+ PortletApplicationWar paWar = new
PortletApplicationWar("./test/testdata/deploy/webapp", "unit-test", "/",
Locale.getDefault(), "unit-test", null);
+
SAXBuilder builder = new SAXBuilder(false);
-
+
FileReader srcReader = new
FileReader("./test/testdata/deploy/webapp/WEB-INF/web.xml");
FileReader targetReader = null;
- Document doc = builder.build(srcReader);
-
+ Document doc = builder.build(srcReader);
+
Element root = doc.getRootElement();
-
+
try
{
Object jetspeedServlet = XPath.selectSingleNode(root,
PortletApplicationWar.JETSPEED_SERVLET_XPATH);
Object jetspeedServletMapping = XPath.selectSingleNode(root,
PortletApplicationWar.JETSPEED_SERVLET_MAPPING_XPATH);
-
+
assertNull(jetspeedServlet);
assertNull(jetspeedServletMapping);
-
- paWar.copyWar("./target/webapp");
+
+ paWar.copyWar("./target/webapp");
paWar.processWebXML("./target/webapp/WEB-INF/web.xml");
-
+
targetReader = new FileReader("./target/webapp/WEB-INF/web.xml");
-
+
builder = new SAXBuilder(false);
Document targetDoc = builder.build(targetReader);
Element targetRoot = targetDoc.getRootElement();
-
+
jetspeedServlet = XPath.selectSingleNode(targetDoc,
PortletApplicationWar.JETSPEED_SERVLET_XPATH);
jetspeedServletMapping = XPath.selectSingleNode(targetDoc,
PortletApplicationWar.JETSPEED_SERVLET_MAPPING_XPATH);
-
-
+
+
assertNotNull(jetspeedServlet);
assertNotNull(jetspeedServletMapping);
-
+
}
finally
{
srcReader.close();
- paWar.close();
+ paWar.close();
targetReader.close();
- PortletApplicationWar targetWar = new
PortletApplicationWar("./target/webapp", "unit-test", "/", Locale.getDefault(),
"unit-test") ;
+ PortletApplicationWar targetWar = new
PortletApplicationWar("./target/webapp", "unit-test", "/", Locale.getDefault(),
"unit-test", null) ;
targetWar.removeWar();
- targetWar.close();
+ targetWar.close();
}
-
+
}
}
1.5 +48 -35
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationWar.java
Index: PortletApplicationWar.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/util/descriptor/PortletApplicationWar.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PortletApplicationWar.java 11 Jun 2004 14:57:39 -0000 1.4
+++ PortletApplicationWar.java 11 Jun 2004 18:01:35 -0000 1.5
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2001,2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -39,6 +39,7 @@
import org.apache.commons.vfs.FileSystemManager;
import org.apache.commons.vfs.VFS;
import org.apache.commons.vfs.impl.VFSClassLoader;
+import org.apache.commons.vfs.impl.StandardFileSystemManager;
import org.apache.jetspeed.om.common.portlet.MutablePortletApplication;
import org.apache.jetspeed.om.common.servlet.MutableWebApplication;
import org.apache.jetspeed.tools.pamanager.PortletApplicationException;
@@ -54,9 +55,9 @@
import org.jdom.xpath.XPath;
/**
- * This class facilitates opertions a portlet applications WAR file or WAR
file-like
+ * This class facilitates opertions a portlet applications WAR file or WAR file-like
* structure.
- *
+ *
* @author <a href="mailto:[EMAIL PROTECTED]">Scott T. Weaver </a>
* @version $Id$
*/
@@ -98,10 +99,14 @@
* @param locale
* locale to deploy to
* @param webAppDisplayName
+ * @param vfsConfigUri
+ * Optional URI to a Commons VFS configuration file, since
+ * this class uses it to manipulate the WAR file. Can be
+ * null if we want Common VFS to use default behavior.
* @throws IOException
*/
public PortletApplicationWar( String warPath, String paName, String
webAppContextRoot, Locale locale,
- String webAppDisplayName ) throws IOException
+ String webAppDisplayName, String vfsConfigUri ) throws IOException
{
if (paName == null || paName.startsWith("/") || paName.startsWith("\\") ||
paName.endsWith("/")
|| paName.endsWith("\\"))
@@ -110,7 +115,15 @@
+ "\". paName cannot be null nor can it begin nor end with any
slashes.");
}
- fsManager = VFS.getManager();
+ if (vfsConfigUri != null) {
+ StandardFileSystemManager standardManager = new
StandardFileSystemManager();
+ standardManager.setConfiguration(vfsConfigUri);
+ fsManager = standardManager;
+ }
+ else
+ {
+ fsManager = VFS.getManager();
+ }
File warPathFile = new File(warPath).getAbsoluteFile();
if (!warPathFile.exists())
@@ -134,13 +147,13 @@
}
/**
- *
+ *
* <p>
* createWebApp
* </p>
* Creates a web applicaiton object based on the values in this WAR's
* WEB-INF/web.xml
- *
+ *
* @return @throws
* PortletApplicationException
* @throws IOException
@@ -175,13 +188,13 @@
}
/**
- *
+ *
* <p>
* createPortletApp
* </p>
* Creates a portlet application object based of the WAR file's
* WEB-INF/portlet.xml
- *
+ *
* @return @throws
* PortletApplicationException
* @throws IOException
@@ -225,11 +238,11 @@
}
/**
- *
+ *
* <p>
* getReader
* </p>
- *
+ *
* @param path
* @return @throws
* IOException
@@ -240,11 +253,11 @@
}
/**
- *
+ *
* <p>
* getInputStream
* </p>
- *
+ *
* @param path
* @return @throws
* IOException
@@ -261,13 +274,13 @@
}
/**
- *
+ *
* <p>
* copyWar
* </p>
* Copies the entire WAR structure to the path defined in
* <code>targetAppRoot</code>
- *
+ *
* @param targetAppRoot
* @throws IOException
*/
@@ -337,13 +350,13 @@
}
/**
- *
+ *
* <p>
* removeWar
* </p>
* Deletes this WAR. If the WAR is a file structure and not an actual WAR
* file, all children are delted first, then the directory is removed.
- *
+ *
* @throws IOException
* if there is an error removing the WAR from the file system.
*/
@@ -364,7 +377,7 @@
* web application. An error message is logged and a
* PortletApplicationException is thrown if not.
* </ul>
- *
+ *
* @param app
* The PortletApplicationDefinition to validate
* @throws PortletApplicationException
@@ -402,19 +415,19 @@
}
}
}
-
+
/**
- *
+ *
* <p>
* processWebXML
* </p>
- *
+ *
* Infuses this the <code>webXmlIn</code>, which is expected to be the contents
of a web.xml web
- * application descriptor, with <code>servlet</code> and a
<code>servlet-mapping</code> element
- * for the JetspeedContainer servlet. This is only done if the descriptor does
not already contain these
+ * application descriptor, with <code>servlet</code> and a
<code>servlet-mapping</code> element
+ * for the JetspeedContainer servlet. This is only done if the descriptor does
not already contain these
* items.
*
- * @param webXmlIn web.xml content that is not yet infused
+ * @param webXmlIn web.xml content that is not yet infused
* @param webXmlOut target for infused web.xml content
* @throws MetaDataException if there is a problem infusing
*/
@@ -509,17 +522,17 @@
}
}
-
+
/**
- *
+ *
* <p>
* insertElementCorrectly
* </p>
*
- * @param root JDom element representing the < web-app >
+ * @param root JDom element representing the < web-app >
* @param toInsert JDom element to insert into the web.xml hierarchy.
* @param elementsBefore an array of web.xml elements that should be defined
- * before the element we want to insert. This order should be the order
defined by the
+ * before the element we want to insert. This order should be the order
defined by the
* web.xml's DTD type definition.
*/
protected void insertElementCorrectly( Element root, Element toInsert, String[]
elementsBefore )
@@ -531,7 +544,7 @@
boolean moreAfter = false;
for (int i = 0; i < allChildren.size(); i++)
{
- Element element = (Element) allChildren.get(i);
+ Element element = (Element) allChildren.get(i);
if (elementsBeforeList.contains(element.getName()))
{
insertAfter = i;
@@ -561,12 +574,12 @@
}
/**
- *
+ *
* <p>
* close
* </p>
* Closes any resource this PortletApplicationWar may have opened.
- *
+ *
* @throws IOException
*/
public void close() throws IOException
@@ -629,4 +642,4 @@
}
-}
\ No newline at end of file
+}
1.32 +54 -41
jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/tools/pamanager/FileSystemPAM.java
Index: FileSystemPAM.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/portal/src/java/org/apache/jetspeed/tools/pamanager/FileSystemPAM.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- FileSystemPAM.java 9 Jun 2004 14:56:41 -0000 1.31
+++ FileSystemPAM.java 11 Jun 2004 18:01:35 -0000 1.32
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2004 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -33,7 +33,7 @@
/**
* This is the catalina specific implemenation for deplyment of Portlet
* Applications.
- *
+ *
* @author <a href="mailto:[EMAIL PROTECTED]">Roger Ruttimann </a>
* @version $Id$
*/
@@ -44,13 +44,14 @@
public final int DEPLOY_WAR = 0;
public final int UPDATE_WEB_XML = 1;
public final int UPDATE_REGISTRY = 2;
-
+
public static final String SYS_PROPS_DEPLOY_TO_DIR =
"org.apache.jetspeed.deploy.target.dir";
private static final Log log = LogFactory.getLog("deployment");
-
+
//private DeployUtilities util;
private PortletRegistryComponent registry;
+ private String vfsConfigUri = null;
public FileSystemPAM()
{
@@ -60,10 +61,22 @@
}
/**
+ * Setup Commons VFS configuration, which is used during deployment.
+ * If this is never set, the default Common VFS configuration is used.
+ *
+ * @param vfsConfigUri String the URI to the configuration file to
+ * be used by Common VFS.
+ */
+ public void setVfsConfigUri(String vfsConfigUri)
+ {
+ this.vfsConfigUri = vfsConfigUri;
+ }
+
+ /**
* <p>
* deploy
* </p>
- *
+ *
* @see org.apache.jetspeed.tools.pamanager.Deployment#deploy(java.lang.String,
* java.lang.String, java.lang.String)
* @param webAppsDir
@@ -81,7 +94,7 @@
* <p>
* deploy
* </p>
- *
+ *
* @see org.apache.jetspeed.tools.pamanager.Deployment#deploy(java.lang.String,
* java.lang.String, java.lang.String)
* @param webAppsDir
@@ -100,15 +113,15 @@
}
-
-
-
+
+
+
/**
* <p>
* deploy
* </p>
- *
+ *
* @param warFile path to the war file or war file structure.
* @param paName of the portlet applicaiton being deployed.
* @throws java.lang.IllegalStateException if the
<code>org.apache.jetspeed.deploy.target.dir</code>
@@ -133,7 +146,7 @@
/**
* Unregisters application.
- *
+ *
* @param webAppsDir
* The webapps directory inside the Application Server
* @param paName
@@ -144,12 +157,12 @@
public void unregister( String webAppsDir, String paName ) throws
PortletApplicationException
{
PersistenceStore store = registry.getPersistenceStore();
-
+
try
{
store.getTransaction().begin();
MutablePortletApplication app = (MutablePortletApplication)
registry.getPortletApplication(paName);
-
+
if (app == null)
{
log.warn("Error retrieving Application from Registry Database.
Application not found: " + paName);
@@ -175,7 +188,7 @@
/**
* Undeploys application.
- *
+ *
* @param webAppsDir
* The webapps directory inside the Application Server
* @param paName
@@ -184,8 +197,8 @@
*/
public void undeploy( String webAppsDir, String paName ) throws
PortletApplicationException
- {
-
+ {
+
try
{
// First unergister the application from Registry
@@ -199,7 +212,7 @@
PortletApplicationWar paWar = null;
try
{
- paWar = new PortletApplicationWar(webAppsDir+"/"+paName, paName,
"/"+paName, Jetspeed.getDefaultLocale(), paName );
+ paWar = new PortletApplicationWar(webAppsDir+"/"+paName, paName,
"/"+paName, Jetspeed.getDefaultLocale(), paName, vfsConfigUri );
paWar.removeWar();
log.info("FileSystem un-deployment completed successfully.");
@@ -232,7 +245,7 @@
/**
* Undeploys application.
- *
+ *
* @param paName
* The Portlet Application name
* @throws PortletApplicationException
@@ -243,7 +256,7 @@
}
-
+
protected void sysDeploy( String webAppsDir, String warFile, String paName, int
startState )
throws PortletApplicationException
{
@@ -255,19 +268,19 @@
// 3 Registry updated
//
int nState = DEPLOY_WAR; //Initialize
- MutablePortletApplication app = null;
-
- PortletApplicationWar paWar = null;
+ MutablePortletApplication app = null;
+
+ PortletApplicationWar paWar = null;
try
{
- paWar = new PortletApplicationWar(warFile, paName, "/"+paName,
Jetspeed.getDefaultLocale(), paName );
-
+ paWar = new PortletApplicationWar(warFile, paName, "/"+paName,
Jetspeed.getDefaultLocale(), paName, vfsConfigUri );
+
String portletAppDirectory = webAppsDir+"/"+paName;
log.info("Portlet application deployment target directory is
"+portletAppDirectory);
-
+
if (startState <= nState)
- {
- paWar.copyWar(portletAppDirectory);
+ {
+ paWar.copyWar(portletAppDirectory);
}
nState = UPDATE_WEB_XML;
@@ -326,12 +339,12 @@
RegistryException
{
MutablePortletApplication app;
- PersistenceStore store = registry.getPersistenceStore();
-
+ PersistenceStore store = registry.getPersistenceStore();
+
try
- {
+ {
app = paWar.createPortletApp();
-
+
if (app == null)
{
String msg = "Error loading portlet.xml: ";
@@ -351,7 +364,7 @@
// load the web.xml
log.info("Loading web.xml into memory....");
MutableWebApplication webapp = paWar.createWebApp();
- paWar.validate();
+ paWar.validate();
app.setWebApplicationDefinition(webapp);
// save it to the registry
@@ -388,7 +401,7 @@
protected void rollbackFileSystem( String webAppsDir, String paName )
{
-
+
String portletAppDir = webAppsDir+"/"+ paName;
PortletApplicationWar paWar = null;
try
@@ -396,10 +409,10 @@
// Remove the webapps directory
log.info("Rollback: Remove " + portletAppDir + " and all
sub-directories.");
-
- paWar = new PortletApplicationWar(portletAppDir, paName, "/"+paName,
Jetspeed.getDefaultLocale(), paName );
+
+ paWar = new PortletApplicationWar(portletAppDir, paName, "/"+paName,
Jetspeed.getDefaultLocale(), paName, vfsConfigUri );
paWar.removeWar();
-
+
}
catch (FileNotFoundException fnfe)
{
@@ -427,7 +440,7 @@
/**
* Roles back any registry changes that have been made
- *
+ *
* @param app
*/
protected void rollbackRegistry( MutablePortletApplication app )
@@ -456,4 +469,4 @@
{
}
-}
\ No newline at end of file
+}
1.11 +3 -3
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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DeployPortletAppEventListener.java 10 Jun 2004 20:16:48 -0000 1.10
+++ DeployPortletAppEventListener.java 11 Jun 2004 18:01:35 -0000 1.11
@@ -89,7 +89,7 @@
appNameToFile.put(handler.getFile().getName(), id);
if(isLocal)
{
- PortletApplicationWar paWar = new
PortletApplicationWar(handler.getPath(), id, "/"+id, Jetspeed.getDefaultLocale(), id
);
+ PortletApplicationWar paWar = new
PortletApplicationWar(handler.getPath(), id, "/"+id, Jetspeed.getDefaultLocale(), id,
null );
JetspeedPortletFactory.addClassLoader(paWar.createClassloader(getClass().getClassLoader()));
}
return;
@@ -101,7 +101,7 @@
{
log.info(handler.getFile().getName()+" will be registered
as a local portlet applicaiton.");
pam.register(id, id, handler.getPath());
- PortletApplicationWar paWar = new
PortletApplicationWar(handler.getPath(), id, "/"+id, Jetspeed.getDefaultLocale(), id
);
+ PortletApplicationWar paWar = new
PortletApplicationWar(handler.getPath(), id, "/"+id, Jetspeed.getDefaultLocale(), id,
null );
JetspeedPortletFactory.addClassLoader(paWar.createClassloader(getClass().getClassLoader()));
}
else
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]