svn commit: r14575 - trunk/src/argouml-app: src/org/argouml/persistence src/org/argouml/ui tests/org/argouml/persistence

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2008-05-01 15:17:02-0700
New Revision: 14575

Modified:
   trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java
   trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java
   trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java
   trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java
   trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java
   trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java
   trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java
   trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java
   trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java

Log:
Issue 5057 - deprecate LastLoad* methods.  Add TODOs for additional work.

Modified: trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/ArgoParser.java	2008-05-01 15:17:02-0700
@@ -108,8 +108,6 @@
     }
 
     private void preRead(Project theProject) {
-        PersistenceManager.getInstance().setLastLoadMessage("OK");
-        PersistenceManager.getInstance().setLastLoadStatus(true);
         LOG.info("=======================================");
         LOG.info("== READING PROJECT " + theProject);
         project = theProject;
@@ -117,10 +115,8 @@
     }
 
     private void logError(String projectName, SAXException e) {
-        PersistenceManager.getInstance().setLastLoadStatus(false);
         LOG.error("Exception reading project================");
         LOG.error(projectName);
-        PersistenceManager.getInstance().setLastLoadMessage(e.toString());
     }
 
     /**
@@ -252,6 +248,7 @@
     /*
      * @see org.argouml.persistence.SAXParserBase#isElementOfInterest(String)
      */
+    @Override
     protected boolean isElementOfInterest(String name) {
         return tokens.contains(name);
     }

Modified: trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java	2008-05-01 15:17:02-0700
@@ -122,10 +122,7 @@
             readModels(source);
             mmodel = getCurModel();
         } catch (OpenException e) {
-            PersistenceManager.getInstance().setLastLoadStatus(false);
-            PersistenceManager.getInstance().setLastLoadMessage(
-                    "UmlException parsing XMI.");
-            LOG.error("UmlException caught", e);
+             LOG.error("UmlException caught", e);
             throw e;
         }
         // This should probably be inside xmiReader.parse
