From: <jbo...@li...> - 2005-09-26 18:55:37
|
Author: szimano Date: 2005-09-26 14:55:27 -0400 (Mon, 26 Sep 2005) New Revision: 1213 Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/AttachmentDataSource.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java Log: deleting pages/attachmnets http://jira.jboss.com/jira/browse/JBWIKI-53 Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/AttachmentDataSource.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/AttachmentDataSource.java 2005-09-26 17:04:39 UTC (rev 1212) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/AttachmentDataSource.java 2005-09-26 18:55:27 UTC (rev 1213) @@ -17,7 +17,7 @@ */ public interface AttachmentDataSource { - public static String attTrashName = "trash/attachemnts"; + public static String attTrashName = "trash/attachments"; /**Add atachment to a given page. * Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-09-26 17:04:39 UTC (rev 1212) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-09-26 18:55:27 UTC (rev 1213) @@ -883,7 +883,7 @@ String attTrashName = attTrashNameBase; // create dirs to trash - File trashFileDir = new File(pathToAttTrash + "/" + pageName); + File trashFileDir = new File(pathToAttTrash + "/" + pageName + "-att/"); if (!trashFileDir.exists()) { trashFileDir.mkdirs(); } Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-09-26 17:04:39 UTC (rev 1212) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-09-26 18:55:27 UTC (rev 1213) @@ -502,6 +502,10 @@ public boolean deletePage(String pageName, boolean deleteSubpages) { Set<String> subpages = new HashSet<String>(); + + System.out.println("DELETE SUBPAGES: "+deleteSubpages); + + if (deleteSubpages) { subpages = getMediaDataSource().getPagesFor(pageName); } @@ -509,17 +513,18 @@ if (getAttachementDataSource().getAttachmentsSet( getByName(pageName, null)) != null) { if (!getAttachementDataSource().deleteAttachments(pageName)) { + System.err.println("Couldn't delete attachments of page "+pageName); return false; } } boolean ret = true; - if ((!deleteSubpages)&&(subpages.size() > 0)) { + if ((deleteSubpages)&&(subpages.size() > 0)) { for (String subPage : subpages) { - if (!deletePage(pageName+"/"+subPage, deleteSubpages)) { - System.err.println("[WikiEngine]: Problems with deleteing subpage: "+pageName+"/"+subPage); + if (!deletePage(subPage, deleteSubpages)) { + System.err.println("[WikiEngine]: Problems with deleteing subpage: "+subPage); ret = false; } } @@ -532,8 +537,12 @@ pages.remove(pageName); } + System.out.println("Finishing deleting of page "+pageName+" with ret = "+ret); + return ret; - } else + } else { + System.err.println("Problems with deleting page "+pageName); return false; + } } } Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java 2005-09-26 17:04:39 UTC (rev 1212) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java 2005-09-26 18:55:27 UTC (rev 1213) @@ -1,5 +1,7 @@ package org.jboss.wiki.plugins; +import java.util.Set; + import org.jboss.wiki.Credentials; import org.jboss.wiki.WikiEngine; import org.jboss.wiki.WikiPage; @@ -8,6 +10,8 @@ public class AdminConsolePlugin extends WikiPlugin { + private boolean SHOWDELETE = true; + @Override public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { Credentials credentials = (Credentials) wikiSession @@ -38,8 +42,9 @@ .getAttribute("var3"))); viewable = editingPage.isViewable(); } - } /*else if (wikiSession.getAttribute("var1") - .equals("deletePage")) { + } else if ((SHOWDELETE) + && (wikiSession.getAttribute("var1") + .equals("deletePage"))) { boolean deleteSubpages = (wikiSession.getAttribute("var3") != null) ? Boolean .parseBoolean((String) wikiSession .getAttribute("var3")) @@ -50,19 +55,33 @@ .getAttribute("var2"); if (!nameToDelete.equals(WikiEngine.defaultPage)) { - if (wikiEngine.deletePage(nameToDelete, + if (!wikiEngine.deletePage(nameToDelete, deleteSubpages)) { errorMsg += "Couldn't delete whole or parts of page: " + nameToDelete - + " or it's subpages (see log for more info)"; + + " or it's subpages (see log for moreinfo)"; } } else { errorMsg += "You can't delete " + WikiEngine.defaultPage + " page !"; } } + } + else if ((SHOWDELETE) + && (wikiSession.getAttribute("var1") + .equals("deleteAtt"))) { + String attName = (wikiSession.getAttribute("var2") != null) ? (String)wikiSession.getAttribute("var2") : null; + + if (attName != null) { + if (!wikiEngine.getAttachementDataSource().deleteAttachment(wikiPage.getName(), attName)) { + errorMsg = "There was problem with deleting "+attName+" from page "+wikiPage.getName()+" (see log for more info)"; + } + } + else { + errorMsg = "Attachment to delete isn't specified"; + } + } - }*/ } StringBuilder adminConsole = new StringBuilder(wikiPage @@ -74,29 +93,47 @@ adminConsole.append("<i>" + errorMsg + "</i><br />\n"); } - /*if (!wikiPage.getName().equals(WikiEngine.defaultPage)) { - - // delete page button - adminConsole.append("<a href=\"").append(actionURL).append( - "&page=Main").append("&var1=deletePage").append( - "&var2=").append(wikiPage.getName()).append( - "&var3=false").append( - "\" >DELETE THIS PAGE</a><br />\n"); + if (SHOWDELETE) { + Set<String> attSet = wikiEngine.getAttachementDataSource() + .getAttachmentsSet(wikiPage); - // delete page with subpages button - adminConsole - .append("<a href=\"") - .append(actionURL) - .append("&page=Main") - .append(wikiPage.getName()) - .append("&var1=deletePage") - .append("&var2=") - .append(wikiPage.getName()) - .append("&var3=true") - .append( - "\" >DELETE THIS PAGE WITH SUBPAGES</a><br />\n<br />\n"); - }*/ + if (attSet != null) { + adminConsole.append("<h4>Attachments:</h4>\n<table border=\"0\">"); + for (String att : attSet) { + adminConsole.append("<tr><td>").append(att).append("</td><td><a href=\"").append( + actionURL).append("&page=").append( + wikiPage.getName()).append("&var1=deleteAtt") + .append("&var2=").append(att).append( + "\" >Delete</a></td></tr>"); + } + + } + + adminConsole.append("</table><br />\n<h4>Page managment:</h4>"); + + if (!wikiPage.getName().equals(WikiEngine.defaultPage)) { + + // delete page button + adminConsole.append("<a href=\"").append(actionURL).append( + "&page=Main").append("&var1=deletePage").append( + "&var2=").append(wikiPage.getName()).append( + "&var3=false").append( + "\" >DELETE THIS PAGE</a><br />\n"); + + // delete page with subpages button + adminConsole + .append("<a href=\"") + .append(actionURL) + .append("&page=Main") + .append("&var1=deletePage") + .append("&var2=") + .append(wikiPage.getName()) + .append("&var3=true") + .append( + "\" >DELETE THIS PAGE WITH SUBPAGES</a><br />\n<br />\n"); + } + } // switch editable button adminConsole.append("This page ").append( (editable) ? "is" : "isn't").append(" editable "); |