conor       2003/04/16 21:50:27

  Modified:    src/main/org/apache/tools/ant Project.java
  Log:
  Improve event dispatch performance (OK because we are using a cloned
  list of listeners)
  
  PR:   19101
  Submiitted By:        smagoun from mac.com
  
  Revision  Changes    Path
  1.137     +16 -9     ant/src/main/org/apache/tools/ant/Project.java
  
  Index: Project.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/Project.java,v
  retrieving revision 1.136
  retrieving revision 1.137
  diff -u -w -u -r1.136 -r1.137
  --- Project.java      15 Apr 2003 17:23:15 -0000      1.136
  +++ Project.java      17 Apr 2003 04:50:27 -0000      1.137
  @@ -1958,7 +1958,8 @@
       public void fireBuildStarted() {
           BuildEvent event = new BuildEvent(this);
           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);
               listener.buildStarted(event);
           }
  @@ -1974,7 +1975,8 @@
           BuildEvent event = new BuildEvent(this);
           event.setException(exception);
           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);
               listener.buildFinished(event);
           }
  @@ -1990,7 +1992,8 @@
       protected void fireTargetStarted(Target target) {
           BuildEvent event = new BuildEvent(target);
           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);
               listener.targetStarted(event);
           }
  @@ -2010,7 +2013,8 @@
           BuildEvent event = new BuildEvent(target);
           event.setException(exception);
           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);
               listener.targetFinished(event);
           }
  @@ -2027,7 +2031,8 @@
           registerThreadTask(Thread.currentThread(), task);
           BuildEvent event = new BuildEvent(task);
           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);
               listener.taskStarted(event);
           }
  @@ -2050,7 +2055,8 @@
           BuildEvent event = new BuildEvent(task);
           event.setException(exception);
           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);
               listener.taskFinished(event);
           }
  @@ -2077,7 +2083,8 @@
                       + " - infinite loop terminated");
               }
               loggingMessage = true;
  -            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);
                   listener.messageLogged(event);
               }
  
  
  

Reply via email to