svn commit: r15616 - trunk/src/argouml-app/src/org/argouml: persistence profile profile/internal

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: maurelio1234
Date: 2008-08-26 15:47:36-0700
New Revision: 15616

Modified:
   trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
   trunk/src/argouml-app/src/org/argouml/profile/Profile.java
   trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java

Log:
issue 5346



Modified: trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java?view=diff&rev=15616&p1=trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java&r1=15615&r2=15616
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/ProfileConfigurationFilePersister.java	2008-08-26 15:47:36-0700
@@ -124,13 +124,19 @@
     private static Profile handlePluginProfile(BufferedReader br)
         throws IOException, OpenException {
         Profile profile;
-        String className = br.readLine().trim();
-        profile = ProfileFacade.getManager().getProfileForClass(
-                className);
+        String profileIdentifier = br.readLine().trim();
+        profile = ProfileFacade.getManager().lookForRegisteredProfile(
+                profileIdentifier);
         if (profile == null) {
-            throw new OpenException(
-                "Plugin profile \"" + className 
-                + "\" is not available in installation.", null);
+            
+            // for compatibility with older format
+            profile = ProfileFacade.getManager().getProfileForClass(
+                    profileIdentifier);
+            
+            if (profile == null) {
+                throw new OpenException("Plugin profile \"" + profileIdentifier
+                        + "\" is not available in installation.", null);
+            }
         }
         return profile;
     }
@@ -292,8 +298,7 @@
                         w.println("\t\t</userDefined>");
                     } else {
                         w.println("\t\t<plugin>");
-                        // TODO: Don't persist our internal implementation names
-                        w.println("\t\t\t" + profile.getClass().getName());
+                        w.println("\t\t\t" + profile.getProfileIdentifier());
                         w.println("\t\t</plugin>");
                     }
                 }

Modified: trunk/src/argouml-app/src/org/argouml/profile/Profile.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/profile/Profile.java?view=diff&rev=15616&p1=trunk/src/argouml-app/src/org/argouml/profile/Profile.java&p2=trunk/src/argouml-app/src/org/argouml/profile/Profile.java&r1=15615&r2=15616
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/profile/Profile.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/profile/Profile.java	2008-08-26 15:47:36-0700
@@ -146,6 +146,8 @@
 
     /**
      * @return a unique identifier for this profile
+     * 
+     * For technical reasons this identifier should not contain stars '*'
      */
     public String getProfileIdentifier() {
         return getDisplayName();

Modified: trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java?view=diff&rev=15616&p1=trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&p2=trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&r1=15615&r2=15616
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java	2008-08-26 15:47:36-0700
@@ -153,8 +153,8 @@
                                     e2);                            
                         }
                     } else if (desc.charAt(0) == 'C') {
-                        String className = desc.substring(1);
-                        p = getProfileForClass(className);
+                        String profileIdentifier = desc.substring(1);
+                        p = lookForRegisteredProfile(profileIdentifier);
                     }
 
                     if (p != null) {
@@ -176,7 +176,7 @@
                             + ((UserDefinedProfile) p).getModelFile()
                                     .toURI().toASCIIString());
                 } else {
-                    buf.append("C" + p.getClass().getName());
+                    buf.append("C" + p.getProfileIdentifier());
                 }
 
                 buf.append(DIRECTORY_SEPARATOR);
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.