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