[jboss-cvs] JBossAS SVN: r82234 - in projects/metadata/trunk/src: main/resources/schema and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 11 17:07:15 EST 2008


Author: jeff.zhang
Date: 2008-12-11 17:07:15 -0500 (Thu, 11 Dec 2008)
New Revision: 82234

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/Connector16MetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/JCA16MetaData.java
   projects/metadata/trunk/src/main/resources/schema/connector_1_6.xsd
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/RA16EverythingUnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/RA16Everything_testEverything.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ActivationspecMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConfigPropertyMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConnectorMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/xml/XmlValidationUnitTestCase.java
Log:
[JBMETA-155] update metadata for JCA 1.6 API

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ActivationspecMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ActivationspecMetaData.java	2008-12-11 17:24:13 UTC (rev 82233)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ActivationspecMetaData.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -39,6 +39,7 @@
    
    private String asClass;
    private List<RequiredConfigPropertyMetaData> requiredConfigProps;
+   private List<RequiredConfigPropertyMetaData> configProps;
 
    @XmlElement(name="activationspec-class")
    public void setAsClass(String asClass) {
@@ -58,4 +59,15 @@
       return requiredConfigProps;
    }
 
+   public List<RequiredConfigPropertyMetaData> getConfigProps()
+   {
+      return configProps;
+   }
+   
+   @XmlElement(name="config-property")
+   public void setConfigProps(List<RequiredConfigPropertyMetaData> configProps)
+   {
+      this.configProps = configProps;
+   }
+
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConfigPropertyMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConfigPropertyMetaData.java	2008-12-11 17:24:13 UTC (rev 82233)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConfigPropertyMetaData.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -44,6 +44,8 @@
    
    /** The value */
    private String value = "";
