From: <jbo...@li...> - 2005-09-26 17:04:46
|
Author: szimano Date: 2005-09-26 13:04:39 -0400 (Mon, 26 Sep 2005) New Revision: 1212 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/MediaDataSource.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 further changes, but disabled for promotion 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 16:54:23 UTC (rev 1211) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-09-26 17:04:39 UTC (rev 1212) @@ -784,8 +784,7 @@ } } - public synchronized boolean deletePage(String pageName, - boolean deleteSubpages) { + public synchronized boolean deletePage(String pageName) { if (pageExists(pageName)) { // moving page file @@ -797,7 +796,13 @@ File pageFile = new File(pageFileName); File pageTrashFile = new File(pageFileTrashName); -// look if page is already in trash (add i-bak) + // create dirs to trash + File trashFileDir = new File(pathToMediaTrash + "/" + pageName); + if (!trashFileDir.exists()) { + trashFileDir.mkdirs(); + } + + // look if page is already in trash (add i-bak) int i = 0; if (pageTrashFile.exists()) { @@ -818,13 +823,19 @@ // moving history directory String historyDirName = pathToMedia + "/OLD/" + pageName; - String historyTrashDirNameBase = pathToMediaTrash + "/OLD/" + pageName; + String historyTrashDirNameBase = pathToMediaTrash + "/OLD/" + + pageName; String historyTrashDirName = historyTrashDirNameBase; + // create dirs to trash (history) + trashFileDir = new File(pathToMediaTrash + "/OLD/" + pageName); + if (!trashFileDir.exists()) { + trashFileDir.mkdirs(); + } + pageFile = new File(historyDirName); pageTrashFile = new File(historyTrashDirName); - // look if history dir is already in trash (add i-bak) i = 0; @@ -836,7 +847,7 @@ } } - + if (!pageFile.renameTo(pageTrashFile)) { System.err.println("[FileDataSource]: Problems with moving " + historyDirName + " to " + historyTrashDirName); @@ -844,7 +855,7 @@ // return back the page history pageFile = new File(pageFileName); pageTrashFile = new File(pageFileTrashName); - + if (!pageTrashFile.renameTo(pageFile)) { System.err .println("[FileDataSource]: ERROR. I've tried moving previously moved page file from the trash, but there was some problem. This is not good and there is nothing i can do about it. The error ocured while moving " @@ -871,12 +882,18 @@ + attachmentName + "-dir"; String attTrashName = attTrashNameBase; +// create dirs to trash + File trashFileDir = new File(pathToAttTrash + "/" + pageName); + if (!trashFileDir.exists()) { + trashFileDir.mkdirs(); + } + // moving file directory File attFile = new File(attName); if (attFile.exists()) { - -// look if att dir is already in trash (add i-bak) + + // look if att dir is already in trash (add i-bak) File attTrashFile = new File(attTrashName); int i = 0; @@ -908,11 +925,17 @@ String attTrashNameBase = pathToAttTrash + "/" + pageName + "-att"; String attTrashName = attTrashNameBase; + // create dirs to trash + File trashFileDir = new File(pathToAttTrash + "/" + pageName); + if (!trashFileDir.exists()) { + trashFileDir.mkdirs(); + } + // moving file directory File attFile = new File(attName); if (attFile.exists()) { -// look if att dir is already in trash (add i-bak) + // look if att dir is already in trash (add i-bak) File attTrashFile = new File(attTrashName); int i = 0; Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/MediaDataSource.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/MediaDataSource.java 2005-09-26 16:54:23 UTC (rev 1211) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/MediaDataSource.java 2005-09-26 17:04:39 UTC (rev 1212) @@ -181,10 +181,9 @@ - /**Deletes (or moves to trash) given page with or wothout optional subpages + /**Deletes (or moves to trash) given page * * @param pageName Name of the page to delete. - * @param deleteSubpages If true - all subpages will be deleted also. */ - public boolean deletePage(String pageName, boolean deleteSubpages); + public boolean deletePage(String pageName); } 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 16:54:23 UTC (rev 1211) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-09-26 17:04:39 UTC (rev 1212) @@ -13,6 +13,7 @@ import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.InvalidPropertiesFormatException; import java.util.Iterator; import java.util.LinkedHashMap; @@ -499,21 +500,39 @@ } public boolean deletePage(String pageName, boolean deleteSubpages) { + Set<String> subpages = new HashSet<String>(); + if (deleteSubpages) { + subpages = getMediaDataSource().getPagesFor(pageName); + } + if (getAttachementDataSource().getAttachmentsSet( - getByName(pageName, null)).size() > 0) { + getByName(pageName, null)) != null) { if (!getAttachementDataSource().deleteAttachments(pageName)) { return false; } } - if (getMediaDataSource().deletePage(pageName, deleteSubpages)) { + boolean ret = true; + + if ((!deleteSubpages)&&(subpages.size() > 0)) { + for (String subPage : subpages) { + if (!deletePage(pageName+"/"+subPage, deleteSubpages)) { + System.err.println("[WikiEngine]: Problems with deleteing subpage: "+pageName+"/"+subPage); + ret = false; + } + } + + } + + if (getMediaDataSource().deletePage(pageName)) { + if (pages.containsKey(pageName)) { pages.remove(pageName); } - return true; + return ret; } else 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 16:54:23 UTC (rev 1211) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/AdminConsolePlugin.java 2005-09-26 17:04:39 UTC (rev 1212) @@ -38,24 +38,31 @@ .getAttribute("var3"))); viewable = editingPage.isViewable(); } - } - else if (wikiSession.getAttribute("var1").equals("deletePage")) { - boolean deleteSubpages = (wikiSession.getAttribute("var3") != null) ? Boolean.parseBoolean((String)wikiSession.getAttribute("var3")) : false; - + } /*else if (wikiSession.getAttribute("var1") + .equals("deletePage")) { + boolean deleteSubpages = (wikiSession.getAttribute("var3") != null) ? Boolean + .parseBoolean((String) wikiSession + .getAttribute("var3")) + : false; + if (wikiSession.getAttribute("var2") != null) { - String nameToDelete = (String)wikiSession.getAttribute("var2"); - + String nameToDelete = (String) wikiSession + .getAttribute("var2"); + if (!nameToDelete.equals(WikiEngine.defaultPage)) { - if (wikiEngine.deletePage(nameToDelete, deleteSubpages)) { - errorMsg += "Couldn't delete whole or parts of page: "+nameToDelete+" (see log for more info)"; + if (wikiEngine.deletePage(nameToDelete, + deleteSubpages)) { + errorMsg += "Couldn't delete whole or parts of page: " + + nameToDelete + + " or it's subpages (see log for more info)"; } + } else { + errorMsg += "You can't delete " + + WikiEngine.defaultPage + " page !"; } - else { - errorMsg += "You can't delete "+WikiEngine.defaultPage+" page !"; - } } - - } + + }*/ } StringBuilder adminConsole = new StringBuilder(wikiPage @@ -64,32 +71,40 @@ adminConsole.append("\n<hr><h3>Admin console</h3>\n"); if (errorMsg.length() > 0) { - adminConsole.append("<i>"+errorMsg+"</i><br />\n"); + adminConsole.append("<i>" + errorMsg + "</i><br />\n"); } - - // 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(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 (!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(wikiPage.getName()) + .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 "); adminConsole.append("<a href=\"").append(actionURL) - .append("&page=").append( - "&var1=chmod").append("&var2=").append(!editable) - .append("&var3=").append(viewable).append("\" >SWITCH IT ") - .append((editable) ? "NOT" : "").append( - " EDITABLE</a><br />\n"); + .append("&page=").append("&var1=chmod").append("&var2=") + .append(!editable).append("&var3=").append(viewable) + .append("\" >SWITCH IT ").append((editable) ? "NOT" : "") + .append(" EDITABLE</a><br />\n"); // switch viewable button adminConsole.append("This page ").append( |