[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