r1125 - in xwiki/trunk/src/main/java/com/xpn/xwiki: api doc

Ludovic Dubost ludovic at users.forge.objectweb.org
Wed Aug 9 02:19:06 CEST 2006


Author: ludovic
Date: 2006-08-09 02:19:03 +0200 (Wed, 09 Aug 2006)
New Revision: 1125

Modified:
   xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
   xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
Log:
Changed way to handle Archives as it would break reading and saving an XWikiDocument using fromXML. It would loose the version archive file.
Now archives are handled using SoftReferences which allow the garbage collector to discards them but still have them for saving. The reference to the archive is saved in the XWikiContext object to make sure it is not discarded during a request.

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java	2006-08-08 22:25:40 UTC (rev 1124)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/api/Document.java	2006-08-09 00:19:03 UTC (rev 1125)
@@ -197,7 +197,7 @@
     }
 
     public String getArchive() throws XWikiException {
-        return doc.getDocumentArchive(context).getArchiveAsString();
+        return doc.getDocumentArchive(context).getArchive();
     }
 
     public XWikiDocumentArchive getDocumentArchive() throws XWikiException {

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java	2006-08-08 22:25:40 UTC (rev 1124)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java	2006-08-09 00:19:03 UTC (rev 1125)
@@ -592,7 +592,7 @@
 
     public void setDocumentArchive(String sarch) throws XWikiException {
         XWikiDocumentArchive xda = new XWikiDocumentArchive(getId());
-        xda.setArchiveFromString(sarch);
+        xda.setArchive(sarch);
         setDocumentArchive(xda);
     }
 
@@ -1525,7 +1525,7 @@
         if (bWithVersions) {
             el = new DOMElement("versions");
             try {
-                el.addText(getDocumentArchive(context).getArchiveAsString());
+                el.addText(getDocumentArchive(context).getArchive());
             } catch (XWikiException e) {
                 return null;
             }

Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java	2006-08-08 22:25:40 UTC (rev 1124)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java	2006-08-09 00:19:03 UTC (rev 1125)
@@ -5,7 +5,6 @@
 import org.apache.tools.ant.filters.StringInputStream;
 import com.xpn.xwiki.XWikiException;
 import org.suigeneris.jrcs.rcs.Archive;
-import org.suigeneris.jrcs.rcs.Version;
 import org.suigeneris.jrcs.util.ToString;
 
 public class XWikiDocumentArchive {
@@ -37,7 +36,7 @@
         this.archive = archive;
     }
 
-    public String getArchiveAsString() throws XWikiException {
+    public String getArchive() throws XWikiException {
         if (archive == null)
             return "";
         else {
@@ -47,7 +46,7 @@
         }
     }
 
-    public void setArchiveFromString(String text) throws XWikiException {
+    public void setArchive(String text) throws XWikiException {
         try {
             if ((text!=null)&&(!text.trim().equals(""))) {
                 StringInputStream is = new StringInputStream(text);
@@ -99,7 +98,7 @@
             return false;
 
         try {
-            if (!getArchiveAsString().equals(doc.getArchiveAsString()))
+            if (!getArchive().equals(doc.getArchive()))
                 return false;
         } catch (XWikiException e) {
             return false;





More information about the Xwiki-notifications mailing list