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>