You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/02/19 19:22:08 UTC
svn commit: r154436 - in geronimo/trunk/modules:
axis/src/test/org/apache/geronimo/axis/
client-builder/src/java/org/apache/geronimo/client/builder/
connector-builder/src/java/org/apache/geronimo/connector/deployment/
connector-builder/src/test/org/apache/geronimo/connector/deployment/
connector/src/java/org/apache/geronimo/connector/
connector/src/java/org/apache/geronimo/connector/outbound/
connector/src/test/org/apache/geronimo/connector/
connector/src/test/org/apache/geronimo/connector/outbound/
j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/
j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/
j2ee/src/java/org/apache/geronimo/j2ee/management/impl/
jetty-builder/src/java/org/apache/geronimo/jetty/deployment/
jetty-builder/src/test/org/apache/geronimo/jetty/deployment/
jetty/src/java/org/apache/geronimo/jetty/
jetty/src/test/org/apache/geronimo/jetty/
naming-builder/src/java/org/apache/geronimo/naming/deployment/
service-builder/src/java/org/apache/geronimo/deployment/service/
tomcat/src/java/org/apache/geronimo/tomcat/deployment/
tomcat/src/test/org/apache/geronimo/tomcat/
Author: djencks
Date: Sat Feb 19 10:22:02 2005
New Revision: 154436
URL: http://svn.apache.org/viewcvs?view=rev&rev=154436
Log:
Attempt to simplify (?) and unify NameFactory and J2eeContext. Add missing jsr-77 classes and correct jsr-77 errors
Added:
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java
Modified:
geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java
geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java
geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java
geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapperTest.java
geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContext.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContextImpl.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java
geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java
geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java
geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java
geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/AbstractWebModuleTest.java
geronimo/trunk/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java
geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java
geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java
geronimo/trunk/modules/tomcat/src/test/org/apache/geronimo/tomcat/AbstractWebModuleTest.java
Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java (original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java Sat Feb 19 10:22:02 2005
@@ -60,7 +60,7 @@
kernel.boot();
//start the J2EE server which would be started by the server plan
//in the real case
- TestingUtils.startJ2EEContainerAndAxisServlet(kernel);
+// TestingUtils.startJ2EEContainerAndAxisServlet(kernel);
//Start axis gbean
GBeanData axisgbData = new GBeanData(axisname,AxisGbean.getGBeanInfo());
@@ -77,7 +77,7 @@
}
protected void tearDown() throws Exception {
- TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
+// TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
kernel.shutdown();
File file = new File(AxisGeronimoConstants.AXIS_CONFIG_STORE);
AxisGeronimoUtils.delete(file);
Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java (original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java Sat Feb 19 10:22:02 2005
@@ -80,11 +80,11 @@
name = new ObjectName("test:name=AxisGBean");
kernel = new Kernel("test.kernel");
kernel.boot();
- TestingUtils.startJ2EEContainerAndAxisServlet(kernel);
+// TestingUtils.startJ2EEContainerAndAxisServlet(kernel);
}
protected void tearDown() throws Exception {
- TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
+// TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
kernel.shutdown();
}
}
Modified: geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java (original)
+++ geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java Sat Feb 19 10:22:02 2005
@@ -298,7 +298,8 @@
// generate the object name for the app client
ObjectName appClientModuleName = null;
try {
- appClientModuleName = NameFactory.getModuleName(null, null, null, appClientModule.getName(), NameFactory.APP_CLIENT_MODULE, earJ2eeContext);
+ //TODO consider constructing a module context
+ appClientModuleName = NameFactory.getModuleName(null, null, null, NameFactory.APP_CLIENT_MODULE, appClientModule.getName(), earJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct module name", e);
}
Modified: geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Sat Feb 19 10:22:02 2005
@@ -42,6 +42,8 @@
import org.apache.geronimo.connector.AdminObjectWrapper;
import org.apache.geronimo.connector.ResourceAdapterModuleImpl;
import org.apache.geronimo.connector.ResourceAdapterWrapper;
+import org.apache.geronimo.connector.ResourceAdapterImpl;
+import org.apache.geronimo.connector.JCAResourceImpl;
import org.apache.geronimo.connector.outbound.JCAConnectionFactoryImpl;
import org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper;
import org.apache.geronimo.connector.outbound.connectionmanagerconfig.LocalTransactions;
@@ -262,13 +264,14 @@
public void initContext(EARContext earContext, Module module, ClassLoader cl) throws DeploymentException {
J2eeContext earJ2eeContext = earContext.getJ2eeContext();
- J2eeContext moduleJ2eeContext = new J2eeContextImpl(earJ2eeContext.getJ2eeDomainName(), earJ2eeContext.getJ2eeServerName(), earJ2eeContext.getJ2eeApplicationName(), module.getName(), null, null);
+ J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.RESOURCE_ADAPTER_MODULE, module.getName());
+ J2eeContext resourceJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.JCA_RESOURCE, module.getName());
XmlObject specDD = module.getSpecDD();
//set up the metadata for the ResourceAdapterModule
ObjectName resourceAdapterModuleName = null;
try {
- resourceAdapterModuleName = NameFactory.getModuleName(null, null, null, null, NameFactory.RESOURCE_ADAPTER_MODULE, moduleJ2eeContext);
+ resourceAdapterModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct module name", e);
}
@@ -280,11 +283,7 @@
resourceAdapterModuleData.setReferencePattern(NameFactory.J2EE_APPLICATION, earContext.getApplicationObjectName());
}
- try {
- resourceAdapterModuleData.setAttribute("deploymentDescriptor", module.getOriginalSpecDD());
- } catch (Exception e) {
- throw new DeploymentException("Unable to initialize EJBModule GBean", e);
- }
+ resourceAdapterModuleData.setAttribute("deploymentDescriptor", module.getOriginalSpecDD());
ResourceadapterType resourceadapter = ((ConnectorType) specDD).getResourceadapter();
// Create the resource adapter gbean
@@ -320,12 +319,12 @@
try {
if (resourceadapter.isSetInboundResourceadapter() && resourceadapter.getInboundResourceadapter().isSetMessageadapter()) {
String resourceAdapterName = geronimoResourceAdapter.getResourceadapterInstance().getResourceadapterName();
- ObjectName resourceAdapterObjectName = NameFactory.getResourceComponentName(null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, moduleJ2eeContext);
+ ObjectName resourceAdapterObjectName = NameFactory.getComponentName(null, null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, resourceJ2eeContext);
String containerId = resourceAdapterObjectName.getCanonicalName();
earContext.getRefContext().addResourceAdapterId(module.getModuleURI(), resourceAdapterName, containerId);
}
- } catch (Exception e) {
- throw new DeploymentException("Could not set ResourceAdapterClass", e);
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct resource adapter instance", e);
}
}
if (geronimoResourceAdapter.isSetOutboundResourceadapter()) {
@@ -337,7 +336,7 @@
GerConnectiondefinitionInstanceType connectionDefinitionInstance = connectionDefinitionInstances[j];
String containerId = null;
try {
- containerId = NameFactory.getResourceComponentNameString(null, null, null, null, connectionDefinitionInstance.getName(), NameFactory.JCA_MANAGED_CONNECTION_FACTORY, moduleJ2eeContext);
+ containerId = NameFactory.getComponentName(null, null, null, null, null, connectionDefinitionInstance.getName(), NameFactory.JCA_MANAGED_CONNECTION_FACTORY, resourceJ2eeContext).getCanonicalName();
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct resource object name", e);
}
@@ -353,7 +352,7 @@
String adminObjectObjectName = null;
try {
- adminObjectObjectName = NameFactory.getResourceComponentNameString(null, null, null, null, gerAdminObjectInstance.getMessageDestinationName(), NameFactory.JCA_ADMIN_OBJECT, moduleJ2eeContext);
+ adminObjectObjectName = NameFactory.getComponentName(null, null, null, null, gerAdminObjectInstance.getMessageDestinationName(), NameFactory.JCA_ADMIN_OBJECT, resourceJ2eeContext).getCanonicalName();
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct resource object name", e);
}
@@ -365,28 +364,50 @@
public String addGBeans(EARContext earContext, Module module, ClassLoader cl) throws DeploymentException {
J2eeContext earJ2eeContext = earContext.getJ2eeContext();
- J2eeContext moduleJ2eeContext = new J2eeContextImpl(earJ2eeContext.getJ2eeDomainName(), earJ2eeContext.getJ2eeServerName(), earJ2eeContext.getJ2eeApplicationName(), module.getName(), null, null);
+ J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.RESOURCE_ADAPTER_MODULE, module.getName());
+ J2eeContext resourceJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.JCA_RESOURCE, module.getName());
XmlObject specDD = module.getSpecDD();
// build the objectName
ObjectName resourceAdapterModuleName = null;
try {
- resourceAdapterModuleName = NameFactory.getModuleName(null, null, null, null, NameFactory.RESOURCE_ADAPTER_MODULE, moduleJ2eeContext);
+ resourceAdapterModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct module name", e);
}
GBeanData resourceAdapterModuleData = earContext.getRefContext().getResourceAdapterModuleData(resourceAdapterModuleName);
+ ObjectName resourceAdapterjsr77Name = null;
+ try {
+ resourceAdapterjsr77Name = NameFactory.getComponentName(null, null, null, null, null, resourceJ2eeContext.getJ2eeModuleName(), NameFactory.RESOURCE_ADAPTER, moduleJ2eeContext);
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct resource adapter placeholder name", e);
+ }
+ resourceAdapterModuleData.setAttribute("resourceAdapter", resourceAdapterjsr77Name.getCanonicalName());
// add it
earContext.addGBean(resourceAdapterModuleData);
+ //construct the bogus resource adapter and jca resource placeholders
+ GBeanData resourceAdapterData = new GBeanData(resourceAdapterjsr77Name, ResourceAdapterImpl.GBEAN_INFO);
+ ObjectName jcaResourcejsr77Name = null;
+ try {
+ jcaResourcejsr77Name = NameFactory.getComponentName(null, null, null, NameFactory.RESOURCE_ADAPTER, null, resourceJ2eeContext.getJ2eeModuleName(), NameFactory.JCA_RESOURCE, moduleJ2eeContext);
+ } catch (MalformedObjectNameException e) {
+ throw new DeploymentException("Could not construct jca resource placeholder name", e);
+ }
+ resourceAdapterData.setAttribute("JCAResource", jcaResourcejsr77Name.getCanonicalName());
+ earContext.addGBean(resourceAdapterData);
+
+ GBeanData jcaResourceData = new GBeanData(jcaResourcejsr77Name, JCAResourceImpl.GBEAN_INFO);
+ earContext.addGBean(jcaResourceData);
+
GerConnectorType geronimoConnector = (GerConnectorType) module.getVendorDD();
GbeanType[] gbeans = geronimoConnector.getGbeanArray();
ServiceConfigBuilder.addGBeans(gbeans, cl, moduleJ2eeContext, earContext);
- addConnectorGBeans(earContext, moduleJ2eeContext, resourceAdapterModuleName, (ConnectorType) specDD, geronimoConnector, cl);
+ addConnectorGBeans(earContext, resourceJ2eeContext, resourceAdapterModuleName, (ConnectorType) specDD, geronimoConnector, cl);
return null;
}
@@ -412,7 +433,7 @@
String resourceAdapterName = geronimoResourceAdapter.getResourceadapterInstance().getResourceadapterName();
try {
- resourceAdapterObjectName = NameFactory.getResourceComponentName(null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, moduleJ2eeContext);
+ resourceAdapterObjectName = NameFactory.getComponentName(null, null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct resource adapter object name", e);
}
@@ -467,7 +488,7 @@
// add it
ObjectName adminObjectObjectName = null;
try {
- adminObjectObjectName = NameFactory.getResourceComponentName(null, null, null, null, gerAdminObjectInstance.getMessageDestinationName(), NameFactory.JCA_ADMIN_OBJECT, moduleJ2eeContext);
+ adminObjectObjectName = NameFactory.getComponentName(null, null, null, null, null, gerAdminObjectInstance.getMessageDestinationName(), NameFactory.JCA_ADMIN_OBJECT, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct admin object object name", e);
}
@@ -634,7 +655,7 @@
// create the object name for our connection manager
ObjectName connectionManagerObjectName = null;
try {
- connectionManagerObjectName = NameFactory.getResourceComponentName(null, null, null, null, connectionfactoryInstance.getName(), NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
+ connectionManagerObjectName = NameFactory.getComponentName(null, null, null, null, null, connectionfactoryInstance.getName(), NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct connection manager object name", e);
}
@@ -760,7 +781,7 @@
ObjectName managedConnectionFactoryObjectName = null;
try {
- managedConnectionFactoryObjectName = NameFactory.getResourceComponentName(null, null, null, null, connectiondefinitionInstance.getName(), NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
+ managedConnectionFactoryObjectName = NameFactory.getComponentName(null, null, null, null, null, connectiondefinitionInstance.getName(), NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct managed connection factory object name", e);
}
@@ -770,7 +791,7 @@
// ConnectionFactory
ObjectName connectionFactoryObjectName = null;
try {
- connectionFactoryObjectName = NameFactory.getResourceComponentName(null, null, null, null, connectiondefinitionInstance.getName(), NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
+ connectionFactoryObjectName = NameFactory.getComponentName(null, null, null, null, null, connectiondefinitionInstance.getName(), NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct connection factory object name", e);
}
Modified: geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java (original)
+++ geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java Sat Feb 19 10:22:02 2005
@@ -283,9 +283,10 @@
private void executeTestBuildModule(InstallAction action, boolean is15) throws Exception {
- J2eeContext j2eeContext = new J2eeContextImpl("test", "bar", "null", "org/apache/geronimo/j2ee/deployment/test", null, null);
+ J2eeContext j2eeContext = new J2eeContextImpl("test", "bar", "null", "JCAResource", "org/apache/geronimo/j2ee/deployment/test", null, null);
String resourceAdapterName = "testRA";
- ObjectName connectionTrackerName = NameFactory.getComponentName(null, null, null, null, "ConnectionTracker", ConnectionTrackingCoordinator.GBEAN_INFO.getJ2eeType(), j2eeContext);
+ //N.B. short version of getComponentName
+ ObjectName connectionTrackerName = NameFactory.getComponentName(null, null, null, null, "ConnectionTracker", ConnectionTrackingCoordinator.GBEAN_INFO.getJ2eeType(), j2eeContext);
//new ObjectName("test:J2EEServer=bar,J2EEModule=org/apache/geronimo/j2ee/deployment/test,service=ConnectionTracker");
Kernel kernel = new Kernel("foo", new BasicGBeanRegistry());
@@ -398,7 +399,7 @@
assertTrue("No application object should be registered for a standalone module", applications.isEmpty());
}
- ObjectName moduleName = NameFactory.getModuleName(null, null, null, null, NameFactory.RESOURCE_ADAPTER_MODULE, j2eeContext);
+ ObjectName moduleName = NameFactory.getModuleName(null, null, null, NameFactory.RESOURCE_ADAPTER_MODULE, null, j2eeContext);
assertRunning(kernel, moduleName);
//1.5 only
@@ -420,7 +421,7 @@
assertEquals(3, attributes2.size());
// ResourceAdapter
- ObjectName resourceAdapterObjectName = NameFactory.getResourceComponentName(null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, j2eeContext);
+ ObjectName resourceAdapterObjectName = NameFactory.getComponentName(null, null, null, null, null, resourceAdapterName, NameFactory.JCA_RESOURCE_ADAPTER, j2eeContext);
assertRunning(kernel, resourceAdapterObjectName);
assertAttributeValue(kernel, resourceAdapterObjectName, "RAStringProperty", "NewStringValue");
@@ -437,42 +438,42 @@
// FirstTestOutboundConnectionFactory
- ObjectName firstConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
+ ObjectName firstConnectionManagerFactory = NameFactory.getComponentName(null, null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
assertRunning(kernel, firstConnectionManagerFactory);
- ObjectName firstOutCF = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
+ ObjectName firstOutCF = NameFactory.getComponentName(null, null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, firstOutCF);
ObjectName firstOutSecurity = new ObjectName("geronimo.security:service=Realm,type=PasswordCredential,name=FirstTestOutboundConnectionFactory");
assertRunning(kernel, firstOutSecurity);
- ObjectName firstOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
+ ObjectName firstOutMCF = NameFactory.getComponentName(null, null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, firstOutMCF);
assertAttributeValue(kernel, firstOutMCF, "OutboundStringProperty1", "newvalue1");
assertAttributeValue(kernel, firstOutMCF, "OutboundStringProperty2", "originalvalue2");
assertAttributeValue(kernel, firstOutMCF, "OutboundStringProperty3", "newvalue2");
// SecondTestOutboundConnectionFactory
- ObjectName secondConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
+ ObjectName secondConnectionManagerFactory = NameFactory.getComponentName(null, null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
assertRunning(kernel, secondConnectionManagerFactory);
- ObjectName secondOutCF = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
+ ObjectName secondOutCF = NameFactory.getComponentName(null, null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, secondOutCF);
- ObjectName secondOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
+ ObjectName secondOutMCF = NameFactory.getComponentName(null, null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, secondOutMCF);
// ThirdTestOutboundConnectionFactory
- ObjectName thirdConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
+ ObjectName thirdConnectionManagerFactory = NameFactory.getComponentName(null, null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext);
assertRunning(kernel, thirdConnectionManagerFactory);
- ObjectName thirdOutCF = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
+ ObjectName thirdOutCF = NameFactory.getComponentName(null, null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, thirdOutCF);
- ObjectName thirdOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
+ ObjectName thirdOutMCF = NameFactory.getComponentName(null, null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext);
assertRunning(kernel, thirdOutMCF);
// 1.5 only
@@ -480,10 +481,10 @@
//
if (is15) {
- ObjectName tweedledeeAdminObject = NameFactory.getResourceComponentName(null, null, null, null, "tweedledee", NameFactory.JCA_ADMIN_OBJECT, j2eeContext);
+ ObjectName tweedledeeAdminObject = NameFactory.getComponentName(null, null, null, null, null, "tweedledee", NameFactory.JCA_ADMIN_OBJECT, j2eeContext);
assertRunning(kernel, tweedledeeAdminObject);
- ObjectName tweedledumAdminObject = NameFactory.getResourceComponentName(null, null, null, null, "tweedledum", NameFactory.JCA_ADMIN_OBJECT, j2eeContext);
+ ObjectName tweedledumAdminObject = NameFactory.getComponentName(null, null, null, null, null, "tweedledum", NameFactory.JCA_ADMIN_OBJECT, j2eeContext);
assertRunning(kernel, tweedledumAdminObject);
}
Added: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java?view=auto&rev=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java (added)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java Sat Feb 19 10:22:02 2005
@@ -0,0 +1,79 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.connector;
+
+import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
+
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
+import org.apache.geronimo.j2ee.management.impl.Util;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+public class JCAResourceImpl {
+ private final Kernel kernel;
+ private final J2eeContext moduleContext;
+
+ private static final String[] CONNECTION_FACTORY_TYPES = {NameFactory.JCA_CONNECTION_FACTORY};
+ private static final String[] RESOURCE_ADAPTER_INSTANCE_TYPES = {NameFactory.JCA_RESOURCE_ADAPTER};
+
+ public JCAResourceImpl(String objectName, Kernel kernel) {
+ ObjectName myObjectName = JMXUtil.getObjectName(objectName);
+ moduleContext = J2eeContextImpl.newContext(myObjectName, NameFactory.JCA_RESOURCE);
+
+ this.kernel = kernel;
+ }
+
+ public String[] getConnectionFactories() throws MalformedObjectNameException {
+ return Util.getObjectNames(kernel, moduleContext, CONNECTION_FACTORY_TYPES);
+ }
+
+ public String[] getResourceAdapterInstances() throws MalformedObjectNameException {
+ return Util.getObjectNames(kernel, moduleContext, RESOURCE_ADAPTER_INSTANCE_TYPES);
+ }
+
+ public static final GBeanInfo GBEAN_INFO;
+
+ static {
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(JCAResourceImpl.class, NameFactory.JCA_RESOURCE);
+ infoBuilder.addAttribute("objectName", String.class, false);
+ infoBuilder.addAttribute("kernel", Kernel.class, false);
+
+ infoBuilder.addAttribute("connectionFactories", String[].class, false);
+ infoBuilder.addAttribute("resourceAdapterInstances", String[].class, false);
+
+ infoBuilder.setConstructor(new String[]{
+ "objectName",
+ "kernel"
+ });
+
+ GBEAN_INFO = infoBuilder.getBeanInfo();
+ }
+
+ public static GBeanInfo getGBeanInfo() {
+ return GBEAN_INFO;
+ }
+
+
+}
Added: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java?view=auto&rev=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java (added)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java Sat Feb 19 10:22:02 2005
@@ -0,0 +1,67 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.connector;
+
+import java.util.Map;
+import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
+import org.apache.geronimo.j2ee.management.J2EEServer;
+import org.apache.geronimo.j2ee.management.J2EEApplication;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.GBeanData;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+public class ResourceAdapterImpl {
+ private final String jcaResource;
+
+ public ResourceAdapterImpl(String objectName, String jcaResource) throws MalformedObjectNameException {
+ this.jcaResource = jcaResource;
+ }
+
+ public String getJCAResource() {
+ return jcaResource;
+ }
+
+ public static final GBeanInfo GBEAN_INFO;
+
+ static {
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ResourceAdapterImpl.class, NameFactory.RESOURCE_ADAPTER);
+ infoBuilder.addAttribute("objectName", String.class, false);
+ infoBuilder.addAttribute("JCAResource", String.class, true);
+
+ infoBuilder.setConstructor(new String[]{
+ "objectName",
+ "JCAResource"
+ });
+
+ GBEAN_INFO = infoBuilder.getBeanInfo();
+ }
+
+ public static GBeanInfo getGBeanInfo() {
+ return GBEAN_INFO;
+ }
+
+}
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java Sat Feb 19 10:22:02 2005
@@ -29,6 +29,8 @@
import org.apache.geronimo.j2ee.management.impl.InvalidObjectNameException;
import org.apache.geronimo.j2ee.management.impl.Util;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.jmx.JMXUtil;
@@ -36,18 +38,17 @@
* @version $Rev$ $Date$
*/
public class ResourceAdapterModuleImpl {
- private final Kernel kernel;
- private final String baseName;
private final J2EEServer server;
private final J2EEApplication application;
private final String deploymentDescriptor;
+ private final String[] resourceAdapters;
private final GBeanData resourceAdapterGBeanData;
private final Map activationSpecInfoMap;
private final Map adminObjectInfoMap;
private final Map managedConnectionFactoryInfoMap;
- public ResourceAdapterModuleImpl(Kernel kernel,
+ public ResourceAdapterModuleImpl(String resourceAdapter,
String objectName,
J2EEServer server,
J2EEApplication application,
@@ -59,14 +60,8 @@
ObjectName myObjectName = JMXUtil.getObjectName(objectName);
verifyObjectName(myObjectName);
- // build the base name used to query the server for child modules
- Hashtable keyPropertyList = myObjectName.getKeyPropertyList();
- String name = (String) keyPropertyList.get("name");
- String j2eeServerName = (String) keyPropertyList.get("J2EEServer");
- String j2eeApplicationName = (String) keyPropertyList.get("J2EEApplication");
- baseName = myObjectName.getDomain() + ":J2EEServer=" + j2eeServerName + ",J2EEApplication=" + j2eeApplicationName + ",ResouceAdapterModule=" + name + ",";
+ this.resourceAdapters = new String[] {resourceAdapter};
- this.kernel = kernel;
this.server = server;
this.application = application;
this.deploymentDescriptor = deploymentDescriptor;
@@ -97,7 +92,7 @@
}
public String[] getResourceAdapters() throws MalformedObjectNameException {
- return Util.getObjectNames(kernel, baseName, new String[]{"ResourceAdapter"});
+ return resourceAdapters;
}
public GBeanData getResourceAdapterGBeanData() {
@@ -152,7 +147,7 @@
infoBuilder.addAttribute("deploymentDescriptor", String.class, true);
- infoBuilder.addAttribute("kernel", Kernel.class, false);
+ infoBuilder.addAttribute("resourceAdapter", String.class, true);
infoBuilder.addAttribute("objectName", String.class, false);
infoBuilder.addAttribute("server", String.class, false);
infoBuilder.addAttribute("application", String.class, false);
@@ -165,7 +160,7 @@
infoBuilder.addAttribute("managedConnectionFactoryInfoMap", Map.class, true);
infoBuilder.setConstructor(new String[]{
- "kernel",
+ "resourceAdapter",
"objectName",
"J2EEServer",
"J2EEApplication",
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java Sat Feb 19 10:22:02 2005
@@ -41,9 +41,9 @@
this.managedConnectionFactory = managedConnectionFactory;
}
- public String getServer() {
- return server.getObjectName();
- }
+// public String getServer() {
+// return server.getObjectName();
+// }
public String getManagedConnectionFactory() {
return managedConnectionFactory;
@@ -83,7 +83,7 @@
infoFactory.addReference("J2EEServer", J2EEServer.class);
infoFactory.addAttribute("objectName", String.class, false);
- infoFactory.addAttribute("server", String.class, false);
+// infoFactory.addAttribute("server", String.class, false);
infoFactory.addAttribute("managedConnectionFactory", String.class, true);
infoFactory.setConstructor(new String[]{"objectName", "J2EEServer", "managedConnectionFactory"});
Modified: geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java (original)
+++ geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/AdminObjectWrapperTest.java Sat Feb 19 10:22:02 2005
@@ -26,11 +26,12 @@
import junit.framework.TestCase;
import org.apache.geronimo.connector.mock.MockAdminObject;
import org.apache.geronimo.connector.mock.MockAdminObjectImpl;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.registry.BasicGBeanRegistry;
/**
* @version $Rev$ $Date$
@@ -101,15 +102,15 @@
// }
protected void setUp() throws Exception {
- J2eeContext j2eeContext = new J2eeContextImpl("test.domain", "geronimo.server", "testapp", "testmodule", TARGET_NAME, NameFactory.JMS_RESOURCE);
- kernel = new Kernel(j2eeContext.getJ2eeServerName(), j2eeContext.getJ2eeDomainName());
+ J2eeContext j2eeContext = new J2eeContextImpl("test.domain", "geronimo.server", "testapp", NameFactory.RESOURCE_ADAPTER_MODULE, "testmodule", TARGET_NAME, NameFactory.JMS_RESOURCE);
+ kernel = new Kernel(j2eeContext.getJ2eeDomainName(), new BasicGBeanRegistry());
kernel.boot();
selfName = NameFactory.getResourceComponentName(null, null, null, null, null, null, j2eeContext);
- GBeanMBean aow = new GBeanMBean(AdminObjectWrapper.getGBeanInfo());
+ GBeanData aow = new GBeanData(selfName, AdminObjectWrapper.getGBeanInfo());
aow.setAttribute("adminObjectInterface", MockAdminObject.class.getName());
aow.setAttribute("adminObjectClass", MockAdminObjectImpl.class.getName());
- kernel.loadGBean(selfName, aow);
+ kernel.loadGBean(aow, this.getClass().getClassLoader());
kernel.startGBean(selfName);
}
Modified: geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapperTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapperTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapperTest.java (original)
+++ geronimo/trunk/modules/connector/src/test/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapperTest.java Sat Feb 19 10:22:02 2005
@@ -155,7 +155,7 @@
cmfName = ObjectName.getInstance("test:role=ConnectionManagerFactory");
kernel.loadGBean(cmfName, cmf);
- J2eeContext j2eeContext = new J2eeContextImpl("test.domain", "geronimo", "testapplication", "testmodule", TARGET_NAME, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ J2eeContext j2eeContext = new J2eeContextImpl("test.domain", "geronimo", "testapplication", "noModuleType", "testmodule", TARGET_NAME, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
managedConnectionFactoryName = NameFactory.getResourceComponentName(null, null, null, null, null, null, j2eeContext);
GBeanMBean mcfw = new GBeanMBean(ManagedConnectionFactoryWrapper.getGBeanInfo());
Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java (original)
+++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARContext.java Sat Feb 19 10:22:02 2005
@@ -48,7 +48,7 @@
public EARContext(File baseDir, URI id, ConfigurationModuleType moduleType, URI parentID, Kernel kernel, String j2eeApplicationName, ObjectName transactionContextManagerObjectName, ObjectName connectionTrackerObjectName, ObjectName transactedTimerName, ObjectName nonTransactedTimerName, RefContext refContext) throws MalformedObjectNameException, DeploymentException {
super(baseDir, id, moduleType, parentID, kernel);
- j2eeContext = new J2eeContextImpl(getDomain(), getServer(), j2eeApplicationName == null ? NameFactory.NULL : j2eeApplicationName, null, null, null);
+ j2eeContext = new J2eeContextImpl(getDomain(), getServer(), j2eeApplicationName == null ? NameFactory.NULL : j2eeApplicationName, null, null, null, null);
domainObjectName = NameFactory.getDomainName(null, j2eeContext);
serverObjectName = NameFactory.getServerName(null, null, j2eeContext);
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContext.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContext.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContext.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContext.java Sat Feb 19 10:22:02 2005
@@ -48,4 +48,7 @@
String getJ2eeType(String override);
+ String getJ2eeModuleType();
+
+ String getJ2eeModuleType(String override);
}
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContextImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContextImpl.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContextImpl.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/J2eeContextImpl.java Sat Feb 19 10:22:02 2005
@@ -26,29 +26,51 @@
private final String domainName;
private final String serverName;
private final String applicationName;
+ private final String moduleType;
private final String moduleName;
private final String j2eeName;
private final String j2eeType;
- public J2eeContextImpl(String domainName, String serverName, String applicationName, String moduleName, String j2eeName, String j2eeType) {
+ public J2eeContextImpl(String domainName, String serverName, String applicationName, String moduleType, String moduleName, String j2eeName, String j2eeType) {
this.domainName = domainName;
this.serverName = serverName;
this.applicationName = applicationName;
+ this.moduleType = moduleType;
this.moduleName = moduleName;
this.j2eeName = j2eeName;
this.j2eeType = j2eeType;
}
- public J2eeContextImpl(ObjectName source, String moduleType) {
- this.domainName = source.getDomain();
- this.serverName = source.getKeyProperty(NameFactory.J2EE_SERVER);
- this.applicationName = source.getKeyProperty(NameFactory.J2EE_APPLICATION);
- this.moduleName = source.getKeyProperty(moduleType);
- this.j2eeType = source.getKeyProperty(NameFactory.J2EE_TYPE);
- this.j2eeName = source.getKeyProperty(NameFactory.J2EE_NAME);
+ public static J2eeContextImpl newContext(ObjectName source, String moduleType) {
+ return new J2eeContextImpl(source.getDomain(),
+ source.getKeyProperty(NameFactory.J2EE_SERVER),
+ source.getKeyProperty(NameFactory.J2EE_APPLICATION),
+ moduleType,
+ source.getKeyProperty(moduleType),
+ source.getKeyProperty(NameFactory.J2EE_TYPE),
+ source.getKeyProperty(NameFactory.J2EE_NAME));
+ }
+
+ public static J2eeContextImpl newModuleContextFromApplication(ObjectName source, String moduleType, String moduleName) {
+ return new J2eeContextImpl(source.getDomain(),
+ source.getKeyProperty(NameFactory.J2EE_SERVER),
+ source.getKeyProperty(NameFactory.J2EE_NAME), //application name in module is name key property in application's object name
+ moduleType,
+ moduleName,
+ null,
+ null);
+ }
+
+ public static J2eeContextImpl newModuleContextFromApplication(J2eeContext source, String moduleType, String moduleName) {
+ return new J2eeContextImpl(source.getJ2eeDomainName(),
+ source.getJ2eeServerName(),
+ source.getJ2eeApplicationName(),
+ moduleType,
+ moduleName,
+ null,
+ null);
}
-
public String getJ2eeDomainName() {
return domainName;
}
@@ -61,6 +83,10 @@
return applicationName;
}
+ public String getJ2eeModuleType() {
+ return moduleType;
+ }
+
public String getJ2eeModuleName() {
return moduleName;
}
@@ -74,27 +100,31 @@
}
public String getJ2eeDomainName(String override) {
- return override == null? domainName: override;
+ return override == null ? domainName : override;
}
public String getJ2eeServerName(String override) {
- return override == null? serverName: override;
+ return override == null ? serverName : override;
}
public String getJ2eeApplicationName(String override) {
- return override == null? applicationName: override;
+ return override == null ? applicationName : override;
+ }
+
+ public String getJ2eeModuleType(String override) {
+ return override == null ? moduleType : override;
}
public String getJ2eeModuleName(String override) {
- return override == null? moduleName: override;
+ return override == null ? moduleName : override;
}
//most likely the last 2 don't make any sense.
public String getJ2eeName(String override) {
- return override == null? j2eeName: override;
+ return override == null ? j2eeName : override;
}
public String getJ2eeType(String override) {
- return override == null? j2eeType: override;
+ return override == null ? j2eeType : override;
}
}
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java Sat Feb 19 10:22:02 2005
@@ -94,6 +94,7 @@
public static final String CONFIGURATION_ENTRY = "ConfigurationEntry";
public static final String PERSISTENT_CONFIGURATION_LIST = "PersistentConfigurationList"; //duplicated in FileConfigurationList
// public static final String URL_PATTERN = "URLPattern";
+ public static String DEFAULT_SERVLET = "DefaultServlet";
public static ObjectName getDomainName(String j2eeDomainName, J2eeContext context) throws MalformedObjectNameException {
Properties props = new Properties();
@@ -117,38 +118,36 @@
return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
}
- public static ObjectName getModuleName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
+ public static ObjectName getModuleName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleType, String j2eeModuleName, J2eeContext context) throws MalformedObjectNameException {
Properties props = new Properties();
- props.put(J2EE_TYPE, context.getJ2eeType(j2eeType));
+ //N.B.! module context will have the module's j2eeType as its module type attribute.
+ props.put(J2EE_TYPE, context.getJ2eeModuleType(j2eeModuleType));
props.put(J2EE_SERVER, context.getJ2eeServerName(j2eeServerName));
props.put(J2EE_APPLICATION, context.getJ2eeApplicationName(j2eeApplicationName));
props.put(J2EE_NAME, context.getJ2eeModuleName(j2eeModuleName));
return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
}
- public static ObjectName getEjbComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
+ public static ObjectName getComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleType, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
Properties props = new Properties();
props.put(J2EE_TYPE, context.getJ2eeType(j2eeType));
props.put(J2EE_SERVER, context.getJ2eeServerName(j2eeServerName));
props.put(J2EE_APPLICATION, context.getJ2eeApplicationName(j2eeApplicationName));
- props.put(EJB_MODULE, context.getJ2eeModuleName(j2eeModuleName));
+ props.put(context.getJ2eeModuleType(j2eeModuleType), context.getJ2eeModuleName(j2eeModuleName));
props.put(J2EE_NAME, context.getJ2eeName(j2eeName));
return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
}
+ public static ObjectName getEjbComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
+ return getComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, EJB_MODULE, j2eeModuleName, j2eeName, j2eeType, context);
+ }
+
public static String getEjbComponentNameString(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
return getEjbComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, j2eeModuleName, j2eeName, j2eeType, context).getCanonicalName();
}
public static ObjectName getResourceComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
- Properties props = new Properties();
- props.put(J2EE_TYPE, context.getJ2eeType(j2eeType));
- props.put(J2EE_SERVER, context.getJ2eeServerName(j2eeServerName));
- props.put(J2EE_APPLICATION, context.getJ2eeApplicationName(j2eeApplicationName));
-// props.put(RESOURCE_ADAPTER_MODULE, context.getJ2eeModuleName(j2eeModuleName));
- props.put(JCA_RESOURCE, context.getJ2eeModuleName(j2eeModuleName));
- props.put(J2EE_NAME, context.getJ2eeName(j2eeName));
- return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
+ return getComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, RESOURCE_ADAPTER_MODULE, j2eeModuleName, j2eeName, j2eeType, context);
}
public static String getResourceComponentNameString(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
@@ -182,17 +181,21 @@
return ObjectName.getInstance(buffer.toString());
}
+ public static ObjectName getComponentInModuleQuery(String j2eeDomainName, String j2eeServerName, String applicationName, String j2eeModuleType, String j2eeModuleName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
+ StringBuffer buffer = new StringBuffer(context.getJ2eeDomainName(j2eeDomainName))
+ .append(":" + J2EE_TYPE + "=").append(context.getJ2eeType(j2eeType))
+ .append("," + J2EE_SERVER + "=").append(context.getJ2eeServerName(j2eeServerName))
+ .append("," + J2EE_APPLICATION + "=").append(context.getJ2eeApplicationName(applicationName))
+ .append(",").append(context.getJ2eeModuleType(j2eeModuleType)).append("=").append(context.getJ2eeModuleName(j2eeModuleName))
+ .append(",*");
+ return ObjectName.getInstance(buffer.toString());
+ }
+
public static ObjectName getWebComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
- Properties props = new Properties();
- props.put(J2EE_TYPE, context.getJ2eeType(j2eeType));
- props.put(J2EE_SERVER, context.getJ2eeServerName(j2eeServerName));
- props.put(J2EE_APPLICATION, context.getJ2eeApplicationName(j2eeApplicationName));
- props.put(WEB_MODULE, context.getJ2eeModuleName(j2eeModuleName));
- props.put(J2EE_NAME, context.getJ2eeName(j2eeName));
- return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
+ return getComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, WEB_MODULE, j2eeModuleName, j2eeName, j2eeType, context);
}
- //THIS IS KIND OF WEIRD. Is there a better way???
+ //TODO THIS IS KIND OF WEIRD. Is there a better way???
public static ObjectName getWebFilterMappingName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String filterName, String servletName, String urlPattern, J2eeContext context) throws MalformedObjectNameException {
Properties props = new Properties();
props.put(J2EE_TYPE, WEB_FILTER_MAPPING);
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java Sat Feb 19 10:22:02 2005
@@ -24,11 +24,29 @@
import javax.management.ObjectName;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
/**
* @version $Rev$ $Date$
*/
public class Util {
+
+ public static String[] getObjectNames(Kernel kernel, J2eeContext context, String[] j2eeTypes) throws MalformedObjectNameException {
+ List objectNames = new LinkedList();
+ for (int i = 0; i < j2eeTypes.length; i++) {
+ String j2eeType = j2eeTypes[i];
+ ObjectName query = NameFactory.getComponentInModuleQuery(null, null, null, null, null, j2eeType, context);
+ objectNames.addAll(kernel.listGBeans(query));
+ }
+ String[] names = new String[objectNames.size()];
+ Iterator iterator = objectNames.iterator();
+ for (int i = 0; iterator.hasNext(); i++) {
+ names[i] = iterator.next().toString();
+ }
+ return names;
+ }
+
public static String[] getObjectNames(Kernel kernel, Object parentName, String[] j2eeTypes) throws MalformedObjectNameException {
List objectNames = new LinkedList();
for (int i = 0; i < j2eeTypes.length; i++) {
Modified: geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Sat Feb 19 10:22:02 2005
@@ -323,7 +323,7 @@
public String addGBeans(EARContext earContext, Module module, ClassLoader cl) throws DeploymentException {
J2eeContext earJ2eeContext = earContext.getJ2eeContext();
- J2eeContext moduleJ2eeContext = new J2eeContextImpl(earJ2eeContext.getJ2eeDomainName(), earJ2eeContext.getJ2eeServerName(), earJ2eeContext.getJ2eeApplicationName(), module.getName(), null, null);
+ J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.WEB_MODULE, module.getName());
WebModule webModule = (WebModule) module;
WebAppType webApp = (WebAppType) webModule.getSpecDD();
@@ -343,7 +343,7 @@
ObjectName webModuleName = null;
try {
- webModuleName = NameFactory.getModuleName(null, null, null, null, NameFactory.WEB_MODULE, moduleJ2eeContext);
+ webModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct module name", e);
}
@@ -354,6 +354,12 @@
GBeanData webModuleData = new GBeanData(webModuleName, JettyWebAppContext.GBEAN_INFO);
try {
+ webModuleData.setReferencePattern("J2EEServer", earContext.getServerObjectName());
+ if (!earContext.getJ2EEApplicationName().equals("null")) {
+ webModuleData.setReferencePattern("J2EEApplication", earContext.getApplicationObjectName());
+ }
+
+ webModuleData.setAttribute("deploymentDescriptor", module.getOriginalSpecDD());
Set securityRoles = collectRoleNames(webApp);
if (jettyWebApp.isSetSecurityRealmName()) {
String securityRealmName = jettyWebApp.getSecurityRealmName().trim();
Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java Sat Feb 19 10:22:02 2005
@@ -50,6 +50,7 @@
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl;
import org.apache.geronimo.jetty.JettyContainerImpl;
import org.apache.geronimo.jetty.connector.HTTPConnector;
import org.apache.geronimo.kernel.Kernel;
@@ -83,7 +84,7 @@
private ObjectName tcmName;
private GBeanData tcm;
private ClassLoader cl;
- private J2eeContext moduleContext = new J2eeContextImpl("jetty.test", "test", "null", "jettyTest", null, null);
+ private J2eeContext moduleContext = new J2eeContextImpl("jetty.test", "test", "null", NameFactory.WEB_MODULE, "jettyTest", null, null);
private JettyModuleBuilder builder;
private File basedir = new File(System.getProperty("basedir", "."));
private URI parentId = URI.create("org/apache/geronimo/Foo");
@@ -97,6 +98,9 @@
Module module = builder.createModule(null, jarFile);
URI id = new URI("war4");
EARContext earContext = createEARContext(outputPath, id);
+ ObjectName serverName = earContext.getServerObjectName();
+ GBeanData server = new GBeanData(serverName, J2EEServerImpl.GBEAN_INFO);
+ start(server);
builder.initContext(earContext, module, cl);
builder.addGBeans(earContext, module, cl);
earContext.close();
@@ -109,6 +113,7 @@
if (((Integer) kernel.getAttribute(configData.getName(), "state")).intValue() != State.RUNNING_INDEX) {
fail("gbean not started: " + configData.getName());
}
+ assertEquals(new Integer(State.RUNNING_INDEX), kernel.getAttribute(ObjectName.getInstance("test:J2EEApplication=null,J2EEServer=bar,j2eeType=WebModule,name=war4"), "state"));
Set names = kernel.listGBeans(ObjectName.getInstance("test:J2EEApplication=null,J2EEServer=bar,WebModule=war4,*"));
System.out.println("Object names: " + names);
for (Iterator iterator = names.iterator(); iterator.hasNext();) {
@@ -205,8 +210,8 @@
connectorName = NameFactory.getWebComponentName(null, null, null, null, "jettyConnector", "WebResource", moduleContext);
// webModuleName = NameFactory.getWebComponentName(null, null, null, null, NameFactory.WEB_MODULE, "WebResource", moduleContext);
- tmName = NameFactory.getComponentName(null, null, null, null, "TransactionManager", NameFactory.JTA_RESOURCE, moduleContext);
- tcmName = NameFactory.getComponentName(null, null, null, null, "TransactionContextManager", NameFactory.JTA_RESOURCE, moduleContext);
+ tmName = NameFactory.getComponentName(null, null, null, null, null, "TransactionManager", NameFactory.JTA_RESOURCE, moduleContext);
+ tcmName = NameFactory.getComponentName(null, null, null, null, null, "TransactionContextManager", NameFactory.JTA_RESOURCE, moduleContext);
ctcName = new ObjectName("geronimo.test:role=ConnectionTrackingCoordinator");
kernel = new Kernel("foo", new BasicGBeanRegistry());
@@ -246,6 +251,8 @@
start(tcm);
ctc = new GBeanData(ctcName, ConnectionTrackingCoordinator.GBEAN_INFO);
start(ctc);
+
+
}
protected void tearDown() throws Exception {
Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java (original)
+++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java Sat Feb 19 10:22:02 2005
@@ -106,7 +106,7 @@
public static final GBeanInfo GBEAN_INFO;
static {
- GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(JettyServletHolder.class, NameFactory.SERVLET);
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(JettyServletHolder.class, NameFactory.DEFAULT_SERVLET);
//todo replace with interface
infoBuilder.addInterface(ServletHolder.class);
Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java (original)
+++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java Sat Feb 19 10:22:02 2005
@@ -24,10 +24,13 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
+import java.util.Hashtable;
import java.security.PermissionCollection;
import java.io.IOException;
import javax.naming.Context;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -57,9 +60,17 @@
import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.security.deploy.Security;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
import org.apache.geronimo.naming.reference.KernelAwareReference;
import org.apache.geronimo.naming.reference.ClassLoaderAwareReference;
import org.apache.geronimo.naming.java.SimpleReadOnlyContext;
+import org.apache.geronimo.j2ee.management.J2EEServer;
+import org.apache.geronimo.j2ee.management.J2EEApplication;
+import org.apache.geronimo.j2ee.management.impl.Util;
+import org.apache.geronimo.j2ee.management.impl.InvalidObjectNameException;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
+import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
/**
* Wrapper for a WebApplicationContext that sets up its J2EE environment.
@@ -69,6 +80,13 @@
public class JettyWebAppContext extends WebApplicationContext implements GBeanLifecycle, JettyServletRegistration {
private static Log log = LogFactory.getLog(JettyWebAppContext.class);
+ private final Kernel kernel;
+ //jsr-77 stuff
+ private final J2eeContext moduleContext;
+ private final String originalSpecDD;
+ private final J2EEServer server;
+ private final J2EEApplication application;
+
private final ClassLoader webClassLoader;
private final JettyContainer jettyContainer;
@@ -80,11 +98,17 @@
private final BeforeAfter chain;
private final int contextLength;
private final SecurityContextBeforeAfter securityInterceptor;
+ private static final String[] J2EE_TYPES = {NameFactory.SERVLET};
/**
* @deprecated never use this... this is only here because Jetty WebApplicationContext is externalizable
*/
public JettyWebAppContext() {
+ kernel = null;
+ server = null;
+ application = null;
+ moduleContext = null;
+ originalSpecDD = null;
webClassLoader = null;
jettyContainer = null;
webAppRoot = null;
@@ -96,42 +120,46 @@
}
- public JettyWebAppContext(URI uri,
- Map componentContext,
- OnlineUserTransaction userTransaction,
- ClassLoader classLoader,
- URI[] webClassPath,
- boolean contextPriorityClassLoader,
- URL configurationBaseUrl,
- Set unshareableResources,
- Set applicationManagedSecurityResources,
-
- String displayName,
- Map contextParamMap,
- Collection listenerClassNames,
- boolean distributable,
- Map mimeMap,
- String[] welcomeFiles,
- Map localeEncodingMapping,
- Map errorPages,
- Authenticator authenticator,
- String realmName,
- Map tagLibMap,
- int sessionTimeoutSeconds,
-
- String policyContextID,
- String securityRealmName,
- Security securityConfig,
- //from jettyxmlconfig
- Set securityRoles,
- PermissionCollection uncheckedPermissions,
- PermissionCollection excludedPermissions,
- Map rolePermissions,
-
- TransactionContextManager transactionContextManager,
- TrackedConnectionAssociator trackedConnectionAssociator,
- JettyContainer jettyContainer,
- Kernel kernel) throws Exception, IllegalAccessException, InstantiationException, ClassNotFoundException {
+ public JettyWebAppContext(String objectName,
+ String originalSpecDD,
+ URI uri,
+ Map componentContext,
+ OnlineUserTransaction userTransaction,
+ ClassLoader classLoader,
+ URI[] webClassPath,
+ boolean contextPriorityClassLoader,
+ URL configurationBaseUrl,
+ Set unshareableResources,
+ Set applicationManagedSecurityResources,
+
+ String displayName,
+ Map contextParamMap,
+ Collection listenerClassNames,
+ boolean distributable,
+ Map mimeMap,
+ String[] welcomeFiles,
+ Map localeEncodingMapping,
+ Map errorPages,
+ Authenticator authenticator,
+ String realmName,
+ Map tagLibMap,
+ int sessionTimeoutSeconds,
+
+ String policyContextID,
+ String securityRealmName,
+ Security securityConfig,
+ //from jettyxmlconfig
+ Set securityRoles,
+ PermissionCollection uncheckedPermissions,
+ PermissionCollection excludedPermissions,
+ Map rolePermissions,
+
+ TransactionContextManager transactionContextManager,
+ TrackedConnectionAssociator trackedConnectionAssociator,
+ JettyContainer jettyContainer,
+ J2EEServer server,
+ J2EEApplication application,
+ Kernel kernel) throws Exception, IllegalAccessException, InstantiationException, ClassNotFoundException {
assert uri != null;
assert componentContext != null;
@@ -143,8 +171,17 @@
assert trackedConnectionAssociator != null;
assert jettyContainer != null;
+ this.kernel = kernel;
+ this.server = server;
+ this.application = application;
+ ObjectName myObjectName = JMXUtil.getObjectName(objectName);
+ verifyObjectName(myObjectName);
+ moduleContext = J2eeContextImpl.newContext(myObjectName, NameFactory.WEB_MODULE);
+
this.jettyContainer = jettyContainer;
+ this.originalSpecDD = originalSpecDD;
+
setConfigurationClassNames(new String[]{});
URI root = URI.create(configurationBaseUrl.toString());
@@ -356,7 +393,55 @@
super.setDisplayName(displayName);
}
+ public String getDeploymentDescriptor() {
+ return originalSpecDD;
+ }
+
+ public String getServer() {
+ return server.getObjectName();
+ }
+
+ public String getApplication() {
+ if (application == null) {
+ return null;
+ }
+ return application.getObjectName();
+ }
+
+ public String[] getJavaVMs() {
+ return server.getJavaVMs();
+ }
+ public String[] getServlets() throws MalformedObjectNameException {
+ return Util.getObjectNames(kernel, moduleContext, J2EE_TYPES);
+ }
+
+ /**
+ * ObjectName must match this pattern:
+ * <p/>
+ * domain:j2eeType=WebModule,name=MyName,J2EEServer=MyServer,J2EEApplication=MyApplication
+ */
+ private void verifyObjectName(ObjectName objectName) {
+ if (objectName.isPattern()) {
+ throw new InvalidObjectNameException("ObjectName can not be a pattern", objectName);
+ }
+ Hashtable keyPropertyList = objectName.getKeyPropertyList();
+ if (!NameFactory.WEB_MODULE.equals(keyPropertyList.get("j2eeType"))) {
+ throw new InvalidObjectNameException("WebModule object name j2eeType property must be 'WebModule'", objectName);
+ }
+ if (!keyPropertyList.containsKey(NameFactory.J2EE_NAME)) {
+ throw new InvalidObjectNameException("WebModule object must contain a name property", objectName);
+ }
+ if (!keyPropertyList.containsKey(NameFactory.J2EE_SERVER)) {
+ throw new InvalidObjectNameException("WebModule object name must contain a J2EEServer property", objectName);
+ }
+ if (!keyPropertyList.containsKey(NameFactory.J2EE_APPLICATION)) {
+ throw new InvalidObjectNameException("WebModule object name must contain a J2EEApplication property", objectName);
+ }
+ if (keyPropertyList.size() != 4) {
+ throw new InvalidObjectNameException("WebModule object name can only have j2eeType, name, J2EEApplication, and J2EEServer properties", objectName);
+ }
+ }
public void registerServletHolder(ServletHolder servletHolder, String servletName, Set servletMappings, Map webRoleRefPermissions) throws Exception {
//TODO filters
handler.addServletHolder(servletHolder);
@@ -389,6 +474,7 @@
static {
GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder("Jetty WebApplication Context", JettyWebAppContext.class);
+ infoBuilder.addAttribute("deploymentDescriptor", String.class, true);
//from jetty's webapp context
infoBuilder.addAttribute("displayName", String.class, true);
@@ -433,9 +519,19 @@
infoBuilder.addAttribute("excludedPermissions", PermissionCollection.class, true);
infoBuilder.addAttribute("rolePermissions", Map.class, true);
+ infoBuilder.addReference("J2EEServer", J2EEServer.class);
+ infoBuilder.addReference("J2EEApplication", J2EEApplication.class);
+
infoBuilder.addAttribute("kernel", Kernel.class, false);
+ infoBuilder.addAttribute("objectName", String.class, false);
+ infoBuilder.addAttribute("server", String.class, false);
+ infoBuilder.addAttribute("application", String.class, false);
+ infoBuilder.addAttribute("javaVMs", String[].class, false);
+ infoBuilder.addAttribute("servlets", String[].class, false);
infoBuilder.setConstructor(new String[]{
+ "objectName",
+ "deploymentDescriptor",
"uri",
"componentContext",
"userTransaction",
@@ -472,6 +568,8 @@
"TrackedConnectionAssociator",
"JettyContainer",
+ "J2EEServer",
+ "J2EEApplication",
"kernel"
});
Modified: geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/AbstractWebModuleTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/AbstractWebModuleTest.java (original)
+++ geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/AbstractWebModuleTest.java Sat Feb 19 10:22:02 2005
@@ -67,7 +67,7 @@
private ObjectName tcmName;
private GBeanData tcm;
private ClassLoader cl;
- private J2eeContext moduleContext = new J2eeContextImpl("jetty.test", "test", "null", "jettyTest", null, null);
+ private J2eeContext moduleContext = new J2eeContextImpl("jetty.test", "test", "null", NameFactory.WEB_MODULE, "jettyTest", null, null);
private GBeanData loginConfigurationGBean;
protected ObjectName loginConfigurationName;
private GBeanData securityServiceGBean;
@@ -239,10 +239,10 @@
cl = this.getClass().getClassLoader();
containerName = NameFactory.getWebComponentName(null, null, null, null, "jettyContainer", "WebResource", moduleContext);
connectorName = NameFactory.getWebComponentName(null, null, null, null, "jettyConnector", "WebResource", moduleContext);
- webModuleName = NameFactory.getWebComponentName(null, null, null, null, NameFactory.WEB_MODULE, "WebResource", moduleContext);
+ webModuleName = NameFactory.getModuleName(null, null, null, null, "testModule", moduleContext);
- tmName = NameFactory.getComponentName(null, null, null, null, "TransactionManager", NameFactory.JTA_RESOURCE, moduleContext);
- tcmName = NameFactory.getComponentName(null, null, null, null, "TransactionContextManager", NameFactory.JTA_RESOURCE, moduleContext);
+ tmName = NameFactory.getComponentName(null, null, null, null, null, "TransactionManager", NameFactory.JTA_RESOURCE, moduleContext);
+ tcmName = NameFactory.getComponentName(null, null, null, null, null, "TransactionContextManager", NameFactory.JTA_RESOURCE, moduleContext);
ctcName = new ObjectName("geronimo.test:role=ConnectionTrackingCoordinator");
kernel = new Kernel("test.kernel");
Modified: geronimo/trunk/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java (original)
+++ geronimo/trunk/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java Sat Feb 19 10:22:02 2005
@@ -222,13 +222,14 @@
} else {
//construct name from components
try {
- containerId = NameFactory.getResourceComponentNameString(getStringValue(gerResourceRef.getDomain()),
+ containerId = NameFactory.getComponentName(getStringValue(gerResourceRef.getDomain()),
getStringValue(gerResourceRef.getServer()),
getStringValue(gerResourceRef.getApplication()),
+ NameFactory.JCA_RESOURCE,
getStringValue(gerResourceRef.getModule()),
getStringValue(gerResourceRef.getName()),
gerResourceRef.getType() == null ? type : gerResourceRef.getType().trim(),
- j2eeContext);
+ j2eeContext).getCanonicalName();
} catch (MalformedObjectNameException e) {
throw new DeploymentException("could not construct object name for resource", e);
}
@@ -278,14 +279,15 @@
} else {
//construct name from components
try {
- containerId = NameFactory.getResourceComponentNameString(getStringValue(gerResourceEnvRef.getDomain()),
+ containerId = NameFactory.getComponentName(getStringValue(gerResourceEnvRef.getDomain()),
getStringValue(gerResourceEnvRef.getServer()),
getStringValue(gerResourceEnvRef.getApplication()),
+ NameFactory.JCA_RESOURCE,
getStringValue(gerResourceEnvRef.getModule()),
getStringValue(gerResourceEnvRef.getName()),
NameFactory.JMS_RESOURCE,
//gerResourceEnvRef.getType(),
- j2eeContext);
+ j2eeContext).getCanonicalName();
} catch (MalformedObjectNameException e) {
throw new DeploymentException("could not construct object name for jms resource", e);
}
Modified: geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java (original)
+++ geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java Sat Feb 19 10:22:02 2005
@@ -141,7 +141,7 @@
throw new DeploymentException(e);
}
- J2eeContext j2eeContext = new J2eeContextImpl(context.getDomain(), context.getServer(), NameFactory.NULL, configID.toString(), null, null);
+ J2eeContext j2eeContext = new J2eeContextImpl(context.getDomain(), context.getServer(), NameFactory.NULL, NameFactory.J2EE_MODULE, configID.toString(), null, null);
DependencyType[] includes = configType.getIncludeArray();
addIncludes(context, includes, repository);
addDependencies(context, configType.getDependencyArray(), repository);
@@ -228,6 +228,7 @@
String namePart = gbean.getNamePart();
try {
String j2eeType = gBeanInfo.getJ2eeType();
+ //todo investigate using the module type from the j2eecontext.
objectName = NameFactory.getComponentName(null, null, null, null, namePart, j2eeType, j2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Invalid ObjectName: " + namePart, e);
Modified: geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java (original)
+++ geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java Sat Feb 19 10:22:02 2005
@@ -81,10 +81,7 @@
public String addGBeans(EARContext earContext, Module module, ClassLoader cl) throws DeploymentException {
J2eeContext earJ2eeContext = earContext.getJ2eeContext();
- J2eeContext moduleJ2eeContext = new J2eeContextImpl(earJ2eeContext.getJ2eeDomainName(),
- earJ2eeContext.getJ2eeServerName(),
- earJ2eeContext.getJ2eeApplicationName(),
- module.getName(), null, null);
+ J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.WEB_MODULE, module.getName());
WebModule webModule = (WebModule) module;
// construct the webClassLoader
@@ -102,7 +99,7 @@
ObjectName webModuleName = null;
try {
- webModuleName = NameFactory.getModuleName(null, null, null, null, NameFactory.WEB_MODULE, moduleJ2eeContext);
+ webModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct module name", e);
}
Modified: geronimo/trunk/modules/tomcat/src/test/org/apache/geronimo/tomcat/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/tomcat/src/test/org/apache/geronimo/tomcat/AbstractWebModuleTest.java?view=diff&r1=154435&r2=154436
==============================================================================
--- geronimo/trunk/modules/tomcat/src/test/org/apache/geronimo/tomcat/AbstractWebModuleTest.java (original)
+++ geronimo/trunk/modules/tomcat/src/test/org/apache/geronimo/tomcat/AbstractWebModuleTest.java Sat Feb 19 10:22:02 2005
@@ -69,7 +69,7 @@
private ObjectName tcmName;
private GBeanData tcm;
private ClassLoader cl;
- private J2eeContext moduleContext = new J2eeContextImpl("tomcat.test", "test", "null", "tomcatTest", null, null);
+ private J2eeContext moduleContext = new J2eeContextImpl("tomcat.test", "test", "null", NameFactory.WEB_MODULE, "tomcatTest", null, null);
private GBeanData securityServiceGBean;
protected ObjectName securityServiceName;
private ObjectName loginServiceName;