You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jb...@apache.org on 2003/09/09 05:47:10 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee ResourceRef.java
jboynes 2003/09/08 20:47:10
Modified: modules/core/src/java/org/apache/geronimo/naming/java
ComponentContextBuilder.java
modules/core/src/test/org/apache/geronimo/naming/java
ContextBuilderTest.java
modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee
ResourceRef.java
Log:
Support resource-ref for java.net.URL
Revision Changes Path
1.6 +27 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ComponentContextBuilder.java
Index: ComponentContextBuilder.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ComponentContextBuilder.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ComponentContextBuilder.java 8 Sep 2003 04:30:29 -0000 1.5
+++ ComponentContextBuilder.java 9 Sep 2003 03:47:10 -0000 1.6
@@ -55,15 +55,18 @@
*/
package org.apache.geronimo.naming.java;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import javax.naming.Context;
import javax.naming.LinkRef;
-import org.apache.geronimo.kernel.deployment.DeploymentException;
import org.apache.geronimo.deployment.model.geronimo.j2ee.EjbRef;
import org.apache.geronimo.deployment.model.geronimo.j2ee.JNDIEnvironmentRefs;
+import org.apache.geronimo.deployment.model.geronimo.j2ee.ResourceRef;
import org.apache.geronimo.deployment.model.j2ee.EnvEntry;
+import org.apache.geronimo.kernel.deployment.DeploymentException;
/**
*
@@ -81,6 +84,7 @@
Map envMap = new HashMap();
buildEnvEntries(envMap, refs.getEnvEntry());
buildEJBRefs(envMap, refs.getEJBRef());
+ buildResourceRefs(envMap, refs.getResourceRef());
Map compMap = new HashMap();
compMap.put("env", new ReadOnlyContext(envMap));
@@ -135,6 +139,27 @@
LinkRef ref = new LinkRef(jndiName);
if (envMap.put(name, ref) != null) {
throw new AssertionError("Duplicate entry for env-entry " + name);
+ }
+ }
+ }
+
+ private static void buildResourceRefs(Map envMap, ResourceRef[] resRefs) throws DeploymentException {
+ for (int i=0; i < resRefs.length; i++) {
+ ResourceRef resRef = resRefs[i];
+ String name = resRef.getResRefName();
+ String type = resRef.getResType();
+ Object ref;
+ if ("java.net.URL".equals(type)) {
+ try {
+ ref = new URL(resRef.getURLRef());
+ } catch (MalformedURLException e) {
+ throw new DeploymentException("Invalid URL for resource-ref "+name, e);
+ }
+ } else {
+ throw new DeploymentException("Cannot create resource-ref for "+name+", unknown type "+type);
+ }
+ if (envMap.put(name, ref) != null) {
+ throw new AssertionError("Duplicate entry for resource-ref " + name);
}
}
}
1.5 +10 -1 incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/java/ContextBuilderTest.java
Index: ContextBuilderTest.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/java/ContextBuilderTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ContextBuilderTest.java 5 Sep 2003 20:47:15 -0000 1.4
+++ ContextBuilderTest.java 9 Sep 2003 03:47:10 -0000 1.5
@@ -55,12 +55,14 @@
*/
package org.apache.geronimo.naming.java;
+import java.net.URL;
import javax.naming.Context;
import junit.framework.TestCase;
import org.apache.geronimo.deployment.model.geronimo.appclient.ApplicationClient;
import org.apache.geronimo.deployment.model.j2ee.EnvEntry;
import org.apache.geronimo.deployment.model.geronimo.j2ee.EjbRef;
+import org.apache.geronimo.deployment.model.geronimo.j2ee.ResourceRef;
/**
*
@@ -80,13 +82,20 @@
intEntry.setEnvEntryName("int");
intEntry.setEnvEntryType("java.lang.Integer");
intEntry.setEnvEntryValue("12345");
+
+ ResourceRef urlRef = new ResourceRef();
+ urlRef.setResRefName("url/testURL");
+ urlRef.setResType(URL.class.getName());
+ urlRef.setJndiName("http://localhost/path");
client.setEnvEntry(new EnvEntry[] { stringEntry, intEntry });
client.setEJBRef(new EjbRef[0]);
+ client.setResourceRef(new ResourceRef[] { urlRef });
}
public void testEnvEntries() throws Exception {
Context compCtx = ComponentContextBuilder.buildContext(client);
assertEquals("Hello World", compCtx.lookup("env/string"));
assertEquals(new Integer(12345), compCtx.lookup("env/int"));
+ assertEquals(new URL("http://localhost/path"), compCtx.lookup("env/url/testURL"));
}
}
1.3 +5 -1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee/ResourceRef.java
Index: ResourceRef.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee/ResourceRef.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ResourceRef.java 5 Sep 2003 20:18:03 -0000 1.2
+++ ResourceRef.java 9 Sep 2003 03:47:10 -0000 1.3
@@ -87,4 +87,8 @@
public void setJndiContextParam(int i, JndiContextParam jndiContextParam) {
this.jndiContextParam[i] = jndiContextParam;
}
+
+ public String getURLRef() {
+ return jndiName; //@todo use a proper property
+ }
}