[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