vgritsenko 2003/08/08 06:19:43
Modified: java/src/org/apache/xindice/xml XMLSerializable.java
java/src/org/apache/xindice/server/rpc/messages
GetCollectionMeta.java GetDocumentMeta.java
SetCollectionMeta.java SetDocumentMeta.java
Log:
Document XMLSerializable contract: XMLSerializable does not appends
generated node to the doc in the toXML method. It uses provided doc
only as factory for nodes.
Update rpc messages according to this contract
Revision Changes Path
1.5 +7 -4
xml-xindice/java/src/org/apache/xindice/xml/XMLSerializable.java
Index: XMLSerializable.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/xml/XMLSerializable.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLSerializable.java 7 Aug 2003 20:13:25 -0000 1.4
+++ XMLSerializable.java 8 Aug 2003 13:19:43 -0000 1.5
@@ -74,7 +74,10 @@
public interface XMLSerializable {
/**
- * streamToXML streams an object to XML.
+ * streamToXML streams a Java object to the DOM node.
+ *
+ * Passed owner document is used to create nodes and should not
+ * be modified.
*
* @param doc The Owner Document
* @return A newly created Element
@@ -83,7 +86,7 @@
Element streamToXML(Document doc) throws DOMException;
/**
- * streamFromXML streams an object from XML.
+ * streamFromXML streams an object from the DOM node.
*
* @param element The Input Element
* @throws DOMException If an error occurs
1.5 +3 -3
xml-xindice/java/src/org/apache/xindice/server/rpc/messages/GetCollectionMeta.java
Index: GetCollectionMeta.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/server/rpc/messages/GetCollectionMeta.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GetCollectionMeta.java 7 Aug 2003 20:13:23 -0000 1.4
+++ GetCollectionMeta.java 8 Aug 2003 13:19:43 -0000 1.5
@@ -97,7 +97,7 @@
}
MetaData meta = col.getCollectionMeta();
Document doc = new DocumentImpl();
- meta.streamToXML(doc, true);
+ doc.appendChild(meta.streamToXML(doc, true));
result.put(RESULT, TextWriter.toString(doc));
return result;
1.5 +3 -3
xml-xindice/java/src/org/apache/xindice/server/rpc/messages/GetDocumentMeta.java
Index: GetDocumentMeta.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/server/rpc/messages/GetDocumentMeta.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GetDocumentMeta.java 7 Aug 2003 20:13:23 -0000 1.4
+++ GetDocumentMeta.java 8 Aug 2003 13:19:43 -0000 1.5
@@ -104,7 +104,7 @@
String docname = (String) message.get(NAME);
MetaData meta = col.getDocumentMeta(docname);
Document doc = new DocumentImpl();
- meta.streamToXML(doc, true);
+ doc.appendChild(meta.streamToXML(doc, true));
result.put(RESULT, TextWriter.toString(doc));
return result;
1.5 +10 -10
xml-xindice/java/src/org/apache/xindice/server/rpc/messages/SetCollectionMeta.java
Index: SetCollectionMeta.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/server/rpc/messages/SetCollectionMeta.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SetCollectionMeta.java 7 Aug 2003 20:13:23 -0000 1.4
+++ SetCollectionMeta.java 8 Aug 2003 13:19:43 -0000 1.5
@@ -107,18 +107,18 @@
// meta information is not enabled !
throw new Exception(MISSING_META_CONFIGURATION);
}
- String metaxml = (String) message.get(META);
- MetaData meta = new MetaData();
- Document doc = DOMParser.toDocument(metaxml);
+ // Read and store sent meta data
+ MetaData meta = new MetaData();
+ Document doc = DOMParser.toDocument((String) message.get(META));
meta.streamFromXML(doc.getDocumentElement());
col.setCollectionMeta(meta);
- MetaData ret_meta = col.getCollectionMeta();
- Document ret_doc = new DocumentImpl();
- ret_meta.streamToXML(ret_doc, true);
-
- result.put(RESULT, TextWriter.toString(ret_doc));
+ // Retreive stored meta data and sent back
+ meta = col.getCollectionMeta();
+ doc = new DocumentImpl();
+ doc.appendChild(meta.streamToXML(doc, true));
+ result.put(RESULT, TextWriter.toString(doc));
return result;
}
}
1.5 +10 -11
xml-xindice/java/src/org/apache/xindice/server/rpc/messages/SetDocumentMeta.java
Index: SetDocumentMeta.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/server/rpc/messages/SetDocumentMeta.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SetDocumentMeta.java 7 Aug 2003 20:13:23 -0000 1.4
+++ SetDocumentMeta.java 8 Aug 2003 13:19:43 -0000 1.5
@@ -111,19 +111,18 @@
// meta information is not enabled !
throw new Exception(MISSING_META_CONFIGURATION);
}
- String metaxml = (String) message.get(META);
- MetaData meta = new MetaData();
-
- Document doc = DOMParser.toDocument(metaxml);
+ // Read and store sent meta data
+ MetaData meta = new MetaData();
+ Document doc = DOMParser.toDocument((String) message.get(META));
meta.streamFromXML(doc.getDocumentElement());
col.setDocumentMeta(docname, meta);
- MetaData ret_meta = col.getDocumentMeta(docname);
- Document ret_doc = new DocumentImpl();
- ret_meta.streamToXML(ret_doc, true);
-
- result.put(RESULT, TextWriter.toString(ret_doc));
+ // Retreive stored meta data and sent back
+ meta = col.getDocumentMeta(docname);
+ doc = new DocumentImpl();
+ meta.streamToXML(doc, true);
+ result.put(RESULT, TextWriter.toString(doc));
return result;
}
}