@@ -240,9 +237,11 @@
     protected MemberFilePersister getMemberFilePersister(ProjectMember pm) {
         MemberFilePersister persister = null;
         if (pm instanceof ProjectMemberDiagram) {
-            persister =
+            persister = 
                 PersistenceManager.getInstance()
                     .getDiagramMemberFilePersister();
+            // TODO: Cyclic dependency with PersistenceManager, use instead
+//          persister = new DiagramMemberFilePersister();
         } else if (pm instanceof ProfileConfiguration) {
             persister = new ProfileConfigurationFilePersister();
         } else if (pm instanceof ProjectMemberTodoList) {

Modified: trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/OldZargoFilePersister.java	2008-05-01 15:17:02-0700
@@ -133,6 +133,8 @@
                 new BufferedWriter(new OutputStreamWriter(stream, "UTF-8"));
 
             // Save the .argo entry
+            // TODO: Cyclic dependency with PersistenceManager
+            // move PersistenceManager..getProjectBaseName() someplace else
             ZipEntry zipEntry =
                 new ZipEntry(PersistenceManager.getInstance()
                             .getProjectBaseName(project)

Modified: trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/PersistenceManager.java	2008-05-01 15:17:02-0700
@@ -395,7 +395,11 @@
      * Get the last message which caused loading to fail. Used for junit tests.
      *
      * @return the last message which caused loading to fail
+     * @deprecated for 0.25.5 by tfmorris. Persisters all throw exceptions if
+     *             they failed to complete successfully. If no exception was
+     *             thrown, the load succeeded.
      */
+    @Deprecated
     public String getLastLoadMessage() {
         return lastLoadMessage;
     }
@@ -404,14 +408,22 @@
      * Set the last load message. Used for junit tests.
      *
      * @param msg the last load message
+     * @deprecated for 0.25.5 by tfmorris. Persisters all throw exceptions if
+     *             they failed to complete successfully. If no exception was
+     *             thrown, the load succeeded.
      */
+    @Deprecated
     public void setLastLoadMessage(String msg) {
         lastLoadMessage = msg;
     }
 
     /**
      * @return the status of the last load attempt. Used for junit tests.
+     * @deprecated for 0.25.5 by tfmorris. Persisters all throw exceptions if
+     *             they failed to complete successfully. If no exception was
+     *             thrown, the load succeeded.
      */
+    @Deprecated
     public boolean getLastLoadStatus() {
         return lastLoadStatus;
     }
@@ -420,7 +432,11 @@
      * Set the status of the last load attempt. Used for junit tests.
      *
      * @param status the status of the last load attempt
+      * @deprecated for 0.25.5 by tfmorris. Persisters all throw exceptions if
+     *             they failed to complete successfully. If no exception was
+     *             thrown, the load succeeded.
      */
+    @Deprecated
     public void setLastLoadStatus(boolean status) {
         lastLoadStatus = status;
     }

Modified: trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/UmlFilePersister.java	2008-05-01 15:17:02-0700
@@ -63,6 +63,7 @@
 import org.argouml.application.api.Argo;
 import org.argouml.application.helpers.ApplicationVersion;
 import org.argouml.i18n.Translator;
+import org.argouml.kernel.ProfileConfiguration;
 import org.argouml.kernel.Project;
 import org.argouml.kernel.ProjectFactory;
 import org.argouml.kernel.ProjectMember;
@@ -70,7 +71,6 @@
 import org.argouml.uml.ProjectMemberModel;
 import org.argouml.uml.cognitive.ProjectMemberTodoList;
 import org.argouml.uml.diagram.ProjectMemberDiagram;
-import org.argouml.kernel.ProfileConfiguration;
 import org.argouml.util.ThreadUtils;
 import org.tigris.gef.ocl.ExpansionException;
 import org.tigris.gef.ocl.OCLExpander;
@@ -643,9 +643,11 @@
     protected MemberFilePersister getMemberFilePersister(ProjectMember pm) {
         MemberFilePersister persister = null;
         if (pm instanceof ProjectMemberDiagram) {
-            persister =
-		PersistenceManager.getInstance()
-		        .getDiagramMemberFilePersister();
+            // TODO: Cyclic dependency between PersistanceManager and here
+            PersistenceManager.getInstance()
+                    .getDiagramMemberFilePersister();
+        // use the following instead
+//        persister = new DiagramMemberFilePersister();
         } else if (pm instanceof ProjectMemberTodoList) {
             persister = new TodoListMemberFilePersister();
         } else if (pm instanceof ProfileConfiguration) {
@@ -665,9 +667,12 @@
     protected MemberFilePersister getMemberFilePersister(String tag) {
         MemberFilePersister persister = null;
         if (tag.equals("pgml")) {
-            persister =
+            persister = 
+            // TODO: Cyclic dependency between PersistanceManager and here
 		PersistenceManager.getInstance()
                         .getDiagramMemberFilePersister();
+            // use the following instead
+//            persister = new DiagramMemberFilePersister();
         } else if (tag.equals("todo")) {
             persister = new TodoListMemberFilePersister();
         } else if (tag.equals("profile")) {

Modified: trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/XmiFilePersister.java	2008-05-01 15:17:02-0700
@@ -322,9 +322,12 @@
         for (String pgml : pgmlStrings) {
             LOG.info("Parsing pgml " + pgml.length());
             InputStream inputStream = new ByteArrayInputStream(pgml.getBytes());
-            MemberFilePersister persister =
+            MemberFilePersister persister = 
+            // TODO: Cyclic dependency between PersistanceManager and here
                 PersistenceManager.getInstance()
                         .getDiagramMemberFilePersister();
+            // possibly use the following instead
+//            MemberFilePersister persister = new DiagramMemberFilePersister();
             persister.load(project, inputStream);
         }
         if (todoString != null) {

Modified: trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/ZipFilePersister.java	2008-05-01 15:17:02-0700
@@ -193,9 +193,12 @@
     protected MemberFilePersister getMemberFilePersister(ProjectMember pm) {
         MemberFilePersister persister = null;
         if (pm instanceof ProjectMemberDiagram) {
-            persister =
+            persister = 
+            // TODO: Cyclic dependency between PersistanceManager and here
                 PersistenceManager.getInstance()
                     .getDiagramMemberFilePersister();
+            // possibly use the following instead
+//            persister = new DiagramMemberFilePersister();
         } else if (pm instanceof ProfileConfiguration) {
             persister = new ProfileConfigurationFilePersister();
         } else if (pm instanceof ProjectMemberTodoList) {
@@ -278,6 +281,7 @@
      * 
      * @see org.argouml.persistence.AbstractFilePersister#hasAnIcon()
      */
+    @Override
     public boolean hasAnIcon() {
         return false;
     }

Modified: trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java?view=diff&rev=14575&p1=trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java&p2=trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/ui/ProjectBrowser.java	2008-05-01 15:17:02-0700
@@ -1706,27 +1706,7 @@
             } finally {
 
         	try {
-                    if (!PersistenceManager.getInstance().getLastLoadStatus()) {
-                        project = oldProject;
-                        success = false;
-                        // TODO: This seems entirely redundant
-                        // for now I've made the message more generic, but it
-                        // should be removed at a convenient time - tfm
-                        reportError(
-                                pmw,
-                                "Problem loading the project "
-                                + file.getName()
-                                + "\n"
-                                + "Error message:\n"
-                                + PersistenceManager.getInstance()
-                                    .getLastLoadMessage()
-                                + "\n"
-                                + "Some (or all) information may be missing "
-                                + "from the project.\n"
-                                + "Please report this problem at "
-                                + "http://argouml.tigris.org\n",
-                                showUI);
-                    } else if (oldProject != null) {
+                    if (oldProject != null) {
                         // if p equals oldProject there was an exception and we
                         // do not have to gc (garbage collect) the old project
                         if (project != null && !project.equals(oldProject)) {

Modified: trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java?view=diff&rev=14575&p1=trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java&p2=trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java&r1=14574&r2=14575
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java	(original)
+++ trunk/src/argouml-app/tests/org/argouml/persistence/TestZargoFilePersister.java	2008-05-01 15:17:02-0700
@@ -111,8 +111,6 @@
         ZargoFilePersister persister = new ZargoFilePersister();
         String name = url.getFile();
         Project p = persister.doLoad(new File(name));
-        assertTrue("Load Status for " + filename + ".",
-               PersistenceManager.getInstance().getLastLoadStatus());
         return p;
     }
 
@@ -184,14 +182,12 @@
             file = new File("/testmodels/Garbage.zargo");
             ZargoFilePersister persister = new ZargoFilePersister();
             persister.doLoad(file);
-            assertTrue("Load Status",
-                    !PersistenceManager.getInstance().getLastLoadStatus());
+            fail("Load didn't throw an exception");
         } catch (OpenException io) {
             // This is the normal case.
             loaded = false;
         } catch (InterruptedException iExc) {
-            // This should not happen!
-            loaded = false;
+            fail("Got an unexpected InterruptedException during load");
         }
         assertTrue("No exception was thrown.", !loaded);
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.