r1412 - in xwiki/trunk: . core/src/main/java/com/xpn/xwiki/plugin core/src/main/java/com/xpn/xwiki/plugin/zipexplorer src/test/java/com/xpn/xwiki/plugin src/test/java/com/xpn/xwiki/plugin/zipexplorer
Jeremi Joslin
jeremi at users.forge.objectweb.org
Fri Oct 20 03:29:05 CEST 2006
Author: jeremi
Date: 2006-10-20 03:28:58 +0200 (Fri, 20 Oct 2006)
New Revision: 1412
Added:
xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/
xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java
xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/
xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java
Modified:
xwiki/trunk/xwiki.ipr
xwiki/trunk/xwiki.iws
Log:
[GELC]
* add the zipExplorerPlugin made by Rave
Added: 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-10-20 01:06:04 UTC (rev 1411)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java 2006-10-20 01:28:58 UTC (rev 1412)
@@ -0,0 +1,258 @@
+/*
+ * Copyright 2006, XpertNet SARL, and individual contributors as indicated
+ * by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author ravenees
+ */
+package com.xpn.xwiki.plugin.zipexplorer;
+
+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.api.Document;
+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;
+import java.io.InputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipEntry;
+import java.util.Properties;
+import java.util.List;
+import java.util.Iterator;
+import java.util.ArrayList;
+
+
+public class ZipExplorerPlugin extends XWikiDefaultPlugin {
+
+ private XWikiCache zipCache;
+ private int capacity = 50;
+ private static final Log log = LogFactory.getLog(ZipExplorerPlugin.class);
+
+ /**
+ * Constructor
+ */
+ public ZipExplorerPlugin(String name, String className, XWikiContext context) {
+ super(name, className, context);
+ init(context);
+ }
+
+ /**
+ *
+ * */
+ public Api getPluginApi(XWikiPluginInterface plugin, XWikiContext context) {
+ return new ZipExplorerPluginAPI((ZipExplorerPlugin) plugin, context);
+ }
+
+ /**
+ *
+ * */
+ public void initCache(XWikiContext context) {
+ String capacityParam = "";
+ try {
+ capacityParam = context.getWiki().Param("xwiki.plugin.zip.cache.capacity");
+ if ((capacityParam != null) && (!capacityParam.equals(""))) {
+ capacity = Integer.parseInt(capacityParam);
+ }
+ } catch (NumberFormatException e) {
+ if (log.isErrorEnabled())
+ log.error("Error in ZipPlugin reading capacity: " + capacityParam, e);
+ }
+
+ Properties props = new Properties();
+ props.put("cache.memory", "true");
+ props.put("cache.unlimited.disk", "true");
+ props.put("cache.persistence.overflow.only", "false");
+ props.put("cache.blocking", "false");
+ props.put("cache.persistence.class", "com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener");
+ props.put("cache.path", "temp/imageCache");
+
+ try {
+ zipCache = context.getWiki().getCacheService().newLocalCache(props, capacity);
+ } catch (XWikiException e) {
+ }
+ }
+
+
+ /**
+ * @return the file name from the URI
+ */
+ public String getFileName(String path, String action) {
+ path = path.substring(path.indexOf("/" + action));
+ int pos = 0;
+ for (int i = 0; i < 4; i++) {
+ pos = path.indexOf("/", pos + 1);
+ }
+ return path.substring(path.lastIndexOf("/") + 1, path.length());
+ }
+
+ /**
+ * @return the extries in the zip file as xwiki attachment
+ */
+ public XWikiAttachment downloadAttachment(XWikiAttachment attachment, XWikiContext context) {
+
+ String URL = context.getRequest().getRequestURI();
+ String filename = getFileName(URL, context.getAction().trim());
+ XWikiAttachment newAttachment = null;
+
+ if (zipCache == null)
+ initCache(context);
+
+ newAttachment = new XWikiAttachment();
+ newAttachment.setDoc(attachment.getDoc());
+ newAttachment.setAuthor(attachment.getAuthor());
+ newAttachment.setDate(attachment.getDate());
+
+ try {
+
+ byte[] stream = attachment.getContent(context);
+ ByteArrayInputStream bais = new ByteArrayInputStream(stream);
+ ZipInputStream zis = new ZipInputStream(bais);
+ ZipEntry entry;
+
+ while ((entry = zis.getNextEntry()) != null) {
+
+ String entryName = entry.getName();
+ entryName = entryName.substring(entryName.lastIndexOf("/") + 1, entryName.length()).trim();
+
+ if (entryName.equals(filename)) {
+ newAttachment.setFilename(entryName);
+ byte[] data = readFromInputStream(zis);
+ newAttachment.setFilesize(data.length);
+ newAttachment.setContent(data);
+ break;
+ }
+ }
+
+ } catch (XWikiException e) {
+ e.printStackTrace();
+ }
+
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ return newAttachment;
+ }
+
+
+ /**
+ * @return the content of an entry in the zip file
+ */
+ private byte[] readFromInputStream(InputStream is) throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ byte[] data = new byte[4096];
+ StringBuffer buffer = new StringBuffer();
+ int count;
+ while ((count = is.read(data, 0, 4096)) != -1) {
+ baos.write(data);
+ }
+ return baos.toByteArray();
+ }
+
+
+ List getFileList(Document doc, String attachmentName, XWikiContext context) {
+
+ List zipList = null;
+
+ if (attachmentName.endsWith(".zip")) {
+
+ Attachment attachment = null;
+ List attachList = doc.getAttachmentList();
+ Iterator itr = attachList.iterator();
+
+ while (itr.hasNext()) {
+ attachment = (Attachment)itr.next();
+ if (attachment.getFilename().equals(attachmentName)) {
+ break;
+ }
+ }
+
+ zipList = new ArrayList();
+ byte[] stream;
+
+ try {
+ stream = attachment.getContent();
+ ByteArrayInputStream bais = new ByteArrayInputStream(stream);
+ ZipInputStream zis = new ZipInputStream(bais);
+ ZipEntry entry;
+
+ while ((entry = zis.getNextEntry()) != null) {
+ zipList.add(entry.getName());
+ }
+
+ } catch (XWikiException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return zipList;
+ }
+
+ String getFileLink(Document doc, String attachmentName, String fileName, XWikiContext context) {
+
+ String link = null;
+
+ if (attachmentName.endsWith(".zip")) {
+ Attachment attachment = null;
+ List attachList = doc.getAttachmentList();
+ Iterator itr = attachList.iterator();
+
+ while (itr.hasNext()) {
+ attachment = (Attachment) itr.next();
+ if (attachment.getFilename().equals(attachmentName)) {
+ break;
+ }
+ }
+
+ byte[] stream;
+
+ try {
+
+ stream = attachment.getContent();
+ ByteArrayInputStream bais = new ByteArrayInputStream(stream);
+ ZipInputStream zis = new ZipInputStream(bais);
+ ZipEntry entry;
+ String fileCaption = null;
+
+ while ((entry = zis.getNextEntry()) != null) {
+ String entryName = entry.getName();
+ fileCaption = entryName.substring(entryName.lastIndexOf("/") + 1, entryName.length());
+ if (fileCaption.equalsIgnoreCase(fileName)) {
+ break;
+ }
+ }
+ link = doc.getURL("download")+"/"+fileCaption;
+ //link = link.substring(0,link.indexOf("download/"))+fileCaption;
+ } catch (XWikiException e) {
+ //e.printStackTrace();
+ } catch (IOException e) {
+ //e.printStackTrace();
+ }
+ }
+ return link;
+ }
+}
Property changes on: xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java
___________________________________________________________________
Name: svn:executable
+ *
Added: xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java 2006-10-20 01:06:04 UTC (rev 1411)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java 2006-10-20 01:28:58 UTC (rev 1412)
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2006, XpertNet SARL, and individual contributors as indicated
+ * by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author ravenees
+ */
+package com.xpn.xwiki.plugin.zipexplorer;
+
+import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.api.Api;
+import com.xpn.xwiki.api.Document;
+import com.xpn.xwiki.doc.XWikiAttachment;
+
+import java.util.List;
+
+
+public class ZipExplorerPluginAPI extends Api {
+
+ ZipExplorerPlugin plugin;
+
+ public ZipExplorerPluginAPI(ZipExplorerPlugin plugin, XWikiContext context) {
+ super(context);
+ this.plugin = plugin;
+ }
+
+ public XWikiAttachment downloadAttachment(XWikiAttachment attachment) {
+ return this.plugin.downloadAttachment(attachment, context);
+ }
+
+ public List getFileList(Document doc, String attachmentName) {
+ return this.plugin.getFileList(doc, attachmentName, context);
+ }
+
+ public String getFileLink(Document doc, String attachmentName, String fileName) {
+ return this.plugin.getFileLink(doc, attachmentName, fileName, context);
+ }
+}
Property changes on: xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java
___________________________________________________________________
Name: svn:executable
+ *
Added: 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-10-20 01:06:04 UTC (rev 1411)
+++ xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java 2006-10-20 01:28:58 UTC (rev 1412)
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2006, XpertNet SARL, and individual contributors as indicated
+ * by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author ravenees
+ */
+package com.xpn.xwiki.test.plugin.zipexplorer;
+
+import com.xpn.xwiki.XWikiException;
+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.test.HibernateTestCase;
+import com.xpn.xwiki.web.XWikiServletURLFactory;
+
+import java.io.ByteArrayOutputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+public class ZipExplorerTest extends HibernateTestCase {
+
+ String zipfilename = "test.zip";
+ String author = "XWiki.LudovicDubost";
+ String parent = "Main.WebHome";
+ String content = "Hello 1\n" + "<Hello> 2\n" + "Hello 3";
+
+ String filename1 = "test.doc";
+ String filename2 = "test.txt";
+
+ XWikiAttachment attachment;
+ XWikiDocument doc;
+ Document maindoc;
+
+ List myExpectedList;
+
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ getXWiki().getPluginManager().addPlugin("zipexplorer", "com.xpn.xwiki.plugin.zipexplorer.ZipExplorerPlugin", getXWikiContext());
+ getXWikiContext().setURLFactory(new XWikiServletURLFactory(new URL("http://www.xwiki.org/"), "xwiki/", "bin/"));
+ }
+
+ public void init() {
+ doc = new XWikiDocument("Main", "ZipExplorerTest");
+ doc.setContent(content);
+ doc.setAuthor(author);
+ doc.setParent(parent);
+
+
+ myExpectedList = new ArrayList();
+ myExpectedList.add(filename1);
+ myExpectedList.add(filename2);
+
+
+ try {
+
+ attachment = new XWikiAttachment(doc, zipfilename);
+
+ String attachcontent1 = "Hi i'm here";
+ byte[] stream = attachcontent1.getBytes();
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ZipOutputStream zos = new ZipOutputStream(baos);
+
+ /* Each is the entry to the zip file */
+
+ ZipEntry zipe = new ZipEntry(filename1);
+ zos.putNextEntry(zipe);
+ zos.write(stream, 0, stream.length);
+
+ zipe = new ZipEntry(filename2);
+ zos.putNextEntry(zipe);
+ zos.write(stream, 0, stream.length);
+
+ zos.closeEntry();
+
+ attachment.setContent(baos.toByteArray());
+ doc.saveAttachmentContent(attachment, context);
+
+ doc.getAttachmentList().add(attachment);
+ xwiki.saveDocument(doc, context);
+ maindoc = new Document(doc, context);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void testZipExplorerTest() throws XWikiException {
+ init();
+ ZipExplorerPluginAPI zpa = (ZipExplorerPluginAPI) xwiki.getPluginApi("zipexplorer", context);
+ compareList(myExpectedList, zpa.getFileList(maindoc, attachment.getFilename()));
+ assertEquals("/xwiki/bin/download/Main/ZipExplorerTest/" + filename1,zpa.getFileLink(maindoc, attachment.getFilename(), filename1));
+ }
+
+ public void compareList(List myExpectedList, List myResult){
+ assertEquals(myExpectedList.size(), myResult.size());
+ Iterator it = myResult.iterator();
+ while(it.hasNext()){
+ Object value = it.next();
+ assertTrue(myExpectedList.contains(value));
+ }
+ }
+}
Property changes on: xwiki/trunk/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: xwiki/trunk/xwiki.ipr
===================================================================
--- xwiki/trunk/xwiki.ipr 2006-10-20 01:06:04 UTC (rev 1411)
+++ xwiki/trunk/xwiki.ipr 2006-10-20 01:28:58 UTC (rev 1412)
@@ -577,6 +577,7 @@
<root url="jar://$PROJECT_DIR$/lib/oscache-2.3.2-xwiki.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jgroups-2.2.9.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/concurrent.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/ehcache-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
Modified: xwiki/trunk/xwiki.iws
===================================================================
--- xwiki/trunk/xwiki.iws 2006-10-20 01:06:04 UTC (rev 1411)
+++ xwiki/trunk/xwiki.iws 2006-10-20 01:28:58 UTC (rev 1412)
@@ -31,13 +31,7 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/web/templates/macros.vm" afterPath="$PROJECT_DIR$/src/main/web/templates/macros.vm" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/xwiki.ipr" afterPath="$PROJECT_DIR$/xwiki.ipr" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/xwikibase.iml" afterPath="$PROJECT_DIR$/xwikibase.iml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/XWiki.java" afterPath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/XWiki.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/xwiki.iws" afterPath="$PROJECT_DIR$/xwiki.iws" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/api/Document.java" afterPath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/api/Document.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/api/XWiki.java" afterPath="$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/api/XWiki.java" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -688,21 +682,52 @@
<file leaf-file-name="XWikiBatcherStats.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/store/XWikiBatcherStats.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="37" column="13" selection-start="1277" selection-end="1277" vertical-scroll-proportion="-2.253012">
+ <state line="37" column="13" selection-start="1277" selection-end="1277" vertical-scroll-proportion="-1.564257">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="XWiki.java" pinned="false" current="true" current-in-tab="true">
+ <file leaf-file-name="XWiki.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/XWiki.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="4205" column="18" selection-start="166547" selection-end="166564" vertical-scroll-proportion="0.6583851">
+ <state line="4205" column="18" selection-start="166547" selection-end="166564" vertical-scroll-proportion="1.36853">
<folding />
</state>
</provider>
</entry>
</file>
+ <file leaf-file-name="ZipExplorerTest.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="39" column="13" selection-start="1488" selection-end="1488" vertical-scroll-proportion="-1.0559006">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ZipExplorerPluginAPI.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="29" column="0" selection-start="1118" selection-end="1118" vertical-scroll-proportion="0.27108434">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ZipExplorerPlugin.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="33" column="45" selection-start="1393" selection-end="1393" vertical-scroll-proportion="0.4037267">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
</leaf>
</component>
<component name="FindManager">
@@ -904,9 +929,13 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -922,17 +951,21 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src/main" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -948,21 +981,33 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src/main" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src/main/java" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki/plugin" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki/plugin/zipexplorer" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiClass:ZipExplorerTest" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ClassTreeNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -970,9 +1015,33 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="xwiki" />
+ <option name="myItemId" value="xwikibase" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/com/xpn/xwiki/plugin" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -980,13 +1049,17 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="xwiki" />
+ <option name="myItemId" value="xwikibase" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/main/web" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -994,18 +1067,54 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="xwiki" />
+ <option name="myItemId" value="xwikibase" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/main/web" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/main/web/templates" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="xwiki.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="xwikibase" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/core/src/main" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="xwiki.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="xwiki" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -1092,24 +1201,30 @@
<option name="referencePos" value="0" />
</component>
<component name="RestoreUpdateTree" />
- <component name="RunManager" selected="Tomcat Server.Tomcat 5.0 2">
- <tempConfiguration default="false" name="XWikiDocumentTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
- <pattern value="com.xpn.xwiki.test.*" />
+ <component name="RunManager" selected="JUnit.ZipExplorerTest">
+ <tempConfiguration default="false" name="ZipExplorerTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+ <pattern value="com.xpn.xwiki.test.plugin.zipexplorer.*" />
<module name="xwiki" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" value="com.xpn.xwiki.test" />
- <option name="MAIN_CLASS_NAME" value="com.xpn.xwiki.test.XWikiDocumentTest" />
- <option name="METHOD_NAME" />
+ <option name="ALTERNATIVE_JRE_PATH" value="" />
+ <option name="PACKAGE_NAME" value="com.xpn.xwiki.plugin.zipexplorer" />
+ <option name="MAIN_CLASS_NAME" value="com.xpn.xwiki.test.plugin.zipexplorer.ZipExplorerTest" />
+ <option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="VM_PARAMETERS" value="" />
+ <option name="PARAMETERS" value="" />
+ <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/build/xwikibase_test" />
<option name="ADDITIONAL_CLASS_PATH" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="wholeProject" />
</option>
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="56417" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="true" />
+ </RunnerSettings>
<RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="Make" value="true" />
@@ -2612,7 +2727,7 @@
</component>
<component name="ToolWindowManager">
<frame x="0" y="25" width="1400" height="1000" extended-state="1" />
- <editor active="true" />
+ <editor active="false" />
<layout>
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
@@ -2625,7 +2740,7 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="10" />
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3409091" order="18" />
<window_info id="Checkstyle" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32985073" order="0" x="-87" y="100" width="469" height="491" />
+ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32985073" order="0" x="-87" y="100" width="469" height="491" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3458283" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.22168285" order="1" />
<window_info id="Dependency Cycles" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="-1" />
@@ -2636,7 +2751,7 @@
<window_info id="Metrics" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="-1" />
<window_info id="Gantt" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="-1" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="14" />
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2394196" order="2" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.44610092" order="2" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.15110683" order="2" />
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="10" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.40038684" order="0" />
@@ -2772,9 +2887,9 @@
<component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
<option name="myLastEditedConfigurable" />
</component>
- <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.36125,0.5" version="1">
+ <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.36125" version="1">
<option name="myPlainMode" value="false" />
- <option name="myLastEditedConfigurable" value="xwikibase" />
+ <option name="myLastEditedConfigurable" value="Hibernate" />
</component>
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
<option name="myLastEditedConfigurable" />
@@ -2789,34 +2904,6 @@
<option name="multicastPort" value="3274" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/src/test/java/com/xpn/xwiki/test/ClassesTest.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="240" column="43" selection-start="11420" selection-end="11420" vertical-scroll-proportion="0.7549505">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/objects/classes/PropertyClass.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="368" column="34" selection-start="12279" selection-end="12279" vertical-scroll-proportion="0.8292079">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/com/xpn/xwiki/test/XWikiTest.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="139" column="17" selection-start="7760" selection-end="7760" vertical-scroll-proportion="0.018564356">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="2484" column="0" selection-start="89037" selection-end="89037" vertical-scroll-proportion="0.018564356">
- <folding />
- </state>
- </provider>
- </entry>
<entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/store/XWikiCacheStore.java">
<provider selected="true" editor-type-id="text-editor">
<state line="256" column="0" selection-start="10403" selection-end="10403" vertical-scroll-proportion="0.018564356">
@@ -2886,18 +2973,50 @@
</entry>
<entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/store/XWikiBatcherStats.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="37" column="13" selection-start="1277" selection-end="1277" vertical-scroll-proportion="-2.253012">
+ <state line="37" column="13" selection-start="1277" selection-end="1277" vertical-scroll-proportion="-1.564257">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/XWiki.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="4205" column="18" selection-start="166547" selection-end="166564" vertical-scroll-proportion="0.6583851">
+ <state line="4205" column="18" selection-start="166547" selection-end="166564" vertical-scroll-proportion="1.36853">
<folding />
</state>
</provider>
</entry>
+ <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPluginAPI.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="29" column="0" selection-start="1118" selection-end="1118" vertical-scroll-proportion="0.27108434">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/core/src/main/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerPlugin.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="33" column="45" selection-start="1393" selection-end="1393" vertical-scroll-proportion="0.4037267">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/lib/hibernate-3.0.3.jar!/org/hibernate/cfg/SettingsFactory.class">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="28" column="0" selection-start="1636" selection-end="1636" vertical-scroll-proportion="0.8064516">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/test/java/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="39" column="13" selection-start="1488" selection-end="1488" vertical-scroll-proportion="-1.0559006">
+ <folding />
+ </state>
+ </provider>
+ </entry>
</component>
</project>
More information about the Xwiki-notifications
mailing list