- session = repository.login();
- JcrUtils.loginOrCreateWorkspace(repository, "demo");
- Node textNode = JcrUtils.getOrAdd(session.getRootNode(), "article", DocBookTypes.ARTICLE);
- if (textNode.isCheckedOut())
- textNode.addMixin(NodeType.MIX_TITLE);
+ // session = repository.login();
+ session = JcrUtils.loginOrCreateWorkspace(repository, "example");
+// Node textNode = JcrUtils.getOrAdd(session.getRootNode(), "article", DocBookTypes.ARTICLE);
+// if (textNode.isCheckedOut())
+// textNode.addMixin(NodeType.MIX_TITLE);
+
+ String textNodeName = "docbook";
+ if (session.getRootNode().hasNode(textNodeName))
+ session.getRootNode().getNode(textNodeName).remove();
+
+ Node textNode = JcrUtils.getOrAdd(session.getRootNode(), textNodeName, DocBookTypes.BOOK);
+ Map<String, String> properties = mpart.getProperties();
+ String defaultContentUri = properties.get("defaultContentUri");
+ if (textNode.hasNode(DocBookNames.DBK_ARTICLE))
+ textNode.getNode(DocBookNames.DBK_ARTICLE).remove();
+ if (defaultContentUri != null && !textNode.hasNode(DocBookNames.DBK_ARTICLE))
+ try {
+ URL url = new URL(defaultContentUri);
+ try (InputStream in = url.openStream()) {
+ session.importXML(textNode.getPath(), in,
+ ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
+ }
+ Node dbkNode = textNode.getNode(DocBookNames.DBK_ARTICLE);
+ if (dbkNode.isNodeType(DocBookTypes.ARTICLE))
+ System.out.println(dbkNode + " is an article");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+