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 javax.jcr.ImportUUIDBehavior;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
public static Node insertImageAfter(Node sibling) {
try {
- // FIXME make it more robust
- if (DbkType.imagedata.get().equals(sibling.getName())) {
- sibling = sibling.getParent().getParent();
- }
-
Node parent = sibling.getParent();
Node mediaNode = addDbk(parent, DbkType.mediaobject);
// TODO optimise?
// // TODO make it more robust and generic
// String fileRef = mediaNode.getName();
// imageDataNode.setProperty(DocBookNames.DBK_FILEREF, fileRef);
- return imageDataNode;
+ return mediaNode;
} catch (RepositoryException e) {
throw new JcrException("Cannot insert empty image after " + sibling, e);
}
}
}
+ 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() {
}