Author: maurelio1234
Date: 2008-11-03 04:09:31-0800
New Revision: 15957

Modified:
   
trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
   
trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java

Log:
fixing issue 5479

these new critic are now being added as default if there is no
configuration for default profiles

changed ProfileManagerImpl so that it disables the critic in the 
persistend configuration when a critic is disabled when the profile that 
exports it 
is disabled. Without this, sometimes some critics may be enabled even if 
their profiles is not.




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=15957&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=15956&r2=15957
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java  
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java  
    2008-11-03 04:09:31-0800
@@ -46,6 +46,8 @@
 import org.argouml.profile.ProfileManager;
 import org.argouml.profile.UserDefinedProfile;
 import org.argouml.profile.UserDefinedProfileHelper;
+import org.argouml.uml.cognitive.critics.ProfileCodeGeneration;
+import org.argouml.uml.cognitive.critics.ProfileGoodPractices;
 
 /**
  * Default <code>ProfileManager</code> implementation
@@ -85,14 +87,23 @@
     private Profile profileUML;
     
     private Profile profileJava;
+    
+    private Profile profileGoodPractices;
+    
+    private Profile profileCodeGeneration;
+
 
     /**
      * Constructor - includes initialization of built-in default profiles.
      */
     public ProfileManagerImpl() {
         try {
+            disableConfigurationUpdate = true;
+            
             profileUML = new ProfileUML();
             profileJava = new ProfileJava(profileUML);
+            profileGoodPractices = new ProfileGoodPractices();
+            profileCodeGeneration = new ProfileCodeGeneration();
             
             registerProfile(profileUML);
             addToDefaultProfiles(profileUML); 
@@ -100,9 +111,14 @@
             
             // register the built-in profiles
             registerProfile(profileJava);                
+            registerProfile(profileGoodPractices);                
+            registerProfile(profileCodeGeneration);                
             registerProfile(new ProfileMeta());
+
         } catch (ProfileException e) {
             throw new RuntimeException(e);
+        } finally {
+            disableConfigurationUpdate = false;
         }
 
         loadDirectoriesFromConfiguration();
@@ -120,9 +136,13 @@
                     .getString(KEY_DEFAULT_PROFILES);
             if (defaultProfilesList.equals("")) {
                 // if the list does not exist
-                // add the Java profile as default
+                // add the Java profile and the code generation and good 
practices
+                // profiles as default
 
                 addToDefaultProfiles(profileJava);
+                addToDefaultProfiles(profileGoodPractices);
+                addToDefaultProfiles(profileCodeGeneration);
+                
             } else {
                 StringTokenizer tokenizer = new StringTokenizer(
                         defaultProfilesList, DIRECTORY_SEPARATOR, false);
@@ -165,8 +185,8 @@
                     }
                 }
             }
+            disableConfigurationUpdate = false;
         }
-        disableConfigurationUpdate = false;
     }
 
     private void updateDefaultProfilesConfiguration() {
@@ -420,12 +440,14 @@
         for (Profile p : this.profiles) {
             for (Critic c : p.getCritics()) {
                 c.setEnabled(false);
+                Configuration.setBoolean(c.getCriticKey(), false);             
   
             }
         }
         
         for (Profile p : pc.getProfiles()) {
             for (Critic c : p.getCritics()) {
                 c.setEnabled(true);
+                Configuration.setBoolean(c.getCriticKey(), true);              
  
             }
         }        
     }

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java?view=diff&rev=15957&p1=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java&p2=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java&r1=15956&r2=15957
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java
       (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java
       2008-11-03 04:09:31-0800
@@ -46,8 +46,6 @@
      * static initializer, register all appropriate critics.
      */
     public void init() {
-        ProfileFacade.register(new ProfileGoodPractices());
-        ProfileFacade.register(new ProfileCodeGeneration());
     }
 
     public List<GUISettingsTabInterface> getProjectSettingsTabs() {

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

Reply via email to