[jboss-cvs] JBossAS SVN: r102076 - in projects/metadata/client/trunk: src/main/java/org/jboss/metadata/client/jboss and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 8 13:55:26 EST 2010
Author: bstansberry at jboss.com
Date: 2010-03-08 13:55:25 -0500 (Mon, 08 Mar 2010)
New Revision: 102076
Added:
projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClient6MetaData.java
projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClient6MetaData.java
projects/metadata/client/trunk/src/main/resources/schema/application-client_6.xsd
projects/metadata/client/trunk/src/main/resources/schema/jboss-client_6_0.xsd
projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient6EverythingUnitTestCase.java
projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/JBossClient6EverythingUnitTestCase.java
projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient6Everything_testEverything.xml
projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient6Everything_testEverything.xml
Modified:
projects/metadata/client/trunk/
projects/metadata/client/trunk/pom.xml
projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClientJBossMergeEverythingUnitTestCase.java
projects/metadata/client/trunk/src/test/resources/schema2class.properties
Log:
[JBMETA-264] EE 6 module name concept application client metadata
Property changes on: projects/metadata/client/trunk
___________________________________________________________________
Name: svn:ignore
+ .settings
target
.classpath
.project
Modified: projects/metadata/client/trunk/pom.xml
===================================================================
--- projects/metadata/client/trunk/pom.xml 2010-03-08 18:51:59 UTC (rev 102075)
+++ projects/metadata/client/trunk/pom.xml 2010-03-08 18:55:25 UTC (rev 102076)
@@ -94,13 +94,13 @@
<dependency>
<groupId>org.jboss.metadata</groupId>
<artifactId>jboss-metadata-common</artifactId>
- <version>2.0.0-alpha-10</version>
+ <version>2.0.0.Alpha14</version>
</dependency>
<dependency>
<groupId>org.jboss.metadata</groupId>
<artifactId>jboss-metadata-common</artifactId>
- <version>2.0.0-alpha-10</version>
+ <version>2.0.0.Alpha14</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Added: projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClient6MetaData.java
===================================================================
--- projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClient6MetaData.java (rev 0)
+++ projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClient6MetaData.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,61 @@
+/*
+ * 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.metadata.client.jboss;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * JBoss specific meta data for JavaEE 6 clients.
+ *
+ * @author Brian Stansberry
+ * @version $Revision: 84989 $
+ */
+ at XmlRootElement(name="jboss-client", namespace=JavaEEMetaDataConstants.JBOSS_NS)
+ at JBossXmlSchema(
+ xmlns={@XmlNs(namespaceURI = JavaEEMetaDataConstants.JBOSS_NS, prefix = "jboss"),
+ @XmlNs(namespaceURI = JavaEEMetaDataConstants.JAVAEE_NS, prefix = "jee"),
+ @XmlNs(namespaceURI = JavaEEMetaDataConstants.XSD_NS, prefix = "xsd")},
+ ignoreUnresolvedFieldOrClass=false,
+ namespace=JavaEEMetaDataConstants.JBOSS_NS,
+ elementFormDefault=XmlNsForm.QUALIFIED,
+ normalizeSpace=true)
+ at XmlType(name="jboss-clientType", namespace=JavaEEMetaDataConstants.JBOSS_NS, propOrder={"moduleName", "callbackHandler", "metadataComplete",
+ "descriptionGroup", "jndiName", "environmentRefsGroup", "messageDestinations", "depends"})
+public class JBossClient6MetaData extends JBossClientMetaData
+{
+ private static final long serialVersionUID = -4180526338768209252L;
+
+ @Override
+ @XmlAttribute(name="module-name")
+ public void setModuleName(String moduleName)
+ {
+ super.setModuleName(moduleName);
+ }
+
+}
\ No newline at end of file
Modified: projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
===================================================================
--- projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java 2010-03-08 18:51:59 UTC (rev 102075)
+++ projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -54,6 +54,7 @@
import org.jboss.metadata.javaee.support.IdMetaData;
import org.jboss.metadata.javaee.support.IdMetaDataImpl;
import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
+import org.jboss.metadata.javaee.support.NamedModuleImpl;
/**
* The jboss javaee client application metadata
@@ -61,7 +62,7 @@
* @author Scott.Stark at jboss.org
* @version $Revision: 84989 $
*/
-public class JBossClientMetaData extends IdMetaDataImplWithDescriptionGroup
+public class JBossClientMetaData extends NamedModuleImpl
implements RemoteEnvironment
{
private static final long serialVersionUID = 1L;
@@ -369,6 +370,18 @@
throw new RuntimeException("wrong merge method called");
}
+ @Override
+ public void merge(IdMetaDataImplWithDescriptionGroup override, IdMetaDataImplWithDescriptionGroup original)
+ {
+ throw new RuntimeException("wrong merge method called");
+ }
+
+ @Override
+ public void merge(NamedModuleImpl override, NamedModuleImpl original)
+ {
+ throw new RuntimeException("wrong merge method called");
+ }
+
/**
* Merge jboss + spec into this
* @param jboss
@@ -377,6 +390,8 @@
public void merge(JBossClientMetaData jboss, ApplicationClientMetaData spec, boolean mustOverride)
{
super.merge(jboss, spec);
+
+ mergeModuleName(jboss, spec);
RemoteEnvironmentRefsGroupMetaData jbossEnv = null;
RemoteEnvironmentRefsGroupMetaData specEnv = null;
Added: projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClient6MetaData.java
===================================================================
--- projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClient6MetaData.java (rev 0)
+++ projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClient6MetaData.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,67 @@
+/*
+ * 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.metadata.client.spec;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * Application client meta data for Java EE 6 clients. See JavaEE 6 chapter 10.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 81860 $
+ */
+ at XmlRootElement(name="application-client", namespace=JavaEEMetaDataConstants.JAVAEE_NS)
+ at JBossXmlSchema(
+ xmlns={@XmlNs(namespaceURI = JavaEEMetaDataConstants.JAVAEE_NS, prefix = "jee")},
+ ignoreUnresolvedFieldOrClass=false,
+ namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+ elementFormDefault=XmlNsForm.QUALIFIED,
+ normalizeSpace=true)
+ at XmlType(name="application-clientType",
+ namespace=JavaEEMetaDataConstants.JAVAEE_NS, propOrder={"moduleName", "descriptionGroup", "jndiEnvironmentRefsGroup", "callbackHandler", "messageDestinations"})
+public class ApplicationClient6MetaData extends ApplicationClientMetaData
+{
+ private static final long serialVersionUID = 1914939966505073042L;
+
+ @Override
+ @XmlAttribute(name="module-name")
+ public void setModuleName(String moduleName)
+ {
+ super.setModuleName(moduleName);
+ }
+
+ @Override
+ @XmlAttribute(name="version")
+ public void setVersion(String version)
+ {
+ super.setVersion(version);
+ }
+
+}
Modified: projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
===================================================================
--- projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java 2010-03-08 18:51:59 UTC (rev 102075)
+++ projects/metadata/client/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -25,6 +25,7 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
+import org.jboss.metadata.javaee.jboss.NamedModule;
import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
@@ -54,7 +55,7 @@
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @version $Revision: 75470 $
*/
-public class ApplicationClientMetaData extends IdMetaDataImplWithDescriptionGroup implements RemoteEnvironment
+public class ApplicationClientMetaData extends IdMetaDataImplWithDescriptionGroup implements RemoteEnvironment, NamedModule
{
private static final long serialVersionUID = 1;
/** The environment */
@@ -72,6 +73,8 @@
/** The message destinations */
private MessageDestinationsMetaData messageDestinations;
+ private String moduleName;
+
/**
* Callback for the DTD information
* @param root
@@ -110,6 +113,16 @@
{
return dtdSystemId;
}
+
+ public String getModuleName()
+ {
+ return moduleName;
+ }
+
+ public void setModuleName(String moduleName)
+ {
+ this.moduleName = moduleName;
+ }
public String getVersion()
Added: projects/metadata/client/trunk/src/main/resources/schema/application-client_6.xsd
===================================================================
--- projects/metadata/client/trunk/src/main/resources/schema/application-client_6.xsd (rev 0)
+++ projects/metadata/client/trunk/src/main/resources/schema/application-client_6.xsd 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://java.sun.com/xml/ns/javaee"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="6">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the
+ GNU General Public License Version 2 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the
+ "License"). You may not use this file except in compliance with
+ the License. You can obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL.html or
+ glassfish/bootstrap/legal/LICENSE.txt. See the License for the
+ specific language governing permissions and limitations under the
+ License.
+
+ When distributing the software, include this License Header
+ Notice in each file and include the License file at
+ glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
+ particular file as subject to the "Classpath" exception as
+ provided by Sun in the GPL Version 2 section of the License file
+ that accompanied this code. If applicable, add the following
+ below the License Header, with the fields enclosed by brackets []
+ replaced by your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the
+ CDDL or only the GPL Version 2, indicate your decision by adding
+ "[Contributor] elects to include this software in this
+ distribution under the [CDDL or GPL Version 2] license." If you
+ don't indicate a single choice of license, a recipient has the
+ option to distribute your version of this file under either the
+ CDDL, the GPL Version 2 or to extend the choice of license to its
+ licensees as provided above. However, if you add GPL Version 2
+ code and therefore, elected the GPL Version 2 license, then the
+ option applies only if the new code is made subject to such
+ option by the copyright holder.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[[
+ This is the XML Schema for the application client 6
+ deployment descriptor. The deployment descriptor must
+ be named "META-INF/application-client.xml" in the
+ application client's jar file. All application client
+ deployment descriptors must indicate the application
+ client schema by using the Java EE namespace:
+
+ http://java.sun.com/xml/ns/javaee
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <application-client 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_6.xsd"
+ version="6">
+ ...
+ </application-client>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Java EE
+ namespace with the following location:
+
+ http://java.sun.com/xml/ns/javaee/application-client_6.xsd
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The following conventions apply to all Java EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="javaee_6.xsd"/>
+
+
+<!-- **************************************************** -->
+
+ <xsd:element name="application-client"
+ type="javaee:application-clientType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The application-client element is the root element of an
+ application client deployment descriptor. The application
+ client deployment descriptor describes the EJB components
+ and external resources referenced by the application
+ client.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:unique name="env-entry-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The env-entry-name element contains the name of an
+ application client's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The name must
+ be unique within an application client.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="javaee:env-entry"/>
+ <xsd:field xpath="javaee:env-entry-name"/>
+ </xsd:unique>
+ <xsd:unique name="ejb-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The ejb-ref-name element contains the name of an EJB
+ reference. The EJB reference is an entry in the application
+ client's environment and is relative to the
+ java:comp/env context. The name must be unique within the
+ application client.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="javaee:ejb-ref"/>
+ <xsd:field xpath="javaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="res-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference.The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within an application client.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="javaee:resource-ref"/>
+ <xsd:field xpath="javaee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="resource-env-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The resource-env-ref-name element specifies the name of
+ a resource environment reference; its value is the
+ environment entry name used in the application client
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ application client.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="javaee:resource-env-ref"/>
+ <xsd:field xpath="javaee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="message-destination-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The message-destination-ref-name element specifies the
+ name of a message destination reference; its value is
+ the message destination reference name used in the
+ application client code. The name is a JNDI name
+ relative to the java:comp/env context and must be unique
+ within an application client.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="javaee:message-destination-ref"/>
+ <xsd:field xpath="javaee:message-destination-ref-name"/>
+ </xsd:unique>
+ </xsd:element>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="application-clientType">
+ <xsd:sequence>
+ <xsd:element name="module-name"
+ type="javaee:string"
+ minOccurs="0"/>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="env-entry"
+ type="javaee:env-entryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="ejb-ref"
+ type="javaee:ejb-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:group ref="javaee:service-refGroup"/>
+ <xsd:element name="resource-ref"
+ type="javaee:resource-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="resource-env-ref"
+ type="javaee:resource-env-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="message-destination-ref"
+ type="javaee:message-destination-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="persistence-unit-ref"
+ type="javaee:persistence-unit-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="post-construct"
+ type="javaee:lifecycle-callbackType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="pre-destroy"
+ type="javaee:lifecycle-callbackType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="callback-handler"
+ type="javaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The callback-handler element names a class provided by
+ the application. The class must have a no args
+ constructor and must implement the
+ javax.security.auth.callback.CallbackHandler
+ interface. The class will be instantiated by the
+ application client container and used by the container
+ to collect authentication information from the user.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="message-destination"
+ type="javaee:message-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="data-source"
+ type="javaee:data-sourceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="version"
+ type="javaee:dewey-versionType"
+ fixed="6"
+ use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The required value for the version is 6.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="metadata-complete"
+ type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The metadata-complete attribute defines whether this
+ deployment descriptor and other related deployment
+ descriptors for this module (e.g., web service
+ descriptors) are complete, or whether the class
+ files available to this module and packaged with
+ this application should be examined for annotations
+ that specify deployment information.
+
+ If metadata-complete is set to "true", the deployment
+ tool must ignore any annotations that specify deployment
+ information, which might be present in the class files
+ of the application.
+
+ If metadata-complete is not specified or is set to
+ "false", the deployment tool must examine the class
+ files of the application for annotations, as
+ specified by the specifications.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+</xsd:schema>
Added: projects/metadata/client/trunk/src/main/resources/schema/jboss-client_6_0.xsd
===================================================================
--- projects/metadata/client/trunk/src/main/resources/schema/jboss-client_6_0.xsd (rev 0)
+++ projects/metadata/client/trunk/src/main/resources/schema/jboss-client_6_0.xsd 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+ xmlns:jee="http://java.sun.com/xml/ns/javaee"
+ targetNamespace="http://www.jboss.com/xml/ns/javaee"
+ version="6.0"
+ elementFormDefault="qualified"
+ >
+
+ <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="http://java.sun.com/xml/ns/javaee/javaee_6.xsd"/>
+ <xsd:include schemaLocation="http://www.jboss.org/j2ee/schema/jboss-common_6_0.xsd"/>
+
+ <xsd:element name="jboss-client" type="jboss:jboss-clientType"/>
+
+ <xsd:complexType name="jboss-clientType">
+ <xsd:sequence>
+ <xsd:element name="module-name" type="xsd:string" minOccurs="0"/>
+ <xsd:group ref="jboss:descriptionGroup"/>
+ <xsd:element name="callback-handler" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="metadata-complete" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="jndi-name" type="xsd:string" minOccurs="0"/>
+ <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
+ <xsd:element name="message-destinations" type="jboss:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="depends" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:string"/>
+ <xsd:attribute name="version" type="xsd:string"/>
+ </xsd:complexType>
+
+</xsd:schema>
Added: projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient6EverythingUnitTestCase.java
===================================================================
--- projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient6EverythingUnitTestCase.java (rev 0)
+++ projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient6EverythingUnitTestCase.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,76 @@
+/*
+ * 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 org.jboss.metadata.client.spec.ApplicationClient6MetaData;
+import org.jboss.metadata.client.spec.ApplicationClientMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+
+/**
+ * Test all entries of an application client 5 descriptor.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: 88255 $
+ */
+public class ApplicationClient6EverythingUnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+ public ApplicationClient6EverythingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ protected void assertEverything(ApplicationClientMetaData appClientMetaData, Mode mode)
+ {
+ //assertEverythingWithAppMetaData(appClientMetaData);
+ assertEquals("spec-app-client", appClientMetaData.getModuleName());
+ assertEquals("6", appClientMetaData.getVersion());
+ assertDescriptionGroup("application-client", appClientMetaData.getDescriptionGroup());
+ assertRemoteEnvironment("appClient", appClientMetaData, true, mode);
+ assertEquals("org.jboss.test.metadata.client.AppClientCallbackHandler", appClientMetaData.getCallbackHandler());
+ assertMessageDestinations5("appClientMessageDestination", 2, appClientMetaData.getMessageDestinations(), true);
+ }
+ protected void assertMessageDestinations5(String prefix, int size, MessageDestinationsMetaData messageDestinations, boolean full)
+ {
+ assertNotNull("no message destinations are set", messageDestinations);
+ assertEquals(size, messageDestinations.size());
+ int count = 1;
+ for(MessageDestinationMetaData messageDestinationMetaData : messageDestinations)
+ {
+ assertMessageDestination50(prefix + count, messageDestinationMetaData, Mode.SPEC);
+ count++;
+ }
+ }
+
+ public void testEverything() throws Exception
+ {
+ ApplicationClientMetaData appClientMetaData = unmarshal();
+ assertEverything(appClientMetaData, Mode.SPEC);
+ }
+
+ protected ApplicationClientMetaData unmarshal() throws Exception
+ {
+ return unmarshal(ApplicationClient6MetaData.class);
+ }
+}
Modified: projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClientJBossMergeEverythingUnitTestCase.java
===================================================================
--- projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClientJBossMergeEverythingUnitTestCase.java 2010-03-08 18:51:59 UTC (rev 102075)
+++ projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClientJBossMergeEverythingUnitTestCase.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -71,5 +71,30 @@
assertEquals("org.jboss.test.metadata.client.AppClientCallbackHandler", jbossClientMetaData.getCallbackHandler());
assertMessageDestinations5("appClientMessageDestination", 2, jbossClientMetaData.getMessageDestinations(), true);
}
+
+ public void testAppClient6Everything() throws Exception
+ {
+ ApplicationClientMetaData appClientMetaData = unmarshal("ApplicationClient6Everything_testEverything.xml", ApplicationClientMetaData.class, null);
+ new ApplicationClient6EverythingUnitTestCase("appClient").assertEverything(appClientMetaData, Mode.SPEC);
+
+ JBossClientMetaData rawJBossMetaData = unmarshal("JBossClient6Everything_testEverything.xml", JBossClientMetaData.class, null);
+ new JBossClient6EverythingUnitTestCase("jbossClient").assertEverything(rawJBossMetaData);
+ JBossClientMetaData jbossClientMetaData = new JBossClientMetaData();
+ jbossClientMetaData.merge(rawJBossMetaData, appClientMetaData, true);
+
+ // TODO: should this work?
+ assertDescriptionGroup("application-client", appClientMetaData.getDescriptionGroup());
+ assertRemoteEnvironment("appClient", jbossClientMetaData, true, Mode.JBOSS);
+ assertEquals("org.jboss.test.metadata.client.AppClientCallbackHandler", jbossClientMetaData.getCallbackHandler());
+ assertMessageDestinations5("appClientMessageDestination", 2, jbossClientMetaData.getMessageDestinations(), true);
+
+ assertEquals("jboss-app-client", jbossClientMetaData.getModuleName());
+
+ rawJBossMetaData.setModuleName(null);
+ jbossClientMetaData = new JBossClientMetaData();
+ jbossClientMetaData.merge(rawJBossMetaData, appClientMetaData, true);
+ assertEquals("spec-app-client", jbossClientMetaData.getModuleName());
+ }
+
}
Added: projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/JBossClient6EverythingUnitTestCase.java
===================================================================
--- projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/JBossClient6EverythingUnitTestCase.java (rev 0)
+++ projects/metadata/client/trunk/src/test/java/org/jboss/test/metadata/client/JBossClient6EverythingUnitTestCase.java 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,104 @@
+/*
+ * 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 org.jboss.metadata.client.jboss.JBossClient5MetaData;
+import org.jboss.metadata.client.jboss.JBossClient6MetaData;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
+
+/**
+ * Test all entries of an JBoss client 5 descriptor.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: 88255 $
+ */
+public class JBossClient6EverythingUnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+ public JBossClient6EverythingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ protected void assertEverything(JBossClientMetaData jbossClientMetaData)
+ {
+ assertEquals("jboss-app-client", jbossClientMetaData.getModuleName());
+ assertEquals("appClientJndiName", jbossClientMetaData.getJndiName());
+ assertEquals("http://localhost", jbossClientMetaData.getJndiEnvironmentRefsGroup().getResourceReferences().get("appClientResourceRef2Name").getResUrl());
+ MessageDestinationReferenceMetaData mref = jbossClientMetaData.getMessageDestinationReferenceByName("appClientMessageDestinationRef1Name");
+ assertNotNull(mref);
+ assertEquals("MDB_QUEUE", mref.getJndiName());
+ assertEquals("MDB_QUEUE", mref.getMappedName());
+
+ assertEquals(2, jbossClientMetaData.getDepends().size());
+ int count = 1;
+ for(String depends : jbossClientMetaData.getDepends())
+ {
+ assertEquals("appClientDepends" + count, depends);
+ count++;
+ }
+ }
+
+ public void testEverything() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(true);
+ JBossClient6MetaData jbossClientMetaData = unmarshal();
+ assertEverything(jbossClientMetaData);
+ }
+
+ /**
+ * When there is no jndiEnvironmentRefsGroup we don't want
+ * any NPE to pop up.
+ * @throws Exception
+ */
+ public void testNoJndiEnvironmentRefsGroup() throws Exception
+ {
+ JBossClientMetaData metaData = new JBossClient5MetaData();
+ assertNull(metaData.getJndiEnvironmentRefsGroup());
+ assertNull(metaData.getEjbReferences());
+ assertNull(metaData.getEjbReferenceByName("unknown"));
+ assertNull(metaData.getAnnotatedEjbReferences());
+ assertNull(metaData.getEnvironmentEntries());
+ assertNull(metaData.getEnvironmentEntryByName("unknown"));
+ assertNull(metaData.getMessageDestinationReferences());
+ assertNull(metaData.getMessageDestinationReferenceByName("unknown"));
+ assertNull(metaData.getPersistenceUnitRefs());
+ assertNull(metaData.getPersistenceUnitReferenceByName("unknown"));
+ assertNull(metaData.getPostConstructs());
+ assertNull(metaData.getPreDestroys());
+ assertNull(metaData.getServiceReferences());
+ assertNull(metaData.getServiceReferenceByName("unknown"));
+ assertNull(metaData.getResourceEnvironmentReferences());
+ assertNull(metaData.getResourceEnvironmentReferenceByName("unknown"));
+ assertNull(metaData.getResourceReferences());
+ assertNull(metaData.getResourceReferenceByName("unknown"));
+ }
+
+ protected JBossClient6MetaData unmarshal() throws Exception
+ {
+ return unmarshal(JBossClient6MetaData.class);
+ }
+}
Added: projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient6Everything_testEverything.xml
===================================================================
--- projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient6Everything_testEverything.xml (rev 0)
+++ projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/ApplicationClient6Everything_testEverything.xml 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application-client 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_6.xsd"
+ version="6"
+ metadata-complete="true"
+ id="appclient-test">
+ <module-name>spec-app-client</module-name>
+ <!-- description group -->
+ <description>en-application-client-desc</description>
+ <description xml:lang="fr">fr-application-client-desc</description>
+ <description xml:lang="de">de-application-client-desc</description>
+ <display-name>en-application-client-disp</display-name>
+ <display-name xml:lang="fr">fr-application-client-disp</display-name>
+ <display-name xml:lang="de">de-application-client-disp</display-name>
+ <icon id="en-application-client-icon-id">
+ <small-icon>en-application-client-small-icon</small-icon>
+ <large-icon>en-application-client-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-application-client-icon-id">
+ <small-icon>fr-application-client-small-icon</small-icon>
+ <large-icon>fr-application-client-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-application-client-icon-id">
+ <small-icon>de-application-client-small-icon</small-icon>
+ <large-icon>de-application-client-large-icon</large-icon>
+ </icon>
+
+ <!-- env entry -->
+ <env-entry id="appClientEnvEntry1-id">
+ <description>en-appClientEnvEntry1-desc</description>
+ <description xml:lang="fr">fr-appClientEnvEntry1-desc</description>
+ <description xml:lang="de">de-appClientEnvEntry1-desc</description>
+ <env-entry-name>
+ appClientEnvEntry1Name
+ </env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>appClientEnvEntry1Value</env-entry-value>
+ <mapped-name>appClientEnvEntry1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientEnvEntry1Injection1Class</injection-target-class>
+ <injection-target-name>appClientEnvEntry1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientEnvEntry1Injection2Class</injection-target-class>
+ <injection-target-name>appClientEnvEntry1Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+ <env-entry id="appClientEnvEntry2-id">
+ <description>en-appClientEnvEntry2-desc</description>
+ <description xml:lang="fr">fr-appClientEnvEntry2-desc</description>
+ <description xml:lang="de">de-appClientEnvEntry2-desc</description>
+ <env-entry-name>appClientEnvEntry2Name</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>appClientEnvEntry2Value</env-entry-value>
+ <mapped-name>appClientEnvEntry2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientEnvEntry2Injection1Class</injection-target-class>
+ <injection-target-name>appClientEnvEntry2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientEnvEntry2Injection2Class</injection-target-class>
+ <injection-target-name>appClientEnvEntry2Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+
+ <!-- ejb ref -->
+ <ejb-ref id="appClientEjbRef1-id">
+ <description>en-appClientEjbRef1-desc</description>
+ <description xml:lang="fr">fr-appClientEjbRef1-desc</description>
+ <description xml:lang="de">de-appClientEjbRef1-desc</description>
+ <ejb-ref-name>appClientEjbRef1Name</ejb-ref-name>
+ <ejb-ref-type>Session</ejb-ref-type>
+ <home>appClientEjbRef1Home</home>
+ <remote>appClientEjbRef1Remote</remote>
+ <ejb-link>appClientEjbRef1EjbLink</ejb-link>
+ <mapped-name>appClientEjbRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientEjbRef1Injection1Class</injection-target-class>
+ <injection-target-name>appClientEjbRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientEjbRef1Injection2Class</injection-target-class>
+ <injection-target-name>appClientEjbRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+ <ejb-ref id="appClientEjbRef2-id">
+ <description>en-appClientEjbRef2-desc</description>
+ <description xml:lang="fr">fr-appClientEjbRef2-desc</description>
+ <description xml:lang="de">de-appClientEjbRef2-desc</description>
+ <ejb-ref-name>appClientEjbRef2Name</ejb-ref-name>
+ <ejb-ref-type>Entity</ejb-ref-type>
+ <home>appClientEjbRef2Home</home>
+ <remote>appClientEjbRef2Remote</remote>
+ <ejb-link>appClientEjbRef2EjbLink</ejb-link>
+ <mapped-name>appClientEjbRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientEjbRef2Injection1Class</injection-target-class>
+ <injection-target-name>appClientEjbRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientEjbRef2Injection2Class</injection-target-class>
+ <injection-target-name>appClientEjbRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+
+ <!-- service ref -->
+ <!-- TODO: full service-ref contents -->
+ <service-ref id="appClientServiceRef1-id">
+ <description>en-appClientServiceRef1-desc</description>
+ <description xml:lang="fr">fr-appClientServiceRef1-desc</description>
+ <description xml:lang="de">de-appClientServiceRef1-desc</description>
+ <service-ref-name>appClientServiceRef1Name</service-ref-name>
+ <service-interface>appClientServiceRef1Iface</service-interface>
+ </service-ref>
+ <service-ref id="appClientServiceRef2-id">
+ <description>en-appClientServiceRef2-desc</description>
+ <description xml:lang="fr">fr-appClientServiceRef2-desc</description>
+ <description xml:lang="de">de-appClientServiceRef2-desc</description>
+ <service-ref-name>appClientServiceRef2Name</service-ref-name>
+ <service-interface>appClientServiceRef2Iface</service-interface>
+ </service-ref>
+
+ <!-- resource ref -->
+ <resource-ref id="appClientResourceRef1-id">
+ <description>en-appClientResourceRef1-desc</description>
+ <description xml:lang="fr">fr-appClientResourceRef1-desc</description>
+ <description xml:lang="de">de-appClientResourceRef1-desc</description>
+ <res-ref-name>appClientResourceRef1Name</res-ref-name>
+ <res-type>appClientResourceRef1Type</res-type>
+ <res-auth>Application</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ <mapped-name>appClientResourceRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientResourceRef1Injection1Class</injection-target-class>
+ <injection-target-name>appClientResourceRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientResourceRef1Injection2Class</injection-target-class>
+ <injection-target-name>appClientResourceRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+ <resource-ref id="appClientResourceRef2-id">
+ <description>en-appClientResourceRef2-desc</description>
+ <description xml:lang="fr">fr-appClientResourceRef2-desc</description>
+ <description xml:lang="de">de-appClientResourceRef2-desc</description>
+ <res-ref-name>appClientResourceRef2Name</res-ref-name>
+ <res-type>appClientResourceRef2Type</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Unshareable</res-sharing-scope>
+ <mapped-name>appClientResourceRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientResourceRef2Injection1Class</injection-target-class>
+ <injection-target-name>appClientResourceRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientResourceRef2Injection2Class</injection-target-class>
+ <injection-target-name>appClientResourceRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+
+ <!-- resource env ref -->
+ <resource-env-ref id="appClientResourceEnvRef1-id">
+ <description>en-appClientResourceEnvRef1-desc</description>
+ <description xml:lang="fr">fr-appClientResourceEnvRef1-desc</description>
+ <description xml:lang="de">de-appClientResourceEnvRef1-desc</description>
+ <resource-env-ref-name>appClientResourceEnvRef1Name</resource-env-ref-name>
+ <resource-env-ref-type>appClientResourceEnvRef1Type</resource-env-ref-type>
+ <mapped-name>appClientResourceEnvRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientResourceEnvRef1Injection1Class</injection-target-class>
+ <injection-target-name>appClientResourceEnvRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientResourceEnvRef1Injection2Class</injection-target-class>
+ <injection-target-name>appClientResourceEnvRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+ <resource-env-ref id="appClientResourceEnvRef2-id">
+ <description>en-appClientResourceEnvRef2-desc</description>
+ <description xml:lang="fr">fr-appClientResourceEnvRef2-desc</description>
+ <description xml:lang="de">de-appClientResourceEnvRef2-desc</description>
+ <resource-env-ref-name>appClientResourceEnvRef2Name</resource-env-ref-name>
+ <resource-env-ref-type>appClientResourceEnvRef2Type</resource-env-ref-type>
+ <mapped-name>appClientResourceEnvRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientResourceEnvRef2Injection1Class</injection-target-class>
+ <injection-target-name>appClientResourceEnvRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientResourceEnvRef2Injection2Class</injection-target-class>
+ <injection-target-name>appClientResourceEnvRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+
+ <!-- message destination ref -->
+ <message-destination-ref id="appClientMessageDestinationRef1-id">
+ <description>en-appClientMessageDestinationRef1-desc</description>
+ <description xml:lang="fr">fr-appClientMessageDestinationRef1-desc</description>
+ <description xml:lang="de">de-appClientMessageDestinationRef1-desc</description>
+ <message-destination-ref-name>appClientMessageDestinationRef1Name</message-destination-ref-name>
+ <message-destination-type>appClientMessageDestinationRef1Type</message-destination-type>
+ <message-destination-usage>Consumes</message-destination-usage>
+ <message-destination-link>appClientMessageDestinationRef1Link</message-destination-link>
+ <mapped-name>appClientMessageDestinationRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef1Injection1Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef1Injection2Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="appClientMessageDestinationRef2-id">
+ <description>en-appClientMessageDestinationRef2-desc</description>
+ <description xml:lang="fr">fr-appClientMessageDestinationRef2-desc</description>
+ <description xml:lang="de">de-appClientMessageDestinationRef2-desc</description>
+ <message-destination-ref-name>appClientMessageDestinationRef2Name</message-destination-ref-name>
+ <message-destination-type>appClientMessageDestinationRef2Type</message-destination-type>
+ <message-destination-usage>Produces</message-destination-usage>
+ <message-destination-link>appClientMessageDestinationRef2Link</message-destination-link>
+ <mapped-name>appClientMessageDestinationRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef2Injection1Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef2Injection2Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="appClientMessageDestinationRef3-id">
+ <description>en-appClientMessageDestinationRef3-desc</description>
+ <description xml:lang="fr">fr-appClientMessageDestinationRef3-desc</description>
+ <description xml:lang="de">de-appClientMessageDestinationRef3-desc</description>
+ <message-destination-ref-name>appClientMessageDestinationRef3Name</message-destination-ref-name>
+ <message-destination-type>appClientMessageDestinationRef3Type</message-destination-type>
+ <message-destination-usage>ConsumesProduces</message-destination-usage>
+ <message-destination-link>appClientMessageDestinationRef3Link</message-destination-link>
+ <mapped-name>appClientMessageDestinationRef3MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef3Injection1Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef3Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientMessageDestinationRef3Injection2Class</injection-target-class>
+ <injection-target-name>appClientMessageDestinationRef3Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+
+ <!-- persistence unit ref -->
+ <persistence-unit-ref id="appClientPersistenceUnitRef1-id">
+ <description>en-appClientPersistenceUnitRef1-desc</description>
+ <description xml:lang="fr">fr-appClientPersistenceUnitRef1-desc</description>
+ <description xml:lang="de">de-appClientPersistenceUnitRef1-desc</description>
+ <persistence-unit-ref-name>appClientPersistenceUnitRef1Name</persistence-unit-ref-name>
+ <persistence-unit-name>appClientPersistenceUnitRef1Unit</persistence-unit-name>
+ <mapped-name>appClientPersistenceUnitRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientPersistenceUnitRef1Injection1Class</injection-target-class>
+ <injection-target-name>appClientPersistenceUnitRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientPersistenceUnitRef1Injection2Class</injection-target-class>
+ <injection-target-name>appClientPersistenceUnitRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+ <persistence-unit-ref id="appClientPersistenceUnitRef2-id">
+ <description>en-appClientPersistenceUnitRef2-desc</description>
+ <description xml:lang="fr">fr-appClientPersistenceUnitRef2-desc</description>
+ <description xml:lang="de">de-appClientPersistenceUnitRef2-desc</description>
+ <persistence-unit-ref-name>appClientPersistenceUnitRef2Name</persistence-unit-ref-name>
+ <persistence-unit-name>appClientPersistenceUnitRef2Unit</persistence-unit-name>
+ <mapped-name>appClientPersistenceUnitRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>appClientPersistenceUnitRef2Injection1Class</injection-target-class>
+ <injection-target-name>appClientPersistenceUnitRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>appClientPersistenceUnitRef2Injection2Class</injection-target-class>
+ <injection-target-name>appClientPersistenceUnitRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+
+ <!-- post-construct -->
+ <post-construct>
+ <lifecycle-callback-class>appClientPostConstruct1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>appClientPostConstruct1Method</lifecycle-callback-method>
+ </post-construct>
+ <post-construct>
+ <lifecycle-callback-class>appClientPostConstruct2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>appClientPostConstruct2Method</lifecycle-callback-method>
+ </post-construct>
+
+ <!-- pre-destroy -->
+ <pre-destroy>
+ <lifecycle-callback-class>appClientPreDestroy1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>appClientPreDestroy1Method</lifecycle-callback-method>
+ </pre-destroy>
+ <pre-destroy>
+ <lifecycle-callback-class>appClientPreDestroy2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>appClientPreDestroy2Method</lifecycle-callback-method>
+ </pre-destroy>
+
+ <!-- callback handler -->
+ <callback-handler id="appClientCallbackHandler-id">org.jboss.test.metadata.client.AppClientCallbackHandler</callback-handler>
+
+ <!-- message destination -->
+ <message-destination id="appClientMessageDestination1-id">
+ <description>en-appClientMessageDestination1-desc</description>
+ <description xml:lang="fr">fr-appClientMessageDestination1-desc</description>
+ <description xml:lang="de">de-appClientMessageDestination1-desc</description>
+ <display-name>en-appClientMessageDestination1-disp</display-name>
+ <display-name xml:lang="fr">fr-appClientMessageDestination1-disp</display-name>
+ <display-name xml:lang="de">de-appClientMessageDestination1-disp</display-name>
+ <icon id="en-appClientMessageDestination1-icon-id">
+ <small-icon>en-appClientMessageDestination1-small-icon</small-icon>
+ <large-icon>en-appClientMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-appClientMessageDestination1-icon-id">
+ <small-icon>fr-appClientMessageDestination1-small-icon</small-icon>
+ <large-icon>fr-appClientMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-appClientMessageDestination1-icon-id">
+ <small-icon>de-appClientMessageDestination1-small-icon</small-icon>
+ <large-icon>de-appClientMessageDestination1-large-icon</large-icon>
+ </icon>
+ <message-destination-name>appClientMessageDestination1Name</message-destination-name>
+ <mapped-name>appClientMessageDestination1MappedName</mapped-name>
+ </message-destination>
+ <message-destination id="appClientMessageDestination2-id">
+ <description>en-appClientMessageDestination2-desc</description>
+ <description xml:lang="fr">fr-appClientMessageDestination2-desc</description>
+ <description xml:lang="de">de-appClientMessageDestination2-desc</description>
+ <display-name>en-appClientMessageDestination2-disp</display-name>
+ <display-name xml:lang="fr">fr-appClientMessageDestination2-disp</display-name>
+ <display-name xml:lang="de">de-appClientMessageDestination2-disp</display-name>
+ <icon id="en-appClientMessageDestination2-icon-id">
+ <small-icon>en-appClientMessageDestination2-small-icon</small-icon>
+ <large-icon>en-appClientMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-appClientMessageDestination2-icon-id">
+ <small-icon>fr-appClientMessageDestination2-small-icon</small-icon>
+ <large-icon>fr-appClientMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-appClientMessageDestination2-icon-id">
+ <small-icon>de-appClientMessageDestination2-small-icon</small-icon>
+ <large-icon>de-appClientMessageDestination2-large-icon</large-icon>
+ </icon>
+ <message-destination-name>appClientMessageDestination2Name</message-destination-name>
+ <mapped-name>appClientMessageDestination2MappedName</mapped-name>
+ </message-destination>
+</application-client>
\ No newline at end of file
Added: projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient6Everything_testEverything.xml
===================================================================
--- projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient6Everything_testEverything.xml (rev 0)
+++ projects/metadata/client/trunk/src/test/resources/org/jboss/test/metadata/client/JBossClient6Everything_testEverything.xml 2010-03-08 18:55:25 UTC (rev 102076)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-client xmlns="http://www.jboss.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.com/xml/ns/javaee/jboss-client_6_0.xsd"
+ version="6.0"
+ id="appclient-test">
+
+ <module-name>jboss-app-client</module-name>
+ <!-- jndi name -->
+ <jndi-name>
+ appClientJndiName
+ </jndi-name>
+
+ <!-- resource ref -->
+ <resource-ref id="appClientResourceRef2-id">
+ <res-ref-name>appClientResourceRef2Name</res-ref-name>
+ <res-url>http://localhost</res-url>
+ </resource-ref>
+
+ <message-destination-ref>
+ <message-destination-ref-name>appClientMessageDestinationRef1Name</message-destination-ref-name>
+ <jndi-name>MDB_QUEUE</jndi-name>
+ </message-destination-ref>
+
+ <!-- depends -->
+ <depends>appClientDepends1</depends>
+ <depends>appClientDepends2</depends>
+</jboss-client>
\ No newline at end of file
Modified: projects/metadata/client/trunk/src/test/resources/schema2class.properties
===================================================================
--- projects/metadata/client/trunk/src/test/resources/schema2class.properties 2010-03-08 18:51:59 UTC (rev 102075)
+++ projects/metadata/client/trunk/src/test/resources/schema2class.properties 2010-03-08 18:55:25 UTC (rev 102076)
@@ -2,8 +2,10 @@
application-client_1_3.dtd org.jboss.metadata.client.spec.ApplicationClient14DTDMetaData
application-client_1_4.xsd org.jboss.metadata.client.spec.ApplicationClient14MetaData
application-client_5.xsd org.jboss.metadata.client.spec.ApplicationClient5MetaData
+application-client_6.xsd org.jboss.metadata.client.spec.ApplicationClient6MetaData
jboss-client_4_0.dtd org.jboss.metadata.client.jboss.JBossClient5DTDMetaData
jboss-client_4_2.dtd org.jboss.metadata.client.jboss.JBossClient5DTDMetaData
jboss-client_5_0.dtd org.jboss.metadata.client.jboss.JBossClient5DTDMetaData
jboss-client_5_0.xsd org.jboss.metadata.client.jboss.JBossClient5MetaData
+jboss-client_6_0.xsd org.jboss.metadata.client.jboss.JBossClient6MetaData
jboss-client org.jboss.metadata.client.jboss.JBossClient5DTDMetaData
More information about the jboss-cvs-commits
mailing list