You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by zi...@apache.org on 2003/11/02 21:21:48 UTC
cvs commit: xml-xmlbeans/v2/test/src/drt/drtcases MarshalTests.java
zieg 2003/11/02 12:21:48
Modified: v2/src/binding/org/apache/xmlbeans/impl/binding/bts
BindingTypeName.java
v2/src/common/org/apache/xmlbeans/impl/common
XmlStreamUtils.java
v2/src/marshal/org/apache/xmlbeans/impl/marshal
BindingContext.java BindingContextFactory.java
ByNameTypeVisitor.java MarshalResult.java
SimpleTypeVisitor.java UnmarshalContext.java
v2/test/src/drt/drtcases MarshalTests.java
Log:
cleanup mashal apis
Revision Changes Path
1.2 +9 -3 xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/BindingTypeName.java
Index: BindingTypeName.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/BindingTypeName.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BindingTypeName.java 28 Oct 2003 17:51:26 -0000 1.1
+++ BindingTypeName.java 2 Nov 2003 20:21:47 -0000 1.2
@@ -60,7 +60,7 @@
{
private final JavaName jName;
private final XmlName xName;
-
+
public static BindingTypeName forPair(JavaName jName, XmlName xName)
{
return new BindingTypeName(jName, xName);
@@ -81,13 +81,13 @@
{
return xName;
}
-
+
public boolean equals(Object o)
{
if (this == o) return true;
if (!(o instanceof BindingTypeName)) return false;
- final BindingTypeName bindingTypeName = (BindingTypeName) o;
+ final BindingTypeName bindingTypeName = (BindingTypeName)o;
if (!jName.equals(bindingTypeName.jName)) return false;
if (!xName.equals(bindingTypeName.xName)) return false;
@@ -102,4 +102,10 @@
result = 29 * result + xName.hashCode();
return result;
}
+
+ public String toString()
+ {
+ return "BindingTypeName[" + jName + ";" + xName + "]";
+ }
+
}
1.2 +1 -1 xml-xmlbeans/v2/src/common/org/apache/xmlbeans/impl/common/XmlStreamUtils.java
Index: XmlStreamUtils.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/common/org/apache/xmlbeans/impl/common/XmlStreamUtils.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XmlStreamUtils.java 16 Oct 2003 00:02:49 -0000 1.1
+++ XmlStreamUtils.java 2 Nov 2003 20:21:47 -0000 1.2
@@ -176,7 +176,7 @@
StringBuffer b)
{
if (uri != null && !("".equals(uri))) b.append("['" + uri + "']:");
- if (prefix != null) b.append(prefix + ":");
+ if (prefix != null && !("".equals(prefix))) b.append(prefix + ":");
if (localName != null) b.append(localName);
}
1.4 +6 -0 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContext.java
Index: BindingContext.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BindingContext.java 31 Oct 2003 22:23:25 -0000 1.3
+++ BindingContext.java 2 Nov 2003 20:21:47 -0000 1.4
@@ -93,6 +93,12 @@
return new UnmarshalContext(reader, bindingLoader, typeTable, errors);
}
+ //TODO: REVIEW: should error collection concept be exposed here?
+ public UnmarshalContext createUnmarshallContext(Collection errors)
+ {
+ return new UnmarshalContext(bindingLoader, typeTable, errors);
+ }
+
public Marshaller createMarshaller()
{
1.4 +11 -0 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContextFactory.java
Index: BindingContextFactory.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/BindingContextFactory.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- BindingContextFactory.java 28 Oct 2003 17:51:27 -0000 1.3
+++ BindingContextFactory.java 2 Nov 2003 20:21:47 -0000 1.4
@@ -77,6 +77,13 @@
public class BindingContextFactory
{
+ public static BindingContext createBindingContext()
+ {
+ BindingFile empty = new BindingFile();
+ return createBindingContext(empty);
+ }
+
+
public static BindingContext createBindingContext(InputStream bindingConfig)
throws IOException, XmlException
{
@@ -96,7 +103,11 @@
public static BindingContext createBindingContext(BindingConfigDocument doc)
{
BindingFile bf = BindingFile.forDoc(doc);
+ return createBindingContext(bf);
+ }
+ private static BindingContext createBindingContext(BindingFile bf)
+ {
BindingLoader bindingLoader = buildBindingLoader(bf);
RuntimeBindingTypeTable tbl = buildUnmarshallingTypeTable(bf, bindingLoader);
1.2 +2 -1 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/ByNameTypeVisitor.java
Index: ByNameTypeVisitor.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/ByNameTypeVisitor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ByNameTypeVisitor.java 31 Oct 2003 22:23:25 -0000 1.1
+++ ByNameTypeVisitor.java 2 Nov 2003 20:21:47 -0000 1.2
@@ -61,7 +61,8 @@
class ByNameTypeVisitor extends XmlTypeVisitor
{
- public ByNameTypeVisitor(RuntimeBindingProperty property, Object obj)
+ public ByNameTypeVisitor(RuntimeBindingProperty property, Object obj,
+ MarshalContext context)
{
super(obj);
}
1.2 +1 -1 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshalResult.java
Index: MarshalResult.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/MarshalResult.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MarshalResult.java 31 Oct 2003 22:23:25 -0000 1.1
+++ MarshalResult.java 2 Nov 2003 20:21:47 -0000 1.2
@@ -93,7 +93,7 @@
//TODO: cleanup instanceof
if (btype instanceof ByNameBean) {
- return new ByNameTypeVisitor(property, obj);
+ return new ByNameTypeVisitor(property, obj, context);
} else if (btype instanceof SimpleBindingType) {
return new SimpleTypeVisitor(property, obj, context);
} else if (btype instanceof BuiltinBindingType) {
1.2 +13 -6 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/SimpleTypeVisitor.java
Index: SimpleTypeVisitor.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/SimpleTypeVisitor.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleTypeVisitor.java 31 Oct 2003 22:23:26 -0000 1.1
+++ SimpleTypeVisitor.java 2 Nov 2003 20:21:47 -0000 1.2
@@ -72,8 +72,6 @@
super(obj);
this.property = property;
this.context = context;
-
-
}
protected void advance()
@@ -93,13 +91,22 @@
protected QName getName()
{
+ //TODO: optimize this method (and related)
final QName pname = property.getName();
+ final String uri = pname.getNamespaceURI();
- if (prefix == null) {
- prefix = context.ensurePrefix(pname.getNamespaceURI());
- }
+ assert uri != null; //QName's should use "" for no namespace
- return new QName(pname.getNamespaceURI(), pname.getLocalPart(), prefix);
+ if (uri.length() == 0) {
+ return new QName(pname.getLocalPart());
+ } else {
+
+ if (prefix == null) {
+ prefix = context.ensurePrefix(uri);
+ }
+
+ return new QName(uri, pname.getLocalPart(), prefix);
+ }
}
protected boolean isCharacters()
1.4 +17 -2 xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/UnmarshalContext.java
Index: UnmarshalContext.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/marshal/org/apache/xmlbeans/impl/marshal/UnmarshalContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- UnmarshalContext.java 31 Oct 2003 22:23:26 -0000 1.3
+++ UnmarshalContext.java 2 Nov 2003 20:21:47 -0000 1.4
@@ -78,7 +78,7 @@
*/
public final class UnmarshalContext
{
- private final XMLStreamReader baseReader;
+ private XMLStreamReader baseReader;
private final BindingLoader bindingLoader;
private final RuntimeBindingTypeTable typeTable;
private final Collection errors;
@@ -95,9 +95,24 @@
}
- XMLStreamReader getXmlStream()
+ UnmarshalContext(BindingLoader bindingLoader,
+ RuntimeBindingTypeTable typeTable,
+ Collection errors)
+ {
+ this.bindingLoader = bindingLoader;
+ this.errors = errors;
+ this.typeTable = typeTable;
+ }
+
+
+ public XMLStreamReader getXmlStream()
{
return baseReader;
+ }
+
+ public void setXmlStream(XMLStreamReader reader)
+ {
+ baseReader = reader;
}
RuntimeBindingTypeTable getTypeTable()
1.4 +40 -10 xml-xmlbeans/v2/test/src/drt/drtcases/MarshalTests.java
Index: MarshalTests.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/test/src/drt/drtcases/MarshalTests.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MarshalTests.java 31 Oct 2003 22:23:26 -0000 1.3
+++ MarshalTests.java 2 Nov 2003 20:21:47 -0000 1.4
@@ -102,7 +102,9 @@
bindingContext.createMarshallContext(namespaceContext, errors);
final XMLStreamReader reader =
- m.marshallType(orig, new QName("uri", "lname"),
+ m.marshallType(orig,
+// new QName("uri", "lname"),
+ new QName("lname"),
new QName("http://www.w3.org/2001/XMLSchema", xsd_type),
orig.getClass().getName(),
ctx);
@@ -114,17 +116,45 @@
final int state = reader.next();
System.out.println("next is " + state);
}
+ }
-
-// StringWriter sw = new StringWriter();
-// XMLStreamWriter xwriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
-// final ReaderToWriter rtow = new ReaderToWriter(xwriter);
-// rtow.write(reader);
-// xwriter.close();
-// sw.close();
//
-// System.out.println("OUTPUT=|" + sw.getBuffer() + "|");
- }
+// //only works for values where .toString() is equivalent to marshalling
+// public void __testByNameMarshal()
+// throws Exception
+// {
+// MyClass mc = new MyClass();
+// mc.setMyatt("attval");
+//
+// BindingFile bf = new BindingFile();
+// BindingConfigDocument bindingConfigDocument = bf.write();
+//
+// BindingContext bindingContext =
+// BindingContextFactory.createBindingContext(bindingConfigDocument);
+//
+// Marshaller m = bindingContext.createMarshaller();
+//
+// EmptyNamespaceContext namespaceContext = new EmptyNamespaceContext();
+// final ArrayList errors = new ArrayList();
+// MarshalContext ctx =
+// bindingContext.createMarshallContext(namespaceContext, errors);
+//
+// final XMLStreamReader reader =
+// m.marshallType(mc, new QName("uri", "lname"),
+// new QName("java:com.mytest", "MyClass"),
+// mc.getClass().getName(),
+// ctx);
+//
+//
+// System.out.println("==================OBJ: " + mc);
+// while (reader.hasNext()) {
+// System.out.println("STATE: " + XmlStreamUtils.printEvent(reader));
+// final int state = reader.next();
+// System.out.println("next is " + state);
+// }
+//
+//
+// }
public void testByNameBeanUnmarshal()
throws Exception
---------------------------------------------------------------------
To unsubscribe, e-mail: xmlbeans-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-cvs-help@xml.apache.org