Browse Source

Improve event dispatch performance (OK because we are using a cloned

list of listeners)

PR:	19101
Submiitted By:	smagoun from mac.com


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274477 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 22 years ago
parent
commit
576c80c81f
1 changed files with 15 additions and 8 deletions
  1. +15
    -8
      src/main/org/apache/tools/ant/Project.java

+ 15
- 8
src/main/org/apache/tools/ant/Project.java View File

@@ -1958,7 +1958,8 @@ public class Project {
public void fireBuildStarted() { public void fireBuildStarted() {
BuildEvent event = new BuildEvent(this); BuildEvent event = new BuildEvent(this);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.buildStarted(event); listener.buildStarted(event);
} }
@@ -1974,7 +1975,8 @@ public class Project {
BuildEvent event = new BuildEvent(this); BuildEvent event = new BuildEvent(this);
event.setException(exception); event.setException(exception);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.buildFinished(event); listener.buildFinished(event);
} }
@@ -1990,7 +1992,8 @@ public class Project {
protected void fireTargetStarted(Target target) { protected void fireTargetStarted(Target target) {
BuildEvent event = new BuildEvent(target); BuildEvent event = new BuildEvent(target);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.targetStarted(event); listener.targetStarted(event);
} }
@@ -2010,7 +2013,8 @@ public class Project {
BuildEvent event = new BuildEvent(target); BuildEvent event = new BuildEvent(target);
event.setException(exception); event.setException(exception);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.targetFinished(event); listener.targetFinished(event);
} }
@@ -2027,7 +2031,8 @@ public class Project {
registerThreadTask(Thread.currentThread(), task); registerThreadTask(Thread.currentThread(), task);
BuildEvent event = new BuildEvent(task); BuildEvent event = new BuildEvent(task);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.taskStarted(event); listener.taskStarted(event);
} }
@@ -2050,7 +2055,8 @@ public class Project {
BuildEvent event = new BuildEvent(task); BuildEvent event = new BuildEvent(task);
event.setException(exception); event.setException(exception);
Vector listeners = getBuildListeners(); Vector listeners = getBuildListeners();
for (int i = 0; i < listeners.size(); i++) {
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.taskFinished(event); listener.taskFinished(event);
} }
@@ -2076,8 +2082,9 @@ public class Project {
+ (priority == MSG_ERR ? "System.err" : "System.out") + (priority == MSG_ERR ? "System.err" : "System.out")
+ " - infinite loop terminated"); + " - infinite loop terminated");
} }
loggingMessage = true;
for (int i = 0; i < listeners.size(); i++) {
loggingMessage = true;
int size = listeners.size();
for (int i = 0; i < size; i++) {
BuildListener listener = (BuildListener) listeners.elementAt(i); BuildListener listener = (BuildListener) listeners.elementAt(i);
listener.messageLogged(event); listener.messageLogged(event);
} }


Loading…
Cancel
Save