Author: sdumitriu
Date: 2007-12-28 17:28:07 +0100 (Fri, 28 Dec 2007)
New Revision: 6509

Modified:
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
Log:
[cleanup] Apply codestyle


Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
      2007-12-28 16:21:59 UTC (rev 6508)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/doc/XWikiDocumentArchive.java
      2007-12-28 16:28:07 UTC (rev 6509)
@@ -31,8 +31,6 @@
 import java.util.TreeMap;
 import java.util.TreeSet;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.suigeneris.jrcs.rcs.Version;
 import org.suigeneris.jrcs.util.ToString;
 
@@ -43,49 +41,56 @@
 import com.xpn.xwiki.doc.rcs.XWikiRCSNodeContent;
 import com.xpn.xwiki.doc.rcs.XWikiRCSNodeId;
 import com.xpn.xwiki.doc.rcs.XWikiRCSNodeInfo;
-import com.xpn.xwiki.plugin.packaging.PackagePlugin;
 
 /**
- * Contains document history.
- * Allows to load any version of document.
- * @version $Id: $ 
+ * Contains document history. Allows to load any version of document.
+ * 
+ * @version $Id: $
  */
 public class XWikiDocumentArchive
 {
-    /** logger. */
-    private static final Log LOG = 
LogFactory.getLog(XWikiDocumentArchive.class);
-
     /** =docId. */
     private long id;
+
     /** SortedMap from Version to XWikiRCSNodeInfo. */
-    private SortedMap  versionToNode = new TreeMap();
-    /** SortedSet of Version - versions which has full document, not patch.
-     *  Latest version is always full. */
-    private SortedSet  fullVersions     = new TreeSet();
-    
+    private SortedMap versionToNode = new TreeMap();
+
+    /**
+     * SortedSet of Version - versions which has full document, not patch. 
Latest version is always
+     * full.
+     */
+    private SortedSet fullVersions = new TreeSet();
+
     // store-specific information
     /** Set of [EMAIL PROTECTED] XWikiRCSNodeInfo} which need to delete. */
     private Set deletedNodes = new TreeSet();
+
     /** Set of [EMAIL PROTECTED] XWikiRCSNodeInfo} which need to saveOrUpdate. 
*/
     private Set updatedNodeInfos = new TreeSet();
+
     /** Set of [EMAIL PROTECTED] XWikiRCSNodeContent} which need to update. */
     private Set updatedNodeContents = new TreeSet();
-    
+
     /** @param id = [EMAIL PROTECTED] XWikiDocument#getId()} */
-    public XWikiDocumentArchive(long id) {
+    public XWikiDocumentArchive(long id)
+    {
         this();
         setId(id);
     }
+
     /** default constructor. */
-    public XWikiDocumentArchive() { }
-    
+    public XWikiDocumentArchive()
+    {
+    }
+
     // helper methods
     /**
      * @param cur - current version
      * @param isMinor - is modification is minor
      * @return next version
      */
-    protected Version createNextVersion(Version cur, boolean isMinor) {
+    protected Version createNextVersion(Version cur, boolean isMinor)
+    {
         Version result;
         if (cur == null) {
             result = new Version(1, 1);
@@ -96,8 +101,10 @@
         }
         return result;
     }
+
     /** @param node - node added to versionToNode and fullNodes */
-    protected void updateNode(XWikiRCSNodeInfo node) {
+    protected void updateNode(XWikiRCSNodeInfo node)
+    {
         Version ver = node.getId().getVersion();
         versionToNode.put(ver, node);
         if (!node.isDiff()) {
@@ -106,11 +113,13 @@
             fullVersions.remove(ver);
         }
     }
+
     /**
      * Make a patch. It is store only modified nodes(latest). New nodes need 
be saved after.
-     * @param newnode    - new node information
-     * @param doc        - document for that patch created
-     * @param context    - used for loading node contents and generating xml
+     * 
+     * @param newnode - new node information
+     * @param doc - document for that patch created
+     * @param context - used for loading node contents and generating xml
      * @return node content for newnode
      * @throws XWikiException if exception while loading content
      */
@@ -123,11 +132,12 @@
         XWikiRCSNodeInfo latestNode = getLatestNode();
         if (latestNode != null) {
             int nodesCount = getNodes().size();
-            int nodesPerFull = context.getWiki() == null ? 5 : 
Integer.parseInt(
-                
context.getWiki().getConfig().getProperty("xwiki.store.rcs.nodesPerFull", "5"));
+            int nodesPerFull =
+                context.getWiki() == null ? 5 : 
Integer.parseInt(context.getWiki().getConfig()
+                    .getProperty("xwiki.store.rcs.nodesPerFull", "5"));
             if (nodesPerFull <= 0 || (nodesCount % nodesPerFull) != 0) {
                 XWikiRCSNodeContent latestContent = 
latestNode.getContent(context);
-                latestContent.getPatch().setDiffVersion(doc, 
+                latestContent.getPatch().setDiffVersion(doc,
                     latestContent.getPatch().getContent(), context);
                 latestNode.setContent(latestContent);
                 updateNode(latestNode);
@@ -136,30 +146,40 @@
         }
         return result;
     }
-    /** @return  [EMAIL PROTECTED] XWikiDocument#getId()} - primary key */
-    public long getId() {
+
+    /** @return [EMAIL PROTECTED] XWikiDocument#getId()} - primary key */
+    public long getId()
+    {
         return id;
     }
+
     /** @param id = [EMAIL PROTECTED] XWikiDocument#getId()} */
-    public void setId(long id) {
+    public void setId(long id)
+    {
         this.id = id;
     }
+
     /** @return collection of XWikiRCSNodeInfo order by version desc */
-    public Collection getNodes() {
+    public Collection getNodes()
+    {
         return versionToNode.values();
     }
-    /** 
+
+    /**
      * @return collection of XWikiRCSNodeInfo where vfrom>=version>=vto order 
by version desc
      * @param vfrom - start version
-     * @param vto   - end version
+     * @param vto - end version
      */
-    public Collection getNodes(Version vfrom, Version vto) {
+    public Collection getNodes(Version vfrom, Version vto)
+    {
         int[] ito = vto.getNumbers();
         ito[1]--;
         return versionToNode.subMap(vfrom, new Version(ito)).values();
     }
+
     /** @param versions - collection of XWikiRCSNodeInfo */
-    public void setNodes(Collection versions) {
+    public void setNodes(Collection versions)
+    {
         resetArchive();
         for (Iterator it = versions.iterator(); it.hasNext();) {
             updateNode((XWikiRCSNodeInfo) it.next());
@@ -170,46 +190,51 @@
             updateNode(getLatestNode());
         }
     }
+
     /**
      * @param context - used for load nodes content
-     * @return serialization of class
-     * used in [EMAIL PROTECTED] PackagePlugin}.
-     * @throws XWikiException if any error 
+     * @return serialization of class used in [EMAIL PROTECTED] 
com.xpn.xwiki.plugin.packaging.PackagePlugin}.
+     * @throws XWikiException if any error
      */
-    public String getArchive(XWikiContext context) throws XWikiException {
-        XWikiRCSArchive archive = new XWikiRCSArchive(getNodes(), context);    
    
+    public String getArchive(XWikiContext context) throws XWikiException
+    {
+        XWikiRCSArchive archive = new XWikiRCSArchive(getNodes(), context);
         return archive.toString();
     }
+
     /**
-     * Deserialize class.
-     * Used in [EMAIL PROTECTED] PackagePlugin}.
-     * @param text - archive in JRCS format 
+     * Deserialize class. Used in [EMAIL PROTECTED] 
com.xpn.xwiki.plugin.packaging.PackagePlugin}.
+     * 
+     * @param text - archive in JRCS format
      * @throws XWikiException if parse error
      */
-    public void setArchive(String text) throws XWikiException {
+    public void setArchive(String text) throws XWikiException
+    {
         try {
             XWikiRCSArchive archive = new XWikiRCSArchive(text);
             resetArchive();
             Collection nodes = archive.getNodes(getId());
             for (Iterator it = nodes.iterator(); it.hasNext();) {
-                XWikiRCSNodeInfo    nodeInfo    = (XWikiRCSNodeInfo) it.next();
+                XWikiRCSNodeInfo nodeInfo = (XWikiRCSNodeInfo) it.next();
                 XWikiRCSNodeContent nodeContent = (XWikiRCSNodeContent) 
it.next();
-
                 updateNode(nodeInfo);
                 updatedNodeInfos.add(nodeInfo);
                 updatedNodeContents.add(nodeContent);
             }
         } catch (Exception e) {
-            throw new XWikiException(XWikiException.MODULE_XWIKI_DIFF, 
-                XWikiException.ERROR_XWIKI_DIFF_CONTENT_ERROR, 
-                "Exception while constructing document archive", e);
+            throw new XWikiException(XWikiException.MODULE_XWIKI_DIFF,
+                XWikiException.ERROR_XWIKI_DIFF_CONTENT_ERROR,
+                "Exception while constructing document archive",
+                e);
         }
     }
+
     /**
      * Update history with new document version.
-     * @param doc     - document for this version
-     * @param author  - author of version 
-     * @param date    - date of version
+     * 
+     * @param doc - document for this version
+     * @param author - author of version
+     * @param date - date of version
      * @param comment - version comment
      * @param version - preferably document version in history
      * @param context - used for loading nodes content
@@ -228,20 +253,22 @@
         newNode.setComment(comment);
         newNode.setDate(date);
         XWikiRCSNodeContent newContent = makePatch(newNode, doc, context);
-        
+
         updateNode(newNode);
         updatedNodeInfos.add(newNode);
         updatedNodeContents.add(newContent);
     }
+
     /**
      * Remove document versions from vfrom to vto, inclusive.
+     * 
      * @param context - used for loading nodes content
-     * @param vfrom   - start version
-     * @param vto     - end version
-     * @throws XWikiException if any error 
+     * @param vfrom - start version
+     * @param vto - end version
+     * @throws XWikiException if any error
      */
     public void removeVersions(Version vfrom, Version vto, XWikiContext 
context)
-        throws XWikiException 
+        throws XWikiException
     {
         Version vfrom0 = vfrom;
         Version vto0 = vto;
@@ -272,7 +299,7 @@
             // the deleted versions.
             String xmlfrom1 = getVersionXml(vfrom1, context);
             String xmlto1 = getVersionXml(vto1, context);
-            XWikiRCSNodeInfo nito1    = getNode(vto1);
+            XWikiRCSNodeInfo nito1 = getNode(vto1);
             XWikiRCSNodeContent ncto1 = nito1.getContent(context);
             ncto1.getPatch().setDiffVersion(xmlfrom1, xmlto1, "");
             nito1.setContent(ncto1);
@@ -287,6 +314,7 @@
             it.remove();
         }
     }
+
     /**
      * @return selected version of document, null if version is not found.
      * @param version - which version to load
@@ -298,7 +326,7 @@
     {
         XWikiRCSNodeInfo nodeInfo = getNode(version);
         if (nodeInfo == null) {
-            return null;            
+            return null;
         }
         try {
             String content = getVersionXml(version, context);
@@ -316,11 +344,24 @@
             return doc;
         } catch (Exception e) {
             Object[] args = {version.toString()};
-            throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, 
+            throw new XWikiException(XWikiException.MODULE_XWIKI_STORE,
                 XWikiException.ERROR_XWIKI_STORE_RCS_READING_REVISIONS,
-                    "Exception while reading document version {1}", e, args);
+                "Exception while reading document version {1}",
+                e,
+                args);
         }
     }
+
+    /**
+     * Return the XML corresponding to a version. If the version node contains 
just a diff, then
+     * restore the complete XML by applying all patches from the nearest full 
version to the
+     * requested version.
+     * 
+     * @param version The version to retrieve.
+     * @param context The [EMAIL PROTECTED] com.xpn.xwiki.XWikiContext 
context}.
+     * @return The XML corresponding to the version.
+     * @throws XWikiException If any exception occured.
+     */
     public String getVersionXml(Version version, XWikiContext context) throws 
XWikiException
     {
         Version nearestFullVersion = getNearestFullVersion(version);
@@ -334,6 +375,7 @@
 
         return ToString.arrayToString(origText.toArray());
     }
+
     /**
      * @return [EMAIL PROTECTED] XWikiRCSNodeInfo} by version. null if none.
      * @param version which version to get
@@ -342,29 +384,36 @@
     {
         return version == null ? null : (XWikiRCSNodeInfo) 
versionToNode.get(version);
     }
+
     /** @return latest version in history for document. null if none. */
     public Version getLatestVersion()
     {
         return versionToNode.size() == 0 ? null : (Version) 
versionToNode.firstKey();
     }
+
     /** @return latest node in history for document. null if none. */
-    public XWikiRCSNodeInfo getLatestNode() {
+    public XWikiRCSNodeInfo getLatestNode()
+    {
         return getNode(getLatestVersion());
     }
-    /** 
+
+    /**
      * @return next version in history. null if none
      * @param ver - current version
-     */    
-    public Version getNextVersion(Version ver) {
+     */
+    public Version getNextVersion(Version ver)
+    {
         // headMap is exclusive
         SortedMap headmap = versionToNode.headMap(ver);
         return (headmap.size() == 0) ? null : (Version) headmap.lastKey();
     }
+
     /**
      * @return previous version in history. null if none
      * @param ver - current version
      */
-    public Version getPrevVersion(Version ver) {
+    public Version getPrevVersion(Version ver)
+    {
         // tailMap is inclusive
         SortedMap tailmap = versionToNode.tailMap(ver);
         if (tailmap.size() <= 1) {
@@ -374,6 +423,7 @@
         it.next();
         return (Version) it.next();
     }
+
     /**
      * @param ver - for what version find nearest
      * @return nearest version which contain full information (not patch)
@@ -384,8 +434,9 @@
             return ver;
         }
         SortedSet headSet = fullVersions.headSet(ver);
-        return (Version) ((headSet.size() == 0) ? null : headSet.last());      
  
+        return (Version) ((headSet.size() == 0) ? null : headSet.last());
     }
+
     /**
      * @return List of [EMAIL PROTECTED] XWikiRCSNodeContent} where 
vfrom<=version<=vto order by version
      * @param vfrom - start version
@@ -404,6 +455,7 @@
         }
         return result;
     }
+
     /** reset history. history becomes empty. */
     public void resetArchive()
     {
@@ -413,21 +465,25 @@
         updatedNodeInfos.clear();
         updatedNodeContents.clear();
     }
-    /** @return mutable Set of [EMAIL PROTECTED] XWikiRCSNodeInfo} which are 
need for delete  */
+
+    /** @return mutable Set of [EMAIL PROTECTED] XWikiRCSNodeInfo} which are 
need for delete */
     public Set getDeletedNodeInfo()
     {
         return deletedNodes;
     }
+
     /** @return mutable Set of [EMAIL PROTECTED] XWikiRCSNodeInfo} which are 
need for saveOrUpdate */
     public Set getUpdatedNodeInfos()
     {
-        return updatedNodeInfos; 
+        return updatedNodeInfos;
     }
+
     /** @return mutable Set of [EMAIL PROTECTED] XWikiRCSNodeContent} which 
are need for update */
     public Set getUpdatedNodeContents()
     {
-        return updatedNodeContents; 
+        return updatedNodeContents;
     }
+
     /**
      * @return full copy of this archive with specified docId
      * @param docId - new [EMAIL PROTECTED] #getId()}

_______________________________________________
notifications mailing list
notifications@xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to