Author: sdumitriu Date: 2008-01-02 17:59:09 +0100 (Wed, 02 Jan 2008) New Revision: 6598
Added: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/XmlSerializable.java Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/LogicalTime.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Operation.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Originator.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Patch.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchId.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchSet.java xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Position.java Log: XWIKI-1977: Create a patchservice data model Move the common toXml and fromXml methods to a common interface Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/LogicalTime.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/LogicalTime.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/LogicalTime.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -1,13 +1,12 @@ package org.xwiki.platform.patchservice.api; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.xpn.xwiki.XWikiException; - -public interface LogicalTime extends Comparable +/** + * A logical time represents a kind of timestamp that can be used in a p2p environment, where a + * simple host time isn't enough for event ordering. The actual implementation is hidden, as all we + * need to do is compare two logical timestamps. + * + * @version $Id: $ + */ +public interface LogicalTime extends Comparable, XmlSerializable { - Element toXml(Document doc) throws XWikiException; - - void fromXml(Element e) throws XWikiException; } Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Operation.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Operation.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Operation.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -1,8 +1,5 @@ package org.xwiki.platform.patchservice.api; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - import com.xpn.xwiki.XWikiException; import com.xpn.xwiki.doc.XWikiDocument; @@ -32,7 +29,7 @@ * @see RWOperation * @version $Id: $ */ -public interface Operation +public interface Operation extends XmlSerializable { /* Operation type flags */ /** @@ -119,26 +116,6 @@ /* Actions */ /** - * Serialize this operation as a DOM Element that can be inserted in the given DOM Document. - * - * @param doc A DOM Document used for generating a compatible Element. The document is not - * changed, as the constructed Element is just returned, not inserted in the - * document. - * @return The operation exported as a DOM Element. - * @throws XWikiException If the Operation is not well defined. - */ - Element toXml(Document doc) throws XWikiException; - - /** - * Load the operation from an XML. - * - * @param e A DOM Element defining the Operation. - * @throws XWikiException If the provided element is not a valid (or compatible) exported - * Operation. - */ - void fromXml(Element e) throws XWikiException; - - /** * Apply this operation on a document. * * @param doc The document being patched. Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Originator.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Originator.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Originator.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -1,19 +1,10 @@ package org.xwiki.platform.patchservice.api; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.xpn.xwiki.XWikiException; - -public interface Originator +public interface Originator extends XmlSerializable { String getAuthor(); String getHostId(); String getWikiId(); - - Element toXml(Document doc) throws XWikiException; - - void fromXml(Element e) throws XWikiException; } Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Patch.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Patch.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Patch.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -2,13 +2,12 @@ import java.util.List; -import org.w3c.dom.Document; import org.w3c.dom.Element; import com.xpn.xwiki.XWikiException; import com.xpn.xwiki.doc.XWikiDocument; -public interface Patch +public interface Patch extends XmlSerializable { String getSpecVersion(); @@ -33,10 +32,6 @@ // boolean checkSignature(); Element toXml() throws XWikiException; - Element toXml(Document doc) throws XWikiException; - - void fromXml(Element e) throws XWikiException; - /** * Apply this patch on a document. * Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchId.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchId.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchId.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -2,12 +2,7 @@ import java.util.Date; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.xpn.xwiki.XWikiException; - -public interface PatchId +public interface PatchId extends XmlSerializable { String getHostId(); @@ -16,8 +11,4 @@ Date getTime(); String getDocumentId(); - - Element toXml(Document doc) throws XWikiException; - - void fromXml(Element e) throws XWikiException; } Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchSet.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchSet.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/PatchSet.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -2,21 +2,15 @@ import java.util.List; -import org.w3c.dom.Element; - import com.xpn.xwiki.XWikiException; import com.xpn.xwiki.doc.XWikiDocument; -public interface PatchSet +public interface PatchSet extends XmlSerializable { List getVersionRange(); List getPatches(); - Element toXml() throws XWikiException; - - void fromXml(Element e) throws XWikiException; - /** * Apply this patch set on a document. * Modified: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Position.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Position.java 2008-01-02 16:39:44 UTC (rev 6597) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/Position.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -1,11 +1,6 @@ package org.xwiki.platform.patchservice.api; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import com.xpn.xwiki.XWikiException; - -public interface Position +public interface Position extends XmlSerializable { /** * Checks if the position is still valid for the given text. @@ -34,24 +29,4 @@ * valid. */ String getTextAfterPosition(String text); - - /** - * Serialize this position as a DOM Element that can be inserted in the given DOM Document. - * - * @param doc A DOM Document used for generating a compatible Element. The document is not - * changed, as the constructed Element is just returned, not inserted in the - * document. - * @return The operation exported as a DOM Element. - * @throws XWikiException If the Operation is not well defined. - */ - Element toXml(Document doc) throws XWikiException; - - /** - * Load the operation from an XML. - * - * @param e A DOM Element defining the Operation. - * @throws XWikiException If the provided element is not a valid (or compatible) exported - * Operation. - */ - void fromXml(Element e) throws XWikiException; } Added: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/XmlSerializable.java =================================================================== --- xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/XmlSerializable.java (rev 0) +++ xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/XmlSerializable.java 2008-01-02 16:59:09 UTC (rev 6598) @@ -0,0 +1,29 @@ +package org.xwiki.platform.patchservice.api; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import com.xpn.xwiki.XWikiException; + +public interface XmlSerializable +{ + /** + * Serialize this object as a DOM Element that can be inserted in the given DOM Document. + * + * @param doc A DOM Document used for generating a compatible Element. The document is not + * changed, as the constructed Element is just returned, not inserted in the + * document. + * @return The object exported as a DOM Element. + * @throws XWikiException If the object is not well defined. + */ + Element toXml(Document doc) throws XWikiException; + + /** + * Load the object from an XML. + * + * @param e A DOM Element defining the object. + * @throws XWikiException If the provided element is not a valid (or compatible) exported + * object. + */ + void fromXml(Element e) throws XWikiException; +} Property changes on: xwiki-platform/core/trunk/xwiki-patchservice/src/main/java/org/xwiki/platform/patchservice/api/XmlSerializable.java ___________________________________________________________________ Name: svn:eol-style + native _______________________________________________ notifications mailing list notifications@xwiki.org http://lists.xwiki.org/mailman/listinfo/notifications