[jboss-cvs] JBossAS SVN: r62789 - in trunk/server/src/main/org/jboss/metadata: web and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 3 13:40:31 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-05-03 13:40:31 -0400 (Thu, 03 May 2007)
New Revision: 62789

Modified:
   trunk/server/src/main/org/jboss/metadata/WebMetaData.java
   trunk/server/src/main/org/jboss/metadata/web/WebMetaDataObjectFactory.java
Log:
JBCTS-594, add major/minor version info to WebMetaData

Modified: trunk/server/src/main/org/jboss/metadata/WebMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2007-05-03 17:31:34 UTC (rev 62788)
+++ trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2007-05-03 17:40:31 UTC (rev 62789)
@@ -73,6 +73,11 @@
    private static final long serialVersionUID = 1;
    private static Logger log = Logger.getLogger(WebMetaData.class);
 
+   /** web.xml major version */
+   private int webMajorVersion;
+   /** web.xml minor version */
+   private int webMinorVersion;
+
    /** web-app/description */
    private String description;
    /** web-app/display-name */
@@ -224,6 +229,26 @@
    /** The ClassLoader to load additional resources */
    private URLClassLoader resourceCl;
 
+   public int getWebMajorVersion()
+   {
+      return webMajorVersion;
+   }
+
+   public void setWebMajorVersion(int webMajorVersion)
+   {
+      this.webMajorVersion = webMajorVersion;
+   }
+
+   public int getWebMinorVersion()
+   {
+      return webMinorVersion;
+   }
+
+   public void setWebMinorVersion(int webMinorVersion)
+   {
+      this.webMinorVersion = webMinorVersion;
+   }
+
    public void gotJspConfig()
    {
       if (gotJspConfig)

Modified: trunk/server/src/main/org/jboss/metadata/web/WebMetaDataObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/web/WebMetaDataObjectFactory.java	2007-05-03 17:31:34 UTC (rev 62788)
+++ trunk/server/src/main/org/jboss/metadata/web/WebMetaDataObjectFactory.java	2007-05-03 17:40:31 UTC (rev 62789)
@@ -58,7 +58,30 @@
 
    /** The current WebMetaData being parsed */
    private static final ThreadLocal<WebMetaData> activeMetaData = new ThreadLocal<WebMetaData>();
+   private int webMajorVersion = -1;
+   private int webMinorVersion = -1;
 
+   /**
+    * Called for descriptors with DTDs
+    * @param name
+    * @param publicId
+    * @param systemId
+    */
+   public void startDTD(String name, String publicId, String systemId)
+   {
+      // Check for a known public Id
+      if (publicId.startsWith("-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"))
+      {
+         webMajorVersion = 2;
+         webMinorVersion = 2;
+      }
+      else if (publicId.startsWith("-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"))
+      {
+         webMajorVersion = 2;
+         webMinorVersion = 3;
+      }
+   }
+
    public WebMetaData newRoot(Object root, UnmarshallingContext navigator,
          String namespaceURI, String localName, Attributes attrs)
    {
@@ -68,6 +91,22 @@
       else
          metaData = new WebMetaData();
       activeMetaData.set(metaData);
+      String version = attrs.getValue(namespaceURI, "version");
+      // Wolf: somehow the namespace doesn't work
+      if(version == null)
+         version = attrs.getValue("", "version");
+      if(version != null)
+      {
+         String[] info = version.split("\\.");
+         if( info.length > 0 )
+            webMajorVersion = Integer.parseInt(info[0]);
+         if( info.length > 1 )
+            webMinorVersion = Integer.parseInt(info[1]);
+      }
+
+      metaData.setWebMajorVersion(webMajorVersion);
+      metaData.setWebMinorVersion(webMinorVersion);
+
       return metaData;
    }
 




More information about the jboss-cvs-commits mailing list