You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ca...@apache.org on 2005/07/11 07:27:17 UTC

svn commit: r210070 - in /xmlgraphics/batik/branches/svg12: resources/org/apache/batik/dom/resources/ sources/org/apache/batik/dom/ sources/org/apache/batik/dom/dom3/ sources/org/apache/batik/dom/events/ test-sources/org/apache/batik/dom/

Author: cam
Date: Sun Jul 10 22:27:14 2005
New Revision: 210070

URL: http://svn.apache.org/viewcvs?rev=210070&view=rev
Log:
1. Removed org.apache.batik.dom.dom3.  Batik DOM classes now just implement
   whatever DOM interfaces are available (DOM 2 or DOM 3).
2. New org.apache.batik.dom.events.CustomEvent interface, that custom DOM
   event classes should implement (to avoid problems when DOM 3 is not
   present).
3. Fixed small problem with AbstractEvent.stopImmediatePropagation().

Added:
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/CustomEvent.java
Removed:
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/dom3/
Modified:
    xmlgraphics/batik/branches/svg12/resources/org/apache/batik/dom/resources/Messages.properties
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractAttr.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractCharacterData.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractComment.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDOMImplementation.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocument.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocumentFragment.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractElement.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntity.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntityReference.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNode.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNotation.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractProcessingInstruction.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractText.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/ExtendedNode.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericCDATASection.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericDocumentType.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/AbstractEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMKeyboardEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMouseEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationNameEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMTextEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMUIEvent.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/EventSupport.java
    xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/NodeEventTarget.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/AttrIsIdTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentAdoptNodeTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentNormalizeDocumentTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentRenameNodeTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/ElementSetIdAttributeNSTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/EventTargetAddEventListenerNSTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeBaseURITest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeCompareDocumentPositionTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeGetUserDataTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeTextContentTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextReplaceWholeTextTest.java
    xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextWholeTextTest.java

Modified: xmlgraphics/batik/branches/svg12/resources/org/apache/batik/dom/resources/Messages.properties
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/resources/org/apache/batik/dom/resources/Messages.properties?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/resources/org/apache/batik/dom/resources/Messages.properties (original)
+++ xmlgraphics/batik/branches/svg12/resources/org/apache/batik/dom/resources/Messages.properties Sun Jul 10 22:27:14 2005
@@ -175,6 +175,10 @@
 sibling.not.allowed = \
 The current node (type: {0}, name: {1}) cannot have siblings.
 
+unsupported.event = \
+The event object was not created with DocumentEvent.createEvent() or does not \
+support the CustomEvent interface.
+
 wf.invalid.character = \
 Invalid character found in node content (type: {0}, name: {1}): "{2}".
 

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractAttr.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractAttr.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractAttr.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractAttr.java Sun Jul 10 22:27:14 2005
@@ -31,8 +31,7 @@
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @version $Id$
  */
