Author: maurelio1234 Date: 2008-11-07 00:48:46-0800 New Revision: 15972 Modified: trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java
Log: issue 5482 (implementation details in the issue) Modified: trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java?view=diff&rev=15972&p1=trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java&p2=trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java&r1=15971&r2=15972 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java (original) +++ trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java 2008-11-07 00:48:46-0800 @@ -220,11 +220,13 @@ theCritics = new ArrayList<Critic>(); criticRegistry.put(clazz, theCritics); } - theCritics.add(cr); - notifyStaticObservers(cr); - LOG.debug("Registered: " + theCritics.toString()); - cachedCritics.remove(clazz); - addCritic(cr); + if (!theCritics.contains(cr)) { + theCritics.add(cr); + notifyStaticObservers(cr); + LOG.debug("Registered: " + theCritics.toString()); + cachedCritics.remove(clazz); + addCritic(cr); + } } /** 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=15972&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=15971&r2=15972 ============================================================================== --- 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-07 00:48:46-0800 @@ -84,13 +84,13 @@ private List<String> searchDirectories = new ArrayList<String>(); - private Profile profileUML; + private ProfileUML profileUML; - private Profile profileJava; + private ProfileJava profileJava; - private Profile profileGoodPractices; + private ProfileGoodPractices profileGoodPractices; - private Profile profileCodeGeneration; + private ProfileCodeGeneration profileCodeGeneration; /** @@ -103,7 +103,8 @@ profileUML = new ProfileUML(); profileJava = new ProfileJava(profileUML); profileGoodPractices = new ProfileGoodPractices(); - profileCodeGeneration = new ProfileCodeGeneration(); + profileCodeGeneration = new ProfileCodeGeneration( + profileGoodPractices); registerProfile(profileUML); addToDefaultProfiles(profileUML); Modified: trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java?view=diff&rev=15972&p1=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java&p2=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java&r1=15971&r2=15972 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileCodeGeneration.java 2008-11-07 00:48:46-0800 @@ -41,8 +41,8 @@ private Set<Critic> critics = new HashSet<Critic>(); - private static Critic crMissingClassName = new CrMissingClassName(); - + private static Critic crMissingClassName; + private static Critic crDisambigClassName = new CrDisambigClassName(); private static Critic crNoTransitions = new CrNoTransitions(); @@ -56,23 +56,31 @@ // Compound critics // only classes with name need a constructor - private static CompoundCritic crCompoundConstructorNeeded = - new CompoundCritic(crMissingClassName, new CrConstructorNeeded()); + private static CompoundCritic crCompoundConstructorNeeded; - private static CompoundCritic clsNaming = - new CompoundCritic(crMissingClassName, crDisambigClassName); - + private static CompoundCritic clsNaming; + private static CompoundCritic noTrans1 = new CompoundCritic(crNoTransitions, crNoIncomingTransitions); private static CompoundCritic noTrans2 = new CompoundCritic(crNoTransitions, crNoOutgoingTransitions); - + /** * Default Constructor + * + * @param profileGoodPractices the instance of the required profile */ - public ProfileCodeGeneration() { + public ProfileCodeGeneration(ProfileGoodPractices profileGoodPractices) { + crMissingClassName = profileGoodPractices.getCrMissingClassName(); + + crCompoundConstructorNeeded = new CompoundCritic( + crMissingClassName, new CrConstructorNeeded()); + + clsNaming = new CompoundCritic(crMissingClassName, + crDisambigClassName); + critics.add(crCompoundConstructorNeeded); // code generation Modified: trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java?view=diff&rev=15972&p1=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java&p2=trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java&r1=15971&r2=15972 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/ProfileGoodPractices.java 2008-11-07 00:48:46-0800 @@ -39,6 +39,8 @@ public class ProfileGoodPractices extends Profile { private Set<Critic> critics = new HashSet<Critic>(); + + private CrMissingClassName crMissingClassName = new CrMissingClassName(); /** * Default Constructor @@ -51,7 +53,7 @@ critics.add(new CrZeroLengthEdge()); critics.add(new CrCircularComposition()); critics.add(new CrMissingAttrName()); - critics.add(new CrMissingClassName()); + critics.add(crMissingClassName); critics.add(new CrMissingStateName()); critics.add(new CrMissingOperName()); critics.add(new CrNonAggDataType()); @@ -79,4 +81,11 @@ public String getProfileIdentifier() { return "GoodPractices"; } + + /** + * @return the missing class name critic + */ + public Critic getCrMissingClassName() { + return crMissingClassName; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
