You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/03/30 09:04:40 UTC
svn commit: r523966 - in /incubator/openejb/trunk/openejb3/container:
openejb-core/src/main/java/org/apache/openejb/config/
openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/
openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/ openejb-jee/src/...
Author: dblevins
Date: Fri Mar 30 00:04:39 2007
New Revision: 523966
URL: http://svn.apache.org/viewvc?view=rev&rev=523966
Log:
Port over v2 webserivces data into v3 g-specific descriptor
Added:
incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/WebServiceBindingType.java
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/OpenejbJarTest.java
incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/geronimo-openejb-full.xml
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?view=diff&rev=523966&r1=523965&r2=523966
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java Fri Mar 30 00:04:39 2007
@@ -146,6 +146,17 @@
g2.getTssLink().add(new TssLinkType(rpcBean.getEjbName(), rpcBean.getTssLink(), rpcBean.getJndiName()));
}
}
+
+ if (bean instanceof SessionBeanType) {
+ SessionBeanType sb = (SessionBeanType) bean;
+ WebServiceBindingType b = new WebServiceBindingType();
+ b.setWebServiceAddress(sb.getWebServiceAddress());
+ b.setWebServiceVirtualHost(sb.getWebServiceVirtualHost());
+ b.setWebServiceSecurity(sb.getWebServiceSecurity());
+ if (b.containsData()){
+ g2.getWebServiceBinding().add(b);
+ }
+ }
}
ejbModule.getAltDDs().put("geronimo-openejb.xml", g2);
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java?view=diff&rev=523966&r1=523965&r2=523966
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java Fri Mar 30 00:04:39 2007
@@ -52,6 +52,7 @@
"resourceEnvRef",
"messageDestination",
"tssLink",
+ "webServiceBinding",
"security",
"service",
"persistence"
@@ -94,6 +95,9 @@
@XmlElement(name = "tss-link")
protected List<TssLinkType> tssLink;
+ @XmlElement(name = "web-service-binding")
+ protected List<WebServiceBindingType> webServiceBinding;
+
@XmlElementRef(name="security", namespace = "http://geronimo.apache.org/xml/ns/j2ee/application-1.2", type = JAXBElement.class)
protected JAXBElement<? extends AbstractSecurityType> security;
@@ -264,6 +268,13 @@
tssLink = new ArrayList<TssLinkType>();
}
return tssLink;
+ }
+
+ public List<WebServiceBindingType> getWebServiceBinding() {
+ if (webServiceBinding == null) {
+ webServiceBinding = new ArrayList<WebServiceBindingType>();
+ }
+ return webServiceBinding;
}
public JAXBElement<? extends AbstractSecurityType> getSecurity() {
Added: incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/WebServiceBindingType.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/WebServiceBindingType.java?view=auto&rev=523966
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/WebServiceBindingType.java (added)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/WebServiceBindingType.java Fri Mar 30 00:04:39 2007
@@ -0,0 +1,156 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.jee.oejb2;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @version $Rev$ $Date$
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "web-service-bindingType", namespace = "http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0", propOrder = {
+ "ejbName",
+ "webServiceAddress",
+ "webServiceVirtualHost",
+ "webServiceSecurity"
+})
+//@XmlRootElement(name = "web-service-binding", namespace = "http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0")
+public class WebServiceBindingType {
+
+ @XmlElement(name="ejb-name")
+ protected String ejbName;
+
+ @XmlElement(name = "web-service-address")
+ protected String webServiceAddress;
+
+ @XmlElement(name = "web-service-virtual-host")
+ protected List<String> webServiceVirtualHost;
+
+ @XmlElement(name = "web-service-security")
+ protected WebServiceSecurityType webServiceSecurity;
+
+ public String getEjbName() {
+ return ejbName;
+ }
+
+ public void setEjbName(String ejbName) {
+ this.ejbName = ejbName;
+ }
+
+ public String getWebServiceAddress() {
+ return webServiceAddress;
+ }
+
+ public void setWebServiceAddress(String webServiceAddress) {
+ this.webServiceAddress = webServiceAddress;
+ }
+
+ public List<String> getWebServiceVirtualHost() {
+ if (webServiceVirtualHost == null){
+ webServiceVirtualHost = new ArrayList<String>();
+ }
+ return webServiceVirtualHost;
+ }
+
+ public void setWebServiceVirtualHost(List<String> webServiceVirtualHost) {
+ this.webServiceVirtualHost = webServiceVirtualHost;
+ }
+
+ public WebServiceSecurityType getWebServiceSecurity() {
+ return webServiceSecurity;
+ }
+
+ public void setWebServiceSecurity(WebServiceSecurityType webServiceSecurity) {
+ this.webServiceSecurity = webServiceSecurity;
+ }
+
+ public void setWebServiceSecurity(org.apache.openejb.jee.oejb2.WebServiceSecurityType webServiceSecurity) {
+ if (webServiceSecurity == null) return;
+ this.webServiceSecurity = new WebServiceSecurityType(webServiceSecurity);
+ }
+
+ public boolean containsData() {
+ return webServiceAddress != null || getWebServiceVirtualHost().size() > 0 || webServiceSecurity != null;
+ }
+
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "web-service-securityType", namespace = "http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0", propOrder = {
+ "securityRealmName",
+ "realmName",
+ "transportGuarantee",
+ "authMethod"
+ })
+ public static class WebServiceSecurityType {
+
+ @XmlElement(name = "security-realm-name", required = true)
+ protected String securityRealmName;
+ @XmlElement(name = "realm-name")
+ protected String realmName;
+ @XmlElement(name = "transport-guarantee", required = true)
+ protected TransportGuaranteeType transportGuarantee;
+ @XmlElement(name = "auth-method", required = true)
+ protected AuthMethodType authMethod;
+
+ public WebServiceSecurityType() {
+ }
+
+ public WebServiceSecurityType(org.apache.openejb.jee.oejb2.WebServiceSecurityType s) {
+ this.securityRealmName = s.getSecurityRealmName();
+ this.realmName = s.getRealmName();
+ this.transportGuarantee = s.getTransportGuarantee();
+ this.authMethod = s.getAuthMethod();
+ }
+
+ public String getSecurityRealmName() {
+ return securityRealmName;
+ }
+
+ public void setSecurityRealmName(String value) {
+ this.securityRealmName = value;
+ }
+
+ public String getRealmName() {
+ return realmName;
+ }
+
+ public void setRealmName(String value) {
+ this.realmName = value;
+ }
+
+ public TransportGuaranteeType getTransportGuarantee() {
+ return transportGuarantee;
+ }
+
+ public void setTransportGuarantee(TransportGuaranteeType value) {
+ this.transportGuarantee = value;
+ }
+
+ public AuthMethodType getAuthMethod() {
+ return authMethod;
+ }
+
+ public void setAuthMethod(AuthMethodType value) {
+ this.authMethod = value;
+ }
+ }
+}
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/OpenejbJarTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/OpenejbJarTest.java?view=diff&rev=523966&r1=523965&r2=523966
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/OpenejbJarTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/oejb2/OpenejbJarTest.java Fri Mar 30 00:04:39 2007
@@ -28,6 +28,22 @@
*/
public class OpenejbJarTest extends TestCase {
+// public void test() throws Exception {
+// WebServiceBindingType binding = new WebServiceBindingType();
+// binding.setEjbName("FooBean");
+// binding.setWebServiceAddress("/foo/bean");
+// binding.getWebServiceVirtualHost().add("http://host");
+// WebServiceBindingType.WebServiceSecurityType security = new WebServiceBindingType.WebServiceSecurityType();
+// binding.setWebServiceSecurity(security);
+// security.setAuthMethod(AuthMethodType.BASIC);
+// security.setRealmName("foorealm");
+// security.setSecurityRealmName("securityfoo");
+// security.setTransportGuarantee(TransportGuaranteeType.NONE);
+//
+// String actual = JaxbOpenejbJar2.marshal(WebServiceBindingType.class, binding);
+// assertEquals("", actual);
+//
+// }
public void testValidOpenejbJar() throws Exception {
unmarshalAndMarshal(OpenejbJarType.class, "openejb-jar-2-full.xml");
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/geronimo-openejb-full.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/geronimo-openejb-full.xml?view=diff&rev=523966&r1=523965&r2=523966
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/geronimo-openejb-full.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/geronimo-openejb-full.xml Fri Mar 30 00:04:39 2007
@@ -380,6 +380,17 @@
<ns2:name>String</ns2:name>
</ns2:pattern>
</ns2:message-destination>
+ <ns4:web-service-binding>
+ <ns4:ejb-name>FooBean</ns4:ejb-name>
+ <ns4:web-service-address>/foo/bean</ns4:web-service-address>
+ <ns4:web-service-virtual-host>http://host</ns4:web-service-virtual-host>
+ <ns4:web-service-security>
+ <ns4:security-realm-name>securityfoo</ns4:security-realm-name>
+ <ns4:realm-name>foorealm</ns4:realm-name>
+ <ns4:transport-guarantee>NONE</ns4:transport-guarantee>
+ <ns4:auth-method>BASIC</ns4:auth-method>
+ </ns4:web-service-security>
+ </ns4:web-service-binding>
<gbean name="String" class="String">
<attribute type="String" name="String">String</attribute>
<attribute type="String" name="String">String</attribute>