djencks 2004/02/10 00:04:21
Modified:
modules/connector/src/java/org/apache/geronimo/connector/deployment
Connector_1_5Module.java RARConfiguration.java
modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean
AdminObjectInstanceDConfigBean.java
ResourceAdapterDConfigBean.java
ResourceAdapterDConfigRoot.java
modules/connector/src/schema geronimo-connector_1_5.xsd
modules/connector/src/test/org/apache/geronimo/connector/deployment
Connector_1_5Test.java
modules/connector/src/test-data/connector_1_0
geronimo-ra.xml
modules/connector/src/test-data/connector_1_5
geronimo-ra.xml
Log:
some tests, so now the dconfigbeans work slightly
Revision Changes Path
1.7 +2 -2
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java
Index: Connector_1_5Module.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Connector_1_5Module.java 9 Feb 2004 23:13:27 -0000 1.6
+++ Connector_1_5Module.java 10 Feb 2004 08:04:21 -0000 1.7
@@ -147,7 +147,7 @@
throw new DeploymentException(e);
}
try {
- resourceAdapterObjectName =
ObjectName.getInstance(BASE_RESOURCE_ADAPTER_NAME + configID);
+ resourceAdapterObjectName =
ObjectName.getInstance(BASE_RESOURCE_ADAPTER_NAME +
geronimoResourceAdapter.getResourceadapterName() + ",configID=" + configID);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct resource
adapter object name", e);
}
1.3 +3 -2
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RARConfiguration.java
Index: RARConfiguration.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RARConfiguration.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RARConfiguration.java 6 Feb 2004 08:56:42 -0000 1.2
+++ RARConfiguration.java 10 Feb 2004 08:04:21 -0000 1.3
@@ -59,6 +59,7 @@
import javax.enterprise.deploy.model.DeployableObject;
import org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport;
+import
org.apache.geronimo.connector.deployment.dconfigbean.ResourceAdapterDConfigRoot;
/**
*
@@ -69,6 +70,6 @@
public class RARConfiguration extends DeploymentConfigurationSupport {
public RARConfiguration(DeployableObject deployable) {
- super(deployable, null);
+ super(deployable, new
ResourceAdapterDConfigRoot(deployable.getDDBeanRoot()));
}
}
1.2 +2 -3
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/AdminObjectInstanceDConfigBean.java
Index: AdminObjectInstanceDConfigBean.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/AdminObjectInstanceDConfigBean.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AdminObjectInstanceDConfigBean.java 9 Feb 2004 23:13:27 -0000
1.1
+++ AdminObjectInstanceDConfigBean.java 10 Feb 2004 08:04:21 -0000
1.2
@@ -78,8 +78,7 @@
public class AdminObjectInstanceDConfigBean extends DConfigBeanSupport{
private final static SchemaTypeLoader SCHEMA_TYPE_LOADER =
XmlBeans.getContextTypeLoader();
- private final static String[] ADMIN_OBJECT_INSTANCE_XPATHS = {
- "config-property"};
+ private final static String[] ADMIN_OBJECT_INSTANCE_XPATHS =
{"config-property"};
private Map configPropertiesMap = new HashMap();
public AdminObjectInstanceDConfigBean() {
1.2 +117 -4
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigBean.java
Index: ResourceAdapterDConfigBean.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigBean.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ResourceAdapterDConfigBean.java 9 Feb 2004 23:13:27 -0000 1.1
+++ ResourceAdapterDConfigBean.java 10 Feb 2004 08:04:21 -0000 1.2
@@ -66,6 +66,9 @@
import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
import org.apache.geronimo.xbeans.geronimo.GerConfigPropertySettingType;
+import org.apache.geronimo.xbeans.geronimo.GerOutboundResourceadapterType;
+import org.apache.geronimo.xbeans.geronimo.GerConnectionDefinitionType;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectType;
import org.apache.xmlbeans.SchemaTypeLoader;
import org.apache.xmlbeans.XmlBeans;
@@ -80,9 +83,11 @@
private final static String[] RESOURCE_ADAPTER_XPATHS = {
"config-property",
- "outbound-resource-adapter/connection-definition",
- "admin-object"};
+ "outbound-resourceadapter/connection-definition",
+ "adminobject"};
private Map configPropertiesMap = new HashMap();
+ private Map connectionDefinitionsMap = new HashMap();
+ private Map adminObjectsMap = new HashMap();
public ResourceAdapterDConfigBean(DDBean ddBean, final
GerResourceadapterType resourceadapter) {
super(ddBean, resourceadapter, SCHEMA_TYPE_LOADER);
@@ -96,20 +101,104 @@
}
}, configPropertiesMap);
+ //initialize connection definitions
+ GerOutboundResourceadapterType outboundResourceadapter =
resourceadapter.getOutboundResourceadapter();
+ if (outboundResourceadapter == null) {
+ outboundResourceadapter =
resourceadapter.addNewOutboundResourceadapter();
+ }
+ DDBean[] connectionDefinitionDDBeans =
ddBean.getChildBean(RESOURCE_ADAPTER_XPATHS[1]);
+ GerConnectionDefinitionType[] connectionDefinitions =
outboundResourceadapter.getConnectionDefinitionArray();
+
+ if (connectionDefinitions.length == 0) {
+ //we are new
+ for (int i = 0; i < connectionDefinitionDDBeans.length; i++) {
+ DDBean connectionDefinitionDdBean =
connectionDefinitionDDBeans[i];
+ GerConnectionDefinitionType connectionDefinition =
outboundResourceadapter.addNewConnectionDefinition();
+ String connectionfactoryInterface =
connectionDefinitionDdBean.getText("connectionfactory-interface")[0];
+ ConnectionDefinitionDConfigBean
connectionDefinitionDConfigBean = new
ConnectionDefinitionDConfigBean(connectionDefinitionDdBean,
connectionDefinition);
+ connectionDefinitionsMap.put(connectionfactoryInterface,
connectionDefinitionDConfigBean);
+ }
+ } else {
+ //we are read in from xml. Check correct length
+ assert connectionDefinitionDDBeans.length ==
connectionDefinitions.length;
+ for (int i = 0; i < connectionDefinitionDDBeans.length; i++) {
+ DDBean connectionDefinitionDdBean =
connectionDefinitionDDBeans[i];
+ GerConnectionDefinitionType connectionDefinition =
connectionDefinitions[i];
+ String connectionfactoryInterface =
connectionDefinitionDdBean.getText("connectionfactory-interface")[0];
+ assert
connectionfactoryInterface.equals(connectionDefinition.getConnectionfactoryInterface().getStringValue());
+ ConnectionDefinitionDConfigBean
connectionDefinitionDConfigBean = new
ConnectionDefinitionDConfigBean(connectionDefinitionDdBean,
connectionDefinition);
+ connectionDefinitionsMap.put(connectionfactoryInterface,
connectionDefinitionDConfigBean);
+ }
+ }
+
+ //admin objects
+ DDBean[] adminObjecDdBeans =
ddBean.getChildBean(RESOURCE_ADAPTER_XPATHS[2]);
+ GerAdminobjectType[] adminobjectTypes =
getResourceadapter().getAdminobjectArray();
+
+ if (adminobjectTypes.length == 0) {
+ //we are new
+ for (int i = 0; i < adminObjecDdBeans.length; i++) {
+ DDBean adminObjectDdBean = adminObjecDdBeans[i];
+ GerAdminobjectType adminobjectType =
getResourceadapter().addNewAdminobject();
+ String adminObjectInterface =
adminObjectDdBean.getText("adminobject-interface")[0];
+ String adminObjectClass =
adminObjectDdBean.getText("adminobject-class")[0];
+ AdminObjectDConfigBean adminObjectDConfigBean = new
AdminObjectDConfigBean(adminObjectDdBean, adminobjectType);
+ adminObjectsMap.put(new Key(adminObjectInterface,
adminObjectClass), adminObjectDConfigBean);
+ }
+ } else {
+ //we are read in from xml. Check correct length
+ assert adminObjecDdBeans.length == adminobjectTypes.length;
+ for (int i = 0; i < adminObjecDdBeans.length; i++) {
+ DDBean adminObjectDdBean = adminObjecDdBeans[i];
+ GerAdminobjectType adminobjectType =
adminobjectTypes[i];
+ String adminObjectInterface =
adminObjectDdBean.getText("adminobject-interface")[0];
+
assert(adminObjectInterface.equals(adminobjectType.getAdminobjectInterface().getStringValue()));
+ String adminObjectClass =
adminObjectDdBean.getText("adminobject-class")[0];
+
assert(adminObjectClass.equals(adminobjectType.getAdminobjectClass().getStringValue()));
+ AdminObjectDConfigBean adminObjectDConfigBean = new
AdminObjectDConfigBean(adminObjectDdBean, adminobjectType);
+ adminObjectsMap.put(new Key(adminObjectInterface,
adminObjectClass), adminObjectDConfigBean);
+
+ }
+ }
+
}
GerResourceadapterType getResourceadapter() {
return (GerResourceadapterType)getXmlObject();
}
+ public String getResourceAdapterName() {
+ return getResourceadapter().getResourceadapterName();
+ }
+
+ public void setResourceAdapterName(String resourceAdapterName) {
+ getResourceadapter().setResourceadapterName(resourceAdapterName);
+ }
+
public DConfigBean getDConfigBean(DDBean bean) throws
ConfigurationException {
String xpath = bean.getXpath();
- if (xpath.endsWith("/config-property")) {
+ if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[0])) {
+ //resource adapter config property
String configPropertyName =
bean.getText("config-property-name")[0];
ConfigPropertySettingDConfigBean configPropertySetting =
(ConfigPropertySettingDConfigBean) configPropertiesMap.get(configPropertyName);
assert configPropertySetting != null;
return configPropertySetting;
}
+ if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[1])) {
+ //connection definition
+ String connectionFactoryInterface =
bean.getText("connectionfactory-interface")[0];
+ ConnectionDefinitionDConfigBean connectionDefinition =
(ConnectionDefinitionDConfigBean)
connectionDefinitionsMap.get(connectionFactoryInterface);
+ assert connectionDefinition != null;
+ return connectionDefinition;
+ }
+ if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[2])) {
+ //admin objects
+ String adminObjectInterface =
bean.getText("adminobject-interface")[0];
+ String adminObjectClass = bean.getText("adminobject-class")[0];
+ AdminObjectDConfigBean adminObject = (AdminObjectDConfigBean)
adminObjectsMap.get(new Key(adminObjectInterface, adminObjectClass));
+ assert adminObject != null;
+ return adminObject;
+ }
return null;
}
@@ -118,4 +207,28 @@
return RESOURCE_ADAPTER_XPATHS;
}
+
+ //from doubleKeyedHashMap, currently in transaction module
+ private final static class Key {
+ private final Object part1;
+ private final Object part2;
+
+ public Key(Object part1, Object part2) {
+ this.part1 = part1;
+ this.part2 = part2;
+ }
+
+ public int hashCode() {
+ return part1.hashCode() ^ part2.hashCode();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof Key) {
+ Key other = (Key) obj;
+ return this.part1.equals(other.part1) &&
this.part2.equals(other.part2);
+ } else {
+ return false;
+ }
+ }
+ }
}
1.2 +6 -4
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigRoot.java
Index: ResourceAdapterDConfigRoot.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigRoot.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ResourceAdapterDConfigRoot.java 9 Feb 2004 23:13:27 -0000 1.1
+++ ResourceAdapterDConfigRoot.java 10 Feb 2004 08:04:21 -0000 1.2
@@ -80,7 +80,7 @@
public class ResourceAdapterDConfigRoot extends DConfigBeanRootSupport {
private final static SchemaTypeLoader SCHEMA_TYPE_LOADER =
XmlBeans.getContextTypeLoader();
private static String[] XPATHS = {
- "resource-adapter"
+ "connector/resourceadapter"
};
private ResourceAdapterDConfigBean resourceAdapterDConfigBean;
@@ -93,7 +93,8 @@
private void replaceResourceAdapterDConfigBean(GerResourceadapterType
resourceAdapter) {
DDBean ddBean = getDDBean();
- resourceAdapterDConfigBean = new
ResourceAdapterDConfigBean(ddBean.getChildBean("resource-adapter")[0],
resourceAdapter);
+ DDBean childDDBean = ddBean.getChildBean(XPATHS[0])[0];
+ resourceAdapterDConfigBean = new
ResourceAdapterDConfigBean(childDDBean, resourceAdapter);
}
GerConnectorDocument getConnectorDocument() {
@@ -104,8 +105,9 @@
return XPATHS;
}
+ //TODO should the xpath start with /??
public DConfigBean getDConfigBean(DDBean bean) throws
ConfigurationException {
- if ("/connector/resource-adapter".equals(bean.getXpath())) {
+ if (("/" + XPATHS[0]).equals(bean.getXpath())) {
return resourceAdapterDConfigBean;
}
return null;
1.4 +1 -0
incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd
Index: geronimo-connector_1_5.xsd
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- geronimo-connector_1_5.xsd 9 Feb 2004 23:13:27 -0000 1.3
+++ geronimo-connector_1_5.xsd 10 Feb 2004 08:04:21 -0000 1.4
@@ -348,6 +348,7 @@
<xsd:complexType name="resourceadapterType">
<xsd:sequence>
+ <xsd:element name="resourceadapter-name" type="xsd:string"/>
<xsd:element name="config-property-setting"
type="ger:config-property-settingType"
minOccurs="0"
1.4 +135 -8
incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java
Index: Connector_1_5Test.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Connector_1_5Test.java 8 Feb 2004 20:21:57 -0000 1.3
+++ Connector_1_5Test.java 10 Feb 2004 08:04:21 -0000 1.4
@@ -61,23 +61,41 @@
import java.io.IOException;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
+import java.io.FileNotFoundException;
import java.net.URL;
import java.net.URI;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.jar.JarOutputStream;
import javax.management.ObjectName;
+import javax.enterprise.deploy.model.DeployableObject;
+import javax.enterprise.deploy.model.DDBeanRoot;
+import javax.enterprise.deploy.model.DDBean;
+import javax.enterprise.deploy.model.exceptions.DDBeanCreateException;
+import javax.enterprise.deploy.shared.ModuleType;
+import javax.enterprise.deploy.spi.DeploymentConfiguration;
+import javax.enterprise.deploy.spi.DConfigBeanRoot;
import junit.framework.TestCase;
import org.apache.geronimo.xbeans.j2ee.ConnectorDocument;
import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
+import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
+import org.apache.geronimo.xbeans.geronimo.GerConfigPropertySettingType;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectType;
+import org.apache.geronimo.xbeans.geronimo.GerAdminobjectInstanceType;
import org.apache.geronimo.deployment.DeploymentModule;
import org.apache.geronimo.deployment.ConfigurationCallback;
+import org.apache.geronimo.deployment.tools.DDBeanRootImpl;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import
org.apache.geronimo.connector.deployment.dconfigbean.ResourceAdapterDConfigBean;
+import
org.apache.geronimo.connector.deployment.dconfigbean.ConfigPropertySettingDConfigBean;
+import
org.apache.geronimo.connector.deployment.dconfigbean.AdminObjectDConfigBean;
+import
org.apache.geronimo.connector.deployment.dconfigbean.AdminObjectInstanceDConfigBean;
import org.apache.xmlbeans.XmlOptions;
/**
@@ -112,7 +130,76 @@
}
}
+ public void testDConfigBeans() throws Exception {
+ RARDeployable deployable = new RARDeployable(j2eeDD);
+ DDBeanRoot ddroot = deployable.getDDBeanRoot();
+ DeploymentConfiguration rarConfiguration = new
RARConfigurer().createConfiguration(deployable);
+ DConfigBeanRoot root =
rarConfiguration.getDConfigBeanRoot(deployable.getDDBeanRoot());
+ assertNotNull(root);
+
+ //resource adapter
+ DDBean resourceAdapterdd =
ddroot.getChildBean(root.getXpaths()[0])[0];
+ ResourceAdapterDConfigBean resourceAdapterDConfigBean =
(ResourceAdapterDConfigBean) root.getDConfigBean(resourceAdapterdd);
+ assertNotNull(resourceAdapterDConfigBean);
+ resourceAdapterDConfigBean.setResourceAdapterName("TestRAName");
+ DDBean[] resourceAdapterProperties =
resourceAdapterdd.getChildBean(resourceAdapterDConfigBean.getXpaths()[0]);
+ assertEquals(1, resourceAdapterProperties.length);
+ ConfigPropertySettingDConfigBean resourceAdapterSetting =
(ConfigPropertySettingDConfigBean)resourceAdapterDConfigBean.getDConfigBean(resourceAdapterProperties[0]);
+ assertNotNull(resourceAdapterSetting);
+ assertEquals("StringValue",
resourceAdapterSetting.getConfigPropertyValue());
+ resourceAdapterSetting.setConfigPropertyValue("TestRAValue");
+
+ //admin objects
+ DDBean[] adminObjectdds =
resourceAdapterdd.getChildBean(resourceAdapterDConfigBean.getXpaths()[2]);
+ assertEquals(1, adminObjectdds.length);
+ AdminObjectDConfigBean adminObjectDConfigBean =
(AdminObjectDConfigBean)resourceAdapterDConfigBean.getDConfigBean(adminObjectdds[0]);
+ assertNotNull(adminObjectDConfigBean);
+ AdminObjectInstanceDConfigBean adminObjectInstanceDConfigBean1 = new
AdminObjectInstanceDConfigBean();
+ adminObjectDConfigBean.setAdminObjectInstance(new
AdminObjectInstanceDConfigBean[] {adminObjectInstanceDConfigBean1});
+ DDBean[] adminObjectConfigPropDDs =
adminObjectdds[0].getChildBean(adminObjectInstanceDConfigBean1.getXpaths()[0]);
+ assertEquals(1, adminObjectConfigPropDDs.length);
+ ConfigPropertySettingDConfigBean adminObjectSetting1 =
(ConfigPropertySettingDConfigBean)
adminObjectInstanceDConfigBean1.getDConfigBean(adminObjectConfigPropDDs[0]);
+ adminObjectSetting1.setConfigPropertyValue("TestAOValue1");
+
+ //add a second admin object in first position
+ AdminObjectInstanceDConfigBean adminObjectInstanceDConfigBean2 = new
AdminObjectInstanceDConfigBean();
+ adminObjectDConfigBean.setAdminObjectInstance(new
AdminObjectInstanceDConfigBean[] {adminObjectInstanceDConfigBean2,
adminObjectInstanceDConfigBean1});
+ ConfigPropertySettingDConfigBean adminObjectSetting2 =
(ConfigPropertySettingDConfigBean)
adminObjectInstanceDConfigBean2.getDConfigBean(adminObjectConfigPropDDs[0]);
+ adminObjectSetting2.setConfigPropertyValue("TestAOValue2");
+
+ //check the results
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ rarConfiguration.save(baos);
+ baos.flush();
+ InputStream is = new ByteArrayInputStream(baos.toByteArray());
+ baos.close();
+ GerConnectorDocument gcDoc = GerConnectorDocument.Factory.parse(is);
+ GerResourceadapterType ra =
gcDoc.getConnector().getResourceadapter();
+ assertEquals("TestRAName", ra.getResourceadapterName());
+ GerConfigPropertySettingType rasetting =
ra.getConfigPropertySettingArray(0);
+ assertEquals("TestRAValue", rasetting.getStringValue());
+
+ //admin object
+ GerAdminobjectType adminobjectType1 = ra.getAdminobjectArray(0);
+ GerAdminobjectInstanceType adminobjectInstanceType2 =
adminobjectType1.getAdminobjectInstanceArray(0);
+ assertEquals("TestAOValue2",
adminobjectInstanceType2.getConfigPropertySettingArray(0).getStringValue());
+ GerAdminobjectInstanceType adminobjectInstanceType1 =
adminobjectType1.getAdminobjectInstanceArray(1);
+ assertEquals("TestAOValue1",
adminobjectInstanceType1.getConfigPropertySettingArray(0).getStringValue());
+ }
+
public void testCreateConnector_1_5Module() throws Exception {
+ InputStream moduleArchive = getRARInputStream();
+
+ InputStream geronimoInputStream = geronimoDD.openStream();
+ GerConnectorDocument connectorDocument =
GerConnectorDocument.Factory.parse(geronimoInputStream);
+ RARConfigurationFactory rarConfigurationFactory = new
RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
+ DeploymentModule connector_1_5Module =
rarConfigurationFactory.createModule(moduleArchive, connectorDocument,
configID, true);
+ connector_1_5Module.init();
+ connector_1_5Module.generateClassPath(this);
+ connector_1_5Module.defineGBeans(this,
this.getClass().getClassLoader());
+ }
+
+ private InputStream getRARInputStream() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JarOutputStream jarOutputStream = new JarOutputStream(baos);
ZipEntry entry = new ZipEntry("META-INF/ra.xml");
@@ -128,13 +215,7 @@
jarOutputStream.close();
InputStream moduleArchive = new
ByteArrayInputStream(baos.toByteArray());
- InputStream geronimoInputStream = geronimoDD.openStream();
- GerConnectorDocument connectorDocument =
GerConnectorDocument.Factory.parse(geronimoInputStream);
- RARConfigurationFactory rarConfigurationFactory = new
RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
- DeploymentModule connector_1_5Module =
rarConfigurationFactory.createModule(moduleArchive, connectorDocument,
configID, true);
- connector_1_5Module.init();
- connector_1_5Module.generateClassPath(this);
- connector_1_5Module.defineGBeans(this,
this.getClass().getClassLoader());
+ return moduleArchive;
}
protected void setUp() throws Exception {
@@ -155,5 +236,51 @@
public void addGBean(ObjectName name, GBeanMBean gbean) {
gbeans.put(name, gbean);
+ }
+
+ private class RARDeployable implements DeployableObject {
+
+ private DDBeanRoot root;
+
+ public RARDeployable(URL dd) throws DDBeanCreateException {
+ root = new DDBeanRootImpl(this, dd);
+ }
+
+ public ModuleType getType() {
+ return ModuleType.RAR;
+ }
+
+ public DDBeanRoot getDDBeanRoot() {
+ return root;
+ }
+
+ public DDBean[] getChildBean(String xpath) {
+ return root.getChildBean(xpath);
+ }
+
+ public String[] getText(String xpath) {
+ return root.getText(xpath);
+ }
+
+ public Class getClassFromScope(String className) {
+ return null;
+ }
+
+ public String getModuleDTDVersion() {
+ return null;
+ }
+
+ public DDBeanRoot getDDBeanRoot(String filename) throws
FileNotFoundException, DDBeanCreateException {
+ return null;
+ }
+
+ public Enumeration entries() {
+ return null;
+ }
+
+ public InputStream getEntry(String name) {
+ return null;
+ }
+
}
}
1.4 +2 -0
incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml
Index: geronimo-ra.xml
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- geronimo-ra.xml 9 Feb 2004 23:13:28 -0000 1.3
+++ geronimo-ra.xml 10 Feb 2004 08:04:21 -0000 1.4
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee" version="1.0">
<resourceadapter>
+ <!-- how can we get rid of this?-->
+ <resourceadapter-name>testRA</resourceadapter-name>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
1.4 +2 -1
incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml
Index: geronimo-ra.xml
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- geronimo-ra.xml 9 Feb 2004 23:13:28 -0000 1.3
+++ geronimo-ra.xml 10 Feb 2004 08:04:21 -0000 1.4
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee" version="1.5">
<resourceadapter>
+ <resourceadapter-name>testRA</resourceadapter-name>
<config-property-setting
name="RAStringProperty">NewStringValue</config-property-setting>
<bootstrapcontext-name>geronimo.jca:service=bootstrapcontext</bootstrapcontext-name>
<outbound-resourceadapter>
@@ -62,7 +63,7 @@
</outbound-resourceadapter>
<adminobject>
<adminobject-interface>org.apache.geronimo.connector.mock.MockAdminObject</adminobject-interface>
-
<adminobject-class>org.apache.geronimo.connector.mock.AdminObjectImpl</adminobject-class>
+
<adminobject-class>org.apache.geronimo.connector.mock.MockAdminObjectImpl</adminobject-class>
<adminobject-instance>
<adminobject-name>tweedledee</adminobject-name>
<config-property-setting
name="Tweedle">Dee-value</config-property-setting>