+   
+   private boolean ignore;
 
    /**
     * Get the name
@@ -108,6 +110,18 @@
       this.value = value;
    }
    
+
+   public boolean isIgnore()
+   {
+      return ignore;
+   }
+   
+   @XmlElement(name="config-property-ignore")
+   public void setIgnore(boolean ignore)
+   {
+      this.ignore = ignore;
+   }
+   
    public String toString()
    {
       StringBuffer buffer = new StringBuffer();
@@ -118,7 +132,7 @@
          buffer.append(" type=").append(type);
       if (value != null)
          buffer.append(" value=").append(value);
-      //buffer.append(" descriptions=").append(getDescriptions());
+      buffer.append(" ignore=").append(isIgnore());
       buffer.append(']');
       return buffer.toString();
    }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/Connector16MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/Connector16MetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/Connector16MetaData.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.rar.spec;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
+/**
+ * Connector meta data
+ *
+ * @author Jeff Zhang
+ * @version $Revision:  $
+ */
+
+public class Connector16MetaData extends ConnectorMetaData 
+{
+   private static final long serialVersionUID = 7047130842894140262L;
+   
+   private boolean metadataComplete;
+   private String requiredWorkContext;
+   
+   
+   public boolean isMetadataComplete() 
+   {
+      return metadataComplete;
+   }
+   
+   @XmlAttribute(name="metadata-complete")
+   public void setMetadataComplete(boolean metadataComplete) 
+   {
+      this.metadataComplete = metadataComplete;
+   }
+   
+   public String getRequiredWorkContext() 
+   {
+      return requiredWorkContext;
+   }
+   
+   @XmlElement(name="required-work-context")
+   public void setRequiredWorkContext(String requiredWorkContext) 
+   {
+      this.requiredWorkContext = requiredWorkContext;
+   }
+
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/Connector16MetaData.java
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConnectorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConnectorMetaData.java	2008-12-11 17:24:13 UTC (rev 82233)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/ConnectorMetaData.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. See the copyright.txt file in the
  * distribution for a full listing of individual contributors.
  *
@@ -33,7 +33,7 @@
  *
  * @author <a href="mailto:adrian at jboss.com">Adrian Brock</a>
  * @author Jeff Zhang
- * @version $Revision: 76091 $
+ * @version $Revision:  $
  */
 public class ConnectorMetaData extends IdMetaDataImplWithDescriptionGroup
 {
@@ -229,8 +229,6 @@
       buffer.append(" eisType=").append(eisType);
       buffer.append(" resourceAdapterVersion=").append(raVersion);
       buffer.append(" license=").append(lmd);
-      //buffer.append(" properties=").append(getProperties());
-      //buffer.append(" descriptions=").append(descriptions.values());
       buffer.append(']');
       return buffer.toString();
    }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/JCA16MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/JCA16MetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/JCA16MetaData.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.rar.spec;
+
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * Connector meta data
+ *
+ * @author Jeff Zhang
+ * @version $Revision:  $
+ */
+ at XmlRootElement(name="connector", namespace=JavaEEMetaDataConstants.J2EE_NS)
+ at JBossXmlSchema(
+      xmlns={@XmlNs(namespaceURI = JavaEEMetaDataConstants.J2EE_NS, prefix = "jee")},
+      ignoreUnresolvedFieldOrClass=false,
+      namespace=JavaEEMetaDataConstants.J2EE_NS,
+      elementFormDefault=XmlNsForm.QUALIFIED,
+      normalizeSpace=true)
+public class JCA16MetaData extends Connector16MetaData
+{
+   private static final long serialVersionUID = 1;
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/spec/JCA16MetaData.java
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date

Added: projects/metadata/trunk/src/main/resources/schema/connector_1_6.xsd
===================================================================
--- projects/metadata/trunk/src/main/resources/schema/connector_1_6.xsd	                        (rev 0)
+++ projects/metadata/trunk/src/main/resources/schema/connector_1_6.xsd	2008-12-11 22:07:15 UTC (rev 82234)
@@ -0,0 +1,1136 @@
+<?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="1.6">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)connector_1_6.xsds	1.28 07/17/08
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+      Copyright 2003-2007 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 Connector 1.6 deployment
+	descriptor.  The deployment descriptor must be named
+	"META-INF/ra.xml" in the connector's rar file.  All Connector
+	deployment descriptors must indicate the connector resource
+	adapter schema by using the Java EE namespace:
+
+	http://java.sun.com/xml/ns/javaee
+
+	and by indicating the version of the schema by
+	using the version element as shown below:
+
+	    <connector 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/connector_1_6.xsd"
+	      version="1.6">
+	      ...
+	    </connector>
+
+	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/connector_1_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_5.xsd"/>
+
+
+<!-- **************************************************** -->
+
+
+  <xsd:element name="connector" type="javaee:connectorType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The connector element is the root element of the deployment
+	descriptor for the resource adapter. This element includes
+	general information - vendor name, resource adapter version,
+	icon - about the resource adapter module. It also includes
+	information specific to the implementation of the resource
+	adapter library as specified through the element
+	resourceadapter.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+  </xsd:element>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="activationspecType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The activationspecType specifies an activation
+	specification.  The information includes fully qualified
+	Java class name of an activation specification and a set of
+	required configuration property names.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="activationspec-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element activationspec-class specifies the fully
+	      qualified Java class name of the activation
+	      specification class. This class must implement the
+	      javax.resource.spi.ActivationSpec interface. The
+	      implementation of this class is required to be a
+	      JavaBean.
+
+	      Example:
+		  <activationspec-class>com.wombat.ActivationSpecImpl
+		  </activationspec-class>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="required-config-property"
+		   type="javaee:required-config-propertyType"
+		   minOccurs="0"
+		   maxOccurs="unbounded">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The required-config-property element is deprecated since
+	Connectors 1.6 specification. The resource adapter 
+	implementation is recommended to use the @NotNull
+	Bean Validation annotation or its XML validation
+	descriptor equivalent to indicate that a configuration
+	property is required to be specified by the deployer.
+	See the Connectors specification for more information. 
+
+      </xsd:documentation>
+    </xsd:annotation>
+		   
+	   </xsd:element>
+	
+      <xsd:element name="config-property"
+           type="javaee:config-propertyType"
+           minOccurs="0"
+           maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="adminobjectType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The adminobjectType specifies information about an
+	administered object.  Administered objects are specific to a
+	messaging style or message provider.  This contains
+	information on the Java type of the interface implemented by
+	an administered object, its Java class name and its
+	configuration properties.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="adminobject-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element adminobject-interface specifies the
+	      fully qualified name of the Java type of the
+	      interface implemented by an administered object.
+
+	      Example:
+		<adminobject-interface>javax.jms.Destination
+		</adminobject-interface>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+      <xsd:element name="adminobject-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element adminobject-class specifies the fully
+	      qualified Java class name of an administered object.
+
+	      Example:
+		  <adminobject-class>com.wombat.DestinationImpl
+		  </adminobject-class>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="config-property"
+		   type="javaee:config-propertyType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="authentication-mechanismType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The authentication-mechanismType specifies an authentication
+	mechanism supported by the resource adapter. Note that this
+	support is for the resource adapter and not for the
+	underlying EIS instance. The optional description specifies
+	any resource adapter specific requirement for the support of
+	security contract and authentication mechanism.
+
+	Note that BasicPassword mechanism type should support the
+	javax.resource.spi.security.PasswordCredential interface.
+	The Kerbv5 mechanism type should support the
+	org.ietf.jgss.GSSCredential interface or the deprecated
+	javax.resource.spi.security.GenericCredential interface.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="authentication-mechanism-type"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element authentication-mechanism-type specifies
+	      type of an authentication mechanism.
+
+	      The example values are:
+
+	      <authentication-mechanism-type>BasicPassword
+	      </authentication-mechanism-type>
+
+	      <authentication-mechanism-type>Kerbv5
+	      </authentication-mechanism-type>
+
+	      Any additional security mechanisms are outside the
+	      scope of the Connector architecture specification.
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+      <xsd:element name="credential-interface"
+		   type="javaee:credential-interfaceType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="config-property-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The config-property-nameType contains the name of a
+	  configuration property.
+
+	  The connector architecture defines a set of well-defined
+	  properties all of type java.lang.String. These are as
+	  follows.
+
+	       ServerName
+	       PortNumber
+	       UserName
+	       Password
+	       ConnectionURL
+
+	  A resource adapter provider can extend this property set to
+	  include properties specific to the resource adapter and its
+	  underlying EIS.
+
+	  Possible values include
+		  ServerName
+		  PortNumber
+		  UserName
+		  Password
+		  ConnectionURL
+
+	  Example: <config-property-name>ServerName</config-property-name>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:xsdStringType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="config-property-typeType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The config-property-typeType contains the fully
+	  qualified Java type of a configuration property.
+
+	  The following are the legal values:
+	     java.lang.Boolean, java.lang.String, java.lang.Integer,
+	     java.lang.Double, java.lang.Byte, java.lang.Short,
+	     java.lang.Long, java.lang.Float, java.lang.Character
+
+	  Used in: config-property
+
+	  Example:
+	  <config-property-type>java.lang.String</config-property-type>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="java.lang.Boolean"/>
+	<xsd:enumeration value="java.lang.String"/>
+	<xsd:enumeration value="java.lang.Integer"/>
+	<xsd:enumeration value="java.lang.Double"/>
+	<xsd:enumeration value="java.lang.Byte"/>
+	<xsd:enumeration value="java.lang.Short"/>
+	<xsd:enumeration value="java.lang.Long"/>
+	<xsd:enumeration value="java.lang.Float"/>
+	<xsd:enumeration value="java.lang.Character"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="config-propertyType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The config-propertyType contains a declaration of a single
+	configuration property that may be used for providing
+	configuration information.
+
+	The declaration consists of an optional description, name,
+	type and an optional value of the configuration property. If
+	the resource adapter provider does not specify a value than
+	the deployer is responsible for providing a valid value for
+	a configuration property.
+
+	Any bounds or well-defined values of properties should be
+	described in the description element.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="config-property-name"
+		   type="javaee:config-property-nameType"/>
+      <xsd:element name="config-property-type"
+		   type="javaee:config-property-typeType"/>
+      <xsd:element name="config-property-value"
+		   type="javaee:xsdStringType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element config-property-value contains the value
+	      of a configuration entry. Note, it is possible for a
+	      resource adapter deployer to override this
+	      configuration information during deployment.
+
+	      Example:
+	      <config-property-value>WombatServer</config-property-value>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      
+	<xsd:element name="config-property-ignore" type="javaee:true-falseType"
+		minOccurs="0" maxOccurs="1">
+		<xsd:annotation>
+			<xsd:documentation>
+	    <![CDATA[
+
+	      The element config-property-ignore is used to specify 
+	      whether the configuration tools must ignore considering the 
+	      configuration property during auto-discovery of
+	      Configuration properties. See the Connector specification for
+	      more details. If unspecified, the container must not ignore
+	      the configuration property during auto-discovery.
+	      This element must be one of the following, "true" or "false".
+	      
+	      ]]>
+	  </xsd:documentation>
+		</xsd:annotation>
+	</xsd:element>      
+    </xsd:sequence>
+    
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="connection-definitionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The connection-definitionType defines a set of connection
+	interfaces and classes pertaining to a particular connection
+	type. This also includes configurable properties for
+	ManagedConnectionFactory instances that may be produced out
+	of this set.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="managedconnectionfactory-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element managedconnectionfactory-class specifies
+	      the fully qualified name of the Java class that
+	      implements the
+	      javax.resource.spi.ManagedConnectionFactory interface.
+	      This Java class is provided as part of resource
+	      adapter's implementation of connector architecture
+	      specified contracts. The implementation of this
+	      class is required to be a JavaBean.
+
+	      Example:
+	      <managedconnectionfactory-class>
+		  com.wombat.ManagedConnectionFactoryImpl
+	      </managedconnectionfactory-class>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="config-property"
+		   type="javaee:config-propertyType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="connectionfactory-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element connectionfactory-interface specifies
+	      the fully qualified name of the ConnectionFactory
+	      interface supported by the resource adapter.
+
+	      Example:
+	      <connectionfactory-interface>com.wombat.ConnectionFactory
+	      </connectionfactory-interface>
+
+	      OR
+
+	      <connectionfactory-interface>javax.resource.cci.ConnectionFactory
+	      </connectionfactory-interface>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="connectionfactory-impl-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element connectionfactory-impl-class specifies
+	      the fully qualified name of the ConnectionFactory
+	      class that implements resource adapter
+	      specific ConnectionFactory interface.
+
+	      Example:
+
+	      <connectionfactory-impl-class>com.wombat.ConnectionFactoryImpl
+	      </connectionfactory-impl-class>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="connection-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The connection-interface element specifies the fully
+	      qualified name of the Connection interface supported
+	      by the resource adapter.
+
+	      Example:
+
+		  <connection-interface>javax.resource.cci.Connection
+		  </connection-interface>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="connection-impl-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The connection-impl-classType specifies the fully
+	      qualified name of the Connection class that
+	      implements resource adapter specific Connection
+	      interface.  It is used by the connection-impl-class
+	      elements.
+
+	      Example:
+
+		  <connection-impl-class>com.wombat.ConnectionImpl
+		  </connection-impl-class>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="connectorType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The connectorType defines a resource adapter.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="vendor-name"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element vendor-name specifies the name of
+	    resource adapter provider vendor.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="eis-type"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element eis-type contains information about the
+	    type of the EIS. For example, the type of an EIS can
+	    be product name of EIS independent of any version
+	    info.
+
+	    This helps in identifying EIS instances that can be
+	    used with this resource adapter.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="resourceadapter-version"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element resourceadapter-version specifies a string-based version
+	    of the resource adapter from the resource adapter
+	    provider.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+      <xsd:element name="license"
+		   type="javaee:licenseType"
+		   minOccurs="0"/>
+      <xsd:element name="resourceadapter"
+		   type="javaee:resourceadapterType"/>
+      <xsd:element name="required-work-context"
+           type="javaee:fully-qualified-classType"
+           minOccurs="0"
+           maxOccurs="unbounded">
+          <xsd:annotation>
+              <xsd:documentation>
+                The element required-work-contexts specifies a comma-separated list of
+                fully qualified class names that implements WorkContext interface
+                that a resource adapters requires the application server to support.
+              </xsd:documentation>
+          </xsd:annotation>
+     </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="version"
+		   type="javaee:dewey-versionType"
+		   fixed="1.6"
+		   use="required">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The version specifies the version of the
+	  connector architecture specification that is
+	  supported by this resource adapter. This information
+	  enables deployer to configure the resource adapter to
+	  support deployment and runtime requirements of the
+	  corresponding connector architecture specification.
+
+	</xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+	<xsd:attribute name="metadata-complete" type="xsd:boolean">
+		<xsd:annotation>
+			<xsd:documentation>
+      The metadata-complete attribute defines whether the deployment 
+      descriptor for the resource adapter module is complete, or whether
+      the class files available to the module and packaged with the resource 
+      adapter should be examined for annotations that specify deployment 
+      information.
+      
+      If metadata-complete is set to "true", the deployment tool of the 
+      application server 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 this specification. If the 
+      deployment descriptor is not included or is included but not marked 
+      metadata-complete, the deployment tool will process annotations.
+      
+      Application servers must assume that metadata-complete is true for 
+      resource adapter modules with deployment descriptor version 
+      lower than 1.6.
+			</xsd:documentation>
+		</xsd:annotation>
+	</xsd:attribute>
+    
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="credential-interfaceType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The credential-interfaceType specifies the
+	interface that the resource adapter implementation
+	supports for the representation of the
+	credentials. This element(s) that use this type,
+	i.e. credential-interface,  should be used by
+	application server to find out the Credential
+	interface it should use as part of the security
+	contract.
+
+	The possible values are:
+
+	javax.resource.spi.security.PasswordCredential
+	org.ietf.jgss.GSSCredential
+	javax.resource.spi.security.GenericCredential
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType">
+	<xsd:enumeration
+	     value="javax.resource.spi.security.PasswordCredential"/>
+	<xsd:enumeration
+	     value="org.ietf.jgss.GSSCredential"/>
+	<xsd:enumeration
+	     value="javax.resource.spi.security.GenericCredential"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="inbound-resourceadapterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The inbound-resourceadapterType specifies information
+	about an inbound resource adapter. This contains information
+	specific to the implementation of the resource adapter
+	library as specified through the messageadapter element.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="messageadapter"
+		   type="javaee:messageadapterType"
+		   minOccurs="0">
+	<xsd:unique name="messagelistener-type-uniqueness">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      The messagelistener-type element content must be
+	      unique in the messageadapter. Several messagelisteners
+	      can not use the same messagelistener-type.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:messagelistener"/>
+	  <xsd:field    xpath="javaee:messagelistener-type"/>
+	</xsd:unique>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="licenseType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The licenseType specifies licensing requirements for the
+	resource adapter module. This type specifies whether a
+	license is required to deploy and use this resource adapter,
+	and an optional description of the licensing terms
+	(examples: duration of license, number of connection
+	restrictions). It is used by the license element.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="license-required"
+		   type="javaee:true-falseType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element license-required specifies whether a
+	    license is required to deploy and use the
+	    resource adapter. This element must be one of
+	    the following, "true" or "false".
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="messageadapterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The messageadapterType specifies information about the
+	messaging capabilities of the resource adapter. This
+	contains information specific to the implementation of the
+	resource adapter library as specified through the
+	messagelistener element.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="messagelistener"
+		   type="javaee:messagelistenerType"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="messagelistenerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The messagelistenerType specifies information about a
+	specific message listener supported by the messaging
+	resource adapter. It contains information on the Java type
+	of the message listener interface and an activation
+	specification.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="messagelistener-type"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The element messagelistener-type specifies the fully
+	      qualified name of the Java type of a message
+	      listener interface.
+
+	      Example:
+
+		<messagelistener-type>javax.jms.MessageListener
+		</messagelistener-type>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+      <xsd:element name="activationspec"
+		   type="javaee:activationspecType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="outbound-resourceadapterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The outbound-resourceadapterType specifies information about
+	an outbound resource adapter. The information includes fully
+	qualified names of classes/interfaces required as part of
+	the connector architecture specified contracts for
+	connection management, level of transaction support
+	provided, one or more authentication mechanisms supported
+	and additional required security permissions.
+
+	If there is no authentication-mechanism specified as part of
+	resource adapter element then the resource adapter does not
+	support any standard security authentication mechanisms as
+	part of security contract. The application server ignores
+	the security part of the system contracts in this case.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="connection-definition"
+		   type="javaee:connection-definitionType"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="transaction-support"
+		   type="javaee:transaction-supportType"/>
+      <xsd:element name="authentication-mechanism"
+		   type="javaee:authentication-mechanismType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="reauthentication-support"
+		   type="javaee:true-falseType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element reauthentication-support specifies
+	    whether the resource adapter implementation supports
+	    re-authentication of existing Managed- Connection
+	    instance. Note that this information is for the
+	    resource adapter implementation and not for the
+	    underlying EIS instance. This element must have
+	    either a "true" or "false" value.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="required-config-propertyType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The required-config-propertyType contains a declaration
+	  of a single configuration property used for specifying a
+	  required configuration property name. It is used
+	  by required-config-property elements.
+	  
+	  Usage of this type is deprecated from Connectors 1.6 specification. 
+	  Refer to required-config-property element for more information.
+	  
+	  Example:
+
+	  <required-config-property>Destination</required-config-property>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="config-property-name"
+		   type="javaee:config-property-nameType"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="resourceadapterType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The resourceadapterType specifies information about the
+	resource adapter. The information includes fully qualified
+	resource adapter Java class name, configuration properties,
+	information specific to the implementation of the resource
+	adapter library as specified through the
+	outbound-resourceadapter and inbound-resourceadapter
+	elements, and an optional set of administered objects.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="resourceadapter-class"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element resourceadapter-class specifies the
+	    fully qualified name of a Java class that implements
+	    the javax.resource.spi.ResourceAdapter
+	    interface. This Java class is provided as part of
+	    resource adapter's implementation of connector
+	    architecture specified contracts. The implementation
+	    of this class is required to be a JavaBean.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+
+      </xsd:element>
+      <xsd:element name="config-property"
+		   type="javaee:config-propertyType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="outbound-resourceadapter"
+		   type="javaee:outbound-resourceadapterType"
+		   minOccurs="0">
+	<xsd:unique name="connectionfactory-interface-uniqueness">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      The connectionfactory-interface element content
+	      must be unique in the outbound-resourceadapter.
+	      Multiple connection-definitions can not use the
+	      same connectionfactory-type.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:connection-definition"/>
+	  <xsd:field    xpath="javaee:connectionfactory-interface"/>
+	</xsd:unique>
+      </xsd:element>
+      <xsd:element name="inbound-resourceadapter"
+		   type="javaee:inbound-resourceadapterType"
+		   minOccurs="0"/>
+      <xsd:element name="adminobject"
+		   type="javaee:adminobjectType"
+		   minOccurs="0"
+		   maxOccurs="unbounded">
+      <xsd:unique name="adminobject-type-uniqueness">
+           <xsd:annotation>
+                <xsd:documentation>
+                The adminobject-interface and adminobject-class element content must be
+                unique in the resourceadapterType. Several admin objects
+                can not use the same adminobject-interface and adminobject-class.
+                </xsd:documentation>
+           </xsd:annotation>
+           <xsd:selector xpath="javaee:adminobject"/>
+           <xsd:field    xpath="javaee:adminobject-interface"/>
+           <xsd:field    xpath="javaee:adminobject-class"/>
+      </xsd:unique>
+      </xsd:element>
+      <xsd:element name="security-permission"
+		   type="javaee:security-permissionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="security-permissionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The security-permissionType specifies a security
+	permission that is required by the resource adapter code.
+
+	The security permission listed in the deployment descriptor
+	are ones that are different from those required by the
+	default permission set as specified in the connector
+	specification. The optional description can mention specific
+	reason that resource adapter requires a given security
+	permission.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="security-permission-spec"
+		   type="javaee:xsdStringType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The element security-permission-spec specifies a security
+	    permission based on the Security policy file
+	    syntax. Refer to the following URL for Sun's
+	    implementation of the security permission
+	    specification:
+
+	    http://java.sun.com/products/jdk/1.4/docs/guide/security/PolicyFiles.html#FileSyntax
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="transaction-supportType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The transaction-supportType specifies the level of
+	transaction support provided by the resource adapter. It is
+	used by transaction-support elements.
+
+	The value must be one of the following:
+
+	    NoTransaction
+	    LocalTransaction
+	    XATransaction
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+	<xsd:enumeration value="NoTransaction"/>
+	<xsd:enumeration value="LocalTransaction"/>
+	<xsd:enumeration value="XATransaction"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+</xsd:schema>
+

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/RA16EverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/RA16EverythingUnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/RA16EverythingUnitTestCase.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -0,0 +1,136 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, JBoss Inc., 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.rar;
+
+import java.util.List;
+
+import org.jboss.metadata.rar.spec.AdminObjectMetaData;
+import org.jboss.metadata.rar.spec.ConnectionDefinitionMetaData;
+import org.jboss.metadata.rar.spec.Connector16MetaData;
+import org.jboss.metadata.rar.spec.InboundRaMetaData;
+import org.jboss.metadata.rar.spec.JCA16MetaData;
+import org.jboss.metadata.rar.spec.MessageListenerMetaData;
+import org.jboss.metadata.rar.spec.OutboundRaMetaData;
+import org.jboss.metadata.rar.spec.ResourceAdapterMetaData;
+import org.jboss.metadata.rar.spec.TransactionSupportMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+/**
+ * Test ResourceAdapter ra.xml metadata.
+ *
+ * @author Jeff Zhang
+ * @version $Revision:$
+ */
+public class RA16EverythingUnitTestCase extends AbstractJavaEEEverythingTest {
+
+   public static SchemaBindingResolver initResolver()
+   {
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      resolver.addClassBindingForLocation("connector_1_6.xsd", JCA16MetaData.class);
+      return resolver;
+   }
+
+   public RA16EverythingUnitTestCase(String name) {
+      super(name);
+   }
+   
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      enableTrace("org.jboss.xb");
+   }
+
+   public void testEverything() throws Exception
+   {
+      Connector16MetaData connector = unmarshal();
+      assertNotNull(connector);
+      assertEverything(connector);
+   }
+   
+   protected Connector16MetaData unmarshal() throws Exception
+   {
+      return unmarshal(Connector16MetaData.class);
+   }
+   
+   protected void assertEverything(Connector16MetaData connector) throws Exception
+   {
+      assertDescriptionGroup("connector", connector.getDescriptionGroup());
+      assertGeneralInfo(connector);
+      assertRA(connector.getRa());
+   }
+
+   private void assertGeneralInfo(Connector16MetaData connector) 
+   {
+      assertNotNull(connector.getVendorName());
+      assertNotNull(connector.getEISType());
+      assertEquals(connector.getRAVersion(), "6.0");
+      assertNotNull(connector.getLicense());
+      assertTrue(connector.getLicense().getRequired());
+      assertTrue(connector.isMetadataComplete());
+   }
+
+   private void assertRA(ResourceAdapterMetaData ra) {
+      assertNotNull(ra.getRaClass());
+      assertNotNull(ra.getConfigProperty());
+      assertEquals(ra.getConfigProperty().size(), 1);
+      assertEquals(ra.getConfigProperty().get(0).getValue(), "DEBUG");
+      assertOutboundAdapter(ra.getOutboundRa());
+      assertInoundAdapter(ra.getInboundRa());
+      assertAdminObject(ra.getAdminObjects());
+      assertNotNull(ra.getSecurityPermissions());
+      assertEquals(ra.getSecurityPermissions().get(0).getSecurityPermissionSpec(), "sa");
+   }
+   
+   private void assertOutboundAdapter(OutboundRaMetaData outboundRa) {
+      assertNotNull(outboundRa.getConDefs());
+      ConnectionDefinitionMetaData conDef = outboundRa.getConDefs().get(0);
+      assertTrue(conDef.getManagedConnectionFactoryClass().endsWith("JmsManagedConnectionFactory"));
+      assertEquals(conDef.getConfigProps().size(), 7);
+      assertTrue(conDef.getConnectionFactoryInterfaceClass().endsWith("JmsConnectionFactory"));
+      assertTrue(conDef.getConnectionFactoryImplementationClass().endsWith("JmsConnectionFactoryImpl"));
+      assertTrue(conDef.getConnectionInterfaceClass().endsWith("Session"));
+      assertTrue(conDef.getConnectionImplementationClass().endsWith("JmsSession"));
+      assertEquals(outboundRa.getTransSupport(), TransactionSupportMetaData.XATransaction);
+      assertNotNull(outboundRa.getAuthMechanisms());
+      assertFalse(outboundRa.isReAuthSupport());
+
+   }
+
+   private void assertInoundAdapter(InboundRaMetaData inboundRa) {
+      assertNotNull(inboundRa.getMessageAdapter());
+      assertNotNull(inboundRa.getMessageAdapter().getMessageListeners());
+      MessageListenerMetaData msgListener = inboundRa.getMessageAdapter().getMessageListeners().get(0);
+      assertNotNull(msgListener);
+      assertTrue(msgListener.getType().endsWith("MessageListener"));
+      assertTrue(msgListener.getActivationSpecType().getAsClass().endsWith("JmsActivationSpec"));
+      assertNotNull(msgListener.getActivationSpecType().getRequiredConfigProps());
+      assertFalse(msgListener.getActivationSpecType().getRequiredConfigProps().isEmpty());
+   }
+
+   private void assertAdminObject(List<AdminObjectMetaData> adminObjects) {
+      assertEquals(adminObjects.size(), 1);
+      assertTrue(adminObjects.get(0).getAdminObjectInterfaceClass().endsWith("TestInterface"));
+      
+   }
+
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/RA16EverythingUnitTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/xml/XmlValidationUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/xml/XmlValidationUnitTestCase.java	2008-12-11 17:24:13 UTC (rev 82233)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/xml/XmlValidationUnitTestCase.java	2008-12-11 22:07:15 UTC (rev 82234)
@@ -103,8 +103,8 @@
          }
       });
    
