Author: ajaquith
Date: Sat Jan 30 15:26:26 2010
New Revision: 904789

URL: http://svn.apache.org/viewvc?rev=904789&view=rev
Log:
Fixed bug in DeleteActionBean that prevented attachments from being deleted 
properly.

Modified:
    
incubator/jspwiki/trunk/src/java/org/apache/wiki/action/DeleteActionBean.java

Modified: 
incubator/jspwiki/trunk/src/java/org/apache/wiki/action/DeleteActionBean.java
URL: 
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/action/DeleteActionBean.java?rev=904789&r1=904788&r2=904789&view=diff
==============================================================================
--- 
incubator/jspwiki/trunk/src/java/org/apache/wiki/action/DeleteActionBean.java 
(original)
+++ 
incubator/jspwiki/trunk/src/java/org/apache/wiki/action/DeleteActionBean.java 
Sat Jan 30 15:26:26 2010
@@ -27,7 +27,10 @@
 import net.sourceforge.stripes.action.RedirectResolution;
 import net.sourceforge.stripes.action.Resolution;
 import net.sourceforge.stripes.action.UrlBinding;
-import net.sourceforge.stripes.validation.*;
+import net.sourceforge.stripes.validation.LocalizableError;
+import net.sourceforge.stripes.validation.ValidationErrors;
+import net.sourceforge.stripes.validation.ValidationMethod;
+import net.sourceforge.stripes.validation.ValidationState;
 
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.api.WikiPage;
@@ -69,33 +72,34 @@
         // to the main page (for page) or parent page (for attachment)
         WikiEngine engine = getContext().getEngine();
         WikiPage page = getPage();
-        String pageName = page.getName();
+        String path = page.getPath().toString();
+        boolean isAttachment = page.isAttachment();
         if( m_version == Integer.MIN_VALUE )
         {
             HttpServletRequest request = getContext().getRequest();
-            log.info( "Deleting page " + pageName + ". User=" + 
request.getRemoteUser() + ", host="
+            log.info( "Deleting page " + path + ". User=" + 
request.getRemoteUser() + ", host="
                       + request.getRemoteAddr() );
-            engine.deletePage( pageName );
+            engine.deletePage( path.toString() );
             
-            BreadcrumbsTag.deleteFromBreadCrumb( request, pageName );
+            BreadcrumbsTag.deleteFromBreadCrumb( request, path );
         }
         // Just delete a single version
         else
         {
-            WikiPage p = engine.getPage( pageName, m_version );
-            log.debug( "Deleting page=" + pageName + ", version=" + m_version 
);
+            WikiPage p = engine.getPage( path, m_version );
+            log.debug( "Deleting page=" + path + ", version=" + m_version );
             engine.deleteVersion( p );
         }
 
-        // If attachment deleted; always redirect to parent page
-        if( page.isAttachment() )
+        // If attachment deleted; always redirect to parent attachments page
+        if( isAttachment )
         {
             String redirPage = page.getParent().getName();
-            return new RedirectResolution( ViewActionBean.class, "view" 
).addParameter( "page", redirPage );
+            return new RedirectResolution( ViewActionBean.class, "attachments" 
).addParameter( "page", redirPage );
         }
 
         // If no more versions left, redirect to main page, otherwise INFO page
-        String redirPage = engine.pageExists( pageName ) ? pageName : 
engine.getFrontPage();
+        String redirPage = engine.pageExists( path ) ? path : 
engine.getFrontPage();
         return new RedirectResolution( ViewActionBean.class, "view" 
).addParameter( "page", redirPage );
     }
 


Reply via email to