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

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

Reply via email to