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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 9 22:13:27 EDT 2008


Author: jeff.zhang
Date: 2008-10-09 22:13:27 -0400 (Thu, 09 Oct 2008)
New Revision: 79326

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/RaConfigPropertyMetaData.java
   projects/metadata/trunk/src/main/resources/schema/jboss-ra_1_0.xsd
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JbossRA10UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JbossRA10_testBasic.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/DependsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/JBossRAMetaData.java
Log:
[JBMETA-113] add JbossRA10UnitTestCase

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/DependsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/DependsMetaData.java	2008-10-10 01:41:07 UTC (rev 79325)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/DependsMetaData.java	2008-10-10 02:13:27 UTC (rev 79326)
@@ -28,6 +28,8 @@
  *
  * @author <a href="mailto:vicky.kak at jboss.com">Vicky Kak</a>
  */
+
+//TODO currently xsd doesn't support depends feature in jboss-ra.xml
 public class DependsMetaData implements Serializable
 {
    private static final long serialVersionUID = -4864068414581654366L;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/JBossRAMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/JBossRAMetaData.java	2008-10-10 01:41:07 UTC (rev 79325)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/JBossRAMetaData.java	2008-10-10 02:13:27 UTC (rev 79326)
@@ -23,30 +23,46 @@
 
 import java.util.List;
 
-import org.jboss.metadata.rar.spec.ConfigPropertyMetaDataContainer;
-import org.jboss.util.collection.CollectionsFactory;
+import javax.xml.bind.annotation.XmlElement;
+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.metadata.javaee.support.IdMetaDataImpl;
+
+import org.jboss.xb.annotations.JBossXmlSchema;
+
 /**
  * A JBossRAMetaData.
  * 
  * @author <a href="weston.price at jboss.com">Weston Price</a>
  * @author <a href="vicky.kak at jboss.com">Vicky Kak</a>
+ * @author Jeff Zhang
  * @version $Revision: 75672 $
  */
-public class JBossRAMetaData extends ConfigPropertyMetaDataContainer
+ at XmlRootElement(name="jboss-ra", namespace="http://www.jboss.org/schema/ra")
+ at JBossXmlSchema(
+      xmlns={@XmlNs(namespaceURI = "http://www.jboss.org/schema/ra", prefix = "ra")},
+      ignoreUnresolvedFieldOrClass=false,
+      namespace="http://www.jboss.org/schema/ra",
+      elementFormDefault=XmlNsForm.QUALIFIED,
+      normalizeSpace=true)
+public class JBossRAMetaData extends IdMetaDataImpl
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -8041048198795930659L;
    
-   private List<DependsMetaData> dependsNameList = CollectionsFactory.createLazyList();
-   
-   public void addDependsMetaData(DependsMetaData dmd)
-   {
-	   dependsNameList.add(dmd);
+   private List<RaConfigPropertyMetaData> raConfigProps;
+
+   @XmlElement(name="ra-config-property")
+   public void setRaConfigProps(List<RaConfigPropertyMetaData> raConfigProps) {
+      this.raConfigProps = raConfigProps;
    }
+
+   public List<RaConfigPropertyMetaData> getRaConfigProps() {
+      return raConfigProps;
+   }
    
-   public List<DependsMetaData> getDependsMetaData()
-   {
-	   return dependsNameList;
-   }   
+ 
 }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/RaConfigPropertyMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/RaConfigPropertyMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/RaConfigPropertyMetaData.java	2008-10-10 02:13:27 UTC (rev 79326)
@@ -0,0 +1,123 @@
+/*
+ * 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.
+ */
+package org.jboss.metadata.rar.jboss;
+
+import javax.xml.bind.annotation.XmlElement;
+
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
+
+/**
+ * Config property meta data
+ *
+ * @author Jeff Zhang
+ * @version $Revision:$
+ */
+public class RaConfigPropertyMetaData extends IdMetaDataImplWithDescriptionGroup
+{
+   private static final long serialVersionUID = -5247621229521854849L;
+
+   /** The name */
+   private String name;
+   
+   /** The type */
+   private String type = "java.lang.String";
+   
+   /** The value */
+   private String value = "";
+
+   /**
+    * Get the name
+    * 
+    * @return the name
+    */
+   public String getName()
+   {
+      return name;
+   }
+
+   /**
+    * Set the name
+    * 
+    * @param name the name
+    */
+   @XmlElement(name="ra-config-property-name")
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   /**
+    * Get the type
+    * 
+    * @return the type
+    */
+   public String getType()
+   {
+      return type;
+   }
+
+   /**
+    * Set the type
+    * 
+    * @param type the type
+    */
+   @XmlElement(name="ra-config-property-type")
+   public void setType(String type)
+   {
+      this.type = type;
+   }
+
+   /**
+    * Get the value
+    * 
+    * @return the value
+    */
+   public String getValue()
+   {
+      return value;
+   }
+
+   /**
+    * Set the value
+    * 
+    * @param value the value
+    */
+   @XmlElement(name="ra-config-property-value")
+   public void setValue(String value)
+   {
+      this.value = value;
+   }
+   
+   public String toString()
+   {
+      StringBuffer buffer = new StringBuffer();
+      buffer.append("RaConfigPropertyMetaData").append('@');
+      buffer.append(Integer.toHexString(System.identityHashCode(this)));
+      buffer.append("[name=").append(name);
+      if (type != null)
+         buffer.append(" type=").append(type);
+      if (value != null)
+         buffer.append(" value=").append(value);
+      buffer.append(']');
+      return buffer.toString();
+   }
+}

Added: projects/metadata/trunk/src/main/resources/schema/jboss-ra_1_0.xsd
===================================================================
--- projects/metadata/trunk/src/main/resources/schema/jboss-ra_1_0.xsd	                        (rev 0)
+++ projects/metadata/trunk/src/main/resources/schema/jboss-ra_1_0.xsd	2008-10-10 02:13:27 UTC (rev 79326)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://www.jboss.org/schema/ra"
+    xmlns:ra="http://www.jboss.org/schema/ra" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:j2ee="http://java.sun.com/xml/ns/j2ee/"
+    elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
+
+    <xsd:include schemaLocation="j2ee_1_4.xsd"/>
+    <xs:element name="jboss-ra" type="ra:jbossRaType">
+                              
+    </xs:element>
+    
+    <xs:complexType name="jbossRaType">           
+        
+        <xs:sequence>
+            <xs:element name="ra-config-property" type="ra:ra-config-property-type" minOccurs="0" maxOccurs="unbounded"/>  
+        </xs:sequence>
+        
+    </xs:complexType>
+    
+    <xs:complexType name="ra-config-property-type">
+
+        <xs:sequence>
+            <xs:element name="ra-config-property-name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="ra-config-property-type" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="ra-config-property-value" type="xs:string" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+
+</xs:schema>
\ No newline at end of file

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JbossRA10UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JbossRA10UnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JbossRA10UnitTestCase.java	2008-10-10 02:13:27 UTC (rev 79326)
@@ -0,0 +1,29 @@
+package org.jboss.test.metadata.rar;
+
+import org.jboss.metadata.rar.jboss.JBossRAMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+public class JbossRA10UnitTestCase extends AbstractJavaEEMetaDataTest
+{
+   public static SchemaBindingResolver initResolver()
+   {
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      resolver.addClassBindingForLocation("jboss-ra_1_0.xsd", JBossRAMetaData.class);
+      return resolver;
+   }
+
+   public JbossRA10UnitTestCase(String name) {
+      super(name);
+   }
+
+   public void testBasic() throws Exception
+   {
+      JBossRAMetaData jbossRA = unmarshal(JBossRAMetaData.class);
+      assertNotNull(jbossRA);
+      assertEquals(jbossRA.getRaConfigProps().size(), 9);
+      assertEquals(jbossRA.getRaConfigProps().get(0).getValue(), "XMLOVERRIDE");
+
+   }
+}

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JbossRA10_testBasic.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JbossRA10_testBasic.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JbossRA10_testBasic.xml	2008-10-10 02:13:27 UTC (rev 79326)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-ra xmlns="http://www.jboss.org/schema/ra"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.jboss.org/schema/ra
+           http://www.jboss.org/schema/jboss-ra_1_0.xsd">
+    <ra-config-property>
+        <ra-config-property-name>StringRAR</ra-config-property-name>
+        <ra-config-property-type>java.lang.String</ra-config-property-type>
+        <ra-config-property-value>XMLOVERRIDE</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>
+        BooleanRAR</ra-config-property-name>
+
+        <ra-config-property-type>java.lang.Boolean</ra-config-property-type>
+        <ra-config-property-value>False</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>ByteRAR
+        </ra-config-property-name>
+        <ra-config-property-type>java.lang.Byte</ra-config-property-type>
+        <ra-config-property-value>1</ra-config-property-value>
+
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>
+            CharacterRAR
+        </ra-config-property-name>
+        <ra-config-property-type>java.lang.Character</ra-config-property-type>
+        <ra-config-property-value>A</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+
+        <ra-config-property-name>ShortRAR</ra-config-property-name>
+        <ra-config-property-type>java.lang.Short</ra-config-property-type>
+        <ra-config-property-value>2</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>IntegerRAR</ra-config-property-name>
+        <ra-config-property-type>java.lang.Integer</ra-config-property-type>
+
+        <ra-config-property-value>3</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>LongRAR</ra-config-property-name>
+        <ra-config-property-type>java.lang.Long</ra-config-property-type>
+        <ra-config-property-value>4</ra-config-property-value>
+    </ra-config-property>
+
+    <ra-config-property>
+        <ra-config-property-name>FloatRAR</ra-config-property-name>
+        <ra-config-property-type>java.lang.Float</ra-config-property-type>
+        <ra-config-property-value>5e6</ra-config-property-value>
+    </ra-config-property>
+    <ra-config-property>
+        <ra-config-property-name>DoubleRAR</ra-config-property-name>
+
+        <ra-config-property-type>java.lang.Double</ra-config-property-type>
+        <ra-config-property-value>7e8</ra-config-property-value>
+    </ra-config-property>
+</jboss-ra>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list