You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2010/01/22 17:41:58 UTC
svn commit: r902162 - in /geronimo/server/trunk:
framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/
framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/
framework/modules/geronimo-kernel/ ...
Author: gawor
Date: Fri Jan 22 16:41:57 2010
New Revision: 902162
URL: http://svn.apache.org/viewvc?rev=902162&view=rev
Log:
add DelegatingBundle that can delegate calls to multiple Bundles and remove classSource support
Added:
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java (with props)
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java (with props)
Modified:
geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
geronimo/server/trunk/framework/modules/geronimo-kernel/ (props changed)
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/GBeanData.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationData.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SerializedConfigurationMarshaler.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockConfigurationManager.java
geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/test/java/org/apache/geronimo/jasper/deployment/BasicTest.java
geronimo/server/trunk/plugins/jasper/jasper-deployer/src/main/plan/plan.xml
geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java
geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java
geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml
Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java Fri Jan 22 16:41:57 2010
@@ -116,21 +116,21 @@
"Specify =\"true\" for more lenient processing such as ignoring missing jars and references that are not spec compliant.");
}
- private final File baseDir;
- private final File inPlaceConfigurationDir;
- private final ResourceContext resourceContext;
- private final Map<String, ConfigurationData> childConfigurationDatas = new LinkedHashMap<String, ConfigurationData>();
- private final ConfigurationManager configurationManager;
- private final Naming naming;
- private final List<ConfigurationData> additionalDeployment = new ArrayList<ConfigurationData>();
+ protected final File baseDir;
+ protected final File inPlaceConfigurationDir;
+ protected final ResourceContext resourceContext;
+ protected final Map<String, ConfigurationData> childConfigurationDatas = new LinkedHashMap<String, ConfigurationData>();
+ protected final ConfigurationManager configurationManager;
+ protected final Naming naming;
+ protected final List<ConfigurationData> additionalDeployment = new ArrayList<ConfigurationData>();
protected final AbstractName moduleName;
- private final LinkedHashSet<String> classPath = new LinkedHashSet<String>();
- private final ConfigurationModuleType moduleType;
- private final Environment environment;
+ protected final LinkedHashSet<String> classPath = new LinkedHashSet<String>();
+ protected final ConfigurationModuleType moduleType;
+ protected final Environment environment;
//This provides services such as loading more bundles, it is NOT for the configuration we are constructing here.
//It should be a disposable nested framework so as to not pollute the main framework with stuff we load as deployment parents.
private final BundleContext bundleContext;
- private Configuration configuration;
+ protected Configuration configuration;
//TODO OSGI set this
private boolean boot;
private Bundle tempBundle;
@@ -829,15 +829,13 @@
public static LinkedHashSet<String> getImports(List<GBeanData> gbeans) {
LinkedHashSet<String> imports = new LinkedHashSet<String>();
for (GBeanData data: gbeans) {
- if (data.getClassSource() == null) {
- GBeanInfo info = data.getGBeanInfo();
- addImport(imports, info.getClassName());
- for (GAttributeInfo attInfo: info.getAttributes()) {
- addImport(imports, attInfo.getType());
- }
- for (GReferenceInfo refInfo: info.getReferences()) {
- addImport(imports, refInfo.getReferenceType());
- }
+ GBeanInfo info = data.getGBeanInfo();
+ addImport(imports, info.getClassName());
+ for (GAttributeInfo attInfo: info.getAttributes()) {
+ addImport(imports, attInfo.getType());
+ }
+ for (GReferenceInfo refInfo: info.getReferences()) {
+ addImport(imports, refInfo.getReferenceType());
}
}
return imports;
Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java Fri Jan 22 16:41:57 2010
@@ -350,7 +350,8 @@
new LinkedHashSet<Artifact>()),
new ArrayList<Configuration>(),
null,
- null);
+ null,
+ this);
} catch (Exception e) {
throw new RuntimeException(e);
}
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Jan 22 16:41:57 2010
@@ -0,0 +1,2 @@
+/geronimo/server/branches/2.2/framework/modules/geronimo-kernel:826768,832538,885058
+/geronimo/server/trunk/framework/modules/geronimo-kernel:749113,749116-807432,809079-825588
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/GBeanData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/GBeanData.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/GBeanData.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/GBeanData.java Fri Jan 22 16:41:57 2010
@@ -28,7 +28,6 @@
import java.util.Set;
import org.apache.geronimo.gbean.annotation.EncryptionSetting;
-import org.apache.geronimo.kernel.repository.Artifact;
/**
* @version $Rev$ $Date$
@@ -38,8 +37,7 @@
private Externalizable backwardExternalizables[] = new Externalizable[]{
new V0Externalizable(),
- new V1Externalizable(),
- new V2Externalizable()
+ new V1Externalizable()
};
private GBeanInfo gbeanInfo;
@@ -47,7 +45,6 @@
private final Map<String, Object> attributes;
private final Map<String, ReferencePatterns> references;
private final Set<ReferencePatterns> dependencies;
- private Artifact classSource;
private AbstractName abstractName;
private int priority;
@@ -65,10 +62,6 @@
GBeanInfo gbeanInfo = infoFactory.getGBeanInfo(gbeanClass);
setGBeanInfo(gbeanInfo);
}
- public GBeanData(Class gbeanClass, Artifact classSource) {
- this(gbeanClass);
- this.classSource = classSource;
- }
public GBeanData(GBeanInfo gbeanInfo) {
this();
@@ -86,15 +79,11 @@
public GBeanData(AbstractName abstractName, Class gbeanClass) {
this();
this.abstractName = abstractName;
+
GBeanInfo gbeanInfo = infoFactory.getGBeanInfo(gbeanClass);
setGBeanInfo(gbeanInfo);
}
- public GBeanData(AbstractName abstractName, Class gbeanClass, Artifact classSource) {
- this(abstractName, gbeanClass);
- this.classSource = classSource;
- }
-
public GBeanData(GBeanData gbeanData) {
setGBeanInfo(gbeanData.gbeanInfo);
infoFactory = gbeanData.infoFactory;
@@ -102,7 +91,6 @@
references = new HashMap<String, ReferencePatterns>(gbeanData.references);
dependencies = new HashSet<ReferencePatterns>(gbeanData.dependencies);
abstractName = gbeanData.abstractName;
- classSource = gbeanData.classSource;
}
public AbstractName getAbstractName() {
@@ -134,14 +122,6 @@
}
}
- public Artifact getClassSource() {
- return classSource;
- }
-
- public void setClassSource(Artifact classSource) {
- this.classSource = classSource;
- }
-
public Map<String, Object> getAttributes() {
return new HashMap<String, Object>(attributes);
}
@@ -189,7 +169,7 @@
setReferencePatterns(name, new ReferencePatterns(abstractName));
}
- public void setReferencePatterns(String name, Set<? extends Object> patterns) {
+ public void setReferencePatterns(String name, Set patterns) {
setReferencePatterns(name, new ReferencePatterns(patterns));
}
@@ -250,8 +230,6 @@
// write the gbean info
out.writeObject(gbeanInfo);
- out.writeObject(classSource);
-
// write the abstract name
out.writeObject(abstractName);
@@ -332,7 +310,6 @@
public final void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
// read the gbean info
readGBeanInfo(in);
- readClassSource(in);
// read the abstract name
try {
@@ -390,9 +367,6 @@
protected void readGBeanInfo(ObjectInput in) throws IOException, ClassNotFoundException {
}
- protected void readClassSource(ObjectInput in) throws ClassNotFoundException, IOException {
- }
-
protected void readPriority(ObjectInput in) throws IOException, ClassNotFoundException {
priority = GBeanInfo.PRIORITY_NORMAL;
}
@@ -414,13 +388,6 @@
}
}
-
- private class V2Externalizable extends V1Externalizable {
-
- protected void readClassSource(ObjectInput in) throws ClassNotFoundException, IOException {
- classSource = (Artifact) in.readObject();
- }
- }
}
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java Fri Jan 22 16:41:57 2010
@@ -31,8 +31,6 @@
import javax.management.ObjectName;
-import org.apache.geronimo.kernel.config.Configuration;
-import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.geronimo.gbean.AbstractName;
@@ -232,21 +230,8 @@
this.classLoader = new BundleClassLoader(bundleContext.getBundle());
GBeanInfo gbeanInfo = gbeanData.getGBeanInfo();
- Bundle bundle;
- if (gbeanData.getClassSource() == null) {
- bundle = bundleContext.getBundle();
- } else {
- try {
- Configuration configuration = (Configuration) kernel.getGBean(Configuration.getConfigurationAbstractName(gbeanData.getClassSource()));
- bundle = configuration.getBundle();
- } catch (GBeanNotFoundException e) {
- throw new InvalidConfigurationException("Class loading configuration not found: " + gbeanData.getClassSource(), e);
- } catch (InvalidConfigException e) {
- throw new InvalidConfigurationException("Class loading configuration not identified: " + gbeanData.getClassSource(), e);
- }
- }
try {
- type = bundle.loadClass(gbeanInfo.getClassName());
+ type = bundleContext.getBundle().loadClass(gbeanInfo.getClassName());
} catch (ClassNotFoundException e) {
throw new InvalidConfigurationException("Could not load GBeanInfo class from classloader: " + bundleContext +
" className=" + gbeanInfo.getClassName(), e);
@@ -255,12 +240,12 @@
name = gbeanInfo.getName();
// interfaces
- interfaces = gbeanInfo.getInterfaces().toArray(new String[gbeanInfo.getInterfaces().size()]);
+ interfaces = (String[]) gbeanInfo.getInterfaces().toArray(new String[0]);
// attributes
attributes = buildAttributes(gbeanInfo);
for (int i = 0; i < attributes.length; i++) {
- attributeIndex.put(attributes[i].getName(), i);
+ attributeIndex.put(attributes[i].getName(), new Integer(i));
}
// references
@@ -270,7 +255,7 @@
references = referencesSet.toArray(new GBeanReference[referencesSet.size()]);
for (int i = 0; i < references.length; i++) {
- referenceIndex.put(references[i].getName(), i);
+ referenceIndex.put(references[i].getName(), new Integer(i));
}
//dependencies
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/Configuration.java Fri Jan 22 16:41:57 2010
@@ -38,11 +38,19 @@
import org.apache.geronimo.gbean.ReferencePatterns;
import org.apache.geronimo.gbean.annotation.GBean;
import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamSpecial;
+import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.KernelRegistry;
import org.apache.geronimo.kernel.Naming;
+import org.apache.geronimo.kernel.osgi.DelegatingBundle;
+import org.apache.geronimo.kernel.osgi.MultiBundleClassLoader;
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.kernel.repository.MissingDependencyException;
+import org.apache.geronimo.kernel.repository.Repository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.osgi.framework.Bundle;
@@ -164,6 +172,8 @@
* Manageable Attribute Store containing overrides to this configuration.
*/
private ManageableAttributeStore attributeStore = null;
+
+ private Bundle bundle;
/**
* Creates a configuration.
@@ -177,28 +187,36 @@
* @throws InvalidConfigException if this configuration turns out to have a problem.
*/
public Configuration(
-// @ParamAttribute(name = "classLoaderHolder") ClassLoaderHolder classLoaderHolder,
@ParamAttribute(name = "configurationData") ConfigurationData configurationData,
@ParamAttribute(name = "dependencyNode") DependencyNode dependencyNode,
@ParamAttribute(name = "allServiceParents") List<Configuration> allServiceParents,
@ParamAttribute(name = "attributeStore") ManageableAttributeStore attributeStore,
- @ParamAttribute(name = "configurationResolver") ConfigurationResolver configurationResolver) throws InvalidConfigException {
-// if (classLoaderHolder == null) throw new NullPointerException("classLoaders are null");
- if (configurationData == null) throw new NullPointerException("configurationData is null");
+ @ParamAttribute(name = "configurationResolver") ConfigurationResolver configurationResolver,
+ @ParamAttribute(name = "configurationManager") ConfigurationManager configurationManager) throws InvalidConfigException {
+ if (configurationData == null) {
+ throw new NullPointerException("configurationData is null");
+ }
-// this.classLoaderHolder = classLoaderHolder;
this.configurationData = configurationData;
this.naming = configurationData.getNaming();
this.attributeStore = attributeStore;
this.dependencyNode = dependencyNode;
this.allServiceParents = allServiceParents;
this.configurationResolver = configurationResolver;
- abstractName = getConfigurationAbstractName(dependencyNode.getId());
-
+ this.abstractName = getConfigurationAbstractName(dependencyNode.getId());
+ this.bundle = configurationData.getBundleContext().getBundle();
+
+ if (configurationData.isUseEnvironment() && configurationManager != null) {
+ try {
+ List<Bundle> bundles = getParentBundles(configurationData, configurationResolver, configurationManager);
+ this.bundle = new DelegatingBundle(bundles);
+ } catch (Exception e) {
+ log.debug("Failed to identify bundle parents for " + configurationData.getId(), e);
+ }
+ }
+
try {
-
// Deserialize the GBeans in the configurationData
- Bundle bundle = configurationData.getBundleContext().getBundle();
Collection<GBeanData> gbeans = configurationData.getGBeans(bundle);
if (attributeStore != null) {
gbeans = attributeStore.applyOverrides(dependencyNode.getId(), gbeans, bundle);
@@ -219,6 +237,50 @@
}
}
+ private List<Bundle> getParentBundles(ConfigurationData configurationData,
+ ConfigurationResolver configurationResolver,
+ ConfigurationManager configurationManager)
+ throws MissingDependencyException, InvalidConfigException {
+ List<Bundle> bundles = new ArrayList<Bundle>();
+ bundles.add(configurationData.getBundleContext().getBundle());
+
+ LinkedHashSet<Artifact> parents = configurationManager.resolveParentIds(configurationData);
+ for (Artifact parent : parents) {
+ String location = getBundleLocation(configurationResolver, parent);
+ Bundle bundle = getBundleByLocation(configurationData.getBundleContext(), location);
+ if (bundle != null) {
+ System.out.println("Found " + parent + " " + bundle);
+ bundles.add(bundle);
+ }
+ }
+
+ return bundles;
+ }
+
+ private static String getBundleLocation(ConfigurationResolver configurationResolver, Artifact configurationId) {
+ if (System.getProperty("geronimo.build.car") == null) {
+ return "mvn:" + configurationId.getGroupId() + "/" + configurationId.getArtifactId() + "/" + configurationId.getVersion() + ("jar".equals(configurationId.getType())? "": "/" + configurationId.getType());
+ }
+ if (configurationResolver == null) {
+ throw new NullPointerException("ConfigurationResolver is null");
+ }
+ try {
+ File file = configurationResolver.resolve(configurationId);
+ return "reference:file://" + file.getAbsolutePath();
+ } catch (MissingDependencyException e) {
+ return null;
+ }
+ }
+
+ private static Bundle getBundleByLocation(BundleContext bundleContext, String location) {
+ for (Bundle bundle: bundleContext.getBundles()) {
+ if (location.equals(bundle.getLocation())) {
+ return bundle;
+ }
+ }
+ return null;
+ }
+
/**
* Add a contained configuration, such as for a war inside an ear
* @param child contained configuration
@@ -341,11 +403,11 @@
* @return the bundle for this configuration
*/
public Bundle getBundle() {
- return configurationData.getBundleContext().getBundle();
+ return bundle;
}
public BundleContext getBundleContext() {
- return configurationData.getBundleContext();
+ return bundle.getBundleContext();
}
/**
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationData.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationData.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationData.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationData.java Fri Jan 22 16:41:57 2010
@@ -106,6 +106,8 @@
private transient ConfigurationDataTransformer configurationDataTransformer;
private transient BundleContext bundleContext;
+
+ private transient boolean useEnvironment;
public ConfigurationData(Artifact configId, Naming naming, GBeanState gbeanState) {
this(new Environment(configId), naming, gbeanState);
@@ -303,5 +305,13 @@
public void setConfigurationDataTransformer(ConfigurationDataTransformer configurationDataTransformer) {
this.configurationDataTransformer = configurationDataTransformer;
}
+
+ public boolean isUseEnvironment() {
+ return useEnvironment;
+ }
+
+ public void setUseEnvironment(boolean useEnvironment) {
+ this.useEnvironment = useEnvironment;
+ }
}
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/KernelConfigurationManager.java Fri Jan 22 16:41:57 2010
@@ -162,6 +162,7 @@
// } catch (NoSuchConfigException e) {
// throw new InvalidConfigException(e);
}
+ gbeanData.setAttribute("configurationManager", this);
//TODO is this dangerous? should really add dependency on attribute store name
gbeanData.setAttribute("attributeStore", attributeStore);
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SerializedConfigurationMarshaler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SerializedConfigurationMarshaler.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SerializedConfigurationMarshaler.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SerializedConfigurationMarshaler.java Fri Jan 22 16:41:57 2010
@@ -16,6 +16,8 @@
*/
package org.apache.geronimo.kernel.config;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.OutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
@@ -35,6 +37,9 @@
};
public ConfigurationData readConfigurationData(InputStream in) throws IOException, ClassNotFoundException {
+ if (!(in instanceof BufferedInputStream)) {
+ in = new BufferedInputStream(in);
+ }
PushbackInputStream pushbackInputStream = new PushbackInputStream(in, 2);
byte[] streamHeader = new byte[2];
if (pushbackInputStream.read(streamHeader) != 2) throw new AssertionError("Cound not read stream header");
@@ -61,6 +66,9 @@
}
public void writeConfigurationData(ConfigurationData configurationData, OutputStream out) throws IOException {
+ if (!(out instanceof BufferedOutputStream)) {
+ out = new BufferedOutputStream(out);
+ }
ObjectOutputStream oout = new ObjectOutputStream(out);
try {
oout.writeObject(configurationData);
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java Fri Jan 22 16:41:57 2010
@@ -424,7 +424,7 @@
List<Configuration> allServiceParents = buildAllServiceParents(null, dependencyNode);
- Configuration configuration = new Configuration(configurationData, dependencyNode, allServiceParents, null, configurationResolver);
+ Configuration configuration = new Configuration(configurationData, dependencyNode, allServiceParents, null, configurationResolver, this);
configuration.doStart();
//TODO why???
resolvedParentIds.add(configuration.getId());
Added: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java?rev=902162&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java (added)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java Fri Jan 22 16:41:57 2010
@@ -0,0 +1,195 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.kernel.osgi;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Map;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.Version;
+
+/**
+ * Bundle that delegates ClassLoader operations to a collection of {@link Bundle} objects.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DelegatingBundle implements Bundle {
+
+ private Collection<Bundle> bundles;
+ private Bundle bundle;
+ private BundleContext bundleContext;
+
+ public DelegatingBundle(Collection<Bundle> bundles) {
+ this.bundles = bundles;
+ if (bundles.isEmpty()) {
+ throw new IllegalArgumentException("At least one bundle is required");
+ }
+ // assume first Bundle is the main bundle
+ this.bundle = bundles.iterator().next();
+ this.bundleContext = new DelegatingBundleContext(this, bundle.getBundleContext());
+ }
+
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ for (Bundle bundle : bundles) {
+ try {
+ return bundle.loadClass(name);
+ } catch (ClassNotFoundException ex) {
+ // ignore
+ }
+ }
+ throw new ClassNotFoundException(name);
+ }
+
+ public URL getResource(String name) {
+ URL resource = null;
+ for (Bundle bundle : bundles) {
+ resource = bundle.getResource(name);
+ if (resource != null) {
+ return resource;
+ }
+ }
+ return null;
+ }
+
+ public Enumeration<URL> getResources(String name) throws IOException {
+ ArrayList<URL> allResources = new ArrayList<URL>();
+ for (Bundle bundle : bundles) {
+ Enumeration<URL> e = (Enumeration<URL>) bundle.getResources(name);
+ addToList(allResources, e);
+ }
+ return Collections.enumeration(allResources);
+ }
+
+ private static void addToList(List<URL> list, Enumeration<URL> enumeration) {
+ if (enumeration != null) {
+ while (enumeration.hasMoreElements()) {
+ list.add(enumeration.nextElement());
+ }
+ }
+ }
+
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
+
+ public Enumeration findEntries(String arg0, String arg1, boolean arg2) {
+ return bundle.findEntries(arg0, arg1, arg2);
+ }
+
+ public long getBundleId() {
+ return bundle.getBundleId();
+ }
+
+ public URL getEntry(String arg0) {
+ return bundle.getEntry(arg0);
+ }
+
+ public Enumeration getEntryPaths(String arg0) {
+ return bundle.getEntryPaths(arg0);
+ }
+
+ public Dictionary getHeaders() {
+ return bundle.getHeaders();
+ }
+
+ public Dictionary getHeaders(String arg0) {
+ return bundle.getHeaders(arg0);
+ }
+
+ public long getLastModified() {
+ return bundle.getLastModified();
+ }
+
+ public String getLocation() {
+ return bundle.getLocation();
+ }
+
+ public ServiceReference[] getRegisteredServices() {
+ return bundle.getRegisteredServices();
+ }
+
+ public ServiceReference[] getServicesInUse() {
+ return bundle.getServicesInUse();
+ }
+
+ public Map getSignerCertificates(int arg0) {
+ return bundle.getSignerCertificates(arg0);
+ }
+
+ public int getState() {
+ return bundle.getState();
+ }
+
+ public String getSymbolicName() {
+ return bundle.getSymbolicName();
+ }
+
+ public Version getVersion() {
+ return bundle.getVersion();
+ }
+
+ public boolean hasPermission(Object arg0) {
+ return bundle.hasPermission(arg0);
+ }
+
+ public void start() throws BundleException {
+ bundle.start();
+ }
+
+ public void start(int arg0) throws BundleException {
+ bundle.start(arg0);
+ }
+
+ public void stop() throws BundleException {
+ bundle.stop();
+ }
+
+ public void stop(int arg0) throws BundleException {
+ bundle.stop(arg0);
+ }
+
+ public void uninstall() throws BundleException {
+ bundle.uninstall();
+ }
+
+ public void update() throws BundleException {
+ bundle.update();
+ }
+
+ public void update(InputStream arg0) throws BundleException {
+ bundle.update(arg0);
+ }
+
+ public String toString() {
+ return "[MultiBundle] " + bundles;
+ }
+
+}
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundle.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java?rev=902162&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java (added)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java Fri Jan 22 16:41:57 2010
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.kernel.osgi;
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.Dictionary;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.BundleListener;
+import org.osgi.framework.Filter;
+import org.osgi.framework.FrameworkListener;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+
+/**
+ * Bundle that delegates ClassLoader operations to a collection of {@link Bundle} objects.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DelegatingBundleContext implements BundleContext {
+
+ private DelegatingBundle bundle;
+ private BundleContext bundleContext;
+
+ public DelegatingBundleContext(DelegatingBundle bundle, BundleContext bundleContext) {
+ this.bundle = bundle;
+ this.bundleContext = bundleContext;
+ }
+
+ public Bundle getBundle() {
+ return bundle;
+ }
+
+ public void addBundleListener(BundleListener arg0) {
+ bundleContext.addBundleListener(arg0);
+ }
+
+ public void addFrameworkListener(FrameworkListener arg0) {
+ bundleContext.addFrameworkListener(arg0);
+ }
+
+ public void addServiceListener(ServiceListener arg0, String arg1) throws InvalidSyntaxException {
+ bundleContext.addServiceListener(arg0, arg1);
+ }
+
+ public void addServiceListener(ServiceListener arg0) {
+ bundleContext.addServiceListener(arg0);
+ }
+
+ public Filter createFilter(String arg0) throws InvalidSyntaxException {
+ return bundleContext.createFilter(arg0);
+ }
+
+ public ServiceReference[] getAllServiceReferences(String arg0, String arg1)
+ throws InvalidSyntaxException {
+ return bundleContext.getAllServiceReferences(arg0, arg1);
+ }
+
+ public Bundle getBundle(long arg0) {
+ return bundleContext.getBundle(arg0);
+ }
+
+ public Bundle[] getBundles() {
+ return bundleContext.getBundles();
+ }
+
+ public File getDataFile(String arg0) {
+ return bundleContext.getDataFile(arg0);
+ }
+
+ public String getProperty(String arg0) {
+ return bundleContext.getProperty(arg0);
+ }
+
+ public Object getService(ServiceReference arg0) {
+ return bundleContext.getService(arg0);
+ }
+
+ public ServiceReference getServiceReference(String arg0) {
+ return bundleContext.getServiceReference(arg0);
+ }
+
+ public ServiceReference[] getServiceReferences(String arg0, String arg1)
+ throws InvalidSyntaxException {
+ return bundleContext.getServiceReferences(arg0, arg1);
+ }
+
+ public Bundle installBundle(String arg0, InputStream arg1) throws BundleException {
+ return bundleContext.installBundle(arg0, arg1);
+ }
+
+ public Bundle installBundle(String arg0) throws BundleException {
+ return bundleContext.installBundle(arg0);
+ }
+
+ public ServiceRegistration registerService(String arg0, Object arg1, Dictionary arg2) {
+ return bundleContext.registerService(arg0, arg1, arg2);
+ }
+
+ public ServiceRegistration registerService(String[] arg0, Object arg1, Dictionary arg2) {
+ return bundleContext.registerService(arg0, arg1, arg2);
+ }
+
+ public void removeBundleListener(BundleListener arg0) {
+ bundleContext.removeBundleListener(arg0);
+ }
+
+ public void removeFrameworkListener(FrameworkListener arg0) {
+ bundleContext.removeFrameworkListener(arg0);
+ }
+
+ public void removeServiceListener(ServiceListener arg0) {
+ bundleContext.removeServiceListener(arg0);
+ }
+
+ public boolean ungetService(ServiceReference arg0) {
+ return bundleContext.ungetService(arg0);
+ }
+
+}
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/osgi/DelegatingBundleContext.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockConfigurationManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockConfigurationManager.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockConfigurationManager.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockConfigurationManager.java Fri Jan 22 16:41:57 2010
@@ -122,7 +122,7 @@
public LifecycleResults loadConfiguration(ConfigurationData configurationData, LifecycleMonitor monitor) throws NoSuchConfigException, LifecycleException {
try {
Artifact configId = configurationData.getEnvironment().getConfigId();
- Configuration configuration = new Configuration(configurationData, new DependencyNode(configId, null, null), null, null, null);
+ Configuration configuration = new Configuration(configurationData, new DependencyNode(configId, null, null), null, null, null, this);
configurations.put(configId, configuration);
} catch (InvalidConfigException e) {
Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java Fri Jan 22 16:41:57 2010
@@ -102,13 +102,10 @@
private final Environment defaultEnvironment;
private final NamingBuilder namingBuilders;
- private final Artifact jasperArtifact;
public JspModuleBuilderExtension(@ParamAttribute(name = "defaultEnvironment") Environment defaultEnvironment,
- @ParamAttribute(name = "jasperArtifact") Artifact jasperArtifact,
@ParamReference(name = "NamingBuilders", namingType = NameFactory.MODULE_BUILDER) NamingBuilder namingBuilders) {
this.defaultEnvironment = defaultEnvironment;
- this.jasperArtifact = jasperArtifact;
this.namingBuilders = namingBuilders;
}
@@ -171,7 +168,7 @@
GBeanInfo webAppGBeanInfo = webAppData.getGBeanInfo();
if (webAppGBeanInfo.getReference("ContextCustomizer") != null) {
AbstractName jspLifecycleName = moduleContext.getNaming().createChildName(moduleName, "jspLifecycleProvider", GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
- GBeanData gbeanData = new GBeanData(jspLifecycleName, JasperServletContextCustomizer.class, jasperArtifact);
+ GBeanData gbeanData = new GBeanData(jspLifecycleName, JasperServletContextCustomizer.class);
gbeanData.setAttribute("holder", holder);
try {
Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/test/java/org/apache/geronimo/jasper/deployment/BasicTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/test/java/org/apache/geronimo/jasper/deployment/BasicTest.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/test/java/org/apache/geronimo/jasper/deployment/BasicTest.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/test/java/org/apache/geronimo/jasper/deployment/BasicTest.java Fri Jan 22 16:41:57 2010
@@ -31,7 +31,7 @@
public class BasicTest extends TestCase {
public void testMyFacesModuleBuilderExtension() throws Exception {
- JspModuleBuilderExtension instance = new JspModuleBuilderExtension(null, null, new NamingBuilderCollection(Collections.EMPTY_SET));
+ JspModuleBuilderExtension instance = new JspModuleBuilderExtension(null, new NamingBuilderCollection(Collections.EMPTY_SET));
}
}
Modified: geronimo/server/trunk/plugins/jasper/jasper-deployer/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/jasper-deployer/src/main/plan/plan.xml?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/jasper-deployer/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/jasper/jasper-deployer/src/main/plan/plan.xml Fri Jan 22 16:41:57 2010
@@ -21,7 +21,6 @@
<module xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
<gbean name="JspModuleBuilderExtension" class="org.apache.geronimo.jasper.deployment.JspModuleBuilderExtension">
- <attribute name="jasperArtifact">org.apache.geronimo.configs/jasper/${version}/car</attribute>
<reference name="NamingBuilders">
<name>NamingBuilders</name>
</reference>
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java Fri Jan 22 16:41:57 2010
@@ -161,8 +161,6 @@
}
private final Environment defaultEnvironment;
- //plugin wose bundle can load jetty classes and gbean wrappers.
- private final Artifact jettyArtifact;
private final AbstractNameQuery jettyContainerObjectName;
private final JspServletHolderWrapper jspServlet;
private final Collection defaultServlets;
@@ -180,7 +178,6 @@
private static final String JETTY_NAMESPACE = JettyWebAppDocument.type.getDocumentElementName().getNamespaceURI();
public JettyModuleBuilder(@ParamAttribute(name="defaultEnvironment")Environment defaultEnvironment,
- @ParamAttribute(name="jettyArtifact")Artifact jettyArtifact,
@ParamAttribute(name="defaultSessionTimeoutSeconds")Integer defaultSessionTimeoutSeconds,
@ParamAttribute(name="defaultWelcomeFiles")List<String> defaultWelcomeFiles,
@ParamAttribute(name="jettyContainerObjectName")AbstractNameQuery jettyContainerName,
@@ -200,7 +197,6 @@
@ParamSpecial(type = SpecialAttributeType.kernel)Kernel kernel) throws GBeanNotFoundException {
super(kernel, serviceBuilders, namingBuilders, resourceEnvironmentSetter, webServiceBuilder, moduleBuilderExtensions);
this.defaultEnvironment = defaultEnvironment;
- this.jettyArtifact = jettyArtifact;
this.defaultSessionTimeoutSeconds = (defaultSessionTimeoutSeconds == null) ? 30 * 60 : defaultSessionTimeoutSeconds;
this.jettyContainerObjectName = jettyContainerName;
this.jspServlet = jspServlet;
@@ -237,7 +233,7 @@
AbstractName templateName = kernel.getAbstractNameFor(template);
return new GBeanData(kernel.getGBeanData(templateName));
}
-
+
protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
assert moduleFile != null : "moduleFile is null";
assert targetPath != null : "targetPath is null";
@@ -283,8 +279,6 @@
EnvironmentType environmentType = jettyWebApp.getEnvironment();
Environment environment = EnvironmentBuilder.buildEnvironment(environmentType, defaultEnvironment);
- //make sure jetty is started.
- environment.addDependency(new Dependency(jettyArtifact, ImportType.SERVICES));
Boolean distributable = webApp.getDistributableArray().length == 1 ? TRUE : FALSE;
if (TRUE == distributable) {
@@ -392,7 +386,7 @@
WebAppType webApp = (WebAppType) webModule.getSpecDD();
JettyWebAppType jettyWebApp = (JettyWebAppType) webModule.getVendorDD();
- GBeanData webModuleData = new GBeanData(moduleName, WebAppContextWrapper.class, jettyArtifact);
+ GBeanData webModuleData = new GBeanData(moduleName, WebAppContextWrapper.class);
configureBasicWebModuleAttributes(webApp, jettyWebApp, moduleContext, earContext, webModule, webModuleData);
@@ -578,7 +572,7 @@
// AbstractName name = moduleContext.getNaming().createChildName(moduleContext.getModuleName(),
// "DefaultWebApplicationHandlerFactory",
// NameFactory.GERONIMO_SERVICE);
-// GBeanData beanData = new GBeanData(name, DefaultWebApplicationHandlerFactory.class, jettyArtifact);
+// GBeanData beanData = new GBeanData(name, DefaultWebApplicationHandlerFactory.class);
// webModuleData.setReferencePattern(WebAppContextWrapper.GBEAN_REF_WEB_APPLICATION_HANDLER_FACTORY, name);
// moduleContext.addGBean(beanData);
}
@@ -614,7 +608,6 @@
private GBeanData configureDefaultServlet(Object defaultServlet, EARContext earContext, AbstractName moduleName, Set knownServletMappings) throws GBeanNotFoundException, GBeanAlreadyExistsException {
GBeanData servletGBeanData = getGBeanData(kernel, defaultServlet);
- servletGBeanData.setClassSource(jettyArtifact);
AbstractName defaultServletObjectName = earContext.getNaming().createChildName(moduleName, (String) servletGBeanData.getAttribute("servletName"), NameFactory.SERVLET);
servletGBeanData.setAbstractName(defaultServletObjectName);
servletGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
@@ -629,7 +622,7 @@
for (FilterType filterType : filterArray) {
String filterName = filterType.getFilterName().getStringValue().trim();
AbstractName filterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER);
- GBeanData filterData = new GBeanData(filterAbstractName, FilterHolderWrapper.class, jettyArtifact);
+ GBeanData filterData = new GBeanData(filterAbstractName, FilterHolderWrapper.class);
filterData.setAttribute("filterName", filterName);
filterData.setAttribute("filterClass", filterType.getFilterClass().getStringValue().trim());
Map<String, String> initParams = new HashMap<String, String>();
@@ -647,7 +640,7 @@
FilterMappingType[] filterMappingArray = webApp.getFilterMappingArray();
for (FilterMappingType filterMappingType : filterMappingArray) {
String filterName = filterMappingType.getFilterName().getStringValue().trim();
- GBeanData filterMappingData = new GBeanData(JettyFilterMapping.class, jettyArtifact);
+ GBeanData filterMappingData = new GBeanData(JettyFilterMapping.class);
if (previous != null) {
filterMappingData.addDependency(previous);
}
@@ -708,7 +701,6 @@
private AbstractName addDefaultFiltersGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, AbstractName previous) throws GBeanNotFoundException, GBeanAlreadyExistsException {
for (Object defaultFilter : defaultFilters) {
GBeanData filterGBeanData = getGBeanData(kernel, defaultFilter);
- filterGBeanData.setClassSource(jettyArtifact);
String filterName = (String) filterGBeanData.getAttribute("filterName");
AbstractName defaultFilterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER);
filterGBeanData.setAbstractName(defaultFilterAbstractName);
@@ -716,7 +708,7 @@
moduleContext.addGBean(filterGBeanData);
//add a mapping to /*
- GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.class, jettyArtifact);
+ GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.class);
if (previous != null) {
filterMappingGBeanData.addDependency(previous);
}
@@ -790,7 +782,7 @@
if (authType != null) {
- GBeanData securityFactoryData = new GBeanData(factoryName, AuthConfigProviderHandlerFactory.class, jettyArtifact);
+ GBeanData securityFactoryData = new GBeanData(factoryName, AuthConfigProviderHandlerFactory.class);
securityFactoryData.setAttribute("messageLayer", "HttpServlet");
String contextPath = (String)webModuleData.getAttribute("contextPath");
securityFactoryData.setAttribute("appContext", "server " + contextPath);
@@ -800,7 +792,7 @@
//otherwise rely on pre-configured jaspi
} else {
LoginConfigType loginConfig = loginConfigArray.length == 1? loginConfigArray[0]: null;
- GBeanData securityFactoryData = new GBeanData(factoryName, JettySecurityHandlerFactory.class, jettyArtifact);
+ GBeanData securityFactoryData = new GBeanData(factoryName, JettySecurityHandlerFactory.class);
configureConfigurationFactory(jettyWebApp, loginConfig, securityFactoryData);
BuiltInAuthMethod auth = BuiltInAuthMethod.NONE;
if (loginConfig != null) {
@@ -989,7 +981,7 @@
if (hosts.length > 0 || virtualHosts.length > 0) {
//use name same as module
AbstractName hostName = earContext.getNaming().createChildName(webModuleData.getAbstractName(), "Host", "Host");
- GBeanData hostData = new GBeanData(hostName, Host.class, jettyArtifact);
+ GBeanData hostData = new GBeanData(hostName, Host.class);
hostData.setAttribute("hosts", hosts);
hostData.setAttribute("virtualHosts", virtualHosts);
earContext.addGBean(hostData);
@@ -1076,7 +1068,7 @@
throw new DeploymentException("Could not load javax.servlet.Servlet in bundle " + webBundle, e);
}
if (baseServletClass.isAssignableFrom(servletClass)) {
- servletData = new GBeanData(servletAbstractName, ServletHolderWrapper.class, jettyArtifact);
+ servletData = new GBeanData(servletAbstractName, ServletHolderWrapper.class);
servletData.setAttribute("servletClass", servletClassName);
} else {
servletData = new GBeanData(pojoWebServiceTemplate);
@@ -1100,7 +1092,7 @@
}
}
} else if (servletType.isSetJspFile()) {
- servletData = new GBeanData(servletAbstractName, ServletHolderWrapper.class, jettyArtifact);
+ servletData = new GBeanData(servletAbstractName, ServletHolderWrapper.class);
servletData.setAttribute("jspFile", servletType.getJspFile().getStringValue().trim());
servletData.setAttribute("servletClass", jspServlet.getServletClassName());
initParams.put("development", "false");
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java Fri Jan 22 16:41:57 2010
@@ -286,7 +286,6 @@
Collection<ModuleBuilderExtension> moduleBuilderExtensions = new ArrayList<ModuleBuilderExtension>();
GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null, null, null);
builder = new JettyModuleBuilder(defaultEnvironment,
- Artifact.create("org.apache.geronimo.configs/jetty8/3.0-SNAPSHOT/car"),
new Integer(1800),
Collections.EMPTY_LIST,
new AbstractNameQuery(containerName),
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java Fri Jan 22 16:41:57 2010
@@ -77,7 +77,6 @@
super.setUp();
GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null, null, null);
builder = new JettyModuleBuilder(defaultEnvironment,
- Artifact.create("org.apache.geronimo.configs/jetty8/3.0-SNAPSHOT/car"),
new Integer(1800),
null,
jettyContainerObjectName,
Modified: geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml?rev=902162&r1=902161&r2=902162&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml Fri Jan 22 16:41:57 2010
@@ -127,7 +127,6 @@
<reference name="ResourceEnvironmentSetter">
<name>ResourceRefBuilder</name>
</reference>
- <attribute name="jettyArtifact">${pom.groupId}/jetty8/${version}/car</attribute>
</gbean>
<gbean name="StaticContent" class="org.apache.geronimo.jetty8.DefaultServletHolderWrapper">