svn commit: r14725 - trunk/src/argouml-app/src/org/argouml/uml/reveng: . java
[email protected] 13 May 2008 16:07:40 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: tfmorris
Date: 2008-05-13 09:07:40-0700
New Revision: 14725
Modified:
trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java
trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java
Log:
Isseu 5077 - make reverse engineering more safe from errors in importers
Modified: trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java?view=diff&rev=14725&p1=trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java&p2=trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java&r1=14724&r2=14725
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/reveng/ImportCommon.java 2008-05-13 09:07:40-0700
@@ -530,6 +530,9 @@
}
ExplorerEventAdaptor.getInstance().structureChanged();
Model.getPump().startPumpingEvents();
+ // Should already be closed. If not, something bad happened, so
+ // make sure it's closed so the user isn't stuck
+ monitor.close();
}
}
@@ -551,7 +554,7 @@
try {
newElements.addAll(currentModule.parseFiles(
project, filesLeft, this, monitor));
- } catch (ImportException e) {
+ } catch (Exception e) {
problems.append(printToBuffer(e));
}
// New style importers don't create diagrams, so we'll do it
Modified: trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java?view=diff&rev=14725&p1=trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java&p2=trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java&r1=14724&r2=14725
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/reveng/java/JavaImport.java 2008-05-13 09:07:40-0700
@@ -73,20 +73,23 @@
newElements = new HashSet();
monitor.updateMainTask(Translator.localize("dialog.import.pass1"));
- if (settings.getImportLevel() == ImportSettings.DETAIL_CLASSIFIER_FEATURE
- || settings.getImportLevel() == ImportSettings.DETAIL_FULL) {
- monitor.setMaximumProgress(files.size() * 2);
- doImportPass(p, files, settings, monitor, 0, 1);
- if (!monitor.isCanceled()) {
- monitor.updateMainTask(
- Translator.localize("dialog.import.pass2"));
- doImportPass(p, files, settings, monitor, files.size(), 2);
- }
- } else {
- monitor.setMaximumProgress(files.size() * 2);
- doImportPass(p, files, settings, monitor, 0, 0);
+ try {
+ if (settings.getImportLevel() == ImportSettings.DETAIL_CLASSIFIER_FEATURE
+ || settings.getImportLevel() == ImportSettings.DETAIL_FULL) {
+ monitor.setMaximumProgress(files.size() * 2);
+ doImportPass(p, files, settings, monitor, 0, 1);
+ if (!monitor.isCanceled()) {
+ monitor.updateMainTask(Translator
+ .localize("dialog.import.pass2"));
+ doImportPass(p, files, settings, monitor, files.size(), 2);
+ }
+ } else {
+ monitor.setMaximumProgress(files.size() * 2);
+ doImportPass(p, files, settings, monitor, 0, 0);
+ }
+ } finally {
+ monitor.close();
}
- monitor.close();
return newElements;
}
@@ -106,7 +109,7 @@
if (file instanceof File) {
try {
parseFile(p, (File) file, settings, pass);
- } catch (ImportException e) {
+ } catch (Exception e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new java.io.PrintWriter(sw);
e.printStackTrace(pw);