r1538 - in xwiki/trunk: core/src/main/java/com/xpn/xwiki/plugin/zipexplorer src/test/java/com/xpn/xwiki/plugin/zipexplorer
Vincent Massol
vmassol at users.forge.objectweb.org
Mon Nov 13 20:39:54 CET 2006
Author: vmassol
Date: 2006-11-13 20:39:53 +0100 (Mon, 13 Nov 2006)
New Revision: 1538
Modified:
xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java
xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java
Log:
Refactoring for the ZipExplorerPlugin class and its tests:
* removed unused imports
* removed superfluous blank lines
* added some javadoc for the methods I understand (still more work to be done)
* added some tests for the getFileName() method. Note: I think a getFileNameFromZipURL() name would be better though.
* removed unused fields
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java 2006-11-13 13:17:15 UTC (rev 1537)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java 2006-11-13 19:39:53 UTC (rev 1538)
@@ -24,7 +24,6 @@
import com.xpn.xwiki.plugin.XWikiDefaultPlugin;
import com.xpn.xwiki.plugin.XWikiPluginInterface;
-import com.xpn.xwiki.cache.api.XWikiCache;
import com.xpn.xwiki.XWikiContext;
import com.xpn.xwiki.XWikiException;
import com.xpn.xwiki.objects.classes.ListItem;
@@ -32,8 +31,6 @@
import com.xpn.xwiki.api.Api;
import com.xpn.xwiki.api.Attachment;
import com.xpn.xwiki.doc.XWikiAttachment;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -41,28 +38,45 @@
import java.io.ByteArrayOutputStream;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipEntry;
-import java.util.*;
+import java.util.List;
+import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.Vector;
+import java.util.HashMap;
-
public class ZipExplorerPlugin extends XWikiDefaultPlugin {
- private int capacity = 50;
- private static final Log log = LogFactory.getLog(ZipExplorerPlugin.class);
+ /**
+ * {@inheritDoc}
+ * @see XWikiDefaultPlugin#XWikiDefaultPlugin(String, String, com.xpn.xwiki.XWikiContext)
+ */
public ZipExplorerPlugin(String name, String className, XWikiContext context) {
super(name, className, context);
init(context);
}
+ /**
+ * {@inheritDoc}
+ * @see com.xpn.xwiki.plugin.XWikiDefaultPlugin#getName()
+ */
public String getName() {
return "zipexplorer";
}
+ /**
+ * {@inheritDoc}
+ * @see com.xpn.xwiki.plugin.XWikiDefaultPlugin#getPluginApi(com.xpn.xwiki.plugin.XWikiPluginInterface, com.xpn.xwiki.XWikiContext)
+ */
public Api getPluginApi(XWikiPluginInterface plugin, XWikiContext context) {
return new ZipExplorerPluginAPI((ZipExplorerPlugin) plugin, context);
}
/**
- * @return the file name from the URI
+ * @return the relative file name of a file in the ZIP file from the path representing a URL.
+ * The URLs that the ZIP plugin manipulates have a format of
+ * <code>http://[...]/zipfile.zip/SomeDirectory/SomeFile.txt</code>. With the example
+ * above this method would return <code>SomeDirectory/SomeFile.txt</code>.
*/
public String getFileName(String path, String action) {
path = path.substring(path.indexOf("/" + action));
@@ -75,7 +89,6 @@
return path.substring(pos + 1);
}
-
public XWikiAttachment downloadAttachment(XWikiAttachment attachment, XWikiContext context) {
String url = context.getRequest().getRequestURI();
String filename;
@@ -118,9 +131,7 @@
} catch (XWikiException e) {
e.printStackTrace();
- }
-
- catch (IOException e) {
+ } catch (IOException e) {
e.printStackTrace();
}
return newAttachment;
@@ -204,10 +215,8 @@
return res;
}
-
String getFileLink(Document doc, String attachmentName, String fileName, XWikiContext context) {
String link = doc.getAttachmentURL(attachmentName);
return link + "/" + fileName;
-
}
}
Modified: xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java
===================================================================
--- xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java 2006-11-13 13:17:15 UTC (rev 1537)
+++ xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java 2006-11-13 19:39:53 UTC (rev 1538)
@@ -22,10 +22,12 @@
package com.xpn.xwiki.test.plugin.zipexplorer;
import com.xpn.xwiki.XWikiException;
+import com.xpn.xwiki.XWikiContext;
import com.xpn.xwiki.api.Document;
import com.xpn.xwiki.doc.XWikiAttachment;
import com.xpn.xwiki.doc.XWikiDocument;
import com.xpn.xwiki.plugin.zipexplorer.ZipExplorerPluginAPI;
+import com.xpn.xwiki.plugin.zipexplorer.ZipExplorerPlugin;
import com.xpn.xwiki.test.HibernateTestCase;
import com.xpn.xwiki.web.XWikiServletURLFactory;
@@ -53,7 +55,6 @@
List myExpectedList;
-
protected void setUp() throws Exception {
super.setUp();
getXWiki().getPluginManager().addPlugin("zipexplorer", "com.xpn.xwiki.plugin.zipexplorer.ZipExplorerPlugin", getXWikiContext());
@@ -66,12 +67,10 @@
doc.setAuthor(author);
doc.setParent(parent);
-
myExpectedList = new ArrayList();
myExpectedList.add(filename1);
myExpectedList.add(filename2);
-
try {
attachment = new XWikiAttachment(doc, zipfilename);
@@ -113,7 +112,27 @@
assertEquals("/xwiki/bin/download/Main/ZipExplorerTest/" + filename1,zpa.getFileLink(maindoc, attachment.getFilename(), filename1));
}
- public void compareList(List myExpectedList, List myResult){
+ public void testGetFileName()
+ {
+ ZipExplorerPlugin plugin = new ZipExplorerPlugin("zipexplorer",
+ ZipExplorerPlugin.class.getName(), new XWikiContext());
+ String fileName = plugin.getFileName(
+ "http://server/xwiki/bin/download/Main/Document/zipfile.zip/Directory/File.txt",
+ "download");
+ assertEquals("Directory/File.txt", fileName);
+ }
+
+ public void testGetFileNameWhenInvalidURL()
+ {
+ ZipExplorerPlugin plugin = new ZipExplorerPlugin("zipexplorer",
+ ZipExplorerPlugin.class.getName(), new XWikiContext());
+ String fileName = plugin.getFileName(
+ "http://server/xwiki/bin/download/Main/Document/zipfile.zip",
+ "download");
+ assertEquals("", fileName);
+ }
+
+ private void compareList(List myExpectedList, List myResult){
assertEquals(myExpectedList.size(), myResult.size());
Iterator it = myResult.iterator();
while(it.hasNext()){
More information about the Xwiki-notifications
mailing list