[Yanel-commits] rev 25118 - public/yanel/trunk/src/core/java/org/wyona/yanel/core/util

michi at wyona.com michi at wyona.com
Wed Jun 13 21:39:55 CEST 2007


Author: michi
Date: 2007-06-13 21:39:54 +0200 (Wed, 13 Jun 2007)
New Revision: 25118

Added:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/YarepUtil.java
Log:
yarep util started

Added: public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/YarepUtil.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/YarepUtil.java	                        (rev 0)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/YarepUtil.java	2007-06-13 19:39:54 UTC (rev 25118)
@@ -0,0 +1,40 @@
+package org.wyona.yanel.core.util;
+
+import org.apache.log4j.Category;
+
+import org.wyona.commons.io.Path;
+
+import org.wyona.yarep.core.Node;
+import org.wyona.yarep.core.NodeType;
+import org.wyona.yarep.core.Repository;
+import org.wyona.yarep.core.RepositoryException;
+
+/**
+ *
+ */
+public class YarepUtil {
+
+    private static Category log = Category.getInstance(YarepUtil.class);
+
+    /**
+     *
+     */
+    public static Node addNodes(Repository repo, String path, int nodeType) throws RepositoryException {
+        if (repo.existsNode(path)) {
+            return repo.getNode(path);
+        } else {
+            Path parentPath = new Path(path).getParent();
+            if (parentPath != null) {
+                Node parentNode = null;
+                if (repo.existsNode(parentPath.toString())) {
+                    parentNode = repo.getNode(parentPath.toString());
+                } else {
+                    parentNode = addNodes(repo, parentPath.toString(), org.wyona.yarep.core.NodeType.COLLECTION);
+                }
+                return parentNode.addNode(new Path(path).getName().toString(), nodeType);
+            } else {
+                throw new RepositoryException("Root node does not have a parent!");
+            }
+        }
+    }
+}




More information about the Yanel-commits mailing list