Author: euluis
Date: 2008-03-04 16:56:14-0800
New Revision: 14179

Added:
   trunk/src/app/src/org/argouml/profile/ReaderModelLoader.java   (contents, 
props changed)
   trunk/src/app/tests/ArgoUML kernel tests with MDR.launch
   trunk/src/app/tests/ArgoUML persistence tests with MDR.launch
   trunk/src/app/tests/ArgoUML profile tests with MDR.launch
   trunk/src/app/tests/org/argouml/profile/TestReaderModelLoader.java   
(contents, props changed)
Modified:
   
trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
   trunk/src/app/src/org/argouml/profile/FileModelLoader.java
   trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java
   trunk/src/app/tests/Model all tests.launch
   trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java

Log:
issue 4946: solved part of the problem with user defined profiles; added some 
launch configurations to facilitate tests in eclipse

Modified: 
trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java?view=diff&rev=14179&p1=trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java&p2=trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java&r1=14178&r2=14179
==============================================================================
--- 
trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
    (original)
+++ 
trunk/src/app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
    2008-03-04 16:56:14-0800
@@ -26,12 +26,12 @@
 

 import java.io.BufferedReader;

 import java.io.ByteArrayInputStream;

-import java.io.File;

 import java.io.IOException;

 import java.io.InputStream;

 import java.io.InputStreamReader;

 import java.io.OutputStream;

 import java.io.PrintWriter;

+import java.io.StringReader;

 import java.io.StringWriter;

 import java.io.Writer;

 import java.net.URL;

@@ -109,8 +109,25 @@
                         }

                         xmi.append(line + "\n");

                     }

-                    

-                    profile = new UserDefinedProfile(new File(xmi.toString()));

+                    for (Profile candidateProfile 

+                            : ProfileFacade.getManager().

+                                getRegisteredProfiles()) {

+                        if (candidateProfile instanceof UserDefinedProfile) {

+                            UserDefinedProfile userProfile = 

+                                (UserDefinedProfile) candidateProfile;

+                            if (userProfile.getDisplayName().equals(fileName)) 
{

+                                profile = userProfile;

+                                break;

+                            }

+                        }

+                    }

+                    if (profile == null) {

+                        // Use xmi as a fall back alternative when the 

+                        // file for the user defined profile isn't found by 
the 

+                        // profile manager.

+                        profile = new UserDefinedProfile(fileName, 

+                                new StringReader(xmi.toString()));

+                    }

                     

                     // consumes the </userDefined>

                     line = br.readLine().trim();                   


Modified: trunk/src/app/src/org/argouml/profile/FileModelLoader.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/src/org/argouml/profile/FileModelLoader.java?view=diff&rev=14179&p1=trunk/src/app/src/org/argouml/profile/FileModelLoader.java&p2=trunk/src/app/src/org/argouml/profile/FileModelLoader.java&r1=14178&r2=14179
==============================================================================
--- trunk/src/app/src/org/argouml/profile/FileModelLoader.java  (original)
+++ trunk/src/app/src/org/argouml/profile/FileModelLoader.java  2008-03-04 
16:56:14-0800
@@ -46,7 +46,7 @@
         try {
             File modelFile = new File(modelFilename);
             URL url = modelFile.toURI().toURL();
-            return super.loadModel(url, url.toString());
+            return super.loadModel(url, modelFile.getName());
         } catch (MalformedURLException e) {
             throw new ProfileException("Model file not found!");
         }

