[jboss-cvs] JBossAS SVN: r66104 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/web/jboss and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 12 18:35:52 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-12 18:35:51 -0400 (Fri, 12 Oct 2007)
New Revision: 66104

Added:
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion30.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion32.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion40.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion42.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion50.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
Log:
Add missing dtd callback setter and jboss.xml root without a namespace for legacy dtds

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2007-10-12 22:30:49 UTC (rev 66103)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2007-10-12 22:35:51 UTC (rev 66104)
@@ -45,6 +45,9 @@
    /** The log */
    private static final Logger log = Logger.getLogger(JBossMetaData.class);
 
+   /** DTD information */
+   private String dtdPublicId;
+   private String dtdSystemId;
    /** The version */
    private String version;
 
@@ -102,6 +105,48 @@
    }
 
    /**
+    * Callback for the DTD information
+    * @param root
+    * @param publicId
+    * @param systemId
+    */
+   @XmlTransient
+   public void setDTD(String root, String publicId, String systemId)
+   {
+      this.dtdPublicId = publicId;
+      this.dtdSystemId = systemId;
+      // Set the version based on the public id
+      if (dtdPublicId != null && dtdPublicId.contains("3.0"))
+         setVersion("3.0");
+      if (dtdPublicId != null && dtdPublicId.contains("3.2"))
+         setVersion("3.2");
+      if (dtdPublicId != null && dtdPublicId.contains("4.0"))
+         setVersion("4.0");
+      if (dtdPublicId != null && dtdPublicId.contains("4.2"))
+         setVersion("4.2");
+      if (dtdPublicId != null && dtdPublicId.contains("5.0"))
+         setVersion("5.0");
+   }
+   /**
+    * Get the DTD public id if one was seen
+    * @return the value of the web.xml dtd public id
+    */
+   @XmlTransient
+   public String getDtdPublicId()
+   {
+      return dtdPublicId;
+   }
+   /**
+    * Get the DTD system id if one was seen
+    * @return the value of the web.xml dtd system id
+    */
+   @XmlTransient
+   public String getDtdSystemId()
+   {
+      return dtdSystemId;
+   }
+
+   /**
     * Get the jboss.xml version.
     * 
     * @return the version.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2007-10-12 22:30:49 UTC (rev 66103)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2007-10-12 22:35:51 UTC (rev 66104)
@@ -74,6 +74,10 @@
 {
    private static final long serialVersionUID = 1;
 
+   /** DTD information */
+   private String dtdPublicId;
+   private String dtdSystemId;
+   private String version;
    private String contextRoot;
    private String alternativeDD;
    private String securityDomain;
@@ -103,7 +107,7 @@
    private String configName;
    /** The optional JBossWS config-file */
    private String configFile;
-   private String publicID;
+
    /** The web context class loader used to create the java:comp context */
    @Deprecated
    private transient ClassLoader encLoader;
@@ -153,6 +157,57 @@
    public static final int SESSION_COOKIES_ENABLED = 1;
    public static final int SESSION_COOKIES_DISABLED = 2;
 
