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 2005/08/22 12:06:15 UTC

svn commit: r234461 - in /lenya/trunk/src: java/org/apache/lenya/cms/repository/ java/org/apache/lenya/cms/site/usecases/ publets/sitetree/java/src/org/apache/lenya/cms/site/tree/

Author: andreas
Date: Mon Aug 22 03:06:02 2005
New Revision: 234461

URL: http://svn.apache.org/viewcvs?rev=234461&view=rev
Log:
TreeSiteManager: save XML when node label was removed. This fixes bug #36297.

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/repository/SourceNode.java
    lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
    lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/DefaultSiteTree.java
    lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTree.java
    lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/TreeSiteManager.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/repository/SourceNode.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/repository/SourceNode.java?rev=234461&r1=234460&r2=234461&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/repository/SourceNode.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/repository/SourceNode.java Mon Aug 22 03:06:02 2005
@@ -493,7 +493,7 @@
             if (getSession().getUnitOfWork() == null) {
                 throw new RuntimeException("Cannot write to source outside of a transaction (UnitOfWork is null)!");
             }
-            getSession().getUnitOfWork().registerDirty(this);
+            registerDirty();
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java?rev=234461&r1=234460&r2=234461&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java Mon Aug 22 03:06:02 2005
@@ -21,6 +21,8 @@
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.util.DocumentHelper;
 import org.apache.lenya.cms.repository.Node;
+import org.apache.lenya.cms.site.SiteException;
+import org.apache.lenya.cms.site.SiteUtil;
 import org.apache.lenya.cms.usecase.DocumentUsecase;
 import org.apache.lenya.cms.usecase.UsecaseException;
 
@@ -51,7 +53,15 @@
      * @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
      */
     protected Node[] getNodesToLock() throws UsecaseException {
-        Node[] nodes = { getSourceDocument().getRepositoryNode() };
+        Node docNode = getSourceDocument().getRepositoryNode();
+        Node siteNode;
+        try {
+            siteNode = SiteUtil.getSiteStructure(this.manager, getSourceDocument())
+                    .getRepositoryNode();
+        } catch (SiteException e) {
+            throw new UsecaseException(e);
+        }
+        Node[] nodes = { docNode, siteNode };
         return nodes;
     }
 

Modified: lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/DefaultSiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/DefaultSiteTree.java?rev=234461&r1=234460&r2=234461&view=diff
==============================================================================
--- lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/DefaultSiteTree.java (original)
+++ lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/DefaultSiteTree.java Mon Aug 22 03:06:02 2005
@@ -594,4 +594,11 @@
         }
     }
 
+    /**
+     * @see org.apache.lenya.cms.site.tree.SiteTree#save()
+     */
+    public void save() throws SiteException {
+        saveDocument();
+    }
+
 }

Modified: lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTree.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTree.java?rev=234461&r1=234460&r2=234461&view=diff
==============================================================================
--- lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTree.java (original)
+++ lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/SiteTree.java Mon Aug 22 03:06:02 2005
@@ -222,5 +222,11 @@
      */
     void importSubtree(SiteTreeNode subtreeRoot, SiteTreeNode newParent, String newid,
             String refDocumentId) throws SiteException;
+    
+    /**
+     * Saves the tree. Call this method after a node has been changed.
+     * @throws SiteException if an error occurs.
+     */
+    void save() throws SiteException;
 
 }

Modified: lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/TreeSiteManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/TreeSiteManager.java?rev=234461&r1=234460&r2=234461&view=diff
==============================================================================
--- lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/TreeSiteManager.java (original)
+++ lenya/trunk/src/publets/sitetree/java/src/org/apache/lenya/cms/site/tree/TreeSiteManager.java Mon Aug 22 03:06:02 2005
@@ -275,6 +275,9 @@
         if (node.getLabels().length == 0) {
             tree.removeNode(document.getId());
         }
+        else {
+            tree.save();
+        }
     }
 
     /**



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