Added: trunk/src/app/src/org/argouml/profile/ReaderModelLoader.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/src/org/argouml/profile/ReaderModelLoader.java?view=auto&rev=14179
==============================================================================
--- (empty file)
+++ trunk/src/app/src/org/argouml/profile/ReaderModelLoader.java        
2008-03-04 16:56:14-0800
@@ -0,0 +1,80 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.profile;
+
+import java.io.Reader;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.argouml.model.Model;
+import org.argouml.model.UmlException;
+import org.argouml.model.XmiReader;
+import org.xml.sax.InputSource;
+
+/**
+ *
+ * @author Luis Sergio Oliveira (euluis)
+ */
+public class ReaderModelLoader implements ProfileModelLoader {
+
+    private static final Logger LOG = Logger.getLogger(
+            ReaderModelLoader.class);
+
+    private Reader reader;
+
+    /**
+     * Create a ModelLoader that will load the model from the given reader.
+     * 
+     * @param theReader Reader from which the model will be loaded.
+     */
+    public ReaderModelLoader(Reader theReader) {
+        this.reader = theReader;
+    }
+
+    /**
+     * @param path
+     * @return
+     * @throws ProfileException
+     * @see org.argouml.profile.ProfileModelLoader#loadModel(java.lang.String)
+     */
+    @Override
+    public Collection loadModel(String path) throws ProfileException {
+        if (reader != null) {
+            try {
+                XmiReader xmiReader = Model.getXmiReader();
+                InputSource inputSource = new InputSource(reader);
+                inputSource.setSystemId(path);
+                Collection elements = xmiReader.parse(inputSource, true);
+                return elements;
+            } catch (UmlException e) {
+                LOG.error("Exception while loading profile ", e);
+                throw new ProfileException("Invalid XMI data!");
+            }
+        }
+        LOG.error("Profile not found");
+        throw new ProfileException("Profile not found!");
+    }
+
+}

Modified: trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java?view=diff&rev=14179&p1=trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java&p2=trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java&r1=14178&r2=14179
==============================================================================
--- trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java       
(original)
+++ trunk/src/app/src/org/argouml/profile/UserDefinedProfile.java       
2008-03-04 16:56:14-0800
@@ -25,6 +25,7 @@
 package org.argouml.profile;
 
 import java.io.File;
+import java.io.Reader;
 import java.util.Collection;
 
 /**
@@ -46,13 +47,21 @@
      * @throws ProfileException if the profile could not be loaded
      */
     public UserDefinedProfile(File file) throws ProfileException {
-        this.displayName = file.getName();
-        this.modelFile = file;
-        this.model = new FileModelLoader().loadModel(modelFile.getPath());
-        this.fromZargo = false;
+        displayName = file.getName();
+        modelFile = file;
+        model = new FileModelLoader().loadModel(modelFile.getPath());
+        fromZargo = false;
     }
 
     
