src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java
changeset 47359 e1a6c0168741
parent 47216 71c04702a3d5
child 47712 bde0215f1f70
--- a/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	Tue Sep 05 13:40:14 2017 +0200
+++ b/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	Wed Oct 18 13:25:49 2017 -0700
@@ -1,5 +1,6 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * @LastModified: Oct 2017
  */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -477,7 +478,7 @@
     /**
      * Retreive event listener registered on a given node
      */
-    protected List getEventListeners(NodeImpl n) {
+    protected List<LEntry> getEventListeners(NodeImpl n) {
         if (eventListeners == null) {
             return null;
         }
@@ -679,6 +680,7 @@
      *              method was invoked by an EventListener; otherwise false.
     */
     @Override
+    @SuppressWarnings({"rawtypes", "unchecked"})
     protected boolean dispatchEvent(NodeImpl node, Event event) {
         if (event == null) return false;
 
@@ -736,9 +738,9 @@
                 // Handle all capturing listeners on this node
                 NodeImpl nn = (NodeImpl) pv.get(j);
                 evt.currentTarget = nn;
-                List<LEntry> nodeListeners = getEventListeners(nn);
+                ArrayList<LEntry> nodeListeners = (ArrayList<LEntry>)getEventListeners(nn);
                 if (nodeListeners != null) {
-                    List<LEntry> nl = (List)((ArrayList)nodeListeners).clone();
+                    List<LEntry> nl = (ArrayList<LEntry>)nodeListeners.clone();
                     // call listeners in the order in which they got registered
                     int nlsize = nl.size();
                     for (int i = 0; i < nlsize; i++) {
@@ -765,9 +767,9 @@
             // node are _not_ invoked, even during the capture phase.
             evt.eventPhase = Event.AT_TARGET;
             evt.currentTarget = node;
-            List<LEntry> nodeListeners = getEventListeners(node);
+            ArrayList<LEntry> nodeListeners = (ArrayList<LEntry>)getEventListeners(node);
             if (!evt.stopPropagation && nodeListeners != null) {
-                List<LEntry> nl = (List)((ArrayList)nodeListeners).clone();
+                List<LEntry> nl = (ArrayList<LEntry>)nodeListeners.clone();
                 // call listeners in the order in which they got registered
                 int nlsize = nl.size();
                 for (int i = 0; i < nlsize; i++) {
@@ -798,9 +800,9 @@
                     // Handle all bubbling listeners on this node
                     NodeImpl nn = (NodeImpl) pv.get(j);
                     evt.currentTarget = nn;
-                    nodeListeners = getEventListeners(nn);
+                    nodeListeners = (ArrayList<LEntry>)getEventListeners(nn);
                     if (nodeListeners != null) {
-                        List<LEntry> nl = (List)((ArrayList)nodeListeners).clone();
+                        List<LEntry> nl = (ArrayList<LEntry>)nodeListeners.clone();
                         // call listeners in the order in which they got
                         // registered
                         int nlsize = nl.size();