-public abstract class AbstractAttr extends AbstractParentNode
-        implements org.apache.batik.dom.dom3.Attr {
+public abstract class AbstractAttr extends AbstractParentNode implements Attr {
 
     /**
      * The name of this node.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractCharacterData.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractCharacterData.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractCharacterData.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractCharacterData.java Sun Jul 10 22:27:14 2005
@@ -29,7 +29,7 @@
  */
 public abstract class AbstractCharacterData
     extends    AbstractChildNode
-    implements org.apache.batik.dom.dom3.CharacterData {
+    implements CharacterData {
 
     /**
      * The value of this node.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractComment.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractComment.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractComment.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractComment.java Sun Jul 10 22:27:14 2005
@@ -28,7 +28,7 @@
 
 public abstract class AbstractComment
     extends    AbstractCharacterData
-    implements org.apache.batik.dom.dom3.Comment {
+    implements Comment {
 
     /**
      * <b>DOM</b>: Implements {@link org.w3c.dom.Node#getNodeName()}.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDOMImplementation.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDOMImplementation.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDOMImplementation.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDOMImplementation.java Sun Jul 10 22:27:14 2005
@@ -32,8 +32,8 @@
  */
 
 public abstract class AbstractDOMImplementation
-    implements org.apache.batik.dom.dom3.DOMImplementation,
-               Serializable {
+        implements DOMImplementation,
+                   Serializable {
 
     /**
      * The supported features.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocument.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocument.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocument.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocument.java Sun Jul 10 22:27:14 2005
@@ -79,8 +79,8 @@
  */
 public abstract class AbstractDocument
     extends    AbstractParentNode
-    implements org.apache.batik.dom.dom3.Document,
-               org.apache.batik.dom.dom3.events.DocumentEvent,
+    implements Document,
+               DocumentEvent,
                DocumentTraversal,
                Localizable,
                XPathEvaluator {
@@ -1761,7 +1761,7 @@
             if (DOMConstants.DOM_ERROR_HANDLER_PARAM.equals(name)) {
                 if (value != null && !(value instanceof DOMErrorHandler)) {
                     throw createDOMException
-                        (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                        ((short) 17 /*DOMException.TYPE_MISMATCH_ERR*/,
                          "domconfig.param.type",
                          new Object[] { name });
                 }
@@ -1771,19 +1771,19 @@
             Integer i = (Integer) booleanParamIndexes.get(name);
             if (i == null) {
                 throw createDOMException
-                    (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                    (DOMException.NOT_FOUND_ERR,
                      "domconfig.param.not.found",
                      new Object[] { name });
             }
             if (value == null) {
                 throw createDOMException
-                    (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                    (DOMException.NOT_SUPPORTED_ERR,
                      "domconfig.param.value",
                      new Object[] { name });
             }
             if (!(value instanceof Boolean)) {
                 throw createDOMException
-                    (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                    ((short) 17 /*DOMException.TYPE_MISMATCH_ERR*/,
                      "domconfig.param.type",
                      new Object[] { name });
             }
@@ -1792,7 +1792,7 @@
             if (booleanParamReadOnly[index]
                     && booleanParamValues[index] != val) {
                 throw createDOMException
-                    (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                    (DOMException.NOT_SUPPORTED_ERR,
                      "domconfig.param.value",
                      new Object[] { name });
             }
@@ -1819,7 +1819,7 @@
             Integer index = (Integer) booleanParamIndexes.get(name);
             if (index == null) {
                 throw createDOMException
-                    (org.apache.batik.dom.dom3.DOMException.TYPE_MISMATCH_ERR,
+                    (DOMException.NOT_FOUND_ERR,
                      "domconfig.param.not.found",
                      new Object[] { name });
             }

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocumentFragment.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocumentFragment.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocumentFragment.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractDocumentFragment.java Sun Jul 10 22:27:14 2005
@@ -30,7 +30,7 @@
 
 public abstract class AbstractDocumentFragment
     extends AbstractParentNode
-    implements org.apache.batik.dom.dom3.DocumentFragment {
+    implements DocumentFragment {
 
     /**
      * <b>DOM</b>: Implements {@link org.w3c.dom.Node#getNodeName()}.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractElement.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractElement.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractElement.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractElement.java Sun Jul 10 22:27:14 2005
@@ -37,7 +37,7 @@
  */
 public abstract class AbstractElement
     extends    AbstractParentChildNode
-    implements org.apache.batik.dom.dom3.Element {
+    implements Element {
 
     /**
      * The attributes of this element.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntity.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntity.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntity.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntity.java Sun Jul 10 22:27:14 2005
@@ -29,7 +29,7 @@
  */
 public abstract class AbstractEntity
     extends    AbstractParentNode
-    implements org.apache.batik.dom.dom3.Entity {
+    implements Entity {
 
     /**
      * The node name.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntityReference.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntityReference.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntityReference.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractEntityReference.java Sun Jul 10 22:27:14 2005
@@ -30,7 +30,7 @@
  */
 public abstract class AbstractEntityReference
     extends    AbstractParentChildNode
-    implements org.apache.batik.dom.dom3.EntityReference {
+    implements EntityReference {
 
     /**
      * The node name.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNode.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNode.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNode.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNode.java Sun Jul 10 22:27:14 2005
@@ -447,10 +447,20 @@
         return getCascadedXMLBase(this);
     }
 
+    // DocumentPosition constants from DOM Level 3 Core org.w3c.dom.Node
+    // interface.
+
+    public static final short DOCUMENT_POSITION_DISCONNECTED = 0x01;
+    public static final short DOCUMENT_POSITION_PRECEDING = 0x02;
+    public static final short DOCUMENT_POSITION_FOLLOWING = 0x04;
+    public static final short DOCUMENT_POSITION_CONTAINS = 0x08;
+    public static final short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
+    public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
+
     /**
      * <b>DOM</b>: Implements
      * {@link org.w3c.dom.Node#compareDocumentPosition(Node)}.
-     * XXX doesn't handle notation or entity nodes
+     * XXX Doesn't handle notation or entity nodes.
      */
     public short compareDocumentPosition(Node other) throws DOMException {
         if (this == other) {

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNotation.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNotation.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNotation.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractNotation.java Sun Jul 10 22:27:14 2005
@@ -29,7 +29,7 @@
  */
 public abstract class AbstractNotation
     extends    AbstractNode
-    implements org.apache.batik.dom.dom3.Notation {
+    implements Notation {
 
     /**
      * The node name.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractProcessingInstruction.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractProcessingInstruction.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractProcessingInstruction.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractProcessingInstruction.java Sun Jul 10 22:27:14 2005
@@ -30,7 +30,7 @@
  */
 public abstract class AbstractProcessingInstruction
     extends    AbstractChildNode
-    implements org.apache.batik.dom.dom3.ProcessingInstruction {
+    implements ProcessingInstruction {
 
     /**
      * The data.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractText.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractText.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractText.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/AbstractText.java Sun Jul 10 22:27:14 2005
@@ -35,7 +35,7 @@
 
 public abstract class AbstractText
     extends    AbstractCharacterData
-    implements org.apache.batik.dom.dom3.Text {
+    implements Text {
 
     /**
      * <b>DOM</b>: Implements {@link org.w3c.dom.Text#splitText(int)}.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/ExtendedNode.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/ExtendedNode.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/ExtendedNode.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/ExtendedNode.java Sun Jul 10 22:27:14 2005
@@ -29,8 +29,7 @@
  * @version $Id$
  */
 
-public interface ExtendedNode
-        extends org.apache.batik.dom.dom3.Node, NodeEventTarget {
+public interface ExtendedNode extends Node, NodeEventTarget {
 
     /**
      * Sets the name of this node.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericCDATASection.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericCDATASection.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericCDATASection.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericCDATASection.java Sun Jul 10 22:27:14 2005
@@ -29,7 +29,7 @@
  */
 public class GenericCDATASection
         extends AbstractText
-        implements org.apache.batik.dom.dom3.CDATASection {
+        implements CDATASection {
 
     /**
      * Is this element immutable?

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericDocumentType.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericDocumentType.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericDocumentType.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/GenericDocumentType.java Sun Jul 10 22:27:14 2005
@@ -22,8 +22,14 @@
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
-public class GenericDocumentType extends AbstractChildNode 
-    implements org.apache.batik.dom.dom3.DocumentType {
+/**
+ * This class implements the {@link org.w3c.dom.DocumentType} interface.
+ *
+ * @version $Id:$
+ */
+public class GenericDocumentType
+        extends AbstractChildNode 
+        implements DocumentType {
 
     protected String qualifiedName;
     protected String publicId;

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/AbstractEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/AbstractEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/AbstractEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/AbstractEvent.java Sun Jul 10 22:27:14 2005
@@ -27,8 +27,7 @@
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @version $Id$
  */
-public abstract class AbstractEvent
-        implements org.apache.batik.dom.dom3.events.Event {
+public abstract class AbstractEvent implements Event {
 
     /**
      * The event type.
@@ -271,7 +270,7 @@
     }
 
     void stopImmediatePropagation(boolean state) {
-	this.stopPropagation = state;
+	this.stopImmediatePropagation = state;
     }
 
     void preventDefault(boolean state) {

Added: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/CustomEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/CustomEvent.java?rev=210070&view=auto
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/CustomEvent.java (added)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/CustomEvent.java Sun Jul 10 22:27:14 2005
@@ -0,0 +1,59 @@
+package org.apache.batik.dom.events;
+
+/**
+ * An interface DOM 3 custom events should implement to be used with
+ * Batik's DOM implementation.
+ * <p>
+ *   This interface exists because of issues running under JDK &lt; 1.5.
+ *   In these environments where only the DOM Level 2 interfaces are
+ *   available, the {@link org.w3c.dom.events.CustomEvent} interface
+ *   will inherit from the DOM Level 2 {@link org.w3c.dom.events.Event}
+ *   interface, so it will miss out on a number of important methods which
+ *   are needed for the event processing in {@link EventSupport}.
+ * </p>
+ * <p>
+ *   If a custom event object passed in to {@link org.w3c.dom.Node#dispatchEvent}
+ *   does not implement this interface, reflection will be used to access
+ *   the needed methods.
+ * </p>
+ */
+public interface CustomEvent extends org.w3c.dom.events.CustomEvent {
+
+    // Members inherited from DOM Level 3 Events org.w3c.dom.events.Event
+    // interface follow.
+
+    /**
+     * Returns the namespace URI of this custom event.
+     * @see org.w3c.dom.events.Event#getNamespaceURI
+     */
+    String getNamespaceURI();
+
+    /**
+     * Indicates whether this object implements the
+     * {@link org.w3c.dom.events.CustomEvent} interface.
+     * This must return true for classes implementing this interface.
+     * @see org.w3c.dom.events.Event#isCustom
+     */
+    boolean isCustom();
+
+    /**
+     * Stops event listeners of the same group being triggered.
+     * @see org.w3c.dom.events.Event#stopImmediatePropagation
+     */
+    void stopImmediatePropagation();
+
+    /**
+     * Returns whether {@link #stopImmediatePropagation} has been called.
+     * @see org.w3c.dom.events.Event#isDefaultPrevented
+     */
+    boolean isDefaultPrevented();
+
+    /**
+     * Initializes this event object.
+     * @see org.w3c.dom.events.Event#initEventNS
+     */
+    void initEventNS(String namespaceURIArg, 
+                     String eventTypeArg, 
+                     boolean canBubbleArg, 
+                     boolean cancelableArg);
+}

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMKeyboardEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMKeyboardEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMKeyboardEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMKeyboardEvent.java Sun Jul 10 22:27:14 2005
@@ -28,9 +28,7 @@
  * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
  * @version $Id$
  */
-public class DOMKeyboardEvent
-        extends DOMUIEvent
-        implements org.apache.batik.dom.dom3.events.KeyboardEvent {
+public class DOMKeyboardEvent extends DOMUIEvent implements KeyboardEvent {
 
     // Key identifiers
     public static final String KEY_UNIDENTIFIED = "Unidentified";

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMouseEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMouseEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMouseEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMouseEvent.java Sun Jul 10 22:27:14 2005
@@ -29,9 +29,7 @@
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  */
-public class DOMMouseEvent
-        extends DOMUIEvent
-        implements org.apache.batik.dom.dom3.events.MouseEvent {
+public class DOMMouseEvent extends DOMUIEvent implements MouseEvent {
 
     private int screenX; 
     private int screenY; 

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationEvent.java Sun Jul 10 22:27:14 2005
@@ -27,9 +27,7 @@
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
  */
-public class DOMMutationEvent
-        extends AbstractEvent
-        implements org.apache.batik.dom.dom3.events.MutationEvent {
+public class DOMMutationEvent extends AbstractEvent implements MutationEvent {
 
     private Node relatedNode;
     private String prevValue;

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationNameEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationNameEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationNameEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMMutationNameEvent.java Sun Jul 10 22:27:14 2005
@@ -28,7 +28,7 @@
  */
 public class DOMMutationNameEvent
         extends DOMMutationEvent
-        implements org.apache.batik.dom.dom3.events.MutationNameEvent {
+        implements MutationNameEvent {
 
     /**
      * The node's previous namespace URI.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMTextEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMTextEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMTextEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMTextEvent.java Sun Jul 10 22:27:14 2005
@@ -27,9 +27,7 @@
  * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
  * @version $Id$
  */
-public class DOMTextEvent
-        extends DOMUIEvent
-        implements org.apache.batik.dom.dom3.events.TextEvent {
+public class DOMTextEvent extends DOMUIEvent implements TextEvent {
 
     /**
      * The text data.

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMUIEvent.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMUIEvent.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMUIEvent.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/DOMUIEvent.java Sun Jul 10 22:27:14 2005
@@ -30,9 +30,7 @@
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  */
-public class DOMUIEvent
-        extends AbstractEvent
-        implements org.apache.batik.dom.dom3.events.UIEvent {
+public class DOMUIEvent extends AbstractEvent implements UIEvent {
 
     private AbstractView view;
     private int detail;

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/EventSupport.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/EventSupport.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/EventSupport.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/EventSupport.java Sun Jul 10 22:27:14 2005
@@ -17,16 +17,20 @@
  */
 package org.apache.batik.dom.events;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
 import java.util.HashSet;
 
 import org.apache.batik.dom.AbstractDocument;
 import org.apache.batik.dom.AbstractNode;
 import org.apache.batik.dom.util.HashTable;
 
-import org.w3c.dom.events.CustomEvent;
+import org.w3c.dom.DOMException;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventException;
 import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
 
 /**
  * The class allows registration and removal of EventListeners on
@@ -224,15 +228,23 @@
 	if (e == null) {
 	    return false;
 	}
-        org.apache.batik.dom.dom3.events.Event ev
-            = (org.apache.batik.dom.dom3.events.Event) e;
-        org.apache.batik.dom.dom3.events.CustomEvent ce = null;
-        AbstractEvent evt = null;
-        boolean isCustom = ev.isCustom();
-        if (isCustom) {
-            ce = (org.apache.batik.dom.dom3.events.CustomEvent) e;
+        AbstractEvent aevt = null;
+        CustomEvent ce = null;
+        boolean isCustom;
+        if (e instanceof CustomEvent) {
+            isCustom = true;
+            ce = (CustomEvent) ce;
+        } else if (e instanceof org.w3c.dom.events.CustomEvent) {
+            isCustom = true;
+            ce = new WrappedEvent((org.w3c.dom.events.CustomEvent) e);
+        } else if (e instanceof AbstractEvent) {
+            isCustom = false;
+            aevt = (AbstractEvent) e;
         } else {
-            evt = (AbstractEvent) e;
+            throw createEventException
+                (DOMException.NOT_SUPPORTED_ERR,
+                 "unsupported.event",
+                 new Object[] {});
         }
 	String type = e.getType();
 	if (type == null || type.length() == 0) {
@@ -243,85 +255,70 @@
 	}
 	// fix event status
         if (!isCustom) {
-            evt.setTarget(target);
-            evt.stopPropagation(false);
-            evt.stopImmediatePropagation(false);
-            evt.preventDefault(false);
+            aevt.setTarget(target);
+            aevt.stopPropagation(false);
+            aevt.stopImmediatePropagation(false);
+            aevt.preventDefault(false);
         }
 	// dump the tree hierarchy from top to the target
 	NodeEventTarget [] ancestors = getAncestors(target);
 	// CAPTURING_PHASE : fire event listeners from top to EventTarget
         if (!isCustom) {
-            evt.setEventPhase(Event.CAPTURING_PHASE);
+            aevt.setEventPhase(Event.CAPTURING_PHASE);
         }
         HashSet stoppedGroups = new HashSet();
         HashSet toBeStoppedGroups = new HashSet();
-	for (int i = 0; i < ancestors.length && !eventStopped(ce, evt); i++) {
+	for (int i = 0; i < ancestors.length; i++) {
 	    NodeEventTarget node = ancestors[i];
             if (isCustom) {
                 ce.setDispatchState(node, Event.CAPTURING_PHASE);
             } else {
-                evt.setCurrentTarget(node);
+                aevt.setCurrentTarget(node);
             }
-	    fireEventListeners(node, evt, true,
+	    fireEventListeners(node, e, true,
                                stoppedGroups, toBeStoppedGroups, isCustom);
             stoppedGroups.addAll(toBeStoppedGroups);
             toBeStoppedGroups.clear();
 	}
 	// AT_TARGET : fire local event listeners
-	if (!eventStopped(ce, evt)) {
-            if (isCustom) {
-                ce.setDispatchState(target, Event.AT_TARGET);
-            } else {
-                evt.setEventPhase(Event.AT_TARGET);
-                evt.setCurrentTarget(target);
-            }
-	    fireEventListeners(target, evt, false,
-                               stoppedGroups, toBeStoppedGroups, isCustom);
-            stoppedGroups.addAll(toBeStoppedGroups);
-            toBeStoppedGroups.clear();
-	}
+        if (isCustom) {
+            ce.setDispatchState(target, Event.AT_TARGET);
+        } else {
+            aevt.setEventPhase(Event.AT_TARGET);
+            aevt.setCurrentTarget(target);
+        }
+        fireEventListeners(target, e, false,
+                           stoppedGroups, toBeStoppedGroups, isCustom);
+        stoppedGroups.addAll(toBeStoppedGroups);
+        toBeStoppedGroups.clear();
 	// BUBBLING_PHASE : fire event listeners from target to top
-	if (evt.getBubbles()) {
+	if (e.getBubbles()) {
             if (!isCustom) {
-                evt.setEventPhase(Event.BUBBLING_PHASE);
+                aevt.setEventPhase(Event.BUBBLING_PHASE);
             }
-	    for (int i = ancestors.length - 1;
-                    i >= 0 && !eventStopped(ce, evt);
-                    i--) {
+	    for (int i = ancestors.length - 1; i >= 0; i--) {
 		NodeEventTarget node = ancestors[i];
                 if (isCustom) {
                     ce.setDispatchState(node, Event.BUBBLING_PHASE);
                 } else {
-                    evt.setCurrentTarget(node);
+                    aevt.setCurrentTarget(node);
                 }
-		fireEventListeners(node, evt, false,
+		fireEventListeners(node, e, false,
                                    stoppedGroups, toBeStoppedGroups, isCustom);
                 stoppedGroups.addAll(toBeStoppedGroups);
                 toBeStoppedGroups.clear();
 	    }
 	}
-	return !evt.isDefaultPrevented();
-    }
-
-    /**
-     * Returns true if either the CustomEvent or AbstractEvent given
-     * has been stopped.
-     */
-    protected boolean eventStopped(CustomEvent ce, AbstractEvent ae) {
-        if (ce != null) {
-            return ce.isImmediatePropagationStopped();
-        }
-        return ae.getStopImmediatePropagation();
+        return isCustom ? ce.isDefaultPrevented() : aevt.isDefaultPrevented();
     }
 
     private static void fireEventListeners(NodeEventTarget node, 
-					   Event evt,
+					   Event e,
                                            boolean useCapture,
                                            HashSet stoppedGroups,
                                            HashSet toBeStoppedGroups,
                                            boolean isCustom) {
-	String type = evt.getType();
+	String type = e.getType();
 	EventSupport support = node.getEventSupport();
 	// check if the event support has been instantiated
 	if (support == null) {
@@ -339,19 +336,17 @@
 	    return;
 	}
 	// fire event listeners
-        org.apache.batik.dom.dom3.events.Event ev
-            = (org.apache.batik.dom.dom3.events.Event) evt;
-        org.apache.batik.dom.dom3.events.CustomEvent ce = null;
+        CustomEvent ce = null;
         AbstractEvent aevt = null;
+        String eventNS;
         if (isCustom) {
-            ce = (org.apache.batik.dom.dom3.events.CustomEvent) evt;
+            ce = (CustomEvent) e;
+            eventNS = ce.getNamespaceURI();
         } else {
-            aevt = (AbstractEvent) evt;
+            aevt = (AbstractEvent) e;
+            eventNS = aevt.getNamespaceURI();
         }
-        String eventNS = ev.getNamespaceURI();
-	for (int i = 0;
-                i < listeners.length && !aevt.getStopImmediatePropagation();
-                i++) {
+	for (int i = 0; i < listeners.length; i++) {
 	    try {
                 String listenerNS = listeners[i].getNamespaceURI();
                 if (listenerNS != null && eventNS != null
@@ -360,13 +355,24 @@
                 }
                 Object group = listeners[i].getGroup();
                 if (!stoppedGroups.contains(group)) {
-                    listeners[i].getListener().handleEvent(evt);
-                    if (isCustom && ce.isPropagationStopped()
-                            || !isCustom && aevt.getStopPropagation()) {
-                        toBeStoppedGroups.add(group);
-                        if (isCustom) {
-                            // XXX how to not stop all subsequent groups?
-                        } else {
+                    listeners[i].getListener().handleEvent(e);
+                    if (isCustom) {
+                        if (ce.isImmediatePropagationStopped()) {
+                            stoppedGroups.add(group);
+                            // XXX How to not stop other groups?
+                            // Need something like
+                            // aevt.stopImmediatePropagation(false);
+                        } else if (ce.isPropagationStopped()) {
+                            toBeStoppedGroups.add(group);
+                            // XXX How to not stop other groups?
+                            // Need something like aevt.stopPropagation(false);
+                        }
+                    } else {
+                        if (aevt.getStopImmediatePropagation()) {
+                            stoppedGroups.add(group);
+                            aevt.stopImmediatePropagation(false);
+                        } else if (aevt.getStopPropagation()) {
+                            toBeStoppedGroups.add(group);
                             aevt.stopPropagation(false);
                         }
                     }
@@ -450,6 +456,222 @@
             return new EventException(code, doc.formatMessage(key, args));
         } catch (Exception e) {
             return new EventException(code, key);
+        }
+    }
+
+    /**
+     * Wrapper class for {@org.w3c.dom.events.CustomEvent} objects.
+     */
+    protected class WrappedEvent implements CustomEvent {
+
+        /**
+         * The wrapped event object.
+         */
+        protected org.w3c.dom.events.CustomEvent e;
+
+        /**
+         * The getNamespaceURI method of the wrapped event object.
+         */
+        protected Method getNamespaceURIMethod;
+
+        /**
+         * The stopImmediatePropagation method of the wrapped event object.
+         */
+        protected Method stopImmediatePropagationMethod;
+
+        /**
+         * The isDefaultPrevented method of the wrapped event object.
+         */
+        protected Method isDefaultPreventedMethod;
+
+        /**
+         * Creates a new WrappedEvent object.
+         */
+        public WrappedEvent(org.w3c.dom.events.CustomEvent e) {
+            this.e = e;
+            Class cls = e.getClass();
+            try {
+                getNamespaceURIMethod = cls.getMethod("getNamespaceURI", null);
+                stopImmediatePropagationMethod
+                    = cls.getMethod("stopImmediatePropagation", null);
+                isDefaultPreventedMethod
+                    = cls.getMethod("isDefaultPrevented", null);
+            } catch (NoSuchMethodException nsme) {
+                throw createEventException
+                    (DOMException.NOT_SUPPORTED_ERR,
+                     "unsupported.event",
+                     new Object[] {});
+            } catch (SecurityException se) {
+                throw createEventException
+                    (DOMException.NOT_SUPPORTED_ERR,
+                     "unsupported.event",
+                     new Object[] {});
+            }
+        }
+
+        // Event (since DOM 2) ///////////////////////////////////////////////
+
+        /**
+         * Returns the type of this event.
+         */
+        public String getType() {
+            return e.getType();
+        }
+
+        /**
+         * Returns the current target of this event.
+         */
+        public EventTarget getCurrentTarget() {
+            return e.getCurrentTarget();
+        }
+
+        /**
+         * Returns the target of this event.
+         */
+        public EventTarget getTarget() {
+            return e.getTarget();
+        }
+
+        /**
+         * Returns the current event phase of this event.
+         */
+        public short getEventPhase() {
+            return e.getEventPhase();
+        }
+
+        /**
+         * Returns whether this event bubbles.
+         */
+        public boolean getBubbles() {
+            return e.getBubbles();
+        }
+
+        /**
+         * Returns whether this event can be cancelled.
+         */
+        public boolean getCancelable() {
+            return e.getCancelable();
+        }
+
+        /**
+         * Returns the timestamp of this event object.
+         */
+        public long getTimeStamp() {
+            return e.getTimeStamp();
+        }
+
+        /**
+         * Stops propagation of this event.
+         */
+        public void stopPropagation() {
+            e.stopPropagation();
+        }
+
+        /**
+         * Prevents default processing of the event.
+         */
+        public void preventDefault() {
+            e.preventDefault();
+        }
+
+        /**
+         * Initializes this event object.
+         */
+        public void initEvent(String eventTypeArg, 
+                              boolean canBubbleArg, 
+                              boolean cancelableArg) {
+            e.initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+        }
+
+        // org.w3c.dom.events.CustomEvent ////////////////////////////////////
+
+        /**
+         * Sets the value of currentTarget and eventPhase.
+         */
+        public void setDispatchState(EventTarget target, short phase) {
+            e.setDispatchState(target, phase);
+        }
+
+        /**
+         * Returns whether {@link #stopPropagation} has been called.
+         */
+        public boolean isPropagationStopped() {
+            return e.isPropagationStopped();
+        }
+
+        /**
+         * Returns whether {@link #stopImmediatePropagation} has been called.
+         */
+        public boolean isImmediatePropagationStopped() {
+            return e.isImmediatePropagationStopped();
+        }
+
+        // CustomEvent ///////////////////////////////////////////////////////
+
+        /**
+         * Returns the namespace URI of this custom event.
+         * @see org.w3c.dom.events.Event#getNamespaceURI
+         */
+        public String getNamespaceURI() {
+            try {
+                return (String) getNamespaceURIMethod.invoke(e, null);
+            } catch (InvocationTargetException ite) {
+                ite.printStackTrace();
+            } catch (IllegalAccessException iae) {
+                iae.printStackTrace();
+            }
+            return null;
+        }
+
+        /**
+         * Indicates whether this object implements the
+         * {@link org.w3c.dom.events.CustomEvent} interface.
+         * This must return true for classes implementing this interface.
+         * @see org.w3c.dom.events.Event#isCustom
+         */
+        public boolean isCustom() {
+            return true;
+        }
+
+        /**
+         * Stops event listeners of the same group being triggered.
+         * @see org.w3c.dom.events.Event#stopImmediatePropagation
+         */
+        public void stopImmediatePropagation() {
+            try {
+                stopImmediatePropagationMethod.invoke(e, null);
+            } catch (InvocationTargetException ite) {
+                ite.printStackTrace();
+            } catch (IllegalAccessException iae) {
+                iae.printStackTrace();
+            }
+        }
+
+        /**
+         * Returns whether {@link #stopImmediatePropagation} has been called.
+         * @see org.w3c.dom.events.Event#isDefaultPrevented
+         */
+        public boolean isDefaultPrevented() {
+            try {
+                return ((Boolean) isDefaultPreventedMethod.invoke(e, null))
+                    .booleanValue();
+            } catch (InvocationTargetException ite) {
+                ite.printStackTrace();
+            } catch (IllegalAccessException iae) {
+                iae.printStackTrace();
+            }
+            return false;
+        }
+
+        /**
+         * Initializes this event object.
+         * @see org.w3c.dom.events.Event#initEventNS
+         */
+        public void initEventNS(String namespaceURIArg, 
+                                String eventTypeArg, 
+                                boolean canBubbleArg, 
+                                boolean cancelableArg) {
+            // This method is not needed for event processing.
         }
     }
 }

Modified: xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/NodeEventTarget.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/NodeEventTarget.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/NodeEventTarget.java (original)
+++ xmlgraphics/batik/branches/svg12/sources/org/apache/batik/dom/events/NodeEventTarget.java Sun Jul 10 22:27:14 2005
@@ -27,8 +27,7 @@
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @version $Id$
  */
-public interface NodeEventTarget
-        extends org.apache.batik.dom.dom3.events.EventTarget {
+public interface NodeEventTarget extends EventTarget {
 
     /**
      * Returns the event support instance for this node, or null if any.
@@ -40,4 +39,100 @@
      */
     NodeEventTarget getParentNodeEventTarget();
 
+    // Members inherited from DOM Level 3 Events org.w3c.dom.events.EventTarget
+    // follow.
+
+    /**
+     *  This method allows the registration of an event listener in a 
+     * specified group or the default group and, depending on the 
+     * <code>useCapture</code> parameter, on the capture phase of the DOM 
+     * event flow or its target and bubbling phases. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event for which the user is registering. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event for which the user is registering. 
+     * @param listener  The <code>listener</code> parameter takes an object 
+     *   implemented by the user which implements the 
+     *   <code>EventListener</code> interface and contains the method to be 
+     *   called when the event occurs. 
+     * @param useCapture  If true, <code>useCapture</code> indicates that the 
+     *   user wishes to add the event listener for the capture phase only, 
+     *   i.e. this event listener will not be triggered during the target 
+     *   and bubbling phases. If <code>false</code>, the event listener will 
+     *   only be triggered during the target and bubbling phases. 
+     * @param evtGroup  The object that represents the event group to 
+     *   associate with the <code>EventListener</code> (see also ). Use 
+     *   <code>null</code> to attach the event listener to the default 
+     *   group. 
+     * @since DOM Level 3
+     */
+    public void addEventListenerNS(String namespaceURI, 
+                                   String type, 
+                                   org.w3c.dom.events.EventListener listener, 
+                                   boolean useCapture, 
+                                   Object evtGroup);
+
+    /**
+     *  This method allows the removal of an event listener, independently of 
+     * the associated event group. 
+     * <br> Calling <code>removeEventListenerNS</code> with arguments which do 
+     * not identify any currently registered <code>EventListener</code> on 
+     * the <code>EventTarget</code> has no effect. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event for which the user registered the event 
+     *   listener. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event for which the user registered the event listener. 
+     * @param listener  The <code>EventListener</code> parameter indicates 
+     *   the <code>EventListener</code> to be removed. 
+     * @param useCapture  Specifies whether the <code>EventListener</code> 
+     *   being removed was registered for the capture phase or not. If a 
+     *   listener was registered twice, once for the capture phase and once 
+     *   for the target and bubbling phases, each must be removed 
+     *   separately. Removal of an event listener registered for the capture 
+     *   phase does not affect the same event listener registered for the 
+     *   target and bubbling phases, and vice versa. 
+     * @since DOM Level 3
+     */
+    public void removeEventListenerNS(String namespaceURI, 
+                                      String type, 
+                                      org.w3c.dom.events.EventListener listener,
+                                      boolean useCapture);
+
+    /**
+     *  This method allows the DOM application to know if an event listener, 
+     * attached to this <code>EventTarget</code> or one of its ancestors, 
+     * will be triggered by the specified event type during the dispatch of 
+     * the event to this event target or one of its descendants. 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event. 
+     * @return  <code>true</code> if an event listener will be triggered on 
+     *   the <code>EventTarget</code> with the specified event type, 
+     *   <code>false</code> otherwise. 
+     * @since DOM Level 3
+     */
+    public boolean willTriggerNS(String namespaceURI, 
+                                 String type);
+
+    /**
+     *  This method allows the DOM application to know if this 
+     * <code>EventTarget</code> contains an event listener registered for 
+     * the specified event type. This is useful for determining at which 
+     * nodes within a hierarchy altered handling of specific event types has 
+     * been introduced, but should not be used to determine whether the 
+     * specified event type triggers an event listener (see 
+     * <code>EventTarget.willTriggerNS()</code>). 
+     * @param namespaceURI  Specifies the <code>Event.namespaceURI</code> 
+     *   associated with the event. 
+     * @param type  Specifies the <code>Event.type</code> associated with the 
+     *   event. 
+     * @return  <code>true</code> if an event listener is registered on this 
+     *   <code>EventTarget</code> for the specified event type, 
+     *   <code>false</code> otherwise. 
+     * @since DOM Level 3
+     */
+    public boolean hasEventListenerNS(String namespaceURI, 
+                                      String type);
 }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/AttrIsIdTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/AttrIsIdTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/AttrIsIdTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/AttrIsIdTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractAttr;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -38,6 +39,6 @@
         g.setAttributeNS(null, "id", "n1");
         doc.getDocumentElement().appendChild(g);
         Attr a = g.getAttributeNodeNS(null, "id");
-        return ((org.apache.batik.dom.dom3.Attr) a).isId();
+        return ((AbstractAttr) a).isId();
     }
 }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentAdoptNodeTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentAdoptNodeTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentAdoptNodeTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentAdoptNodeTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractDocument;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -37,7 +38,7 @@
         Document doc2 = newSVGDoc();
         Element e = doc2.getDocumentElement();
         e.setAttributeNS(EX_NAMESPACE_URI, "test", "blah");
-        ((org.apache.batik.dom.dom3.Document) doc1).adoptNode(e);
+        ((AbstractDocument) doc1).adoptNode(e);
         return e.getOwnerDocument() == doc1
             && e.getAttributeNodeNS(EX_NAMESPACE_URI, "test").getOwnerDocument() == doc1;
     }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentNormalizeDocumentTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentNormalizeDocumentTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentNormalizeDocumentTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentNormalizeDocumentTest.java Sun Jul 10 22:27:14 2005
@@ -20,9 +20,10 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
+import org.apache.batik.dom.AbstractDocument;
+import org.apache.batik.dom.svg.SVGDOMImplementation;
 import org.apache.batik.dom.util.HashTable;
 import org.apache.batik.util.SVGConstants;
-import org.apache.batik.dom.svg.SVGDOMImplementation;
 
 import org.w3c.dom.*;
 
@@ -66,13 +67,13 @@
 
         // cdata-sections == false
         Document doc = newSVGDoc();
-        DOMConfiguration conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        DOMConfiguration conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("cdata-sections", Boolean.FALSE);
         Element e = doc.getDocumentElement();
         e.appendChild(doc.createTextNode("abc"));
         e.appendChild(doc.createCDATASection("def"));
         e.appendChild(doc.createTextNode("ghi"));
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(e.getFirstChild().getNodeType() == Node.TEXT_NODE
                 && e.getFirstChild().getNodeValue().equals("abcdefghi")
                 && e.getFirstChild() == e.getLastChild())) {
@@ -84,13 +85,13 @@
 
         // comments == false
         doc = newSVGDoc();
-        conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("comments", Boolean.FALSE);
         e = doc.getDocumentElement();
         e.appendChild(doc.createTextNode("abc"));
         e.appendChild(doc.createComment("def"));
         e.appendChild(doc.createTextNode("ghi"));
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(e.getFirstChild().getNodeType() == Node.TEXT_NODE
                 && e.getFirstChild().getNodeValue().equals("abcghi")
                 && e.getFirstChild() == e.getLastChild())) {
@@ -102,13 +103,13 @@
 
         // element-content-whitespace == false
         doc = newSVGDoc();
-        conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("element-content-whitespace", Boolean.FALSE);
         e = doc.getDocumentElement();
         e.appendChild(doc.createTextNode("    "));
         e.appendChild(doc.createElementNS(SVG_NAMESPACE_URI, "g"));
         e.appendChild(doc.createTextNode("    "));
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(e.getFirstChild().getNodeType() == Node.ELEMENT_NODE
                 && e.getFirstChild().getNodeName().equals("g")
                 && e.getFirstChild() == e.getLastChild())) {
@@ -120,12 +121,12 @@
 
         // split-cdata-sections == true
         doc = newSVGDoc();
-        conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("split-cdata-sections", Boolean.TRUE);
         conf.setParameter("error-handler", h);
         e = doc.getDocumentElement();
         e.appendChild(doc.createCDATASection("before ]]> after"));
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(e.getFirstChild().getNodeType() == Node.CDATA_SECTION_NODE
                 && e.getFirstChild().getNodeValue().equals("before ]]")
                 && e.getFirstChild().getNextSibling().getNodeType() == Node.CDATA_SECTION_NODE
@@ -140,15 +141,15 @@
 
         // well-formed
         doc = newSVGDoc();
-        ((org.apache.batik.dom.dom3.Document) doc).setStrictErrorChecking(false);
-        conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        ((AbstractDocument) doc).setStrictErrorChecking(false);
+        conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("error-handler", h);
         e = doc.getDocumentElement();
         e.appendChild(doc.createComment("before -- after"));
         e.appendChild(doc.createComment("ends in a dash -"));
         e.setAttribute("*", "blah");
         e.appendChild(doc.createProcessingInstruction("abc", "def?>"));
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(h.get("wf-invalid-character-in-node-name") == 1
                 && h.get("wf-invalid-character") == 3)) {
             if (report == null) {
@@ -170,7 +171,7 @@
         e3.setAttributeNS(XMLNS_NAMESPACE_URI, "xmlns:ns", "http://www.example.org/ns2");
         e3 = doc.createElementNS("http://www.example.org/ns2", "ns:child2");
         e2.appendChild(e3);
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         Attr a = e3.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "ns");
         if (!(a != null
                     && a.getNodeName().equals("xmlns:ns")
@@ -189,8 +190,8 @@
         e2.setAttributeNS(XMLNS_NAMESPACE_URI, "xmlns:ns", "http://www.example.org/ns1");
         e3 = doc.createElementNS("http://www.example.org/ns1", "ns:child2");
         e2.appendChild(e3);
-        e2 = (Element) ((org.apache.batik.dom.dom3.Document) doc).renameNode(e2, "http://www.example.org/ns2", "ns:child1");
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        e2 = (Element) ((AbstractDocument) doc).renameNode(e2, "http://www.example.org/ns2", "ns:child1");
+        ((AbstractDocument) doc).normalizeDocument();
         a = e2.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "ns");
         Attr a2 = e3.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "ns");
         if (!(a != null
@@ -211,7 +212,7 @@
         e2 = doc.createElementNS("http://www.example.org/ns1", "child1");
         e.appendChild(e2);
         e2.setAttributeNS("http://www.example.org/ns2", "blah", "hi");
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         a = e2.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "xmlns");
         a2 = e2.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "NS1");
         if (!(a != null
@@ -228,10 +229,10 @@
         doc = newDoc();
         e = doc.createElementNS(null, "ex:root");
         e.setAttributeNS(XMLNS_NAMESPACE_URI, "xmlns:ex", "http://www.example.org/ns1");
-        conf = ((org.apache.batik.dom.dom3.Document) doc).getDomConfig();
+        conf = ((AbstractDocument) doc).getDomConfig();
         conf.setParameter("namespace-declarations", Boolean.FALSE);
         doc.appendChild(e);
-        ((org.apache.batik.dom.dom3.Document) doc).normalizeDocument();
+        ((AbstractDocument) doc).normalizeDocument();
         if (!(e.getAttributeNodeNS(XMLNS_NAMESPACE_URI, "ex") == null)) {
             if (report == null) {
                 report = reportError("Document.normalizeDocument test failed");

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentRenameNodeTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentRenameNodeTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentRenameNodeTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/DocumentRenameNodeTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractDocument;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 import org.w3c.dom.svg.*;
@@ -38,10 +39,10 @@
         Element e = doc.getDocumentElement();
         Element e2 = doc.createElementNS(SVG_NAMESPACE_URI, "g");
         boolean pass = e2 instanceof SVGGElement;
-        e2 = (Element) ((org.apache.batik.dom.dom3.Document) doc).renameNode(e2, SVG_NAMESPACE_URI, "svg");
+        e2 = (Element) ((AbstractDocument) doc).renameNode(e2, SVG_NAMESPACE_URI, "svg");
         pass = pass && e2 instanceof SVGSVGElement;
         Attr a = doc.createAttributeNS(null, "test");
-        a = (Attr) ((org.apache.batik.dom.dom3.Document) doc).renameNode(a, EX_NAMESPACE_URI, "test2");
+        a = (Attr) ((AbstractDocument) doc).renameNode(a, EX_NAMESPACE_URI, "test2");
         pass = pass && a.getNamespaceURI().equals(EX_NAMESPACE_URI)
             && a.getLocalName().equals("test2");
         return pass;

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/ElementSetIdAttributeNSTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/ElementSetIdAttributeNSTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/ElementSetIdAttributeNSTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/ElementSetIdAttributeNSTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractElement;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -35,7 +36,7 @@
     public boolean runImplBase() throws Exception {
         Document doc = newSVGDoc();
         doc.getDocumentElement().setAttributeNS(null, "blah", "abc");
-        ((org.apache.batik.dom.dom3.Element) doc.getDocumentElement()).setIdAttributeNS(null, "blah", true);
+        ((AbstractElement) doc.getDocumentElement()).setIdAttributeNS(null, "blah", true);
         Element e = doc.getElementById("abc");
         return doc.getDocumentElement() == e;
     }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/EventTargetAddEventListenerNSTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/EventTargetAddEventListenerNSTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/EventTargetAddEventListenerNSTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/EventTargetAddEventListenerNSTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.dom.AbstractNode;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 import org.w3c.dom.events.*;
@@ -62,7 +63,7 @@
 
         Document doc = newDoc();
         Element e = doc.createElementNS(null, "test");
-        org.apache.batik.dom.dom3.events.EventTarget et = (org.apache.batik.dom.dom3.events.EventTarget) e;
+        AbstractNode et = (AbstractNode) e;
         doc.appendChild(e);
         et.addEventListenerNS(XML_EVENTS_NAMESPACE_URI, "DOMAttrModified", l1, false, null);
         et.addEventListenerNS(null, "DOMAttrModified", l1, false, null);

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeBaseURITest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeBaseURITest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeBaseURITest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeBaseURITest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,10 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractDocument;
+import org.apache.batik.dom.AbstractNode;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -34,15 +36,15 @@
 public class NodeBaseURITest extends DOM3Test {
     public boolean runImplBase() throws Exception {
         Document doc = newSVGDoc();
-        ((org.apache.batik.dom.dom3.Document) doc).setDocumentURI("http://example.com/blah");
+        ((AbstractDocument) doc).setDocumentURI("http://example.com/blah");
         Element e = doc.createElementNS(SVG_NAMESPACE_URI, "g");
         doc.getDocumentElement().appendChild(e);
         e.setAttributeNS(XML_NAMESPACE_URI, "xml:base", "http://example.org/base");
         Element e2 = doc.createElementNS(SVG_NAMESPACE_URI, "g");
         e.appendChild(e2);
         e2.setAttributeNS(XML_NAMESPACE_URI, "xml:base", "/somewhere");
-        return "http://example.com/blah".equals(((org.apache.batik.dom.dom3.Node) doc).getBaseURI())
-                && "http://example.org/base".equals(((org.apache.batik.dom.dom3.Node) e).getBaseURI())
-                && "http://example.org/somewhere".equals(((org.apache.batik.dom.dom3.Node) e2).getBaseURI());
+        return "http://example.com/blah".equals(((AbstractNode) doc).getBaseURI())
+                && "http://example.org/base".equals(((AbstractNode) e).getBaseURI())
+                && "http://example.org/somewhere".equals(((AbstractNode) e2).getBaseURI());
     }
 }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeCompareDocumentPositionTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeCompareDocumentPositionTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeCompareDocumentPositionTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeCompareDocumentPositionTest.java Sun Jul 10 22:27:14 2005
@@ -20,10 +20,10 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractNode;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
-import org.apache.batik.dom.dom3.Node;
 import org.w3c.dom.*;
 
 /**
@@ -35,21 +35,21 @@
 public class NodeCompareDocumentPositionTest extends DOM3Test {
     public boolean runImplBase() throws Exception {
         Document doc = newSVGDoc();
-        org.apache.batik.dom.dom3.Element e = (org.apache.batik.dom.dom3.Element) doc.createElementNS(null, "test");
+        AbstractNode e = (AbstractNode) doc.createElementNS(null, "test");
         doc.getDocumentElement().appendChild(e);
-        org.apache.batik.dom.dom3.Element e2 = (org.apache.batik.dom.dom3.Element) doc.createElementNS(null, "two");
+        AbstractNode e2 = (AbstractNode) doc.createElementNS(null, "two");
         e.appendChild(e2);
-        org.apache.batik.dom.dom3.Element e3 = (org.apache.batik.dom.dom3.Element) doc.createElementNS(null, "three");
+        AbstractNode e3 = (AbstractNode) doc.createElementNS(null, "three");
         e.appendChild(e3);
-        org.apache.batik.dom.dom3.Element e4 = (org.apache.batik.dom.dom3.Element) doc.createElementNS(null, "four");
+        AbstractNode e4 = (AbstractNode) doc.createElementNS(null, "four");
         doc.getDocumentElement().appendChild(e4);
 
-        return e.compareDocumentPosition(e2) == (Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING)
-                && e2.compareDocumentPosition(e) == (Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING)
+        return e.compareDocumentPosition(e2) == (AbstractNode.DOCUMENT_POSITION_CONTAINS | AbstractNode.DOCUMENT_POSITION_PRECEDING)
+                && e2.compareDocumentPosition(e) == (AbstractNode.DOCUMENT_POSITION_CONTAINED_BY | AbstractNode.DOCUMENT_POSITION_FOLLOWING)
                 && e.compareDocumentPosition(e) == 0
-                && e2.compareDocumentPosition(e3) == Node.DOCUMENT_POSITION_PRECEDING
-                && e3.compareDocumentPosition(e2) == Node.DOCUMENT_POSITION_FOLLOWING
-                && e3.compareDocumentPosition(e4) == Node.DOCUMENT_POSITION_PRECEDING
-                && e4.compareDocumentPosition(e3) == Node.DOCUMENT_POSITION_FOLLOWING;
+                && e2.compareDocumentPosition(e3) == AbstractNode.DOCUMENT_POSITION_PRECEDING
+                && e3.compareDocumentPosition(e2) == AbstractNode.DOCUMENT_POSITION_FOLLOWING
+                && e3.compareDocumentPosition(e4) == AbstractNode.DOCUMENT_POSITION_PRECEDING
+                && e4.compareDocumentPosition(e3) == AbstractNode.DOCUMENT_POSITION_FOLLOWING;
     }
 }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeGetUserDataTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeGetUserDataTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeGetUserDataTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeGetUserDataTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,10 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractDocument;
+import org.apache.batik.dom.AbstractNode;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -48,10 +50,10 @@
     public boolean runImplBase() throws Exception {
         UserHandler udh = new UserHandler();
         Document doc = newDoc();
-        org.apache.batik.dom.dom3.Element e = (org.apache.batik.dom.dom3.Element) doc.createElementNS(null, "test");
-        e.setUserData("key", "val", udh);
-        ((org.apache.batik.dom.dom3.Document) doc).renameNode(e, null, "abc");
+        AbstractNode n = (AbstractNode) doc.createElementNS(null, "test");
+        n.setUserData("key", "val", udh);
+        ((AbstractDocument) doc).renameNode(n, null, "abc");
         return udh.getCount() == 1
-                && ((String) e.getUserData("key")).equals("val");
+                && ((String) n.getUserData("key")).equals("val");
     }
 }

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeTextContentTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeTextContentTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeTextContentTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/NodeTextContentTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractElement;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -34,7 +35,7 @@
 public class NodeTextContentTest extends DOM3Test {
     public boolean runImplBase() throws Exception {
         Document doc = newSVGDoc();
-        org.apache.batik.dom.dom3.Element e = (org.apache.batik.dom.dom3.Element) doc.getDocumentElement();
+        AbstractElement e = (AbstractElement) doc.getDocumentElement();
         e.appendChild(doc.createTextNode("abc"));
         Element e2 = doc.createElementNS(SVG_NAMESPACE_URI, "text");
         e2.appendChild(doc.createTextNode("def"));

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextReplaceWholeTextTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextReplaceWholeTextTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextReplaceWholeTextTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextReplaceWholeTextTest.java Sun Jul 10 22:27:14 2005
@@ -20,8 +20,9 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractText;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
 import org.w3c.dom.*;
 
@@ -40,7 +41,7 @@
         doc.getDocumentElement().appendChild(n1);
         doc.getDocumentElement().appendChild(n2);
         doc.getDocumentElement().appendChild(n3);
-        ((org.apache.batik.dom.dom3.Text) n2).replaceWholeText("xyz");
+        ((AbstractText) n2).replaceWholeText("xyz");
 
         return doc.getDocumentElement().getFirstChild().getNodeValue().equals("xyz")
                 && doc.getDocumentElement().getFirstChild().getNextSibling() == null;

Modified: xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextWholeTextTest.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextWholeTextTest.java?rev=210070&r1=210069&r2=210070&view=diff
==============================================================================
--- xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextWholeTextTest.java (original)
+++ xmlgraphics/batik/branches/svg12/test-sources/org/apache/batik/dom/TextWholeTextTest.java Sun Jul 10 22:27:14 2005
@@ -20,10 +20,10 @@
 import org.apache.batik.test.AbstractTest;
 import org.apache.batik.test.TestReport;
 
-import org.apache.batik.util.SVGConstants;
+import org.apache.batik.dom.AbstractText;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
+import org.apache.batik.util.SVGConstants;
 
-import org.apache.batik.dom.dom3.Text;
 import org.w3c.dom.*;
 
 /**
@@ -35,9 +35,9 @@
 public class TextWholeTextTest extends DOM3Test {
     public boolean runImplBase() throws Exception {
         Document doc = newSVGDoc();
-        Text n1 = (Text) doc.createTextNode("abc");
-        Text n2 = (Text) doc.createTextNode("def");
-        Text n3 = (Text) doc.createCDATASection("ghi");
+        AbstractText n1 = (AbstractText) doc.createTextNode("abc");
+        AbstractText n2 = (AbstractText) doc.createTextNode("def");
+        AbstractText n3 = (AbstractText) doc.createCDATASection("ghi");
         doc.getDocumentElement().appendChild(n1);
         doc.getDocumentElement().appendChild(n2);
         doc.getDocumentElement().appendChild(n3);