svn commit: r15972 - trunk/src/argouml-app/src/org/argouml: cognitive profile/internal uml/cognitive/critics
[email protected] 7 Nov 2008 08:48:47 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
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;
+ }
}