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]
