Diff
Modified: branches/configid/openejb2/etc/project.properties (2521 => 2522)
--- branches/configid/openejb2/etc/project.properties 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/etc/project.properties 2006-02-27 01:14:45 UTC (rev 2522)
@@ -9,7 +9,8 @@
maven.repo.remote=\
http://cvs.apache.org/repository,\
http://www.openejb.org/maven,\
-http://www.ibiblio.org/maven
+http://www.ibiblio.org/maven,\
+http://dist.codehaus.org
maven.remote.group=openejb
@@ -56,28 +57,29 @@
tranql_version=1.2.1
tranql_connector_version=1.1
-geronimo_packaging_plugin_version=1.0.2
-geronimo_assembly_plugin_version=1.0.6
-geronimo_deployment_plugin_version=1.0.1
-geronimo_dependency_plugin_version=1.0.1
+geronimo_packaging_plugin_version=1.1.0-2
+geronimo_assembly_plugin_version=1.1.0-8
+geronimo_deployment_plugin_version=1.1.0-1
+geronimo_dependency_plugin_version=1.1.0-1
-geronimo_spec_activation_version=1.1-SNAPSHOT
+geronimo_spec_activation_version=1.0
geronimo_spec_corba_version=1.1-SNAPSHOT
-geronimo_spec_ejb_version=1.1-SNAPSHOT
+geronimo_spec_ejb_version=1.0
geronimo_spec_j2ee_version=1.1-SNAPSHOT
-geronimo_spec_j2ee_connector_version=1.1-SNAPSHOT
-geronimo_spec_j2ee_deployment_version=1.1-SNAPSHOT
-geronimo_spec_j2ee_jacc_version=1.1-SNAPSHOT
-geronimo_spec_j2ee_management_version=1.1-SNAPSHOT
+geronimo_spec_j2ee_connector_version=1.0
+geronimo_spec_j2ee_deployment_version=1.0
+geronimo_spec_j2ee_jacc_version=1.0
+geronimo_spec_j2ee_management_version=1.0
geronimo_spec_javamail_version=1.1-SNAPSHOT
-geronimo_spec_jaxr_version=1.1-SNAPSHOT
-geronimo_spec_jaxrpc_version=1.1-SNAPSHOT
-geronimo_spec_jms_version=1.1-SNAPSHOT
-geronimo_spec_jsp_version=1.1-SNAPSHOT
-geronimo_spec_jta_version=1.1-SNAPSHOT
-geronimo_spec_saaj_version=1.1-SNAPSHOT
-geronimo_spec_servlet_version=1.1-SNAPSHOT
-geronimo_spec_qname_version=1.1-SNAPSHOT
+geronimo_spec_jaxr_version=1.0
+geronimo_spec_jaxrpc_version=1.0
+geronimo_spec_jcache_version=1.1-SNAPSHOT
+geronimo_spec_jms_version=1.0
+geronimo_spec_jsp_version=1.0
+geronimo_spec_jta_version=1.0
+geronimo_spec_qname_version=1.0
+geronimo_spec_saaj_version=1.0
+geronimo_spec_servlet_version=1.0
ant_version=1.5
antlr_version=2.7.2
Modified: branches/configid/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -46,6 +46,7 @@
import java.util.ArrayList;
import java.util.Properties;
+import java.net.InetSocketAddress;
import EDU.oswego.cs.dl.util.concurrent.Executor;
import org.apache.commons.logging.Log;
@@ -61,6 +62,7 @@
import org.apache.geronimo.security.SecurityService;
import org.openejb.corba.security.config.ConfigAdapter;
+import org.openejb.corba.security.config.ConfigException;
import org.openejb.corba.security.config.tss.TSSConfig;
import org.openejb.corba.util.Util;
@@ -134,6 +136,19 @@
this.props = props;
}
+ public InetSocketAddress getListenAddress() {
+ try {
+ if(configAdapter != null) {
+ return configAdapter.getDefaultListenAddress(tssConfig, orb);
+ } else {
+ log.debug("Don't know what default listen address is for an ORB without a configAdapter");
+ }
+ } catch (ConfigException e) {
+ log.debug("Unable to calculate default listen address", e);
+ }
+ return null;
+ }
+
public void doStart() throws Exception {
ClassLoader savedLoader = Thread.currentThread().getContextClassLoader();
@@ -177,13 +192,14 @@
public static final GBeanInfo GBEAN_INFO;
static {
- GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(CORBABean.class, NameFactory.CORBA_SERVICE);
+ GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("OpenEJB ORB Adapter", CORBABean.class, NameFactory.CORBA_SERVICE);
infoFactory.addAttribute("configAdapter", String.class, true);
infoFactory.addAttribute("tssConfig", TSSConfig.class, true);
infoFactory.addAttribute("args", ArrayList.class, true);
infoFactory.addAttribute("props", Properties.class, true);
+ infoFactory.addAttribute("listenAddress", InetSocketAddress.class, false);
infoFactory.addAttribute("ORB", ORB.class, false);
infoFactory.addAttribute("rootPOA", POA.class, false);
Modified: branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -46,6 +46,7 @@
import java.util.List;
import java.util.Properties;
+import java.net.InetSocketAddress;
import org.omg.CORBA.ORB;
@@ -66,6 +67,8 @@
public void postProcess(TSSConfig config, ORB orb) throws ConfigException;
+ public InetSocketAddress getDefaultListenAddress(TSSConfig config, ORB orb) throws ConfigException;
+
public String[] translateToArgs(CSSConfig config, List args) throws ConfigException;
public Properties translateToProps(CSSConfig config, Properties pros) throws ConfigException;
Modified: branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/css/CSSGSSUPMechConfigDynamic.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/css/CSSGSSUPMechConfigDynamic.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/java/org/openejb/corba/security/config/css/CSSGSSUPMechConfigDynamic.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -98,10 +98,15 @@
if (creds.size() != 0) {
for (Iterator iter = creds.iterator(); iter.hasNext();) {
- credential = (NamedUsernamePasswordCredential) iter.next();
- if (credential.getName().equals(domain)) break;
+ NamedUsernamePasswordCredential temp = (NamedUsernamePasswordCredential) iter.next();
+ if (temp.getName().equals(domain)) {
+ credential = temp;
+ break;
+ }
}
- encoding = Util.encodeGSSUPToken(Util.getORB(), Util.getCodec(), credential.getName(), new String(credential.getPassword()), domain);
+ if(credential != null) {
+ encoding = Util.encodeGSSUPToken(Util.getORB(), Util.getCodec(), credential.getUsername(), new String(credential.getPassword()), domain);
+ }
}
if (encoding == null) encoding = new byte[0];
Modified: branches/configid/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -49,6 +49,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
+import java.net.InetSocketAddress;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
import com.sun.corba.se.internal.core.EndPoint;
import org.apache.commons.logging.Log;
@@ -220,6 +223,26 @@
}
+ public InetSocketAddress getDefaultListenAddress(TSSConfig config, ORB orb) throws ConfigException {
+ OpenEJBORB o = (OpenEJBORB) orb;
+ try {
+ if (config != null) {
+ TSSTransportMechConfig transportMech = config.getTransport_mech();
+ if (transportMech != null) {
+ if (transportMech instanceof TSSSSLTransportConfig) {
+ TSSSSLTransportConfig sslConfig = (TSSSSLTransportConfig) transportMech;
+ return new InetSocketAddress(InetAddress.getLocalHost(), sslConfig.getPort());
+ }
+ }
+ } else {
+ return new InetSocketAddress(InetAddress.getLocalHost(), 6882);
+ }
+ } catch (UnknownHostException e) {
+ throw new ConfigException("Unable to calculate default listen host", e);
+ }
+ return null; // If they configured a protocol other than SSL that we don't currently support
+ }
+
public String[] translateToArgs(CSSConfig config, List args) throws ConfigException {
return (String[]) args.toArray(new String[args.size()]);
}
Modified: branches/configid/openejb2/modules/core/src/java/org/openejb/corba/util/Util.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/java/org/openejb/corba/util/Util.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/java/org/openejb/corba/util/Util.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -102,7 +102,7 @@
* <p/>
* Note: #getORB() and #getCodec() rely on UtilInitializer to initialze the ORB and codec.
*
- * @version $Rev: $ $Date$
+ * @version $Rev$ $Date$
* @see UtilInitializer
*/
public final class Util {
@@ -330,7 +330,7 @@
// create and encode a GSSUP initial context token
InitialContextToken init_token = new InitialContextToken();
- init_token.username = (user + "@" + target).getBytes("UTF-8");
+ init_token.username = user.getBytes("UTF-8");
init_token.password = pwd.getBytes("UTF-8");
Modified: branches/configid/openejb2/modules/core/src/test/org/openejb/slsb/StatelessInstanceInterceptorTest.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/test/org/openejb/slsb/StatelessInstanceInterceptorTest.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/test/org/openejb/slsb/StatelessInstanceInterceptorTest.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -58,6 +58,8 @@
import org.apache.geronimo.core.service.InvocationResult;
import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
+import org.apache.geronimo.transaction.manager.XidFactoryImpl;
+
import junit.framework.TestCase;
import org.openejb.cache.InstancePool;
@@ -128,7 +130,8 @@
protected void setUp() throws Exception {
super.setUp();
- transactionManager = new TransactionManagerImpl(10 * 1000, null, null);
+ transactionManager = new TransactionManagerImpl(10 * 1000,
+ new XidFactoryImpl("WHAT DO WE CALL IT?".getBytes()), null, null);
transactionContextManager = new TransactionContextManager(transactionManager, transactionManager);
mockEJB = new MockEJB();
pool = new MockPool(mockEJB);
Modified: branches/configid/openejb2/modules/core/src/test/org/openejb/timer/TimerServiceImplTest.java (2521 => 2522)
--- branches/configid/openejb2/modules/core/src/test/org/openejb/timer/TimerServiceImplTest.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/core/src/test/org/openejb/timer/TimerServiceImplTest.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -69,9 +69,16 @@
import org.apache.geronimo.timer.vm.VMWorkerPersistence;
import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
+import org.apache.geronimo.transaction.manager.XidFactoryImpl;
+import org.apache.geronimo.core.service.InvocationResult;
+import org.apache.geronimo.core.service.Invocation;
import org.openejb.EJBInterfaceType;
import org.openejb.EJBInvocation;
import org.openejb.EJBInvocationImpl;
+import org.openejb.dispatch.VirtualOperation;
+import org.openejb.dispatch.InterfaceMethodSignature;
+import org.openejb.security.PermissionManager;
+import org.openejb.transaction.TransactionPolicyManager;
/**
*
@@ -103,7 +110,8 @@
private Serializable userKey = "test user info";
protected void setUp() throws Exception {
- TransactionManagerImpl transactionManager = new TransactionManagerImpl(10 * 1000, null, null);
+ TransactionManagerImpl transactionManager = new TransactionManagerImpl(10 * 1000,
+ new XidFactoryImpl("WHAT DO WE CALL IT?".getBytes()), null, null);
transactionContextManager = new TransactionContextManager(transactionManager, transactionManager);
executableWorkFactory = new TransactionalExecutorTaskFactory(transactionContextManager, 1);
threadPool = new ThreadPool(5, "TestPool", 10000, this.getClass().getClassLoader(), "test:type=ThreadPool");
Modified: branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/CMPEntityBuilder.java (2521 => 2522)
--- branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/CMPEntityBuilder.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/CMPEntityBuilder.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -185,7 +185,14 @@
builder.setFrontEndCacheDelegate(cacheDelegate);
try {
- GBeanData gbean = builder.createConfiguration(containerObjectName, earContext.getTransactionContextManagerObjectName(), earContext.getConnectionTrackerObjectName(), getTssBeanObjectName(openejbEntityBean, earContext));
+ ObjectName tssBeanObjectName = getTssBeanObjectName(openejbEntityBean, earContext);
+ if(tssBeanObjectName != null && openejbEntityBean.getJndiNameArray().length == 0) {
+ throw new DeploymentException("Cannot expose an entity bean via CORBA unless a JNDI name is set (that's also used as the CORBA naming service name)");
+ }
+ if(tssBeanObjectName != null && (!entityBean.isSetRemote() || !entityBean.isSetHome())) {
+ throw new DeploymentException("An entity bean without a remote interface cannot be exposed via CORBA");
+ }
+ GBeanData gbean = builder.createConfiguration(containerObjectName, earContext.getTransactionContextManagerObjectName(), earContext.getConnectionTrackerObjectName(), tssBeanObjectName);
return gbean;
} catch (Throwable e) {
throw new DeploymentException("Unable to initialize EJB named '" + ejbName + "': "+e.getMessage(), e);
Modified: branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/EntityBuilder.java (2521 => 2522)
--- branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/EntityBuilder.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/EntityBuilder.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -136,6 +136,12 @@
processEnvironmentRefs(builder, earContext, ejbModule, entityBean, openejbEntityBean, null, cl);
ObjectName tssBeanObjectName = getTssBeanObjectName(openejbEntityBean, earContext);
+ if(tssBeanObjectName != null && openejbEntityBean.getJndiNameArray().length == 0) {
+ throw new DeploymentException("Cannot expose an entity bean via CORBA unless a JNDI name is set (that's also used as the CORBA naming service name)");
+ }
+ if(tssBeanObjectName != null && (!entityBean.isSetRemote() || !entityBean.isSetHome())) {
+ throw new DeploymentException("An entity bean without a remote interface cannot be exposed via CORBA");
+ }
try {
GBeanData gbean = builder.createConfiguration(containerObjectName, earContext.getTransactionContextManagerObjectName(), earContext.getConnectionTrackerObjectName(), tssBeanObjectName);
Modified: branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java (2521 => 2522)
--- branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -325,6 +325,12 @@
}
}
+ if(tssBeanObjectName != null && openejbSessionBean.getJndiNameArray().length == 0) {
+ throw new DeploymentException("Cannot expose a session bean via CORBA unless a JNDI name is set (that's also used as the CORBA naming service name)");
+ }
+ if(tssBeanObjectName != null && (!sessionBean.isSetRemote() || !sessionBean.isSetHome())) {
+ throw new DeploymentException("A session bean without a remote interface cannot be exposed via CORBA");
+ }
GBeanData sessionGBean;
try {
Modified: branches/configid/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java (2521 => 2522)
--- branches/configid/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java 2006-02-27 00:45:53 UTC (rev 2521)
+++ branches/configid/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java 2006-02-27 01:14:45 UTC (rev 2522)
@@ -73,6 +73,7 @@
import org.apache.geronimo.timer.vm.VMStoreThreadPooledTransactionalTimer;
import org.apache.geronimo.transaction.context.TransactionContextManagerGBean;
import org.apache.geronimo.transaction.manager.TransactionManagerImplGBean;
+import org.apache.geronimo.transaction.manager.XidFactoryImplGBean;
import org.openejb.deployment.mdb.mockra.MockActivationSpec;
import org.openejb.deployment.mdb.mockra.MockResourceAdapter;
@@ -92,6 +93,7 @@
//type is random to look for problems.
private static final J2eeContext raContext = new J2eeContextImpl(DOMAIN_NAME, SERVER_NAME, appName, NameFactory.RESOURCE_ADAPTER_MODULE, moduleName, "xxx", NameFactory.JCA_WORK_MANAGER);
public static final ObjectName CONTAINER_NAME = JMXUtil.getObjectName("geronimo.test:ejb=Mock");
+ public static final ObjectName XIDFACTORY_NAME = JMXUtil.getObjectName(DOMAIN_NAME + ":type=" + NameFactory.XID_FACTORY);
public static final ObjectName TRANSACTIONMANAGER_NAME = JMXUtil.getObjectName(DOMAIN_NAME + ":type=TransactionManager");
public static final ObjectName TRANSACTIONCONTEXTMANAGER_NAME = JMXUtil.getObjectName(DOMAIN_NAME + ":type=TransactionContextManager");
public static final ObjectName TRACKEDCONNECTIONASSOCIATOR_NAME = JMXUtil.getObjectName("geronimo.test:role=TrackedConnectionAssociator");
@@ -118,10 +120,15 @@
public static Kernel setUpKernelWithTransactionManager() throws Exception {
Kernel kernel = KernelHelper.getPreparedKernel();
+ GBeanData xidFacGBean = new GBeanData(XIDFACTORY_NAME, XidFactoryImplGBean.GBEAN_INFO);
+ xidFacGBean.setAttribute("tmId", "WHAT DO WE CALL IT?".getBytes());
+ start(kernel, xidFacGBean);
+
GBeanData tmGBean = new GBeanData(TRANSACTIONMANAGER_NAME, TransactionManagerImplGBean.GBEAN_INFO);
Set rmpatterns = new HashSet();
rmpatterns.add(ObjectName.getInstance("geronimo.server:j2eeType=JCAManagedConnectionFactory,*"));
tmGBean.setAttribute("defaultTransactionTimeoutSeconds", new Integer(10));
+ tmGBean.setReferencePattern("XidFactory", XIDFACTORY_NAME);
tmGBean.setReferencePatterns("ResourceManagers", rmpatterns);
start(kernel, tmGBean);