You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/10/26 10:51:24 UTC

svn commit: r467920 - in /lenya/trunk/src: impl/test/org/apache/lenya/cms/site/ modules/sitetree/java/src/org/apache/lenya/cms/site/tree/

Author: andreas
Date: Thu Oct 26 01:51:23 2006
New Revision: 467920

URL: http://svn.apache.org/viewvc?view=rev&rev=467920
Log:
Save sitetree link after changing the label. This fixes bug #40666.

Modified:
    lenya/trunk/src/impl/test/org/apache/lenya/cms/site/SimpleSiteManagerTest.java
    lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeLink.java
    lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java

Modified: lenya/trunk/src/impl/test/org/apache/lenya/cms/site/SimpleSiteManagerTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/impl/test/org/apache/lenya/cms/site/SimpleSiteManagerTest.java?view=diff&rev=467920&r1=467919&r2=467920
==============================================================================
--- lenya/trunk/src/impl/test/org/apache/lenya/cms/site/SimpleSiteManagerTest.java (original)
+++ lenya/trunk/src/impl/test/org/apache/lenya/cms/site/SimpleSiteManagerTest.java Thu Oct 26 01:51:23 2006
@@ -35,10 +35,12 @@
 import org.apache.lenya.cms.site.SiteManager;
 import org.apache.lenya.cms.site.SiteNode;
 import org.apache.lenya.cms.site.SiteStructure;
+import org.apache.lenya.cms.site.simple.DocumentStore;
 
 public class SimpleSiteManagerTest extends AbstractAccessControlTest {
 
     protected static final String PATH = "/foo/bar";
+
     protected static final String PARENT_PATH = "/foo";
 
     public void testSimpleSiteManager() throws Exception {
@@ -99,10 +101,12 @@
             assertTrue(structure.contains(PATH));
             Document linkDoc = structure.getNode(PATH).getLink("en").getDocument();
             assertSame(linkDoc, doc);
-            
-            Link link = doc.getLink();
-            checkSetLabel(link);
-            
+
+            if (!(structure instanceof DocumentStore)) {
+                Link link = doc.getLink();
+                checkSetLabel(link);
+            }
+
             doc.getLink().delete();
             assertFalse(structure.containsByUuid(doc.getUUID(), doc.getLanguage()));
             assertFalse(structure.contains(PATH));
@@ -127,9 +131,11 @@
 
     protected void checkSetLabel(Link link) {
         String newLabel = "New Label";
-        assertFalse(link.getLabel().equals(newLabel));
+        String oldLabel = link.getLabel();
+        assertFalse(oldLabel.equals(newLabel));
         link.setLabel(newLabel);
         assertTrue(link.getLabel().equals(newLabel));
+        link.setLabel(oldLabel);
     }
 
     protected void checkLinks(SiteManager siteManager, SiteNode node) throws SiteException {

Modified: lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeLink.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeLink.java?view=diff&rev=467920&r1=467919&r2=467920
==============================================================================
--- lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeLink.java (original)
+++ lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeLink.java Thu Oct 26 01:51:23 2006
@@ -27,9 +27,9 @@
  */
 public class SiteTreeLink extends AbstractLink {
 
-    protected SiteTreeLink(DocumentFactory factory, SiteNode node, String _label, String _language,
+    protected SiteTreeLink(DocumentFactory factory, SiteNode node, String _language,
             Element element) {
-        super(factory, node, _label, _language);
+        super(factory, node, "", _language);
         this.element = element;
     }
 
@@ -47,6 +47,11 @@
      */
     public void setLabel(String label) {
         DocumentHelper.setSimpleElementText(this.element, label);
+        ((SiteTreeNodeImpl) getNode()).save();
+    }
+
+    public String getLabel() {
+        return DocumentHelper.getSimpleElementText(this.element);
     }
 
 }

Modified: lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java?view=diff&rev=467920&r1=467919&r2=467920
==============================================================================
--- lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java (original)
+++ lenya/trunk/src/modules/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java Thu Oct 26 01:51:23 2006
@@ -30,7 +30,6 @@
 import org.apache.lenya.cms.site.SiteNode;
 import org.apache.lenya.cms.site.SiteStructure;
 import org.apache.lenya.util.Assert;
-import org.apache.lenya.xml.DocumentHelper;
 import org.apache.lenya.xml.NamespaceHelper;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -164,7 +163,6 @@
 
             if ((child.getNodeType() == Node.ELEMENT_NODE)
                     && child.getNodeName().equals(LABEL_NAME)) {
-                String labelName = DocumentHelper.getSimpleElementText((Element) child);
                 String labelLanguage = null;
                 Node languageAttribute = child.getAttributes()
                         .getNamedItem(LANGUAGE_ATTRIBUTE_NAME);
@@ -173,7 +171,7 @@
                     labelLanguage = languageAttribute.getNodeValue();
                 }
 
-                labels.add(new SiteTreeLink(this.factory, this, labelName, labelLanguage,
+                labels.add(new SiteTreeLink(this.factory, this, labelLanguage,
                         (Element) child));
             }
         }
@@ -579,11 +577,7 @@
         } else {
             setNodeAttribute(SiteTreeNodeImpl.VISIBLEINNAV_ATTRIBUTE_NAME, "false");
         }
-        try {
-            ((DefaultSiteTree) getTree()).saveDocument();
-        } catch (SiteException e) {
-            throw new RuntimeException(e);
-        }
+        save();
     }
 
     public void delete() {
@@ -603,6 +597,14 @@
 
     public boolean isTopLevel() {
         return getPath().lastIndexOf("/") == 0;
+    }
+    
+    protected void save() {
+        try {
+            ((DefaultSiteTree) getTree()).saveDocument();
+        } catch (SiteException e) {
+            throw new RuntimeException(e);
+        }
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org