[Yanel-commits] rev 34408 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation

michi at wyona.com michi at wyona.com
Sun Mar 30 23:26:03 CEST 2008


Author: michi
Date: 2008-03-30 23:26:02 +0200 (Sun, 30 Mar 2008)
New Revision: 34408

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/NodeDOMImpl.java
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/SitetreeDOMImpl.java
Log:
save started

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/NodeDOMImpl.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/NodeDOMImpl.java	2008-03-30 21:19:14 UTC (rev 34407)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/NodeDOMImpl.java	2008-03-30 21:26:02 UTC (rev 34408)
@@ -32,9 +32,11 @@
     private static Logger log = Logger.getLogger(NodeDOMImpl.class);
 
     org.w3c.dom.Element element;
+    SitetreeDOMImpl sitetree;
 
-    public NodeDOMImpl(org.w3c.dom.Element element) {
+    public NodeDOMImpl(org.w3c.dom.Element element, SitetreeDOMImpl sitetree) {
         this.element = element;
+        this.sitetree = sitetree;
     }
 
     /**
@@ -66,6 +68,7 @@
      */
     public Node appendChild(Node child) {
         this.element.appendChild(((NodeDOMImpl) child).getElement());
+        sitetree.save();
         return child;
     }
 
@@ -122,7 +125,7 @@
 
         NodeDOMImpl[] children = new NodeDOMImpl[nodes.size()];
         for (int i = 0; i < children.length; i++) {
-            children[i] = new NodeDOMImpl((Element) nodes.elementAt(i));
+            children[i] = new NodeDOMImpl((Element) nodes.elementAt(i), sitetree);
             //log.debug("Child: " + children[i].getName());
         }
         return children;
@@ -133,7 +136,7 @@
      */
     public Node getParent() {
         if (!element.getNodeName().equals("sitetree")) {
-            return new NodeDOMImpl((org.w3c.dom.Element) element.getParentNode());
+            return new NodeDOMImpl((org.w3c.dom.Element) element.getParentNode(), sitetree);
         } else {
             return null;
         }

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/SitetreeDOMImpl.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/SitetreeDOMImpl.java	2008-03-30 21:19:14 UTC (rev 34407)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/navigation/SitetreeDOMImpl.java	2008-03-30 21:26:02 UTC (rev 34408)
@@ -71,7 +71,7 @@
      *
      */
     public Node getSitetreeNode() {
-        return new NodeDOMImpl(sitetreeDoc.getDocumentElement());
+        return new NodeDOMImpl(sitetreeDoc.getDocumentElement(), this);
     }
 
     /**
@@ -81,11 +81,11 @@
         //log.debug("Path: " + path);
         try {
             if (path.equals("/")) {
-                return new NodeDOMImpl(sitetreeDoc.getDocumentElement());
+                return new NodeDOMImpl(sitetreeDoc.getDocumentElement(), this);
             } else if (path.startsWith("/") && path.length() > 1) {
                 Element element = getElement(sitetreeDoc.getDocumentElement(), path);
                 if (element != null) {
-                    return new NodeDOMImpl(element);
+                    return new NodeDOMImpl(element, this);
                 } else {
                     log.error("No node for path: " + path);
                     return null;
@@ -106,7 +106,7 @@
     public Node createNode(String name) {
         Element newElement = sitetreeDoc.createElementNS(SITETREE_NAMESPACE, "node");
         newElement.setAttributeNS(SITETREE_NAMESPACE, "name", name);
-        return new NodeDOMImpl(newElement);
+        return new NodeDOMImpl(newElement, this);
     }
 
     /**
@@ -160,4 +160,12 @@
            return sitetreeDoc.getDocumentElement();
        }
     }
+
+    /**
+     *
+     */
+    public void save() {
+        log.warn("TODO: Save sitetree to persistent repository!");
+        // TODO: sitetreeDoc ...
+    }
 }



More information about the Yanel-commits mailing list