Import DocBook XML.
[gpl/argeo-suite.git] / publishing / org.argeo.publishing.ui / src / org / argeo / docbook / DbkUtils.java
index 226df4b544786178fe21107741247b5c7cfd818b..6bcecb7b3e9fec2d3efa61161f8d94acffe57210 100644 (file)
@@ -3,10 +3,12 @@ package org.argeo.docbook;
 import static org.argeo.docbook.DbkType.para;
 
 import java.io.IOException;
 import static org.argeo.docbook.DbkType.para;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
 import java.io.OutputStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
+import javax.jcr.ImportUUIDBehavior;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
 import javax.jcr.RepositoryException;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
 import javax.jcr.RepositoryException;
@@ -151,6 +153,16 @@ public class DbkUtils {
                }
        }
 
                }
        }
 
+       public static void importXml(Node baseNode, InputStream in) throws IOException {
+               try {
+                       baseNode.getSession().importXML(baseNode.getPath(), in,
+                                       ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
+               } catch (RepositoryException e) {
+                       throw new JcrException("Cannot import XML to " + baseNode, e);
+               }
+
+       }
+
        /** Singleton. */
        private DbkUtils() {
        }
        /** Singleton. */
        private DbkUtils() {
        }