Author: djencks
Date: Tue Feb 20 13:58:35 2007
New Revision: 509770
URL: http://svn.apache.org/viewvc?view=rev&rev=509770
Log:
GERONIMO-2816 related. Move the NamingBuilder.buildEnvironment
late enough so a classloader is available for help with annotation
procesing. Intermediate patch to coordinate work.
Modified:
geronimo/server/trunk/modules/geronimo-client-builder/src/main/
java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/AppClientModule.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EJBModule.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/Module.java
geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/WebModule.java
geronimo/server/trunk/modules/geronimo-jetty6-builder/src/main/
java/org/apache/geronimo/jetty6/deployment/JettyModuleBuilder.java
geronimo/server/trunk/modules/geronimo-openejb-builder/src/
main/java/org/apache/geronimo/openejb/deployment/
EjbModuleBuilder.java
geronimo/server/trunk/modules/geronimo-tomcat6-builder/src/
main/java/org/apache/geronimo/tomcat/deployment/
TomcatModuleBuilder.java
geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
main/java/org/apache/geronimo/web25/deployment/
AbstractWebModuleBuilder.java
geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SchemaConversionTest.java
geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SecurityConfigTest.java
geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SpecSecurityParsingTest.java
Modified: geronimo/server/trunk/modules/geronimo-client-builder/
src/main/java/org/apache/geronimo/client/builder/
AppClientModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-client-builder/src/main/java/org/apache/geronimo/client/
builder/AppClientModuleBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-client-builder/src/main/
java/org/apache/geronimo/client/builder/
AppClientModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-client-builder/src/main/
java/org/apache/geronimo/client/builder/
AppClientModuleBuilder.java Tue Feb 20 13:58:35 2007
@@ -250,8 +250,6 @@
idBuilder.resolve(serverEnvironment, new File
(moduleFile.getName()).getName(), "jar");
}
- namingBuilders.buildEnvironment(appClient, gerAppClient,
clientEnvironment);
-
if (earName == null) {
earName = naming.createRootName
(serverEnvironment.getConfigId(), NameFactory.NULL,
NameFactory.J2EE_APPLICATION);
}
@@ -466,6 +464,8 @@
}
public void initContext(EARContext earContext, Module
clientModule, ClassLoader cl) throws DeploymentException {
+ namingBuilders.buildEnvironment(clientModule.getSpecDD(),
clientModule.getVendorDD(), clientModule.getEnvironment());
+
AppClientModule appClientModule = ((AppClientModule)
clientModule);
for (Iterator resources =
appClientModule.getResourceModules().iterator(); resources.hasNext
();) {
ConnectorModule connectorModule = (ConnectorModule)
resources.next();
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/AppClientModule.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/AppClientModule.java
(original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/AppClientModule.java Tue
Feb 20 13:58:35 2007
@@ -21,6 +21,7 @@
import java.net.URISyntaxException;
import java.util.Collection;
import java.util.Iterator;
+import java.util.HashMap;
import java.util.jar.JarFile;
import org.apache.geronimo.deployment.DeploymentContext;
@@ -40,7 +41,7 @@
public AppClientModule(boolean standAlone, AbstractName
moduleName, AbstractName appClientName, Environment
serverEnvironment, Environment clientEnvironment, JarFile
moduleFile, String targetPath, XmlObject specDD, XmlObject
vendorDD, String originalSpecDD, Collection resourceModules) {
- super(standAlone, moduleName, serverEnvironment,
moduleFile, targetPath, specDD, vendorDD, originalSpecDD, null);
+ super(standAlone, moduleName, serverEnvironment,
moduleFile, targetPath, specDD, vendorDD, originalSpecDD, null,
new HashMap());
this.clientEnvironment = clientEnvironment;
this.appClientName = appClientName;
this.resourceModules = resourceModules;
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/ConnectorModule.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java
(original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java Tue
Feb 20 13:58:35 2007
@@ -20,6 +20,7 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.jar.JarFile;
+import java.util.HashMap;
import org.apache.geronimo.deployment.DeploymentContext;
import org.apache.geronimo.gbean.AbstractName;
@@ -32,7 +33,7 @@
*/
public class ConnectorModule extends Module {
public ConnectorModule(boolean standAlone, AbstractName
moduleName, Environment environment, JarFile moduleFile, String
targetPath, XmlObject specDD, XmlObject vendorDD, String
originalSpecDD) {
- super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, null);
+ super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, null, new HashMap());
}
public ConfigurationModuleType getType() {
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/EARConfigBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java Tue
Feb 20 13:58:35 2007
@@ -156,6 +156,7 @@
serviceBuilders,
kernel.getNaming());
}
+
public EARConfigBuilder(Environment defaultEnvironment,
AbstractNameQuery transactionManagerAbstractName,
AbstractNameQuery connectionTrackerAbstractName,
@@ -186,8 +187,8 @@
new SingleElementCollection(connectorConfigBuilder),
new SingleElementCollection
(activationSpecInfoLocator),
new SingleElementCollection(appClientConfigBuilder),
- securityBuilder == null? Collections.EMPTY_SET:
Collections.singleton(securityBuilder),
- serviceBuilder == null? Collections.EMPTY_SET:
Collections.singleton(serviceBuilder),
+ securityBuilder == null ? Collections.EMPTY_SET :
Collections.singleton(securityBuilder),
+ serviceBuilder == null ? Collections.EMPTY_SET :
Collections.singleton(serviceBuilder),
naming);
}
@@ -302,9 +303,9 @@
XmlObject xmlObject = XmlBeansUtil.parse(specDD);
application = convertToApplicationSchema
(xmlObject).getApplication();
} catch (XmlException e) {
- throw new DeploymentException("Could not parse
application.xml", e);
+ throw new DeploymentException("Could not parse
application.xml", e);
} catch (Exception e) {
- //ee5 spec allows optional application.xml,
continue with application == null
+ //ee5 spec allows optional application.xml,
continue with application == null
}
}
@@ -353,9 +354,9 @@
LinkedHashSet<Module> modules = new LinkedHashSet<Module>();
try {
addModules(earFile, application, gerApplication,
moduleLocations, modules, environment, earName, idBuilder);
- if(application == null && modules.isEmpty()) {
- //if no application.xml and no modules detected,
return null for stand-alone module processing
- return null;
+ if (application == null && modules.isEmpty()) {
+ //if no application.xml and no modules detected,
return null for stand-alone module processing
+ return null;
}
} catch (Throwable e) {
// close all the modules
@@ -429,7 +430,7 @@
XmlBeansUtil.validateDD(result);
return (ApplicationDocument) result;
}
-
+
// otherwise assume DTD
SchemaConversionUtils.convertToSchema(cursor,
SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version);
cursor.toStartDoc();
@@ -452,8 +453,8 @@
public Artifact getConfigurationID(Object plan, JarFile
module, ModuleIDBuilder idBuilder) throws IOException,
DeploymentException {
ApplicationInfo applicationInfo = (ApplicationInfo) plan;
Artifact test = applicationInfo.getEnvironment
().getConfigId();
- if(!test.isResolved()) {
- throw new IllegalStateException("Module ID should be
fully resolved by now (not "+test+")");
+ if (!test.isResolved()) {
+ throw new IllegalStateException("Module ID should be
fully resolved by now (not " + test + ")");
}
return test;
}
@@ -497,9 +498,9 @@
// Copy over all files that are _NOT_ modules (e.g.
META-INF and APP-INF files)
Set moduleLocations =
applicationInfo.getModuleLocations();
if (ConfigurationModuleType.EAR == applicationType &&
earFile != null) {
- //get the value of the library-directory element
in spec DD
- ApplicationType specDD = (ApplicationType)
applicationInfo.getSpecDD();
- String libDir = getLibraryDirectory(specDD);
+ //get the value of the library-directory element
in spec DD
+ ApplicationType specDD = (ApplicationType)
applicationInfo.getSpecDD();
+ String libDir = getLibraryDirectory(specDD);
for (Enumeration<JarEntry> e = earFile.entries();
e.hasMoreElements();) {
ZipEntry entry = e.nextElement();
String entryName = entry.getName();
@@ -511,11 +512,11 @@
break;
}
}
- if(libDir != null && entry.getName
().startsWith(libDir) && entry.getName().endsWith(".jar")) {
- NestedJarFile library = new
NestedJarFile(earFile, entry.getName());
+ if (libDir != null && entry.getName
().startsWith(libDir) && entry.getName().endsWith(".jar")) {
+ NestedJarFile library = new NestedJarFile
(earFile, entry.getName());
earContext.addIncludeAsPackedJar
(URI.create(entry.getName()), library);
- } else if(addEntry) {
- earContext.addFile(URI.create(entry.getName
()), earFile, entry);
+ } else if (addEntry) {
+ earContext.addFile(URI.create
(entry.getName()), earFile, entry);
}
}
}
@@ -595,10 +596,10 @@
} catch (DeploymentException e) {
cleanupContext(earContext, configurationDir);
throw e;
- } catch(RuntimeException e) {
+ } catch (RuntimeException e) {
cleanupContext(earContext, configurationDir);
throw e;
- } catch(Error e) {
+ } catch (Error e) {
cleanupContext(earContext, configurationDir);
throw e;
} finally {
@@ -608,17 +609,17 @@
}
}
}
-
- private String getLibraryDirectory(ApplicationType specDD) {
- if(specDD == null || !specDD.isSetLibraryDirectory
()) {
- //value 'lib' is used if element not set
or ear does not contain a dd
- return "lib";
- }
-
- //only set if not empty value, empty value implies
no library directory
- String value = specDD.getLibraryDirectory
().getStringValue();
- return value.trim().length() > 0 ? value : null;
- }
+
+ private String getLibraryDirectory(ApplicationType specDD) {
+ if (specDD == null || !specDD.isSetLibraryDirectory()) {
+ //value 'lib' is used if element not set or ear does
not contain a dd
+ return "lib";
+ }
+
+ //only set if not empty value, empty value implies no
library directory
+ String value = specDD.getLibraryDirectory().getStringValue
();
+ return value.trim().length() > 0 ? value : null;
+ }
private void cleanupContext(EARContext earContext, File
configurationDir) {
List<ConfigurationData> configurations = new
ArrayList<ConfigurationData>();
@@ -642,17 +643,16 @@
}
}
- private boolean cleanupConfigurationDir(File configurationDir)
- {
+ private boolean cleanupConfigurationDir(File configurationDir) {
LinkedList<String> cannotBeDeletedList = new
LinkedList<String>();
- if (!DeploymentUtil.recursiveDelete
(configurationDir,cannotBeDeletedList)) {
+ if (!DeploymentUtil.recursiveDelete(configurationDir,
cannotBeDeletedList)) {
// Output a message to help user track down file problem
log.warn("Unable to delete " +
cannotBeDeletedList.size() +
" files while recursively deleting directory "
+ configurationDir + LINE_SEP +
- "The first file that could not be deleted
was:" + LINE_SEP + " "+
- ( !cannotBeDeletedList.isEmpty() ?
cannotBeDeletedList.getFirst() : "") );
+ "The first file that could not be deleted
was:" + LINE_SEP + " " +
+ (!cannotBeDeletedList.isEmpty() ?
cannotBeDeletedList.getFirst() : ""));
return false;
}
return true;
@@ -669,8 +669,8 @@
try {
mapVendorPlans(gerApplication, altVendorDDs, earFile);
if (earFile != null) {
- if(application != null) {
- ModuleType[] moduleTypes =
application.getModuleArray();
+ if (application != null) {
+ ModuleType[] moduleTypes =
application.getModuleArray();
//get a set containing all of the files in
the ear that are actually modules
for (ModuleType moduleXml : moduleTypes) {
@@ -737,77 +737,77 @@
modules.add(module);
}
} else {
- //no application.xml available, must
inspect ear to locate and process modules
- Enumeration<JarEntry> entries =
earFile.entries();
- while (entries.hasMoreElements()) {
- ModuleBuilder builder;
- Object moduleContextInfo = null;
- String moduleTypeName;
- ZipEntry entry =
entries.nextElement();
- if(entry.getName().endsWith
(".war")) {
- if (getWebConfigBuilder()
== null) {
- throw new
DeploymentException("Cannot deploy web application; No war
deployer defined: " + entry.getName());
- }
- builder =
getWebConfigBuilder();
- moduleTypeName = "a war";
- moduleContextInfo =
entry.getName().split(".war")[0];
- } else if(entry.getName().endsWith
(".rar")) {
- if
(getConnectorConfigBuilder() == null) {
- throw new
DeploymentException("Cannot deploy resource adapter; No rar
deployer defined: " + entry.getName());
- }
- builder =
getConnectorConfigBuilder();
- moduleTypeName = "a
connector";
- } else if(entry.getName().endsWith
(".jar") && !isLibraryEntry(application, entry)) {
- try {
- NestedJarFile
moduleFile = new NestedJarFile(earFile, entry.getName());
- if
(moduleFile.getEntry("META-INF/application-client.xml") != null) {
- if
(getAppClientConfigBuilder() == null) {
-
throw new DeploymentException("Cannot deploy app client; No app
client deployer defined: " + entry.getName());
- }
- builder =
getAppClientConfigBuilder();
-
moduleTypeName = "an application client";
- } else if
(moduleFile.getEntry("META-INF/ejb-jar.xml") != null) {
- builder =
getEjbConfigBuilder();
- if
(builder == null) {
-
throw new DeploymentException("Cannot deploy ejb application; No
ejb deployer defined: " + entry.getName());
- }
-
moduleTypeName = "an EJB";
- } else {
- continue;
- }
- //TODO if no ejb-
jar.xml inspect classes for EJB component annotations to identify
as EJBJar module
- } catch (IOException e) {
- throw new
DeploymentException("Invalid moduleFile: " + entry.getName(), e);
- }
- } else {
- continue;
- }
-
- moduleLocations.add(entry.getName());
-
- NestedJarFile moduleFile;
- try {
- moduleFile = new
NestedJarFile(earFile, entry.getName());
- } catch (IOException e) {
- throw new
DeploymentException("Invalid moduleFile: " + entry.getName(), e);
- }
-
- Module module =
builder.createModule(altVendorDDs.get(entry.getName()),
- moduleFile,
- entry.getName(),
- null,
- environment,
- moduleContextInfo,
- earName,
- naming, idBuilder);
-
- if (module == null) {
- throw new
DeploymentException("Module was not " + moduleTypeName + ": " +
entry.getName());
- }
-
- modules.add(module);
- }
- }
+ //no application.xml available, must inspect
ear to locate and process modules
+ Enumeration<JarEntry> entries =
earFile.entries();
+ while (entries.hasMoreElements()) {
+ ModuleBuilder builder;
+ Object moduleContextInfo = null;
+ String moduleTypeName;
+ ZipEntry entry = entries.nextElement();
+ if (entry.getName().endsWith(".war")) {
+ if (getWebConfigBuilder() == null) {
+ throw new DeploymentException
("Cannot deploy web application; No war deployer defined: " +
entry.getName());
+ }
+ builder = getWebConfigBuilder();
+ moduleTypeName = "a war";
+ moduleContextInfo = entry.getName
().split(".war")[0];
+ } else if (entry.getName().endsWith
(".rar")) {
+ if (getConnectorConfigBuilder() ==
null) {
+ throw new DeploymentException
("Cannot deploy resource adapter; No rar deployer defined: " +
entry.getName());
+ }
+ builder = getConnectorConfigBuilder();
+ moduleTypeName = "a connector";
+ } else if (entry.getName().endsWith
(".jar") && !isLibraryEntry(application, entry)) {
+ try {
+ NestedJarFile moduleFile = new
NestedJarFile(earFile, entry.getName());
+ if (moduleFile.getEntry("META-INF/
application-client.xml") != null) {
+ if (getAppClientConfigBuilder
() == null) {
+ throw new
DeploymentException("Cannot deploy app client; No app client
deployer defined: " + entry.getName());
+ }
+ builder =
getAppClientConfigBuilder();
+ moduleTypeName = "an
application client";
+ } else if (moduleFile.getEntry
("META-INF/ejb-jar.xml") != null) {
+ builder = getEjbConfigBuilder();
+ if (builder == null) {
+ throw new
DeploymentException("Cannot deploy ejb application; No ejb
deployer defined: " + entry.getName());
+ }
+ moduleTypeName = "an EJB";
+ } else {
+ continue;
+ }
+ //TODO if no ejb-jar.xml inspect
classes for EJB component annotations to identify as EJBJar module
+ } catch (IOException e) {
+ throw new DeploymentException
("Invalid moduleFile: " + entry.getName(), e);
+ }
+ } else {
+ continue;
+ }
+
+ moduleLocations.add(entry.getName());
+
+ NestedJarFile moduleFile;
+ try {
+ moduleFile = new NestedJarFile
(earFile, entry.getName());
+ } catch (IOException e) {
+ throw new DeploymentException
("Invalid moduleFile: " + entry.getName(), e);
+ }
+
+ Module module = builder.createModule
(altVendorDDs.get(entry.getName()),
+ moduleFile,
+ entry.getName(),
+ null,
+ environment,
+ moduleContextInfo,
+ earName,
+ naming, idBuilder);
+
+ if (module == null) {
+ throw new DeploymentException("Module
was not " + moduleTypeName + ": " + entry.getName());
+ }
+
+ modules.add(module);
+ }
+ }
}
//all the modules in the geronimo plan should have
been found by now.
@@ -914,14 +914,14 @@
}
}
}
-
- private boolean isLibraryEntry(ApplicationType
application, ZipEntry entry) {
- String libDir = getLibraryDirectory(application);
- if(libDir != null && entry.getName().startsWith
(libDir)) {
- return true;
- }
- return false;
- }
+
+ private boolean isLibraryEntry(ApplicationType application,
ZipEntry entry) {
+ String libDir = getLibraryDirectory(application);
+ if (libDir != null && entry.getName().startsWith(libDir)) {
+ return true;
+ }
+ return false;
+ }
private void mapVendorPlans(GerApplicationType
gerApplication, Map<String, Object> altVendorDDs, JarFile earFile)
throws DeploymentException {
//build map from module path to alt vendor dd
@@ -959,15 +959,15 @@
}
private URL getAltSpecDDURL(JarFile earFile, ModuleType
moduleXml) throws DeploymentException {
- if (moduleXml != null && moduleXml.isSetAltDd()) {
- try {
- return DeploymentUtil.createJarURL
(earFile, moduleXml.getAltDd().getStringValue());
- } catch (MalformedURLException e) {
- throw new DeploymentException
("Invalid alt sped dd url: " + moduleXml.getAltDd().getStringValue
(), e);
- }
- }
- return null;
- }
+ if (moduleXml != null && moduleXml.isSetAltDd()) {
+ try {
+ return DeploymentUtil.createJarURL(earFile,
moduleXml.getAltDd().getStringValue());
+ } catch (MalformedURLException e) {
+ throw new DeploymentException("Invalid alt sped
dd url: " + moduleXml.getAltDd().getStringValue(), e);
+ }
+ }
+ return null;
+ }
private ModuleBuilder getBuilder(Module module) throws
DeploymentException {
if (module instanceof EJBModule) {
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/EJBModule.java?view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EJBModule.java (original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/EJBModule.java Tue Feb 20
13:58:35 2007
@@ -33,11 +33,9 @@
*/
public class EJBModule extends Module {
private AbstractName moduleCmpEngineName;
- private final Map sharedContext;
public EJBModule(boolean standAlone, AbstractName moduleName,
Environment environment, JarFile moduleFile, String targetPath,
XmlObject specDD, XmlObject vendorDD, String originalSpecDD, Map
sharedContext) {
- super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, null);
- this.sharedContext = sharedContext;
+ super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, null, sharedContext);
}
public ConfigurationModuleType getType() {
@@ -56,8 +54,5 @@
this.moduleCmpEngineName = moduleCmpEngineName;
}
- public Map getSharedContext() {
- return sharedContext;
- }
}
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/Module.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/Module.java?view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/Module.java (original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/Module.java Tue Feb 20
13:58:35 2007
@@ -17,6 +17,7 @@
package org.apache.geronimo.j2ee.deployment;
import java.util.jar.JarFile;
+import java.util.Map;
import java.net.URI;
import org.apache.xmlbeans.XmlObject;
@@ -45,8 +46,9 @@
private EARContext earContext;
private EARContext rootEarContext;
+ protected final Map sharedContext;
- protected Module(boolean standAlone, AbstractName moduleName,
Environment environment, JarFile moduleFile, String targetPath,
XmlObject specDD, XmlObject vendorDD, String originalSpecDD,
String namespace) {
+ protected Module(boolean standAlone, AbstractName moduleName,
Environment environment, JarFile moduleFile, String targetPath,
XmlObject specDD, XmlObject vendorDD, String originalSpecDD,
String namespace, Map sharedContext) {
assert targetPath != null: "targetPath is null";
assert moduleName != null: "moduleName is null";
@@ -69,6 +71,7 @@
}
targetPathURI = URI.create(targetPath + "/");
+ this.sharedContext = sharedContext;
}
public abstract ConfigurationModuleType getType();
@@ -155,5 +158,9 @@
public void setRootEarContext(EARContext rootEarContext) {
this.rootEarContext = rootEarContext;
+ }
+
+ public Map getSharedContext() {
+ return sharedContext;
}
}
Modified: geronimo/server/trunk/modules/geronimo-j2ee-builder/src/
main/java/org/apache/geronimo/j2ee/deployment/WebModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/
deployment/WebModule.java?view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/WebModule.java (original)
+++ geronimo/server/trunk/modules/geronimo-j2ee-builder/src/main/
java/org/apache/geronimo/j2ee/deployment/WebModule.java Tue Feb 20
13:58:35 2007
@@ -29,12 +29,10 @@
*/
public class WebModule extends Module {
private final String contextRoot;
- private final Map sharedContext;
public WebModule(boolean standAlone, AbstractName moduleName,
Environment environment, JarFile moduleFile, String targetPath,
XmlObject specDD, XmlObject vendorDD, String originalSpecDD,
String contextRoot, Map sharedContext, String namespace) {
- super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, namespace);
+ super(standAlone, moduleName, environment, moduleFile,
targetPath, specDD, vendorDD, originalSpecDD, namespace,
sharedContext);
this.contextRoot = contextRoot;
- this.sharedContext = sharedContext;
}
public String getContextRoot() {
@@ -43,10 +41,6 @@
public ConfigurationModuleType getType() {
return ConfigurationModuleType.WAR;
- }
-
- public Map getSharedContext() {
- return sharedContext;
}
}
Modified: geronimo/server/trunk/modules/geronimo-jetty6-builder/
src/main/java/org/apache/geronimo/jetty6/deployment/
JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-jetty6-builder/src/main/java/org/apache/geronimo/jetty6/
deployment/JettyModuleBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-jetty6-builder/src/main/
java/org/apache/geronimo/jetty6/deployment/JettyModuleBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-jetty6-builder/src/main/
java/org/apache/geronimo/jetty6/deployment/JettyModuleBuilder.java
Tue Feb 20 13:58:35 2007
@@ -129,7 +129,6 @@
private final Collection defaultFilterMappings;
private final GBeanData pojoWebServiceTemplate;
- private final Collection webServiceBuilder;
protected final NamespaceDrivenBuilderCollection
clusteringBuilders;
private final List defaultWelcomeFiles;
@@ -153,7 +152,7 @@
NamingBuilder namingBuilders,
ResourceEnvironmentSetter resourceEnvironmentSetter,
Kernel kernel) throws GBeanNotFoundException {
- super(kernel, securityBuilders, serviceBuilders,
namingBuilders, resourceEnvironmentSetter);
+ super(kernel, securityBuilders, serviceBuilders,
namingBuilders, resourceEnvironmentSetter, webServiceBuilder);
this.defaultEnvironment = defaultEnvironment;
this.defaultSessionTimeoutSeconds =
(defaultSessionTimeoutSeconds == null) ? new Integer(30 * 60) :
defaultSessionTimeoutSeconds;
this.jettyContainerObjectName = jettyContainerName;
@@ -162,7 +161,6 @@
this.defaultFilters = defaultFilters;
this.defaultFilterMappings = defaultFilterMappings;
this.pojoWebServiceTemplate = getGBeanData(kernel,
pojoWebServiceTemplate);
- this.webServiceBuilder = webServiceBuilder;
this.clusteringBuilders = new
NamespaceDrivenBuilderCollection(clusteringBuilders,
GerClusteringDocument.type.getDocumentElementName());
//todo locale mappings
@@ -233,8 +231,6 @@
clusteringBuilders.buildEnvironment(jettyWebApp,
environment);
}
- getNamingBuilders().buildEnvironment(webApp, jettyWebApp,
environment);
-
// Note: logic elsewhere depends on the default artifact
ID being the file name less extension (ConfigIDExtractor)
String warName = new File(moduleFile.getName()).getName();
if (warName.lastIndexOf('.') > -1) {
@@ -242,13 +238,6 @@
}
idBuilder.resolve(environment, warName, "war");
- Map servletNameToPathMap = buildServletNameToPathMap
(webApp, contextRoot);
-
- Map sharedContext = new HashMap();
- for (Iterator iterator = webServiceBuilder.iterator();
iterator.hasNext();) {
- WebServiceBuilder serviceBuilder =
(WebServiceBuilder) iterator.next();
- serviceBuilder.findWebServices(moduleFile, false,
servletNameToPathMap, environment, sharedContext);
- }
AbstractName moduleName;
if (earName == null) {
earName = naming.createRootName
(environment.getConfigId(), NameFactory.NULL,
NameFactory.J2EE_APPLICATION);
@@ -257,7 +246,7 @@
moduleName = naming.createChildName(earName,
targetPath, NameFactory.WEB_MODULE);
}
- return new WebModule(standAlone, moduleName, environment,
moduleFile, targetPath, webApp, jettyWebApp, specDD, contextRoot,
sharedContext, JETTY_NAMESPACE);
+ return new WebModule(standAlone, moduleName, environment,
moduleFile, targetPath, webApp, jettyWebApp, specDD, contextRoot,
new HashMap(), JETTY_NAMESPACE);
}
JettyWebAppType getJettyWebApp(Object plan, JarFile
moduleFile, boolean standAlone, String targetPath, WebAppType
webApp) throws DeploymentException {
@@ -317,7 +306,6 @@
// GerMessageDestinationType[] gerMessageDestinations =
gerWebApp.getMessageDestinationArray();
// ENCConfigBuilder.registerMessageDestinations
(earContext, module.getName(), messageDestinations,
gerMessageDestinations);
- getNamingBuilders().initContext(webApp, gerWebApp,
module.getEarContext().getConfiguration(),
earContext.getConfiguration(), module);
if ((webApp.getSecurityConstraintArray().length > 0 ||
webApp.getSecurityRoleArray().length > 0) &&
!gerWebApp.isSetSecurityRealmName()) {
throw new DeploymentException("web.xml for web app "
+ module.getName() + " includes security elements but Geronimo
deployment plan is not provided or does not contain <security-
realm-name> element necessary to configure security accordingly.");
Modified: geronimo/server/trunk/modules/geronimo-openejb-builder/
src/main/java/org/apache/geronimo/openejb/deployment/
EjbModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/
deployment/EjbModuleBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-openejb-builder/src/
main/java/org/apache/geronimo/openejb/deployment/
EjbModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-openejb-builder/src/
main/java/org/apache/geronimo/openejb/deployment/
EjbModuleBuilder.java Tue Feb 20 13:58:35 2007
@@ -230,9 +230,6 @@
idBuilder.resolve(environment, new File
(moduleFile.getName()).getName(), "jar");
}
- if (ejbModule.getEjbJar().getAssemblyDescriptor() != null) {
- namingBuilder.buildEnvironment(null, null, environment);
- }
Map sharedContext = new HashMap();
@@ -329,6 +326,9 @@
}
module.setEarContext(moduleContext);
module.setRootEarContext(earContext);
+ if (((EjbModule)module).getEjbJar().getAssemblyDescriptor
() != null) {
+ namingBuilder.buildEnvironment(null, null,
module.getEnvironment());
+ }
for (ModuleBuilderExtension builder :
moduleBuilderExtensions) {
try {
builder.installModule(earFile, earContext,
module, configurationStores, targetConfigurationStore, repository);
Modified: geronimo/server/trunk/modules/geronimo-tomcat6-builder/
src/main/java/org/apache/geronimo/tomcat/deployment/
TomcatModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-tomcat6-builder/src/main/java/org/apache/geronimo/tomcat/
deployment/TomcatModuleBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-tomcat6-builder/src/
main/java/org/apache/geronimo/tomcat/deployment/
TomcatModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-tomcat6-builder/src/
main/java/org/apache/geronimo/tomcat/deployment/
TomcatModuleBuilder.java Tue Feb 20 13:58:35 2007
@@ -94,8 +94,6 @@
private final Environment defaultEnvironment;
private final AbstractNameQuery tomcatContainerName;
- private final Collection webServiceBuilder;
-
private static final String TOMCAT_NAMESPACE =
TomcatWebAppDocument.type.getDocumentElementName().getNamespaceURI();
public TomcatModuleBuilder(Environment defaultEnvironment,
@@ -106,11 +104,10 @@
NamingBuilder namingBuilders,
ResourceEnvironmentSetter resourceEnvironmentSetter,
Kernel kernel) {
- super(kernel, securityBuilders, serviceBuilders,
namingBuilders, resourceEnvironmentSetter);
+ super(kernel, securityBuilders, serviceBuilders,
namingBuilders, resourceEnvironmentSetter, webServiceBuilder);
this.defaultEnvironment = defaultEnvironment;
this.tomcatContainerName = tomcatContainerName;
- this.webServiceBuilder = webServiceBuilder;
}
protected Module createModule(Object plan, JarFile
moduleFile, String targetPath, URL specDDUrl, boolean standAlone,
String contextRoot, AbstractName earName, Naming naming,
ModuleIDBuilder idBuilder) throws DeploymentException {
@@ -186,13 +183,6 @@
}
idBuilder.resolve(environment, warName, "war");
- Map servletNameToPathMap = buildServletNameToPathMap
(webApp, contextRoot);
-
- Map sharedContext = new HashMap();
- for (Iterator iterator = webServiceBuilder.iterator();
iterator.hasNext();) {
- WebServiceBuilder serviceBuilder =
(WebServiceBuilder) iterator.next();
- serviceBuilder.findWebServices(moduleFile, false,
servletNameToPathMap, environment, sharedContext);
- }
AbstractName moduleName;
if (earName == null) {
earName = naming.createRootName
(environment.getConfigId(), NameFactory.NULL,
NameFactory.J2EE_APPLICATION);
@@ -201,7 +191,7 @@
moduleName = naming.createChildName(earName,
targetPath, NameFactory.WEB_MODULE);
}
- return new WebModule(standAlone, moduleName, environment,
moduleFile, targetPath, webApp, tomcatWebApp, specDD, contextRoot,
sharedContext, TOMCAT_NAMESPACE);
+ return new WebModule(standAlone, moduleName, environment,
moduleFile, targetPath, webApp, tomcatWebApp, specDD, contextRoot,
new HashMap(), TOMCAT_NAMESPACE);
}
Modified: geronimo/server/trunk/modules/geronimo-web-2.5-builder/
src/main/java/org/apache/geronimo/web25/deployment/
AbstractWebModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/
deployment/AbstractWebModuleBuilder.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
main/java/org/apache/geronimo/web25/deployment/
AbstractWebModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
main/java/org/apache/geronimo/web25/deployment/
AbstractWebModuleBuilder.java Tue Feb 20 13:58:35 2007
@@ -33,6 +33,7 @@
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
+import java.util.Iterator;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
@@ -56,6 +57,8 @@
import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
import org.apache.geronimo.j2ee.deployment.NamingBuilder;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
+import org.apache.geronimo.j2ee.deployment.WebModule;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.Naming;
@@ -105,6 +108,7 @@
protected final NamespaceDrivenBuilderCollection
securityBuilders;
protected final NamespaceDrivenBuilderCollection
serviceBuilders;
protected final ResourceEnvironmentSetter
resourceEnvironmentSetter;
+ protected final Collection webServiceBuilder;
protected final NamingBuilder namingBuilders;
@@ -118,12 +122,13 @@
*/
private static final URI RELATIVE_MODULE_BASE_URI = URI.create
("../");
- protected AbstractWebModuleBuilder(Kernel kernel, Collection
securityBuilders, Collection serviceBuilders, NamingBuilder
namingBuilders, ResourceEnvironmentSetter
resourceEnvironmentSetter) {
+ protected AbstractWebModuleBuilder(Kernel kernel, Collection
securityBuilders, Collection serviceBuilders, NamingBuilder
namingBuilders, ResourceEnvironmentSetter
resourceEnvironmentSetter, Collection webServiceBuilder) {
this.kernel = kernel;
this.securityBuilders = new
NamespaceDrivenBuilderCollection(securityBuilders, SECURITY_QNAME);
this.serviceBuilders = new
NamespaceDrivenBuilderCollection(serviceBuilders, SERVICE_QNAME);
this.namingBuilders = namingBuilders;
this.resourceEnvironmentSetter = resourceEnvironmentSetter;
+ this.webServiceBuilder = webServiceBuilder;
}
static {
@@ -655,6 +660,17 @@
XmlObject[] securityElements =
XmlBeansUtil.selectSubstitutionGroupElements(SECURITY_QNAME,
gerWebApp);
if (securityElements.length > 0 && !hasSecurityRealmName) {
throw new DeploymentException("You have supplied a
security configuration for web app " + module.getName() + " but no
security-realm-name to allow login");
+ }
+ getNamingBuilders().buildEnvironment(module.getSpecDD(),
module.getVendorDD(), module.getEnvironment());
+ //this is silly
+ getNamingBuilders().initContext(module.getSpecDD(),
gerWebApp, module.getEarContext().getConfiguration(),
earContext.getConfiguration(), module);
+
+ Map servletNameToPathMap = buildServletNameToPathMap
((WebAppType) module.getSpecDD(), ((WebModule)
module).getContextRoot());
+
+ Map sharedContext = module.getSharedContext();
+ for (Iterator iterator = webServiceBuilder.iterator();
iterator.hasNext();) {
+ WebServiceBuilder serviceBuilder =
(WebServiceBuilder) iterator.next();
+ serviceBuilder.findWebServices(module.getModuleFile
(), false, servletNameToPathMap, module.getEnvironment(),
sharedContext);
}
securityBuilders.build(gerWebApp, earContext,
module.getEarContext());
serviceBuilders.build(gerWebApp, earContext,
module.getEarContext());
Modified: geronimo/server/trunk/modules/geronimo-web-2.5-builder/
src/test/java/org/apache/geronimo/web25/deployment/
SchemaConversionTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/
deployment/SchemaConversionTest.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SchemaConversionTest.java (original)
+++ geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SchemaConversionTest.java Tue Feb 20 13:58:35 2007
@@ -21,6 +21,7 @@
import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.jar.JarFile;
import org.apache.geronimo.testsupport.XmlBeansTestSupport;
@@ -127,7 +128,7 @@
private static class WebModuleBuilder extends
AbstractWebModuleBuilder {
protected WebModuleBuilder(Kernel kernel) {
- super(kernel, null, null, null, null);
+ super(kernel, null, null, null, null,
Collections.EMPTY_SET);
}
protected Module createModule(Object plan, JarFile
moduleFile, String targetPath, URL specDDUrl, boolean standAlone,
String contextRoot, AbstractName earName, Naming naming,
ModuleIDBuilder idBuilder) throws DeploymentException {
Modified: geronimo/server/trunk/modules/geronimo-web-2.5-builder/
src/test/java/org/apache/geronimo/web25/deployment/
SecurityConfigTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/
deployment/SecurityConfigTest.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SecurityConfigTest.java (original)
+++ geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SecurityConfigTest.java Tue Feb 20 13:58:35 2007
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.Collections;
import java.util.jar.JarFile;
import org.apache.geronimo.common.DeploymentException;
@@ -84,7 +85,7 @@
private static class WebModuleBuilder extends
AbstractWebModuleBuilder {
protected WebModuleBuilder(Kernel kernel) {
- super(kernel, null, null, null, null);
+ super(kernel, null, null, null, null,
Collections.EMPTY_SET);
}
protected Module createModule(Object plan, JarFile
moduleFile,
Modified: geronimo/server/trunk/modules/geronimo-web-2.5-builder/
src/test/java/org/apache/geronimo/web25/deployment/
SpecSecurityParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/
deployment/SpecSecurityParsingTest.java?
view=diff&rev=509770&r1=509769&r2=509770
=====================================================================
=========
--- geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SpecSecurityParsingTest.java (original)
+++ geronimo/server/trunk/modules/geronimo-web-2.5-builder/src/
test/java/org/apache/geronimo/web25/deployment/
SpecSecurityParsingTest.java Tue Feb 20 13:58:35 2007
@@ -26,6 +26,7 @@
import java.util.HashSet;
import java.util.Map;
import java.util.HashMap;
+import java.util.Collections;
import java.util.jar.JarFile;
import java.security.PermissionCollection;
@@ -45,7 +46,7 @@
import org.apache.xmlbeans.XmlObject;
/**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
*/
public class SpecSecurityParsingTest extends TestCase {
@@ -73,7 +74,7 @@
public static class TestWebModuleBuilder extends
AbstractWebModuleBuilder {
protected TestWebModuleBuilder() {
- super(null, null, null, null, null);
+ super(null, null, null, null, null,
Collections.EMPTY_SET);
}
protected Module createModule(Object plan, JarFile
moduleFile, String targetPath, URL specDDUrl, boolean standAlone,
String contextRoot, AbstractName earName, Naming naming,
ModuleIDBuilder idBuilder) throws DeploymentException {
<org.apache.geronimo.mavenplugins.geronimo.server.StartServerMojo.log
>