r1696 - in xwiki/trunk: core/src/main/java/com/xpn/xwiki/doc core/src/main/java/com/xpn/xwiki/plugin/lucene tests/java/com/xpn/xwiki/test web/standard/src/main/webapp/wiki_editor/plugins web/standard/src/main/webapp/wiki_editor_2/plugins
Ludovic Dubost
ludovic at users.forge.objectweb.org
Thu Dec 7 17:08:28 CET 2006
Author: ludovic
Date: 2006-12-07 17:08:27 +0100 (Thu, 07 Dec 2006)
New Revision: 1696
Modified:
xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java
xwiki/trunk/tests/java/com/xpn/xwiki/test/XWikiTest.java
xwiki/trunk/web/standard/src/main/webapp/wiki_editor/plugins/core.js
xwiki/trunk/web/standard/src/main/webapp/wiki_editor_2/plugins/core.js
Log:
Added tests for copyDocument
fix null pointer in lucene object indexing
fix null pointer in clone
fix euro characters in wysiwyg editor
(sorry no jira IDs)
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-12-07 12:27:34 UTC (rev 1695)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-12-07 16:08:27 UTC (rev 1696)
@@ -1458,8 +1458,10 @@
XWikiAttachment attachment = (XWikiAttachment) attit.next();
XWikiAttachment newattachment = (XWikiAttachment) attachment.clone();
newattachment.setDoc(this);
- newattachment.getAttachment_archive().setAttachment(newattachment);
- newattachment.getAttachment_content().setContentDirty(true);
+ if (newattachment.getAttachment_archive()!=null)
+ newattachment.getAttachment_archive().setAttachment(newattachment);
+ if (newattachment.getAttachment_content()!=null)
+ newattachment.getAttachment_content().setContentDirty(true);
getAttachmentList().add(newattachment);
}
}
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java 2006-12-07 12:27:34 UTC (rev 1695)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/plugin/lucene/ObjectData.java 2006-12-07 16:08:27 UTC (rev 1696)
@@ -133,12 +133,14 @@
while (itObj.hasNext()) {
baseObject = (BaseObject) itObj.next();
- Object[] propertyNames = baseObject.getPropertyNames();
- for (int i = 0; i < propertyNames.length; i++) {
- try {
- indexProperty(luceneDoc, baseObject, (String) propertyNames[i], context);
- } catch (Exception e) {
- LOG.error("error extracting fulltext for document " + this, e);
+ if (baseObject!=null) {
+ Object[] propertyNames = baseObject.getPropertyNames();
+ for (int i = 0; i < propertyNames.length; i++) {
+ try {
+ indexProperty(luceneDoc, baseObject, (String) propertyNames[i], context);
+ } catch (Exception e) {
+ LOG.error("error extracting fulltext for document " + this, e);
+ }
}
}
}
Modified: xwiki/trunk/tests/java/com/xpn/xwiki/test/XWikiTest.java
===================================================================
--- xwiki/trunk/tests/java/com/xpn/xwiki/test/XWikiTest.java 2006-12-07 12:27:34 UTC (rev 1695)
+++ xwiki/trunk/tests/java/com/xpn/xwiki/test/XWikiTest.java 2006-12-07 16:08:27 UTC (rev 1696)
@@ -30,6 +30,7 @@
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import org.hibernate.HibernateException;
@@ -43,6 +44,7 @@
import com.xpn.xwiki.objects.BaseObject;
import com.xpn.xwiki.objects.classes.BaseClass;
import com.xpn.xwiki.render.XWikiRenderingEngine;
+import com.xpn.xwiki.render.XWikiRenderer;
import com.xpn.xwiki.render.filter.XWikiLinkFilter;
import com.xpn.xwiki.web.XWikiServletURLFactory;
@@ -398,4 +400,66 @@
text = "HelloJohnWayne";
assertEquals("Replacement failed" + text, "Hello John Wayne", XWikiLinkFilter.convertWikiWords(text));
}
+
+ public void testVirtualCopyDocument() throws XWikiException, HibernateException {
+ this.config.put("xwiki.virtual", "1");
+ Utils.createDoc(getXWiki().getHibernateStore(), "XWiki", "XWikiServerXwikitest2", getXWikiContext());
+ Utils.setStringValue("XWiki.XWikiServerXwikitest2", "XWiki.XWikiServerClass", "server", "127.0.0.1", getXWikiContext());
+
+ getXWikiContext().setDatabase("xwikitest2");
+ // TODO: Split into several tests if you need a new clean up.
+ StoreHibernateTest.cleanUp(getXWiki().getHibernateStore(), false, true, getXWikiContext());
+ getXWikiContext().setDatabase("xwikitest");
+ Utils.createDoc(getXWiki().getHibernateStore(), "Main", "CopyTest", getXWikiContext());
+ XWikiDocument sourcedoc = getXWiki().getDocument("Main.CopyTest", getXWikiContext());
+
+ getXWiki().copyDocument("Main.CopyTest", "Main.CopyTest","xwikitest", "xwikitest2", "en", true, false, getXWikiContext());
+ getXWiki().flushCache();
+
+ getXWikiContext().setDatabase("xwikitest2");
+ XWikiDocument targetdoc = getXWiki().getDocument("Main.CopyTest", getXWikiContext());
+
+ assertEquals("Content of doc is different", sourcedoc.getContent(), targetdoc.getContent());
+ }
+
+ public void testVirtualCopyDocumentWithAttachment() throws XWikiException, HibernateException, IOException {
+ this.config.put("xwiki.virtual", "1");
+ Utils.createDoc(getXWiki().getHibernateStore(), "XWiki", "XWikiServerXwikitest2", getXWikiContext());
+ Utils.setStringValue("XWiki.XWikiServerXwikitest2", "XWiki.XWikiServerClass", "server", "127.0.0.1", getXWikiContext());
+
+ getXWikiContext().setDatabase("xwikitest2");
+ StoreHibernateTest.cleanUp(getXWiki().getHibernateStore(), false, true, getXWikiContext());
+
+ getXWikiContext().setDatabase("xwikitest");
+ Utils.createDoc(getXWiki().getHibernateStore(), "Main", "CopyTest", getXWikiContext());
+ XWikiDocument sourcedoc = getXWiki().getDocument("Main.CopyTest", getXWikiContext());
+
+ XWikiAttachment attachment1 = new XWikiAttachment(sourcedoc, Utils.afilename);
+ byte[] attachcontent1 = Utils.getDataAsBytes(new File(Utils.filename));
+ attachment1.setContent(attachcontent1);
+ sourcedoc.saveAttachmentContent(attachment1, getXWikiContext());
+ sourcedoc.getAttachmentList().add(attachment1);
+ getXWiki().saveDocument(sourcedoc, getXWikiContext());
+
+ getXWiki().copyDocument("Main.CopyTest", "Main.CopyTest","xwikitest", "xwikitest2", "en", true, false, getXWikiContext());
+
+ getXWiki().flushCache();
+ getXWikiContext().setDatabase("xwikitest2");
+ XWikiDocument targetdoc = getXWiki().getDocument("Main.CopyTest", getXWikiContext());
+
+ assertEquals("Content of doc is different", sourcedoc.getContent(), targetdoc.getContent());
+
+ List attachlist = targetdoc.getAttachmentList();
+ assertEquals("Attachment is not listed", 1, attachlist.size());
+ XWikiAttachment attachment2 = (XWikiAttachment) attachlist.get(0);
+ assertEquals("Attachment name is not correct", Utils.afilename, attachment2.getFilename());
+ assertEquals("Attachment version is not correct", "1.1", attachment2.getVersion());
+ byte[] attachcontent2 = attachment2.getContent(getXWikiContext());
+ assertEquals("Attachment content size is not correct", attachcontent1.length, attachcontent2.length);
+ for (int i=0;i<attachcontent1.length;i++) {
+ assertEquals("Attachment content byte " + i + " is not correct", attachcontent1[i], attachcontent2[i]);
+ }
+
+ }
+
}
Modified: xwiki/trunk/web/standard/src/main/webapp/wiki_editor/plugins/core.js
===================================================================
--- xwiki/trunk/web/standard/src/main/webapp/wiki_editor/plugins/core.js 2006-12-07 12:27:34 UTC (rev 1695)
+++ xwiki/trunk/web/standard/src/main/webapp/wiki_editor/plugins/core.js 2006-12-07 16:08:27 UTC (rev 1696)
@@ -58,10 +58,10 @@
"â|ã|ä|å|æ|ç|" +
"è|é|ê|ë|ì|í|" +
"î|ï|ñ|ò|ó|ô|" +
- "?|õ|ö|ø|ù|ú|" +
+ "|õ|ö|ø|ù|ú|" +
"û|ü|ÿ|" +
// Commercial symbols:
- "?|©|®|¢|?|¥|" +
+ "|©|®|¢||¥|" +
"£|¤|" +
//Other characters
">|<|&|\"";
Modified: xwiki/trunk/web/standard/src/main/webapp/wiki_editor_2/plugins/core.js
===================================================================
--- xwiki/trunk/web/standard/src/main/webapp/wiki_editor_2/plugins/core.js 2006-12-07 12:27:34 UTC (rev 1695)
+++ xwiki/trunk/web/standard/src/main/webapp/wiki_editor_2/plugins/core.js 2006-12-07 16:08:27 UTC (rev 1696)
@@ -59,10 +59,10 @@
"â|ã|ä|å|æ|ç|" +
"è|é|ê|ë|ì|í|" +
"î|ï|ñ|ò|ó|ô|" +
- "?|õ|ö|ø|ù|ú|" +
+ "|õ|ö|ø|ù|ú|" +
"û|ü|ÿ|" +
// Commercial symbols:
- "?|©|®|¢|?|¥|" +
+ "|©|®|¢||¥|" +
"£|¤|" +
//Other characters
">|<|&|\"";
More information about the Xwiki-notifications
mailing list