gianugo 2003/10/06 09:07:33
Modified: . status.xml
src/blocks/xmldb/java/org/apache/cocoon/transformation
XMLDBTransformer.java
Log:
Patch to XMLDBTransformer to generate a key on create if it is not provided
PR: 14485
Submitted by: Michael Homeijer <[EMAIL PROTECTED]>
Revision Changes Path
1.169 +4 -2 cocoon-2.1/status.xml
Index: status.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/status.xml,v
retrieving revision 1.168
retrieving revision 1.169
diff -u -r1.168 -r1.169
--- status.xml 3 Oct 2003 13:41:00 -0000 1.168
+++ status.xml 6 Oct 2003 16:07:33 -0000 1.169
@@ -191,7 +191,9 @@
<changes>
<release version="@version@" date="@date@">
-
+ <action dev="GR" type="add" fixes-bug="14845" due-to="Micheal Homeijer"
due-to-email="[EMAIL PROTECTED]">
+ Patch to XMLDBTransformer to generate a key on create if it is not
provided
+ </action>
<action dev="SW" type="add">
New JavaScriptBinding for Woody, which allows writing specific binding
strategies
with two JavaScript snippets (one for load, one for save).
1.7 +4 -3
cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/transformation/XMLDBTransformer.java
Index: XMLDBTransformer.java
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/blocks/xmldb/java/org/apache/cocoon/transformation/XMLDBTransformer.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLDBTransformer.java 9 Sep 2003 18:52:32 -0000 1.6
+++ XMLDBTransformer.java 6 Oct 2003 16:07:33 -0000 1.7
@@ -188,7 +188,7 @@
/** Operation. One of: create, delete, update. */
private String operation;
- /** Document ID. Can be null if update is performed on collection. */
+ /** Document ID. Can be null if update or insert is performed on
collection. */
private String key;
private StringWriter queryWriter;
@@ -344,7 +344,7 @@
}
this.key = a.getValue(XMLDB_QUERY_OID_ATTRIBUTE);
- if(!"update".equals(operation) && this.key == null) {
+ if("delete".equals(operation) && this.key == null) {
throw new SAXException("Object ID is missing in xmldb
element");
}
processing = true;
@@ -414,6 +414,7 @@
String message = null;
if("create".equals(operation)) {
try {
+ if (key == null) key = collection.createId();
Resource resource = collection.createResource(key,
"XMLResource");
resource.setContent(document);
collection.storeResource(resource);