Title: [2522] branches/configid/openejb2/etc: Merged changes from branchs/v2_0 since the configid branch was cut

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);
 

Reply via email to