Modified: branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java (2436 => 2437)
--- branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java 2006-02-10 19:18:23 UTC (rev 2436)
+++ branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/CORBABean.java 2006-02-10 22:14:49 UTC (rev 2437)
@@ -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/v2_0/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java (2436 => 2437)
--- branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java 2006-02-10 19:18:23 UTC (rev 2436)
+++ branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/security/config/ConfigAdapter.java 2006-02-10 22:14:49 UTC (rev 2437)
@@ -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/v2_0/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java (2436 => 2437)
--- branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java 2006-02-10 19:18:23 UTC (rev 2436)
+++ branches/v2_0/openejb2/modules/core/src/java/org/openejb/corba/sunorb/SunORBConfigAdapter.java 2006-02-10 22:14:49 UTC (rev 2437)
@@ -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()]);
}