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