Diff
Modified: branches/v2_1/openejb2/modules/core/src/java/org/openejb/corba/proxy/CORBAProxyReference.java (2546 => 2547)
--- branches/v2_1/openejb2/modules/core/src/java/org/openejb/corba/proxy/CORBAProxyReference.java 2006-03-12 09:35:41 UTC (rev 2546)
+++ branches/v2_1/openejb2/modules/core/src/java/org/openejb/corba/proxy/CORBAProxyReference.java 2006-03-12 22:02:19 UTC (rev 2547)
@@ -47,48 +47,55 @@
*/
package org.openejb.corba.proxy;
-import java.net.URI;
-import javax.management.ObjectName;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.naming.reference.SimpleAwareReference;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.naming.reference.ConfigurationAwareReference;
+import javax.naming.NameNotFoundException;
+import java.net.URI;
+
/**
* @version $Revision$ $Date$
*/
-public final class CORBAProxyReference extends SimpleAwareReference {
+public final class CORBAProxyReference extends ConfigurationAwareReference {
private final static Log log = LogFactory.getLog(CORBAProxyReference.class);
private final URI nsCorbaloc;
private final String objectName;
- private final ObjectName containerName;
private final String home;
- public CORBAProxyReference(URI corbaURL, String objectName, ObjectName containerName, String home) {
- this.nsCorbaloc = corbaURL;
+ public CORBAProxyReference(Artifact configId, AbstractNameQuery abstractNameQuery, URI nsCorbaloc, String objectName, String home) {
+ super(configId, abstractNameQuery);
+ this.nsCorbaloc = nsCorbaloc;
this.objectName = objectName;
- this.containerName = containerName;
this.home = home;
-
- if (log.isDebugEnabled()) log.debug("<init> " + corbaURL.toString() + ", " + objectName + ", " + containerName + ", " + home);
+ if (log.isDebugEnabled()) log.debug("<init> " + nsCorbaloc.toString() + ", " + objectName + ", " + abstractNameQuery + ", " + home);
}
public String getClassName() {
return home;
}
- public Object getContent() {
+ public Object getContent() throws NameNotFoundException {
- if (log.isDebugEnabled()) log.debug("Obtaining home from " + nsCorbaloc.toString() + ", " + objectName + ", " + containerName + ", " + home);
-
+ if (log.isDebugEnabled()) log.debug("Obtaining home from " + nsCorbaloc.toString() + ", " + objectName + ", " + abstractNameQuery + ", " + home);
+ AbstractName containerName;
+ try {
+ containerName = resolveTargetName();
+ } catch (GBeanNotFoundException e) {
+ throw (NameNotFoundException)new NameNotFoundException("Could not resolve gbean from name query: " + abstractNameQuery).initCause(e);
+ }
Kernel kernel = getKernel();
- Object proxy = null;
+ Object proxy;
try {
+ //TODO configid objectname might well be wrong kind of thing.
proxy = kernel.invoke(containerName, "getHome", new Object[]{nsCorbaloc, objectName}, new String[]{URI.class.getName(), String.class.getName()});
} catch (Exception e) {
log.error("Could not get proxy from " + containerName, e);
Modified: branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBReferenceBuilder.java (2546 => 2547)
--- branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBReferenceBuilder.java 2006-03-12 09:35:41 UTC (rev 2546)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBReferenceBuilder.java 2006-03-12 22:02:19 UTC (rev 2547)
@@ -52,6 +52,7 @@
import java.util.Collection;
import java.util.ArrayList;
import java.util.Iterator;
+import java.util.Collections;
import javax.naming.Reference;
import javax.management.ObjectName;
@@ -63,9 +64,10 @@
import org.apache.geronimo.gbean.GBeanData;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.kernel.GBeanNotFoundException;
-import org.apache.geronimo.kernel.jmx.JMXUtil;
+import org.apache.geronimo.kernel.repository.Artifact;
import org.openejb.proxy.EJBProxyReference;
import org.openejb.proxy.ProxyInfo;
import org.openejb.corba.proxy.CORBAProxyReference;
@@ -75,9 +77,9 @@
* @version $Revision$ $Date$
*/
public class OpenEJBReferenceBuilder implements EJBReferenceBuilder {
- private final static ObjectName STATELESS = JMXUtil.getObjectName("*:j2eeType=StatelessSessionBean,*");
- private final static ObjectName STATEFUL = JMXUtil.getObjectName("*:j2eeType=StatefulSessionBean,*");
- private final static ObjectName ENTITY = JMXUtil.getObjectName("*:j2eeType=EntityBean,*");
+ private final static AbstractNameQuery STATELESS = new AbstractNameQuery(null, Collections.singletonMap(NameFactory.J2EE_TYPE, NameFactory.STATELESS_SESSION_BEAN));
+ private final static AbstractNameQuery STATEFUL = new AbstractNameQuery(null, Collections.singletonMap(NameFactory.J2EE_TYPE, NameFactory.STATEFUL_SESSION_BEAN));
+ private final static AbstractNameQuery ENTITY = new AbstractNameQuery(null, Collections.singletonMap(NameFactory.J2EE_TYPE, NameFactory.ENTITY_BEAN));
public Reference createEJBLocalReference(String objectName, GBeanData gbeanData, boolean session, String localHome, String local) throws DeploymentException {
if (gbeanData != null) {
@@ -115,8 +117,8 @@
return buildRemoteReference(objectName, session, home, remote);
}
- public Reference createCORBAReference(URI corbaURL, String objectName, AbstractName containerName, String home) throws DeploymentException {
- return new CORBAProxyReference(corbaURL, objectName, containerName, home);
+ public Reference createCORBAReference(Artifact configId, AbstractNameQuery containerNameQuery, URI nsCorbaloc, String objectName, String home) throws DeploymentException {
+ return new CORBAProxyReference(configId, containerNameQuery, nsCorbaloc, objectName, home);
}
public Object createHandleDelegateReference() {
@@ -153,15 +155,15 @@
}
Collection matches = new ArrayList();
for (Iterator iterator = gbeans.iterator(); iterator.hasNext();) {
- ObjectName objectName = (ObjectName) iterator.next();
- GBeanData data = ""
+ AbstractName abstractName = (AbstractName) iterator.next();
+ GBeanData data;
try {
- data = ""
+ data = ""
} catch (GBeanNotFoundException e) {
throw new DeploymentException("We just got this ejb name out of a query! It must be there!");
}
if (matchesProxyInfo(data, isRemote, home, remote)) {
- matches.add(objectName);
+ matches.add(abstractName);
}
}
if (matches.isEmpty()) {
Modified: branches/v2_1/openejb2/modules/openejb-builder/src/schema/openejb-jar-2.1.xsd (2546 => 2547)
--- branches/v2_1/openejb2/modules/openejb-builder/src/schema/openejb-jar-2.1.xsd 2006-03-12 09:35:41 UTC (rev 2546)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/schema/openejb-jar-2.1.xsd 2006-03-12 22:02:19 UTC (rev 2547)
@@ -49,7 +49,7 @@
<xs:schema
xmlns:openejb="http://www.openejb.org/xml/ns/openejb-jar-2.1"
targetNamespace="http://www.openejb.org/xml/ns/openejb-jar-2.1"
- xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
+ xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1"
xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
@@ -58,7 +58,7 @@
attributeFormDefault="unqualified"
version="1.0">
- <xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.0" schemaLocation="geronimo-naming-1.0.xsd"/>
+ <xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.1" schemaLocation="geronimo-naming-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/security-1.1" schemaLocation="geronimo-security-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.1" schemaLocation="geronimo-config-1.1.xsd"/>
<xs:import namespace="http://www.openejb.org/xml/ns/pkgen-2.0" schemaLocation="openejb-pkgen-2.0.xsd"/>
Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestContants.java (2546 => 2547)
--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestContants.java 2006-03-12 09:35:41 UTC (rev 2546)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestContants.java 2006-03-12 22:02:19 UTC (rev 2547)
@@ -63,6 +63,7 @@
import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder;
import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.deployment.DeploymentContext;
/**
@@ -74,11 +75,11 @@
public static final String SERVER_NAME = DeploymentHelper.SERVER_NAME;
public static final ResourceReferenceBuilder resourceReferenceBuilder = new ResourceReferenceBuilder() {
- public Reference createResourceRef(String containerId, Class iface) {
+ public Reference createResourceRef(AbstractNameQuery containerId, Class iface, Configuration configuration) {
return null;
}
- public Reference createAdminObjectRef(String containerId, Class iface) {
+ public Reference createAdminObjectRef(AbstractNameQuery containerId, Class iface, Configuration configuration) {
return null;
}