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);
     }

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

Reply via email to