Author: tfmorris
Date: 2008-08-28 21:11:43-0700
New Revision: 15640

Modified:
   trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java

Log:
RESOLVED - task 5352: Project.postLoad() very slow for large projects 
http://argouml.tigris.org/issues/show_bug.cgi?id=5352

Modified: trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java?view=diff&rev=15640&p1=trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java&p2=trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java&r1=15639&r2=15640
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java       
(original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java       
2008-08-28 21:11:43-0700
@@ -794,9 +794,13 @@
 
 
     public void postLoad() {
+        long startTime = System.currentTimeMillis();
         for (ArgoDiagram diagram : diagrams) {
             diagram.postLoad();
         }
+        long endTime = System.currentTimeMillis();
+        LOG.debug("Diagram post load took " + (endTime - startTime) + " 
msec.");
+        
         // issue 1725: the root is not set, which leads to problems
         // with displaying prop panels
         Object model = getModel();

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java?view=diff&rev=15640&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&r1=15639&r2=15640
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java   
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java   
    2008-08-28 21:11:43-0700
@@ -1258,7 +1258,6 @@
      */
     @Override
     public void postLoad() {
-        ArgoEventPump.removeListener(this);
         ArgoEventPump.addListener(this);
     }
 

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java?view=diff&rev=15640&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&r1=15639&r2=15640
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java   
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java   
    2008-08-28 21:11:43-0700
@@ -1845,14 +1845,12 @@
      */
     @Override
     public void postLoad() {
-        ArgoEventPump.removeListener(this);
         ArgoEventPump.addListener(this);
         for (Object fig : getFigs()) {
             if (fig instanceof ArgoEventListener) {
                 // cannot do the adding of listeners recursive since
                 // some are not children of FigNodeModelELement or
                 // FigEdgeModelElement
-                ArgoEventPump.removeListener((ArgoEventListener) fig);
                 ArgoEventPump.addListener((ArgoEventListener) fig);
             }
         }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to