djencks 2005/01/21 19:39:15
Modified: modules/openejb-builder/src/test/org/openejb/deployment
CMPEntityBuilderTest.java DeploymentHelper.java
EJBConfigBuilderTest.java
Added: modules/openejb-builder/src/test/org/openejb/deployment
KernelHelper.java
Log:
GERONIMO-450 progress: get the domain and J2EEServer for gbeans from the
parent config, or specify them explicitly if there is not parent. Also some
improvements in storing enhanced/generated classes in a config.
Revision Changes Path
1.6 +18 -17
openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java
Index: CMPEntityBuilderTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- CMPEntityBuilderTest.java 26 Dec 2004 20:30:03 -0000 1.5
+++ CMPEntityBuilderTest.java 22 Jan 2005 00:39:15 -0000 1.6
@@ -87,13 +87,20 @@
*
* */
public class CMPEntityBuilderTest extends TestCase {
- private URI defaultParentId = null;
private SkeletonGenerator skeletonGenerator = null;
private Repository repository = null;
private Kernel kernel = null;
private static final File basedir = new
File(System.getProperty("basedir", System.getProperty("user.dir")));
+ protected void setUp() throws Exception {
+ kernel = KernelHelper.getPreparedKernel();
+ }
+
+ protected void tearDown() throws Exception {
+ kernel.shutdown();
+ }
+
public void testOneToOne() throws Exception {
executeOneToOne("src/test-cmp/onetoone/simplepk/ejb-jar.xml",
"src/test-cmp/onetoone/simplepk/openejb-jar.xml");
}
@@ -108,7 +115,7 @@
EjbJarType ejbJarType = ((EjbJarDocument)
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument)
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
GlobalSchema globalSchema = new GlobalSchema("Test");
@@ -120,10 +127,8 @@
EARContext earContext = new EARContext(tempDir,
new URI("test"),
ConfigurationModuleType.EJB,
- null,
- null,
- "geronimo.server",
- "TestGeronimoServer",
+ KernelHelper.DEFAULT_PARENTID,
+ kernel,
"null",
null,
null,
@@ -155,7 +160,7 @@
EjbJarType ejbJarType = ((EjbJarDocument)
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument)
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
GlobalSchema globalSchema = new GlobalSchema("Test");
@@ -167,10 +172,8 @@
EARContext earContext = new EARContext(tempDir,
new URI("test"),
ConfigurationModuleType.EJB,
- null,
- null,
- "geronimo.server",
- "TestGeronimoServer",
+ KernelHelper.DEFAULT_PARENTID,
+ kernel,
"null",
null,
null,
@@ -203,7 +206,7 @@
EjbJarType ejbJarType = ((EjbJarDocument)
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument)
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
GlobalSchema globalSchema = new GlobalSchema("Test");
@@ -215,10 +218,8 @@
EARContext earContext = new EARContext(tempDir,
new URI("test"),
ConfigurationModuleType.EJB,
- null,
- null,
- "geronimo.server",
- "TestGeronimoServer",
+ KernelHelper.DEFAULT_PARENTID,
+ kernel,
"null",
null,
null,
1.5 +3 -4
openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java
Index: DeploymentHelper.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DeploymentHelper.java 11 Dec 2004 05:03:33 -0000 1.4
+++ DeploymentHelper.java 22 Jan 2005 00:39:15 -0000 1.5
@@ -113,9 +113,8 @@
}
}
- public static Kernel setUpKernelWithTransactionManager(String
kernelName) throws Exception {
- Kernel kernel = new Kernel(kernelName);
- kernel.boot();
+ public static Kernel setUpKernelWithTransactionManager() throws
Exception {
+ Kernel kernel = KernelHelper.getPreparedKernel();
GBeanData tmGBean = new GBeanData(TRANSACTIONMANAGER_NAME,
TransactionManagerImpl.GBEAN_INFO);
Set rmpatterns = new HashSet();
1.12 +30 -19
openejb/modules/openejb-builder/src/test/org/openejb/deployment/EJBConfigBuilderTest.java
Index: EJBConfigBuilderTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/EJBConfigBuilderTest.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- EJBConfigBuilderTest.java 18 Jan 2005 06:13:40 -0000 1.11
+++ EJBConfigBuilderTest.java 22 Jan 2005 00:39:15 -0000 1.12
@@ -62,6 +62,7 @@
import java.util.Set;
import java.util.Map;
import java.util.List;
+import java.util.Iterator;
import java.util.jar.JarFile;
import javax.ejb.EJBHome;
import javax.management.ObjectName;
@@ -85,6 +86,7 @@
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.repository.Repository;
import org.apache.geronimo.kernel.management.State;
import org.apache.geronimo.system.serverinfo.ServerInfo;
@@ -97,8 +99,8 @@
*/
public class EJBConfigBuilderTest extends TestCase {
- private static final String j2eeDomainName = "openejb.server";
- private static final String j2eeServerName = "TestOpenEJBServer";
+ private static final String j2eeDomainName = "test";
+ private static final String j2eeServerName = "bar";
private Repository repository = null;
private Kernel kernel;
@@ -135,13 +137,12 @@
private final ServiceReferenceBuilder serviceReferenceBuilder = new
ServiceReferenceBuilder() {
//it could return a Service or a Reference, we don't care
- public Object createService(Class serviceInterface, URI wsdlURI, URI
jaxrpcMappingURI, QName serviceQName, Map portComponentRefMap, List handlers,
DeploymentContext deploymentContext, ClassLoader classLoader) throws
DeploymentException {
+ public Object createService(Class serviceInterface, URI wsdlURI, URI
jaxrpcMappingURI, QName serviceQName, Map portComponentRefMap, List handlers,
DeploymentContext deploymentContext, Module module, ClassLoader classLoader)
throws DeploymentException {
return null;
}
};
private J2eeContext j2eeContext = new J2eeContextImpl(j2eeDomainName,
j2eeServerName, NameFactory.NULL, "testejbmodule", "testapp",
NameFactory.J2EE_APPLICATION);
- private URI defaultParentId;
// public void testCreateResourceAdapterNameQuery() throws Exception {
// File tempDir = null;
@@ -188,7 +189,7 @@
OpenORBSkeletonGenerator skeletonGenerator = new
OpenORBSkeletonGenerator(cl);
skeletonGenerator.doStart();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
JarFile jarFile = DeploymentUtil.createJarFile(ejbJarFile);
Module module = moduleBuilder.createModule(null, jarFile);
@@ -200,9 +201,7 @@
module.getConfigId(),
module.getType(),
module.getParentId(),
- null,
- j2eeDomainName,
- j2eeServerName,
+ kernel,
j2eeApplicationName,
DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
@@ -236,12 +235,12 @@
OpenORBSkeletonGenerator skeletonGenerator = new
OpenORBSkeletonGenerator(cl);
skeletonGenerator.doStart();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
File tempDir = null;
try {
tempDir = DeploymentUtil.createTempDir();
- EARConfigBuilder earConfigBuilder = new
EARConfigBuilder(defaultParentId, new ObjectName(j2eeDomainName +
":j2eeType=J2EEServer,name=" + j2eeServerName),
+ EARConfigBuilder earConfigBuilder = new
EARConfigBuilder(KernelHelper.DEFAULT_PARENTID,
DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
DeploymentHelper.TRANSACTIONALTIMER_NAME,
@@ -252,7 +251,8 @@
null, null, resourceReferenceBuilder, // web
// connector
null, // app client
- serviceReferenceBuilder, null // kernel
+ serviceReferenceBuilder,
+ kernel
);
JarFile jarFile = null;
@@ -285,12 +285,12 @@
OpenORBSkeletonGenerator skeletonGenerator = new
OpenORBSkeletonGenerator(cl);
skeletonGenerator.doStart();
- OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
+ OpenEJBModuleBuilder moduleBuilder = new
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator,
repository, kernel);
File tempDir = null;
try {
tempDir = DeploymentUtil.createTempDir();
- EARConfigBuilder earConfigBuilder = new
EARConfigBuilder(defaultParentId, new ObjectName(j2eeDomainName +
":j2eeType=J2EEServer,name=" + j2eeServerName),
+ EARConfigBuilder earConfigBuilder = new
EARConfigBuilder(KernelHelper.DEFAULT_PARENTID,
DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
DeploymentHelper.TRANSACTIONALTIMER_NAME,
@@ -301,7 +301,8 @@
null, null, resourceReferenceBuilder, // web
// connector
null, // app client
- serviceReferenceBuilder, null // kernel
+ serviceReferenceBuilder,
+ kernel
);
JarFile jarFile = DeploymentUtil.createJarFile(earFile);
@@ -317,9 +318,12 @@
private void verifyDeployment(File tempDir, ClassLoader cl, String
j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String
j2eeModuleName) throws Exception {
DataSource ds = null;
try {
- ObjectName objectName =
ObjectName.getInstance("test:configuration=test-ejb-jar");
+ ObjectName objectName =
Configuration.getConfigurationObjectName(URI.create("test-ejb-jar"));
+//
ObjectName.getInstance("test:configuration=test-ejb-jar");
GBeanData config = loadConfig(tempDir);
config.setName(objectName);
+ config.setAttribute("baseURL", tempDir.toURL());
+ config.setAttribute("parentID", KernelHelper.DEFAULT_PARENTID);
ObjectName containerIndexObjectName =
ObjectName.getInstance(j2eeDomainName + ":type=ContainerIndex");
GBeanData containerIndexGBean = new
GBeanData(containerIndexObjectName, ContainerIndex.GBEAN_INFO);
@@ -352,10 +356,18 @@
// load the configuration
kernel.loadGBean(config, cl);
- kernel.setAttribute(objectName, "baseURL", tempDir.toURL());
// start the configuration
kernel.startRecursiveGBean(objectName);
+
+// Set names = kernel.listGBeans(ObjectName.getInstance("*:*"));
+// for (Iterator iterator = names.iterator();
iterator.hasNext();) {
+// ObjectName name = (ObjectName) iterator.next();
+// int state = ((Integer) kernel.getAttribute(name,
"state")).intValue();
+// if (State.RUNNING_INDEX != state) {
+// System.out.println("Not running: " + name);
+// }
+// }
assertRunning(kernel, objectName);
ObjectName applicationObjectName =
ObjectName.getInstance(j2eeDomainName + ":j2eeType=J2EEApplication,name=" +
j2eeApplicationName + ",J2EEServer=" + j2eeServerName);
@@ -460,7 +472,6 @@
protected void setUp() throws Exception {
super.setUp();
ClassLoader cl = getClass().getClassLoader();
- defaultParentId = new URI("org/apache/geronimo/Server");
String str =
System.getProperty(javax.naming.Context.URL_PKG_PREFIXES);
if (str == null) {
str = ":org.apache.geronimo.naming";
@@ -469,7 +480,7 @@
}
System.setProperty(javax.naming.Context.URL_PKG_PREFIXES, str);
- kernel =
DeploymentHelper.setUpKernelWithTransactionManager("EJBConfigBuilderTest");
+ kernel = DeploymentHelper.setUpKernelWithTransactionManager();
DeploymentHelper.setUpTimer(kernel);
ObjectName serverInfoObjectName =
ObjectName.getInstance(j2eeDomainName + ":type=ServerInfo");
1.1
openejb/modules/openejb-builder/src/test/org/openejb/deployment/KernelHelper.java
Index: KernelHelper.java
===================================================================
/**
*
* 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.openejb.deployment;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.URI;
import java.net.URL;
import java.util.List;
import javax.management.MalformedObjectNameException;
import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.config.ConfigurationStore;
import org.apache.geronimo.kernel.config.InvalidConfigException;
import org.apache.geronimo.kernel.config.NoSuchConfigException;
import org.apache.geronimo.kernel.jmx.JMXUtil;
import org.apache.geronimo.kernel.registry.BasicGBeanRegistry;
/**
* @version $Rev: $ $Date: 2005/01/22 00:39:15 $
*/
public class KernelHelper {
public static final URI DEFAULT_PARENTID =
URI.create("org/apache/geronimo/Server");
public static Kernel getPreparedKernel() throws Exception {
Kernel kernel = new Kernel("bar", new BasicGBeanRegistry());
kernel.boot();
GBeanData store = new
GBeanData(JMXUtil.getObjectName("foo:j2eeType=ConfigurationStore,name=mock"),
MockConfigStore.GBEAN_INFO);
kernel.loadGBean(store, KernelHelper.class.getClassLoader());
kernel.startGBean(store.getName());
GBeanData baseConfig = (GBeanData) kernel.invoke(store.getName(),
"getConfiguration", new Object[]{DEFAULT_PARENTID}, new
String[]{URI.class.getName()});
kernel.loadGBean(baseConfig, KernelHelper.class.getClassLoader());
kernel.startGBean(baseConfig.getName());
return kernel;
}
public static class MockConfigStore implements ConfigurationStore {
public URI install(URL source) throws IOException,
InvalidConfigException {
return null;
}
public URI install(File source) throws IOException,
InvalidConfigException {
return null;
}
public void uninstall(URI configID) throws NoSuchConfigException,
IOException {
}
public boolean containsConfiguration(URI configID) {
return true;
}
public GBeanData getConfiguration(URI id) throws
NoSuchConfigException, IOException, InvalidConfigException {
GBeanData configData = null;
try {
configData = new
GBeanData(Configuration.getConfigurationObjectName(id),
Configuration.GBEAN_INFO);
} catch (MalformedObjectNameException e) {
throw new InvalidConfigException(e);
}
configData.setAttribute("ID", id);
configData.setAttribute("domain", "test");
configData.setAttribute("server", "bar");
configData.setAttribute("gBeanState", NO_OBJECTS_OS);
return configData;
}
public void updateConfiguration(Configuration configuration) throws
NoSuchConfigException, Exception {
}
public URL getBaseURL(URI id) throws NoSuchConfigException {
return null;
}
public String getObjectName() {
return null;
}
public List listConfiguations() {
return null;
}
public File createNewConfigurationDir() {
return null;
}
public final static GBeanInfo GBEAN_INFO;
private static final byte[] NO_OBJECTS_OS;
static {
GBeanInfoBuilder infoBuilder = new
GBeanInfoBuilder(MockConfigStore.class);
infoBuilder.addInterface(ConfigurationStore.class);
GBEAN_INFO = infoBuilder.getBeanInfo();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.flush();
NO_OBJECTS_OS = baos.toByteArray();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
};
}