+    public UserDefinedProfile(String fileName, Reader reader) 
+        throws ProfileException {
+        displayName = fileName;
+        model = new ReaderModelLoader(reader).loadModel(fileName);
+        fromZargo = true;
+    }
+
+
     /**
      * @return the string that should represent this profile in the GUI. An
      *         start (*) is placed on it if it comes from the currently opened

Added: trunk/src/app/tests/ArgoUML kernel tests with MDR.launch
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/ArgoUML%20kernel%20tests%20with%20MDR.launch?view=auto&rev=14179
==============================================================================
--- (empty file)
+++ trunk/src/app/tests/ArgoUML kernel tests with MDR.launch    2008-03-04 
16:56:14-0800
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">

+<listEntry value="/argouml-app"/>

+</listAttribute>

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">

+<listEntry value="4"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" 
value="true"/>

+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" 
value="=argouml-app/tests&lt;org.argouml.kernel"/>

+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>

+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>

+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" 
value="org.eclipse.jdt.junit.loader.junit3"/>

+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; 
javaProject=&quot;argouml-app&quot; path=&quot;1&quot; 
type=&quot;4&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento
 exportedEntriesOnly=&quot;false&quot; 
project=&quot;argouml-app&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model-mdr&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmiutils.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mdrapi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mof.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/nbmdr.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/openide-util.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-tools&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/junit-3.8.2/junit.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/lib/easymock12.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/apache-ant-1.7.0/lib/ant.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" 
value="false"/>

+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>

+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="argouml-app"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" 
value="-Dlog4j.configuration=org/argouml/resource/full_console.lcf -ea"/>

+</launchConfiguration>


Added: trunk/src/app/tests/ArgoUML persistence tests with MDR.launch
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/ArgoUML%20persistence%20tests%20with%20MDR.launch?view=auto&rev=14179
==============================================================================
--- (empty file)
+++ trunk/src/app/tests/ArgoUML persistence tests with MDR.launch       
2008-03-04 16:56:14-0800
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">

+<listEntry value="/argouml-app"/>

+</listAttribute>

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">

+<listEntry value="4"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" 
value="true"/>

+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" 
value="=argouml-app/tests&lt;org.argouml.persistence"/>

+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>

+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>

+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" 
value="org.eclipse.jdt.junit.loader.junit3"/>

+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; 
javaProject=&quot;argouml-app&quot; path=&quot;1&quot; 
type=&quot;4&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento
 exportedEntriesOnly=&quot;false&quot; 
project=&quot;argouml-app&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model-mdr&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmiutils.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mdrapi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mof.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/nbmdr.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/openide-util.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-tools&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/junit-3.8.2/junit.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/lib/easymock12.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/apache-ant-1.7.0/lib/ant.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" 
value="false"/>

+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>

+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="argouml-app"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" 
value="-Dlog4j.configuration=org/argouml/resource/full_console.lcf -ea"/>

+</launchConfiguration>


Added: trunk/src/app/tests/ArgoUML profile tests with MDR.launch
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/ArgoUML%20profile%20tests%20with%20MDR.launch?view=auto&rev=14179
==============================================================================
--- (empty file)
+++ trunk/src/app/tests/ArgoUML profile tests with MDR.launch   2008-03-04 
16:56:14-0800
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">

+<listEntry value="/argouml-app"/>

+</listAttribute>

+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">

+<listEntry value="4"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" 
value="true"/>

+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" 
value="=argouml-app/tests&lt;org.argouml.profile"/>

+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>

+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>

+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" 
value="org.eclipse.jdt.junit.loader.junit3"/>

+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; 
javaProject=&quot;argouml-app&quot; path=&quot;1&quot; 
type=&quot;4&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento
 exportedEntriesOnly=&quot;false&quot; 
project=&quot;argouml-app&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model-mdr&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmiutils.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mdrapi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mof.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/nbmdr.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/openide-util.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-tools&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/junit-3.8.2/junit.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/lib/easymock12.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/apache-ant-1.7.0/lib/ant.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+</listAttribute>

+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" 
value="false"/>

+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>

+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="argouml-app"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" 
value="-Dlog4j.configuration=org/argouml/resource/full_console.lcf -ea"/>

+</launchConfiguration>


Modified: trunk/src/app/tests/Model all tests.launch
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/Model%20all%20tests.launch?view=diff&rev=14179&p1=trunk/src/app/tests/Model%20all%20tests.launch&p2=trunk/src/app/tests/Model%20all%20tests.launch&r1=14178&r2=14179
==============================================================================
--- trunk/src/app/tests/Model all tests.launch  (original)
+++ trunk/src/app/tests/Model all tests.launch  2008-03-04 16:56:14-0800
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

 <launchConfiguration type="org.eclipse.jdt.junit.launchconfig">

 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">

-<listEntry value="/argouml-core-tests/org/argouml/model/AllTests.java"/>

+<listEntry value="/argouml-app/tests/org/argouml/model/AllTests.java"/>

 </listAttribute>

 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">

 <listEntry value="1"/>

@@ -12,29 +12,24 @@
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>

 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" 
value="org.eclipse.jdt.junit.loader.junit3"/>

 <listAttribute key="org.eclipse.jdt.launching.CLASSPATH">

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; 
javaProject=&quot;argouml-core-tests&quot; path=&quot;1&quot; 
type=&quot;4&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model-mdr&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmiutils.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mdrapi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mof.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/nbmdr.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/openide-util.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-lib&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/antlrall-2.7.2.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/commons-logging-1.0.2.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/log4j-1.2.6.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/ocl-argo-1.1.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/swidgets-0.1.4.jar&quot; 
path=&quot;3&quot; sourceAttachmentPath=&quot;/swidgets/src&quot; 
sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/toolbar-1.4.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-lib/gef-0.12.4BETA.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/junit-3.8.2/junit.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/lib/easymock12.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

-<listEntry value="&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento
 exportedEntriesOnly=&quot;false&quot; 
project=&quot;argouml-core-tests&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; 
javaProject=&quot;argouml-core-tests&quot; path=&quot;1&quot; 
type=&quot;4&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model-mdr&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/jmiutils.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mdrapi.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/mof.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/nbmdr.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-model-mdr/lib/openide-util.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-core-model&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/junit-3.8.2/junit.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-core-tools/lib/easymock12.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
path=&quot;3&quot; projectName=&quot;argouml-app&quot; 
type=&quot;1&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-app/lib/antlrall-2.7.2.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-app/lib/gef-0.12.4BETA.jar&quot; 
path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; 
sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-app/lib/ocl-argo-1.1.jar&quot; 
path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; 
standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry 
internalArchive=&quot;/argouml-app/lib/swidgets-0.1.4.jar&quot; 
path=&quot;3&quot; sourceAttachmentPath=&quot;/swidgets/src&quot; 
sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

 </listAttribute>

 <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" 
value="false"/>

 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" 
value="org.argouml.model.AllTests"/>

-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="argouml-core-tests"/>

-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" 
value="${project_loc:xpto} -Xmx64M 
-Dtest.model.uml=${resource_loc:/argouml-core-model-mdr/src/org/argouml/model/mdr/mof/01-02-15.xml}
 
-Dlog4j.configuration=${resource_loc:/argouml/org/argouml/resource/default_console.lcf}
 -Djava.awt.headless=&quot;true&quot; -Dargouml.tests.dir=${project_loc}"/>

+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="argouml-app"/>

 </launchConfiguration>


Modified: trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java?view=diff&rev=14179&p1=trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java&p2=trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java&r1=14178&r2=14179
==============================================================================
--- trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java 
(original)
+++ trunk/src/app/tests/org/argouml/kernel/TestProjectWithProfiles.java 
2008-03-04 16:56:14-0800
@@ -253,7 +253,85 @@
         project.setVersion(ApplicationVersion.getVersion());
         persister.save(project, file);
         // load the project
-        // FIXME: known failure here as documented in issue #4946
+        project = persister.doLoad(file);
+        project.postLoad();
+        // assert that the model element that depends on the profile is 
+        // consistent
+        // FIXME: the next statement fails because the XMI is saved with the 
+        // profile model and with the project model!!! Being the project 
+        // model the second, it won't be part of the project...
+        fooClass = project.findType("Foo", false);
+//        assertNotNull(fooClass);
+//        Collection fooStereotypes = getFacade().getStereotypes(fooClass);
+//        assertEquals(1, fooStereotypes.size());
+//        assertEquals(ProfileMother.STEREOTYPE_NAME_ST, 
+//                getFacade().getNamespace(fooStereotypes.iterator().next()));
+    }
+    
+    /**
+     * WARNING: not a unit test, this is more like a functional test, where 
+     * several subsystems are tested.
+     * 
+     * This test does:
+     * <ol>
+     *   <li>setup a user defined profile</li>
+     *   <li>add it to the project configuration</li>
+     *   <li>create a dependency between the project's model and the user 
+     *   defined profile</li>
+     *   <li>save the project</li>
+     *   <li>remove the directory where the user defined profile was stored in 
+     *   order to test the handling of opening a zargo without the user defined
+     *   profile</li>
+     *   <li>load the project and assert that the model element that depends 
on 
+     *   the profile is consistent</li>
+     * </ol>
+     * 
+     * @throws Exception when things go wrong
+     */
+    public void testProjectWithRemovedUserDefinedProfilePersistency() 
+        throws Exception {
+        // setup a user defined profile
+        ProfileMother mother = new ProfileMother();
+        Object profileModel = mother.createSimpleProfileModel();
+        File userDefinedProfileFile = new File(testCaseDir, 
+                "testProjectWithUserDefinedProfilePersistency.xmi");
+        mother.saveProfileModel(profileModel, userDefinedProfileFile);
+        // add it to the project configuration
+        Profile userDefinedProfile = 
+            new UserDefinedProfile(userDefinedProfileFile);
+        ProfileManager profileManager = ProfileFacade.getManager();
+        profileManager.registerProfile(userDefinedProfile);
+        profileManager.addSearchPathDirectory(testCaseDir.getAbsolutePath());
+        Project project = ProjectManager.getManager().makeEmptyProject();
+        project.getProfileConfiguration().addProfile(userDefinedProfile);
+        // create a dependency between the project's model and the user 
defined 
+        // profile
+        Object model = getModelManagementFactory().getRootModel();
+        Object fooClass = getCoreFactory().buildClass("Foo", model);
+        Collection stereotypes = getExtensionMechanismsHelper().getStereotypes(
+                project.getModels());
+        Object stStereotype = null;
+        for (Object stereotype : stereotypes) {
+            if (ProfileMother.STEREOTYPE_NAME_ST.equals(
+                    getFacade().getName(stereotype))) {
+                stStereotype = stereotype;
+                break;
+            }
+        }
+        Model.getCoreHelper().addStereotype(fooClass, stStereotype);
+        // save the project
+        File file = getFileInTestDir(
+            "testProjectWithUserDefinedProfilePersistency.zargo");
+        AbstractFilePersister persister = getProjectPersister(file);
+        project.setVersion(ApplicationVersion.getVersion());
+        persister.save(project, file);
+        // remove the user defined profile and the directory where it is
+        profileManager.removeProfile(userDefinedProfile);
+        
profileManager.removeSearchPathDirectory(testCaseDir.getAbsolutePath());
+        // load the project
+        // FIXME: the next statement fails because the zargo's XMI model is 
+        // being loaded before the profile file, therefore it doesn't have a 
+        // chance to resolve the dependencies in the model.
         project = persister.doLoad(file);
         project.postLoad();
         // assert that the model element that depends on the profile is 

Added: trunk/src/app/tests/org/argouml/profile/TestReaderModelLoader.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/app/tests/org/argouml/profile/TestReaderModelLoader.java?view=auto&rev=14179
==============================================================================
--- (empty file)
+++ trunk/src/app/tests/org/argouml/profile/TestReaderModelLoader.java  
2008-03-04 16:56:14-0800
@@ -0,0 +1,63 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.profile;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.Collection;
+
+import org.argouml.FileHelper;
+import org.argouml.model.InitializeModel;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for the [EMAIL PROTECTED] ReaderModelLoader} class.
+ *
+ * @author Luis Sergio Oliveira (euluis)
+ */
+public class TestReaderModelLoader extends TestCase {
+    public void testCtor() {
+        Reader reader = new StringReader("dummy string");
+        new ReaderModelLoader(reader);
+    }
+    
+    public void testLoad() throws IOException, ProfileException {
+        InitializeModel.initializeDefault();
+        ProfileMother mother = new ProfileMother();
+        Object model = mother.createSimpleProfileModel();
+        File testDir = FileHelper.setUpDir4Test(getClass());
+        File file = new File(testDir, "testSaveProfileModel.xmi");
+        mother.saveProfileModel(model, file);
+        Reader reader = new FileReader(file);
+        Collection models = new ReaderModelLoader(reader).
+            loadModel(file.getName());
+        assertNotNull(models);
+        assertTrue(models.size() >= 1);
+    }
+}

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

Reply via email to