[jboss-svn-commits] JBoss Common SVN: r2109 - jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 5 08:01:57 EDT 2006


Author: adrian at jboss.org
Date: 2006-10-05 08:01:55 -0400 (Thu, 05 Oct 2006)
New Revision: 2109

Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/XsdBinder.java
Log:
Expose the schema's namespaces.

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2006-10-05 12:01:33 UTC (rev 2108)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2006-10-05 12:01:55 UTC (rev 2109)
@@ -25,6 +25,8 @@
 import java.util.HashMap;
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.Set;
+
 import javax.xml.namespace.QName;
 
 import org.jboss.xb.binding.Constants;
@@ -116,6 +118,8 @@
       SIMPLE_TYPES.put(type.getQName(), type);
    }
 
+   /** The namespaces Set<String> */
+   private Set namespaces = Collections.emptySet();
    /** Map<QName, TypeBinding> for simple/complex types */
    private Map types = new HashMap(SIMPLE_TYPES);
    /** Map<QName, ParticleBinding> for */
@@ -144,6 +148,29 @@
    /** default XOP marshaller */
    private XOPMarshaller xopMarshaller;
 
+   /**
+    * Get the namespaces.
+    * 
+    * @return the namespaces.
+    */
+   public Set getNamespaces()
+   {
+      return namespaces;
+   }
+
+   /**
+    * Set the namespaces.
+    * 
+    * @param namespaces the namespaces.
+    * @throws IllegalArgumentException for null spaces
+    */
+   public void setNamespaces(Set namespaces)
+   {
+      if (namespaces == null)
+         throw new IllegalArgumentException("Null namespaces");
+      this.namespaces = namespaces;
+   }
+
    public TypeBinding getType(QName qName)
    {
       return (TypeBinding)types.get(qName);

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/XsdBinder.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/XsdBinder.java	2006-10-05 12:01:33 UTC (rev 2108)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/XsdBinder.java	2006-10-05 12:01:55 UTC (rev 2109)
@@ -25,10 +25,12 @@
 import java.io.Reader;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.ListIterator;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Set;
 
 import javax.xml.namespace.QName;
 
@@ -277,6 +279,12 @@
          }
       }
 
+      StringList namespaceList = model.getNamespaces();
+      Set namespaces = new LinkedHashSet(namespaceList.getLength());
+      for (int i = 0; i < namespaceList.getLength(); ++i)
+         namespaces.add(namespaceList.item(i));
+      schema.setNamespaces(namespaces);
+      
       XSNamedMap groups = model.getComponents(XSConstants.MODEL_GROUP_DEFINITION);
       if (ctx.trace)
          log.trace("Model groups: " + groups.getLength());




More information about the jboss-svn-commits mailing list