svn commit: r15640 - trunk/src/argouml-app/src/org/argouml: kernel uml/diagram/ui
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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);
}
}