Improve DocBook support.
[gpl/argeo-suite.git] / publishing / org.argeo.publishing.ui / src / org / argeo / docbook / ui / DbkUtils.java
index b53c30552044bf8f084b3c143f8e5a5ebad53ba8..ee675d26e5aa77428f63ee774aafca7bab3d0530 100644 (file)
@@ -1,7 +1,10 @@
 package org.argeo.docbook.ui;
 
 import javax.jcr.Node;
+import javax.jcr.RepositoryException;
 
+import org.argeo.jcr.JcrException;
+import org.argeo.jcr.JcrUtils;
 import org.argeo.jcr.JcrxApi;
 
 /** Utilities around DocBook. */
@@ -10,6 +13,25 @@ public class DbkUtils {
                return JcrxApi.getXmlValue(node, DocBookTypes.TITLE);
        }
 
+       public static void setTitle(Node node, String txt) {
+               try {
+                       Node titleNode = JcrUtils.getOrAdd(node, DocBookTypes.TITLE, DocBookTypes.TITLE);
+                       JcrxApi.setXmlValue(node, titleNode, txt);
+               } catch (RepositoryException e) {
+                       throw new JcrException("Cannot add empty paragraph to " + node, e);
+               }
+       }
+
+       public static Node addParagraph(Node node, String txt) {
+               try {
+                       Node para = node.addNode(DocBookTypes.PARA, DocBookTypes.PARA);
+                       JcrxApi.setXmlValue(node, para, txt);
+                       return para;
+               } catch (RepositoryException e) {
+                       throw new JcrException("Cannot add empty paragraph to " + node, e);
+               }
+       }
+
        /** Singleton. */
        private DbkUtils() {
        }