-      // TODO there are currently 30 expected
-      assertEquals("Zero invalid files among total of " + total, 30, invalid);
+      // TODO there are currently 31 expected
+      assertEquals("Zero invalid files among total of " + total, 31, invalid);
    }
    
    private static boolean validate(File xmlFile) throws SAXException

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/RA16Everything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/RA16Everything_testEverything.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/RA16Everything_testEverything.xml	2008-12-11 22:07:15 UTC (rev 82234)
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<connector xmlns="http://java.sun.com/xml/ns/j2ee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+           http://java.sun.com/xml/ns/j2ee/connector_1_6.xsd"
+           version="1.6" metadata-complete="true">
+
+
+   <!-- description group -->
+   <description>en-connector-desc</description>
+   <description xml:lang="fr">fr-connector-desc</description>
+   <description xml:lang="de">de-connector-desc</description>
+   <display-name>en-connector-disp</display-name>
+   <display-name xml:lang="fr">fr-connector-disp</display-name>
+   <display-name xml:lang="de">de-connector-disp</display-name>
+   <icon id="en-connector-icon-id">
+      <small-icon>en-connector-small-icon</small-icon>
+      <large-icon>en-connector-large-icon</large-icon>
+   </icon>
+   <icon xml:lang="fr" id="fr-connector-icon-id">
+      <small-icon>fr-connector-small-icon</small-icon>
+      <large-icon>fr-connector-large-icon</large-icon>
+   </icon>
+   <icon xml:lang="de" id="de-connector-icon-id">
+      <small-icon>de-connector-small-icon</small-icon>
+      <large-icon>de-connector-large-icon</large-icon>
+   </icon>
+
+   <vendor-name>Red Hat Middleware LLC</vendor-name>
+   <eis-type>JMS 1.1 Server</eis-type>
+   <resourceadapter-version>6.0</resourceadapter-version>
+
+   <license>
+      <description>
+ JBoss, Home of Professional Open Source.
+ Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ as indicated by the @author tags. See the copyright.txt file 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.
+      </description>
+      <license-required>true</license-required>
+   </license>
+
+   <resourceadapter>
+      <resourceadapter-class>org.jboss.resource.adapter.jms.JmsResourceAdapter</resourceadapter-class>
+
+      <config-property>
+         <description>Log level</description>
+         <config-property-name>logLevel</config-property-name>
+         <config-property-type>java.lang.String</config-property-type>
+         <config-property-value>DEBUG</config-property-value>
+      </config-property>
+      
+      <outbound-resourceadapter>
+         <connection-definition>
+            <managedconnectionfactory-class>org.jboss.resource.adapter.jms.JmsManagedConnectionFactory</managedconnectionfactory-class>
+            <config-property>
+              <description>The jndi name of the provider of connection factories</description>
+              <config-property-name>JmsProviderAdapterJNDI</config-property-name>
+              <config-property-type>java.lang.String</config-property-type>
+              <config-property-value>java:DefaultJMSProvider</config-property-value>
+            </config-property>
+            <config-property>
+               <description>The default session type</description>
+               <config-property-name>SessionDefaultType</config-property-name>
+               <config-property-type>java.lang.String</config-property-type>
+               <config-property-value>javax.jms.Topic</config-property-value>
+            </config-property>
+            <config-property>
+              <description>The user name used to login to the jms server</description>
+              <config-property-name>UserName</config-property-name>
+              <config-property-type>java.lang.String</config-property-type>
+              <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+              <description>The password used to login to the jms server</description>
+              <config-property-name>Password</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+              <description>The client id for this connection factory</description>
+              <config-property-name>ClientID</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value></config-property-value>
+            </config-property>
+            <config-property>
+              <config-property-name>Strict</config-property-name>
+               <config-property-type>java.lang.Boolean</config-property-type>
+               <config-property-value>true</config-property-value>
+            </config-property>
+            <config-property>
+               <description>Maximum wait for a lock</description>
+               <config-property-name>UseTryLock</config-property-name>
+               <config-property-type>java.lang.Integer</config-property-type>
+            </config-property>
+            <connectionfactory-interface>org.jboss.resource.adapter.jms.JmsConnectionFactory</connectionfactory-interface>
+            <connectionfactory-impl-class>org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl</connectionfactory-impl-class>
+            <connection-interface>javax.jms.Session</connection-interface>
+            <connection-impl-class>org.jboss.resource.adapter.jms.JmsSession</connection-impl-class>
+         </connection-definition>
+         <transaction-support>XATransaction</transaction-support>
+         <authentication-mechanism>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+         </authentication-mechanism>
+         <reauthentication-support>false</reauthentication-support>
+      </outbound-resourceadapter>
+
+      <inbound-resourceadapter>
+         <messageadapter>        
+            <messagelistener>
+               <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
+               <activationspec>
+                  <activationspec-class>org.jboss.resource.adapter.jms.inflow.JmsActivationSpec</activationspec-class>
+                  <required-config-property>
+                      <config-property-name>destination</config-property-name>
+                  </required-config-property>
+               </activationspec>
+            </messagelistener>
+         </messageadapter>
+      </inbound-resourceadapter>
+      
+      <adminobject>
+         <adminobject-interface>org.jboss.test.jca.adminobject.TestInterface</adminobject-interface>
+         <adminobject-class>org.jboss.test.jca.adminobject.TestImplementation</adminobject-class>
+         <config-property>
+            <config-property-name>StringProperty</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+         </config-property>
+         <config-property>
+            <config-property-name>IntegerProperty</config-property-name>
+            <config-property-type>java.lang.Integer</config-property-type>
+         </config-property>
+      </adminobject>
+      <security-permission>
+         <description></description>
+         <security-permission-spec>sa</security-permission-spec>
+      </security-permission>
+   </resourceadapter>
+</connector>
\ No newline at end of file


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/RA16Everything_testEverything.xml
___________________________________________________________________
Name: svn:keywords
   + Id Reversion Date




More information about the jboss-cvs-commits mailing list