+   /**
+    * Callback for the DTD information
+    * @param root
+    * @param publicId
+    * @param systemId
+    */
+   @XmlTransient
+   public void setDTD(String root, String publicId, String systemId)
+   {
+      this.dtdPublicId = publicId;
+      this.dtdSystemId = systemId;
+      // Set the version based on the public id
+      if (dtdPublicId != null && dtdPublicId.contains("3.0"))
+         setVersion("3.0");
+      if (dtdPublicId != null && dtdPublicId.contains("3.2"))
+         setVersion("3.2");
+      if (dtdPublicId != null && dtdPublicId.contains("4.0"))
+         setVersion("4.0");
+      if (dtdPublicId != null && dtdPublicId.contains("4.2"))
+         setVersion("4.2");
+      if (dtdPublicId != null && dtdPublicId.contains("5.0"))
+         setVersion("5.0");
+   }
+   /**
+    * Get the DTD public id if one was seen
+    * @return the value of the web.xml dtd public id
+    */
+   @XmlTransient
+   public String getDtdPublicId()
+   {
+      return dtdPublicId;
+   }
+   /**
+    * Get the DTD system id if one was seen
+    * @return the value of the web.xml dtd system id
+    */
+   @XmlTransient
+   public String getDtdSystemId()
+   {
+      return dtdSystemId;
+   }
+
+   public String getVersion()
+   {
+      return version;
+   }
+   public void setVersion(String version)
+   {
+      this.version = version;
+   }
+
    public String getAlternativeDD()
    {
       return alternativeDD;
@@ -256,14 +311,11 @@
    {
       this.jaccContextID = jaccContextID;
    }
+   @XmlTransient
    public String getPublicID()
    {
-      return publicID;
+      return this.getDtdPublicId();
    }
-   public void setPublicID(String publicID)
-   {
-      this.publicID = publicID;
-   }
    public String getSecurityDomain()
    {
       return securityDomain;

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-12 22:30:49 UTC (rev 66103)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-12 22:35:51 UTC (rev 66104)
@@ -23,11 +23,13 @@
 
 import junit.framework.Test;
 
+import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 
 /**
@@ -45,7 +47,14 @@
    
    public static SchemaBindingResolver initResolver()
    {
-      return schemaResolverForClass(JBoss50MetaData.class);
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      resolver.addClassBindingForLocation("jboss_3_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_3_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
+      return resolver;
    }
    
    public JBoss50UnitTestCase(String name)
@@ -73,4 +82,38 @@
       assertTrue(bean instanceof JBossSessionBeanMetaData);
       assertEquals("StatefulOverride", ((JBossSessionBeanMetaData) bean).getJndiName());
    }
+   /**
+    * Simple test of a jboss.xml with a 5.0 dtd doctype
+    * @throws Exception
+    */
+   public void testVersion50() throws Exception
+   {
+      JBossMetaData result = unmarshal();
+      assertEquals("5.0", result.getVersion());
+   }
+   /**
+    * Simple test of a jboss.xml with a 4.2 dtd doctype
+    * @throws Exception
+    */
+   public void testVersion42() throws Exception
+   {
+      JBossMetaData result = unmarshal();
+      assertEquals("4.2", result.getVersion());
+   }
+   public void testVersion40() throws Exception
+   {
+      JBossMetaData result = unmarshal();
+      assertEquals("4.0", result.getVersion());
+   }
+   public void testVersion32() throws Exception
+   {
+      JBossMetaData result = unmarshal();
+      assertEquals("3.2", result.getVersion());
+   }
+   public void testVersion30() throws Exception
+   {
+      JBossMetaData result = unmarshal();
+      assertEquals("3.0", result.getVersion());
+   }
+
 }

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion30.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion30.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion30.xml	2007-10-12 22:35:51 UTC (rev 66104)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+    "-//JBoss//DTD JBOSS 3.0//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">
+<jboss>
+    <enterprise-beans>
+        <session>
+            <ejb-name>StatefulOverrideBean</ejb-name>
+            <jndi-name>StatefulOverride</jndi-name>
+        </session>
+    </enterprise-beans>
+</jboss>


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

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion32.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion32.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion32.xml	2007-10-12 22:35:51 UTC (rev 66104)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+    "-//JBoss//DTD JBOSS 3.2//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
+<jboss>
+    <enterprise-beans>
+        <session>
+            <ejb-name>StatefulOverrideBean</ejb-name>
+            <jndi-name>StatefulOverride</jndi-name>
+        </session>
+    </enterprise-beans>
+</jboss>


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

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion40.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion40.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion40.xml	2007-10-12 22:35:51 UTC (rev 66104)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+    "-//JBoss//DTD JBOSS 4.0//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
+<jboss>
+    <enterprise-beans>
+        <session>
+            <ejb-name>StatefulOverrideBean</ejb-name>
+            <jndi-name>StatefulOverride</jndi-name>
+        </session>
+    </enterprise-beans>
+</jboss>


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

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion42.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion42.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion42.xml	2007-10-12 22:35:51 UTC (rev 66104)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+    "-//JBoss//DTD JBOSS 4.2//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
+<jboss>
+    <enterprise-beans>
+        <session>
+            <ejb-name>StatefulOverrideBean</ejb-name>
+            <jndi-name>StatefulOverride</jndi-name>
+        </session>
+    </enterprise-beans>
+</jboss>


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

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion50.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion50.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testVersion50.xml	2007-10-12 22:35:51 UTC (rev 66104)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+    "-//JBoss//DTD JBOSS 5.0//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd">
+<jboss>
+    <enterprise-beans>
+        <session>
+            <ejb-name>StatefulOverrideBean</ejb-name>
+            <jndi-name>StatefulOverride</jndi-name>
+        </session>
+    </enterprise-beans>
+</jboss>


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




More information about the jboss-cvs-commits mailing list