[jboss-cvs] JBossAS SVN: r66590 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/client and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Oct 30 23:32:34 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-30 23:32:34 -0400 (Tue, 30 Oct 2007)
New Revision: 66590

Added:
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient5UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient5_test4915.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient5_test4915.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
Log:
JBAS-4915, do merge even when there is only one input as the merge may be a copy.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-10-31 02:23:42 UTC (rev 66589)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-10-31 03:32:34 UTC (rev 66590)
@@ -78,9 +78,10 @@
       {
          if (mapped.isEmpty() == false && mustOverride)
             throw new IllegalStateException(overridenFile + " has no " + context + "s but " + overrideFile + " has " + mapped.keySet());
-         return mapped;
+         merged.addAll(mapped);
+         return merged;
       }
-      
+
       // Wolf: I want to maintain the order of originals (/ override)
       // Process the originals
       for(T original : overriden)

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient5UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient5UnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient5UnitTestCase.java	2007-10-31 03:32:34 UTC (rev 66590)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.client;
+
+import java.util.List;
+
+import org.jboss.metadata.client.jboss.JBossClient5DTDMetaData;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
+import org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData;
+import org.jboss.metadata.client.spec.ApplicationClient14MetaData;
+import org.jboss.metadata.client.spec.ApplicationClient5MetaData;
+import org.jboss.metadata.client.spec.ApplicationClientMetaData;
+import org.jboss.metadata.javaee.jboss.JBossPortComponentRef;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PortComponentRef;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest.Mode;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+/**
+ * Tests of an application client 5 descriptor.
+ *
+ * @author Scott.Stark
+ * @version $Revision$
+ */
+public class ApplicationClient5UnitTestCase extends AbstractJavaEEEverythingTest
+{
+   public ApplicationClient5UnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static SchemaBindingResolver initResolver()
+   {
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      
+      resolver.addClassBindingForLocation("application-client_1_3.dtd", ApplicationClient14DTDMetaData.class);
+      resolver.addClassBindingForLocation("application-client_1_4.xsd", ApplicationClient14MetaData.class);
+      resolver.addClassBindingForLocation("application-client_5.xsd", ApplicationClient5MetaData.class);
+      resolver.addClassBindingForLocation("jboss-client", JBossClient5DTDMetaData.class);
+      return resolver;
+   }
+
+   public void test4915()
+      throws Exception
+   {
+      ApplicationClientMetaData specMetaData = unmarshal();
+      JBossClientMetaData jbossMetaData = unmarshal("JBossClient5_test4915.xml", JBossClientMetaData.class, null);
+      JBossClientMetaData mergedMetaData = new JBossClientMetaData();
+      mergedMetaData.merge(jbossMetaData, specMetaData, true);
+
+      assertEquals(7, mergedMetaData.getServiceReferences().size());
+      JBossServiceReferenceMetaData port2 = (JBossServiceReferenceMetaData) mergedMetaData.getServiceReferenceByName("Port2");
+      List<? extends PortComponentRef> pcrefs = port2.getPortComponentRef();
+      assertEquals(1, pcrefs.size());
+      JBossPortComponentRef pcref = (JBossPortComponentRef) pcrefs.get(0);
+      assertEquals("META-INF/jbossws-client-config.xml", pcref.getConfigFile());
+      assertEquals("Custom Client", pcref.getConfigName());
+      assertEquals("org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpoint", pcref.getServiceEndpointInterface());
+      assertEquals("META-INF/wsdl/TestEndpoint.wsdl", port2.getWsdlOverride());
+   }
+
+   protected ApplicationClientMetaData unmarshal() throws Exception
+   {
+      return unmarshal(ApplicationClient5MetaData.class);
+   }
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient5UnitTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient5_test4915.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient5_test4915.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient5_test4915.xml	2007-10-31 03:32:34 UTC (rev 66590)
@@ -0,0 +1,7 @@
+<application-client version="5" xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application-client_5.xsd">
+    
+    <display-name>TestEndpointService</display-name>
+    
+</application-client>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient5_test4915.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient5_test4915.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient5_test4915.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient5_test4915.xml	2007-10-31 03:32:34 UTC (rev 66590)
@@ -0,0 +1,93 @@
+<jboss-client>
+    <jndi-name>jbossws-client</jndi-name>
+    
+    <!--
+        @WebServiceRef(name = "Service1")
+    -->
+    <service-ref>
+        <service-ref-name>Service1</service-ref-name>
+        <service-impl-class>org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpointService</service-impl-class>
+        <service-qname>{http://org.jboss.ws/wsref}TestEndpointService</service-qname>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Service2")
+    -->
+    <service-ref>
+        <service-ref-name>Service2</service-ref-name>
+        <config-name>Custom Client</config-name>
+        <config-file>META-INF/jbossws-client-config.xml</config-file>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Service3")
+    -->
+    <service-ref>
+        <service-ref-name>Service3</service-ref-name>
+        <service-impl-class>org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpointService</service-impl-class>
+        <service-qname>{http://org.jboss.ws/wsref}TestEndpointService</service-qname>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Service4")
+    -->
+    <service-ref>
+        <service-ref-name>Service4</service-ref-name>
+        <port-component-ref>
+            <service-endpoint-interface>org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpoint</service-endpoint-interface>
+            <config-name>Custom Client</config-name>
+            <config-file>META-INF/jbossws-client-config.xml</config-file>
+        </port-component-ref>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Port1", type = TestEndpoint.class)
+    -->
+    <service-ref>
+        <service-ref-name>Port1</service-ref-name>
+        <port-component-ref>
+            <port-qname>{http://org.jboss.ws/wsref}TestEndpointPort</port-qname>
+            <config-name>Custom Client</config-name>
+            <config-file>META-INF/jbossws-client-config.xml</config-file>
+        </port-component-ref>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Port2")
+    -->
+    <service-ref>
+        <service-ref-name>Port2</service-ref-name>
+        <port-component-ref>
+            <service-endpoint-interface>org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpoint</service-endpoint-interface>
+            <config-name>Custom Client</config-name>
+            <config-file>META-INF/jbossws-client-config.xml</config-file>
+        </port-component-ref>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+    <!--
+        @WebServiceRef(name = "Port3")
+    -->
+    <service-ref>
+        <service-ref-name>Port3</service-ref-name>
+        <port-component-ref>
+            <service-endpoint-interface>org.jboss.test.ws.jaxws.samples.webserviceref.TestEndpoint</service-endpoint-interface>
+            <port-qname>{http://org.jboss.ws/wsref}TestEndpointPort</port-qname>
+            <stub-property>
+                <prop-name>javax.xml.ws.security.auth.username</prop-name>
+                <prop-value>kermit</prop-value>
+            </stub-property>
+            <stub-property>
+                <prop-name>javax.xml.ws.security.auth.password</prop-name>
+                <prop-value>thefrog</prop-value>
+            </stub-property>
+        </port-component-ref>
+        <wsdl-override>META-INF/wsdl/TestEndpoint.wsdl</wsdl-override>
+    </service-ref>
+    
+</jboss-client>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient5_test4915.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native




More information about the jboss-cvs-commits mailing list