maguro 2005/03/12 12:04:53
Modified: modules/core/src/java/org/openejb/corba AdapterEntity.java
AdapterStateful.java AdapterStateless.java
AdapterWrapper.java CORBABean.java CSSBean.java
TSSBean.java
Log:
Some fixes to POA policies and added default principal to the CORBA ORB.
Revision Changes Path
1.6 +4 -3
openejb/modules/core/src/java/org/openejb/corba/AdapterEntity.java
Index: AdapterEntity.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterEntity.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AdapterEntity.java 8 Mar 2005 04:08:26 -0000 1.5
+++ AdapterEntity.java 12 Mar 2005 17:04:53 -0000 1.6
@@ -84,11 +84,12 @@
private final String referenceInterface;
private final AdapterProxyFactory factory;
- public AdapterEntity(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader) throws CORBAException {
+ public AdapterEntity(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
super(container, orb, parentPOA, tieLoader);
try {
Policy[] policies = new Policy[]{
+ securityPolicy,
parentPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT),
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER),
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN),
1.6 +4 -3
openejb/modules/core/src/java/org/openejb/corba/AdapterStateful.java
Index: AdapterStateful.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterStateful.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AdapterStateful.java 8 Mar 2005 04:08:26 -0000 1.5
+++ AdapterStateful.java 12 Mar 2005 17:04:53 -0000 1.6
@@ -84,11 +84,12 @@
private final String referenceInterface;
private final AdapterProxyFactory factory;
- public AdapterStateful(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader) throws CORBAException {
+ public AdapterStateful(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
super(container, orb, parentPOA, tieLoader);
try {
Policy[] policies = new Policy[]{
+ securityPolicy,
parentPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER),
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN),
1.6 +4 -4
openejb/modules/core/src/java/org/openejb/corba/AdapterStateless.java
Index: AdapterStateless.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterStateless.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AdapterStateless.java 8 Mar 2005 04:08:26 -0000 1.5
+++ AdapterStateless.java 12 Mar 2005 17:04:53 -0000 1.6
@@ -49,7 +49,6 @@
import org.omg.CORBA.ORB;
import org.omg.CORBA.Policy;
-import org.omg.CORBA.SetOverrideType;
import org.omg.PortableServer.IdAssignmentPolicyValue;
import org.omg.PortableServer.ImplicitActivationPolicyValue;
import org.omg.PortableServer.LifespanPolicyValue;
@@ -74,11 +73,12 @@
private final byte[] object_id;
private final org.omg.CORBA.Object objectReference;
- public AdapterStateless(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader) throws CORBAException {
+ public AdapterStateless(EJBContainer container, ORB orb, POA parentPOA,
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
super(container, orb, parentPOA, tieLoader);
try {
Policy[] policies = new Policy[]{
+ securityPolicy,
parentPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY),
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN),
1.3 +7 -6
openejb/modules/core/src/java/org/openejb/corba/AdapterWrapper.java
Index: AdapterWrapper.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterWrapper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AdapterWrapper.java 18 Jan 2005 21:50:39 -0000 1.2
+++ AdapterWrapper.java 12 Mar 2005 17:04:53 -0000 1.3
@@ -48,6 +48,7 @@
import java.util.Map;
import org.omg.CORBA.ORB;
+import org.omg.CORBA.Policy;
import org.omg.CosNaming.NamingContextExt;
import org.omg.PortableServer.POA;
@@ -73,17 +74,17 @@
return container;
}
- public void start(ORB orb, POA poa, NamingContextExt initialContext,
TieLoader tieLoader) throws CORBAException {
+ public void start(ORB orb, POA poa, NamingContextExt initialContext,
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
switch (container.getProxyInfo().getComponentType()) {
case EJBComponentType.STATELESS:
- generator = new AdapterStateless(container, orb, poa,
tieLoader);
+ generator = new AdapterStateless(container, orb, poa,
tieLoader, securityPolicy);
break;
case EJBComponentType.STATEFUL:
- generator = new AdapterStateful(container, orb, poa,
tieLoader);
+ generator = new AdapterStateful(container, orb, poa,
tieLoader, securityPolicy);
break;
case EJBComponentType.BMP_ENTITY:
case EJBComponentType.CMP_ENTITY:
- generator = new AdapterEntity(container, orb, poa,
tieLoader);
+ generator = new AdapterEntity(container, orb, poa,
tieLoader, securityPolicy);
break;
default:
throw new CORBAException("CORBA Adapter does not handle MDB
containers");
1.7 +3 -3
openejb/modules/core/src/java/org/openejb/corba/CORBABean.java
Index: CORBABean.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/CORBABean.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CORBABean.java 8 Mar 2005 04:08:26 -0000 1.6
+++ CORBABean.java 12 Mar 2005 17:04:53 -0000 1.7
@@ -133,7 +133,7 @@
Properties properties =
configAdapter.translateToProps(tssConfig);
properties.putAll(props);
- orb = ORB.init((String[]) args.toArray(new String[args.size()]),
properties);
+ orb = ORB.init(configAdapter.translateToArgs(tssConfig, args),
properties);
org.omg.CORBA.Object obj =
orb.resolve_initial_references("RootPOA");
1.2 +18 -21
openejb/modules/core/src/java/org/openejb/corba/CSSBean.java
Index: CSSBean.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/CSSBean.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CSSBean.java 8 Mar 2005 04:08:26 -0000 1.1
+++ CSSBean.java 12 Mar 2005 17:04:53 -0000 1.2
@@ -53,6 +53,11 @@
import org.apache.commons.logging.LogFactory;
import org.omg.CORBA.ORB;
import org.omg.CORBA.UserException;
+import org.omg.CORBA.PolicyManager;
+import org.omg.CORBA.PolicyManagerHelper;
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Policy;
+import org.omg.CORBA.SetOverrideType;
import org.omg.CosNaming.NameComponent;
import org.omg.CosNaming.NamingContextExt;
import org.omg.CosNaming.NamingContextExtHelper;
@@ -64,6 +69,7 @@
import org.openejb.corba.security.config.ConfigAdapter;
import org.openejb.corba.security.config.css.CSSConfig;
+import org.openejb.corba.security.ClientPolicyFactory;
/**
@@ -95,19 +101,7 @@
public CSSBean(ClassLoader classLoader, Executor threadPool, String
configAdapter) throws ClassNotFoundException, IllegalAccessException,
InstantiationException {
this.classLoader = classLoader;
this.threadPool = threadPool;
- log.info("LOADING - " + configAdapter);
- try {
- this.configAdapter = (ConfigAdapter)
classLoader.loadClass(configAdapter).newInstance();
- } catch (InstantiationException e) {
- log.info("ERROR - " , e);
- throw e;
- } catch (IllegalAccessException e) {
- log.info("ERROR - " , e);
- throw e;
- } catch (ClassNotFoundException e) {
- log.info("ERROR - " , e);
- throw e;
- }
+ this.configAdapter = (ConfigAdapter)
classLoader.loadClass(configAdapter).newInstance();
}
public String getDescription() {
@@ -192,7 +186,6 @@
}
public void doStart() throws Exception {
- log.info("Starting CORBA Client Security Server - " + description);
if (nssConfig == null) nssConfig = cssConfig;
if (nssArgs == null) nssArgs = cssArgs;
@@ -203,24 +196,27 @@
Properties properties =
configAdapter.translateToProps(nssConfig);
properties.putAll(nssProps);
- log.info("S1 CORBA Client Security Server - " + description);
nssORB = ORB.init((String[]) nssArgs.toArray(new
String[nssArgs.size()]), properties);
- log.info("S2 CORBA Client Security Server - " + description);
threadPool.execute(new Runnable() {
public void run() {
nssORB.run();
}
});
- log.info("S3 CORBA Client Security Server - " + description);
properties = configAdapter.translateToProps(cssConfig);
properties.putAll(cssProps);
- log.info("S4 CORBA Client Security Server - " + description);
cssORB = ORB.init((String[]) cssArgs.toArray(new
String[cssArgs.size()]), properties);
- log.info("S5 CORBA Client Security Server - " + description);
+
+ org.omg.CORBA.Object ref =
cssORB.resolve_initial_references("ORBPolicyManager");
+ PolicyManager pm = PolicyManagerHelper.narrow(ref);
+
+ Any any = cssORB.create_any();
+ any.insert_Value(cssConfig);
+
+ pm.set_policy_overrides(new
Policy[]{cssORB.create_policy(ClientPolicyFactory.POLICY_TYPE, any)},
SetOverrideType.ADD_OVERRIDE);
threadPool.execute(new Runnable() {
public void run() {
@@ -235,6 +231,7 @@
}
public void doStop() throws Exception {
+
nssORB.shutdown(true);
cssORB.shutdown(true);
log.info("Stopped CORBA Client Security Server - " + description);
1.4 +8 -12
openejb/modules/core/src/java/org/openejb/corba/TSSBean.java
Index: TSSBean.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/TSSBean.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TSSBean.java 8 Mar 2005 04:08:26 -0000 1.3
+++ TSSBean.java 12 Mar 2005 17:04:53 -0000 1.4
@@ -96,6 +96,7 @@
private Collection containers = Collections.EMPTY_SET;
private Map adapters = new HashMap();
private static final Map containerMap = new HashMap();
+ private Policy securityPolicy;
public TSSBean(ClassLoader classLoader, String POAName, CORBABean
server, TieLoader tieLoader) {
@@ -152,8 +153,9 @@
Any any = orb.create_any();
any.insert_Value(createCSIv2Config());
+ securityPolicy =
orb.create_policy(ServerPolicyFactory.POLICY_TYPE, any);
Policy[] policies = new Policy[]{
- orb.create_policy(ServerPolicyFactory.POLICY_TYPE, any),
+ securityPolicy,
rootPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
rootPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY),
rootPOA.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN),
@@ -170,7 +172,7 @@
for (Iterator iter = adapters.keySet().iterator();
iter.hasNext();) {
AdapterWrapper adapterWrapper = (AdapterWrapper)
adapters.get(iter.next());
try {
- adapterWrapper.start(server.getORB(), localPOA,
initialContext, tieLoader);
+ adapterWrapper.start(server.getORB(), localPOA,
initialContext, tieLoader, securityPolicy);
log.info("Linked container " +
adapterWrapper.getContainer().getContainerID());
} catch (CORBAException e) {
log.error("Unable to link container " +
adapterWrapper.getContainer().getContainerID());
@@ -248,20 +250,14 @@
public void memberAdded(ReferenceCollectionEvent event) {
EJBContainer container = (EJBContainer) event.getMember();
- ClassLoader cl1 =
container.getProxyInfo().getHomeInterface().getClassLoader();
- ClassLoader cl2 = container.getClassLoader();
- if (cl1 != cl2) {
- log.info("differeing classloaders! for container: " +
container.getContainerID() + " home interface: " + cl1 + " container: " + cl2);
- } else {
- log.info("same classloaders! container: " +
container.getContainerID());
- }
+
containerMap.put(container.getContainerID(), container);
if (localPOA != null) {
try {
AdapterWrapper adapterWrapper = new
AdapterWrapper(container);
- adapterWrapper.start(server.getORB(), localPOA,
initialContext, tieLoader);
+ adapterWrapper.start(server.getORB(), localPOA,
initialContext, tieLoader, securityPolicy);
adapters.put(container.getContainerID(), adapterWrapper);
log.info("Linked container " + container.getContainerID());