svn commit: r15333 - branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app: . .externalToolBuilders .settings META-INF ext lib src src/org/argouml/cognitive src/org/argouml/i18n src/org/argouml/kernel src/org/argouml/moduleloader src/org/argouml/profile src/org/argouml/profile/init src/org/argouml/profile/internal src/org/argouml/profile/internal/ocl src/org/argouml/profile/internal/ocl/uml14 src/org/argouml/profile/internal/ui src/org/argouml/profile/profiles/uml14 src/org/argouml/ui src/org/argouml/ui/explorer src/org/argouml/ui/explorer/rules src/org/argouml/uml/cognitive/critics src/org/argouml/uml/diagram/static_structure/ui src/org/argouml/uml/diagram/ui src/org/argouml/uml/ui tests tests/org/argouml/profile tests/org/argouml/profile/internal tests/org/argouml/profile/ internal/ocl
[email protected] 22 Jul 2008 14:30:37 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: maurelio1234
Date: 2008-07-22 07:30:36-0700
New Revision: 15333
Added:
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ (props changed)
- copied from r15332, /branches/gsoc2008/work_midterm_maurelio1234_merge15331/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.classpath
- copied, changed from r15331, /trunk/src/argouml-app/.classpath
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.externalToolBuilders/
- copied from r15331, /trunk/src/argouml-app/.externalToolBuilders/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.project
- copied unchanged from r15331, /trunk/src/argouml-app/.project
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.settings/
- copied from r15331, /trunk/src/argouml-app/.settings/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ArgoUML DEBUG.launch
- copied unchanged from r15331, /trunk/src/argouml-app/ArgoUML DEBUG.launch
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ArgoUML.launch
- copied unchanged from r15331, /trunk/src/argouml-app/ArgoUML.launch
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/META-INF/
- copied from r15331, /trunk/src/argouml-app/META-INF/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/build.properties
- copied unchanged from r15331, /trunk/src/argouml-app/build.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/build.xml
- copied unchanged from r15331, /trunk/src/argouml-app/build.xml
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/default.properties
- copied unchanged from r15331, /trunk/src/argouml-app/default.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ext/
- copied from r15331, /branches/gsoc2008/work_midterm_maurelio1234/ext/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ext/argouml-critics.jar
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/ext/argouml-critics.jar
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/ext/jbeans.jar
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/ext/jbeans.jar
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/lib/
- copied from r15331, /trunk/src/argouml-app/lib/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/plugin.properties
- copied unchanged from r15331, /trunk/src/argouml-app/plugin.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/
- copied from r15331, /trunk/src/argouml-app/src/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/
- copied from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/CompositeModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/CompositeModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/ComputeTriggers.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/ComputeTriggers.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/ContextApplicable.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/ContextApplicable.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/CrOCL.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/CrOCL.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/EvaluateExpression.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/EvaluateExpression.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/EvaluateInvariant.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/EvaluateInvariant.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/InvalidOclException.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/InvalidOclException.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/LambdaEvaluator.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/LambdaEvaluator.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/ModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/ModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/OclInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/OclInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/
- copied from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/Bag.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/Bag.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/CollectionsModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/CollectionsModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/HashBag.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/HashBag.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/ModelAccessModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/ModelAccessModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/OclAPIModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/OclAPIModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/OclType.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/OclType.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ocl/uml14/Uml14ModelInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ocl/uml14/Uml14ModelInterpreter.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ui/
- copied from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ui/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ui/ProfilePropPanelFactory.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ui/ProfilePropPanelFactory.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ui/PropPanelCritic.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/profile/internal/ui/PropPanelCritic.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ActionManageProfiles.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/ui/explorer/ActionManageProfiles.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToCritics.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/src/org/argouml/ui/explorer/rules/GoProfileToCritics.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/
- copied from r15331, /trunk/src/argouml-app/tests/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/ArgoUML profile.internal.ocl tests with MDR.launch
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/tests/ArgoUML profile.internal.ocl tests with MDR.launch
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/ocl/
- copied from r15331, /branches/gsoc2008/work_midterm_maurelio1234/tests/org/argouml/profile/internal/ocl/
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/ocl/TestCrOCL.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/tests/org/argouml/profile/internal/ocl/TestCrOCL.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/ocl/TestCrOCL2.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/tests/org/argouml/profile/internal/ocl/TestCrOCL2.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/ocl/TestOclInterpreter.java
- copied unchanged from r15331, /branches/gsoc2008/work_midterm_maurelio1234/tests/org/argouml/profile/internal/ocl/TestOclInterpreter.java
Modified:
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/Agency.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/CompoundCritic.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/action.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/misc.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/tab.properties
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/CoreProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FigNodeStrategy.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FileModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FormatingStrategy.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/Profile.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileException.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileFacade.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileManager.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ReaderModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ResourceModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/StreamModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/URLModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserDefinedProfile.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ZipModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ModelUtils.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileJava.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileUML.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/SettingsTabProfile.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/TabProps.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/ProfileMother.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileFacade.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileManager.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileMother.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java
branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java
Log:
merging with trunk before creating patch for issue 5029
Copied: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.classpath (from r15331, /trunk/src/argouml-app/.classpath)
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.classpath?view=diff&rev=15333&p1=/trunk/src/argouml-app/.classpath&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.classpath&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/.classpath (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/.classpath 2008-07-22 07:30:36-0700
@@ -1,17 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" output="build-eclipse-tests" path="tests"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/gef-0.12.4.jar" sourcepath="/gef/src"/>
- <classpathentry exported="true" kind="lib" path="lib/ocl-argo-1.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/swidgets-0.1.4.jar" sourcepath="/swidgets/src"/>
- <classpathentry exported="true" kind="lib" path="lib/toolbar-1.4.1-20071227.jar" sourcepath="/toolbar/src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
- <classpathentry kind="lib" path="/argouml-core-tools/lib/easymock12.jar"/>
- <classpathentry kind="lib" path="/argouml-core-tools/jdepend-2.9/lib/jdepend-2.9.jar"/>
- <classpathentry kind="output" path="build-eclipse"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" output="build-eclipse-tests" path="tests"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/ocl-argo-1.1.jar" sourcepath="/documents/workspace/gsoc/ocl1/src"/>
+ <classpathentry exported="true" kind="lib" path="lib/swidgets-0.1.4.jar" sourcepath="/swidgets/src"/>
+ <classpathentry exported="true" kind="lib" path="lib/toolbar-1.4.1-20071227.jar" sourcepath="/toolbar/src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
+ <classpathentry kind="lib" path="/argouml-core-tools/lib/easymock12.jar"/>
+ <classpathentry kind="lib" path="/argouml-core-tools/jdepend-2.9/lib/jdepend-2.9.jar"/>
+ <classpathentry kind="lib" path="/argouml-core-tools/junit-3.8.2/junit.jar"/>
+ <classpathentry kind="lib" path="lib/gef-0.12.4.jar"/>
+ <classpathentry kind="output" path="build-eclipse"/>
+</classpath>
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/Agency.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/Agency.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/Agency.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/cognitive/Agency.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/Agency.java 2008-07-22 07:30:36-0700
@@ -31,9 +31,11 @@
import java.util.List;
import java.util.Observable;
import java.util.Observer;
+import java.util.Set;
import java.util.Vector;
import org.apache.log4j.Logger;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
* Agency manages Critics. Since classes are not really first class
@@ -235,6 +237,32 @@
register(cr, (Class) clazz);
}
+ /**
+ * Register a critic in the global table of critics that have been
+ * loaded.
+ *
+ * @param cr the critic to register
+ */
+ public static void register(CrUML cr) {
+ Set<Object> metas = cr.getCriticizedMetatypes();
+ for (Object meta : metas) {
+ register(cr, meta);
+ }
+ }
+
+ /**
+ * Register a compound critic in the global table of critics that have been
+ * loaded.
+ *
+ * @param cr the critic to register
+ */
+ public static void register(CompoundCritic cr) {
+ Set<Object> metas = cr.getCriticizedMetatypes();
+ for (Object meta : metas) {
+ register(cr, meta);
+ }
+ }
+
private static Hashtable<Class, Collection<Critic>> cachedCritics =
new Hashtable<Class, Collection<Critic>>();
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/CompoundCritic.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/CompoundCritic.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/cognitive/CompoundCritic.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/CompoundCritic.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/cognitive/CompoundCritic.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/cognitive/CompoundCritic.java 2008-07-22 07:30:36-0700
@@ -25,10 +25,15 @@
package org.argouml.cognitive;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.Vector;
+
import javax.swing.Icon;
+import org.argouml.uml.cognitive.critics.CrUML;
+
/**
* A CompoundCritic acts like a regular critic in that it checks the
* design and produces design feedback. However, a CompoundCritic is
@@ -295,4 +300,17 @@
throw new UnsupportedOperationException();
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ for (Critic cr : this.critics) {
+ if (cr instanceof CrUML) {
+ ret.addAll(((CrUML)cr).getCriticizedMetatypes());
+ }
+ }
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/action.properties
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/action.properties?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/i18n/action.properties&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/action.properties&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/i18n/action.properties (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/action.properties 2008-07-22 07:30:36-0700
@@ -126,6 +126,7 @@
action.invert-selection = Invert Selection
action.javadocs = Javadocs
action.layout = Layout
+action.manage-profiles = Manage Profiles...
action.more-info = More Info...
action.navigate-back = Navigate Back
action.navigate-forward = Navigate Forward
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/misc.properties
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/misc.properties?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/i18n/misc.properties&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/misc.properties&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/i18n/misc.properties (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/misc.properties 2008-07-22 07:30:36-0700
@@ -147,11 +147,13 @@
misc.primitive.rounded-rectangle = Rounded Rectangle
misc.primitive.spline = Spline
misc.primitive.text = Text
+misc.profile.unnamed = Unnamed Profile
misc.profile.model = Profile->Model
misc.profileconfiguration.profile = Profile Configuration->Profile
misc.project.collaboration = Project->Collaboration
misc.project.diagram = Project->Diagram
misc.project.model = Project->Model
+misc.project.critic = Project->Critic
misc.project.profileconfiguration = Project->Profile Configuration
misc.project.roots = Project->Root Elements
misc.project.state-machine = Project->State Machine
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/tab.properties
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/tab.properties?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/i18n/tab.properties&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/tab.properties&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/i18n/tab.properties (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/i18n/tab.properties 2008-07-22 07:30:36-0700
@@ -51,7 +51,7 @@
tab.profiles = Profiles
tab.profiles.userdefined.load = Load profile from file...
-tab.profiles.userdefined.unload = Unload
+tab.profiles.userdefined.unload = Unload active profile
tab.profiles.userdefined.available = Available Profiles:
tab.profiles.userdefined.active = Active Profiles:
tab.profiles.userdefined.default = Default Profiles:
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/kernel/ProfileConfiguration.java 2008-07-22 07:30:36-0700
@@ -46,12 +46,13 @@
import org.argouml.profile.Profile;
import org.argouml.profile.ProfileException;
import org.argouml.profile.ProfileFacade;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
- * This class captures represents the unique access point for the
- * configurability allowed by the use of profiles.
- *
- * @author maurelio1234
+ * This class captures represents the unique access point for the
+ * configurability allowed by the use of profiles.
+ *
+ * @author maurelio1234
*/
public class ProfileConfiguration extends AbstractProjectMember {
/**
@@ -69,22 +70,21 @@
private List<Profile> profiles = new ArrayList<Profile>();
private List<Object> profileModels = new ArrayList<Object>();
-
+
/**
* The extension used in serialization and returned by {@link #getType()}
*/
public static final String EXTENSION = "profile";
-
/**
* The configuration key for the default stereotype view.
*/
- public static final ConfigurationKey KEY_DEFAULT_STEREOTYPE_VIEW =
- Configuration.makeKey("profiles", "stereotypeView");
-
+ public static final ConfigurationKey KEY_DEFAULT_STEREOTYPE_VIEW = Configuration
+ .makeKey("profiles", "stereotypeView");
+
/**
- * The default constructor for this class. Sets the default profiles as
- * given by {@link org.argouml.profile.ProfileManager} as the profiles of
+ * The default constructor for this class. Sets the default profiles as
+ * given by {@link org.argouml.profile.ProfileManager} as the profiles of
* the project.
*
* @param project the project that contains this configuration
@@ -97,15 +97,16 @@
updateStrategies();
}
-
+
/**
- * The constructor for pre-defined profile configurations, such as when a
+ * The constructor for pre-defined profile configurations, such as when a
* project is read from a saved file.
+ *
* @param project the project that contains this configuration
- * @param configuredProfiles the {@link Profile}s that will be the project
- * profiles
+ * @param configuredProfiles the {@link Profile}s that will be the project
+ * profiles
*/
- public ProfileConfiguration(Project project,
+ public ProfileConfiguration(Project project,
Collection<Profile> configuredProfiles) {
super(EXTENSION, project);
for (Profile profile : configuredProfiles) {
@@ -113,11 +114,11 @@
}
updateStrategies();
}
-
+
private void updateStrategies() {
for (Profile profile : profiles) {
- activateFormatingStrategy(profile);
- activateDefaultTypeStrategy(profile);
+ activateFormatingStrategy(profile);
+ activateDefaultTypeStrategy(profile);
}
}
@@ -134,10 +135,10 @@
public DefaultTypeStrategy getDefaultTypeStrategy() {
return defaultTypeStrategy;
}
-
+
/**
- * Updates the current strategy to the strategy provided by the
- * passed profile. The profile should have been previously registered.
+ * Updates the current strategy to the strategy provided by the passed
+ * profile. The profile should have been previously registered.
*
* @param profile the profile providing the current default type strategy
*/
@@ -147,18 +148,18 @@
this.defaultTypeStrategy = profile.getDefaultTypeStrategy();
}
}
-
+
/**
- * Updates the current strategy to the strategy provided by the
- * passed profile. The profile should have been previously registered.
+ * Updates the current strategy to the strategy provided by the passed
+ * profile. The profile should have been previously registered.
*
* @param profile the profile providing the current formating strategy
*/
public void activateFormatingStrategy(Profile profile) {
- if (profile != null && profile.getFormatingStrategy() != null
- && getProfiles().contains(profile)) {
- this.formatingStrategy = profile.getFormatingStrategy();
- }
+ if (profile != null && profile.getFormatingStrategy() != null
+ && getProfiles().contains(profile)) {
+ this.formatingStrategy = profile.getFormatingStrategy();
+ }
}
/**
@@ -167,7 +168,7 @@
public List<Profile> getProfiles() {
return profiles;
}
-
+
/**
* Applies a new profile to this configuration
*
@@ -182,7 +183,7 @@
} catch (ProfileException e) {
LOG.warn("Error retrieving profile's " + p + " packages.", e);
}
-
+
FigNodeStrategy fns = p.getFigureStrategy();
if (fns != null) {
figNodeStrategies.add(fns);
@@ -192,13 +193,18 @@
addProfile(dependency);
}
+ for (CrUML critic : p.getCritics()) {
+ critic.setEnabled(true);
+ }
+
updateStrategies();
+
ArgoEventPump.fireEvent(new ArgoProfileEvent(
ArgoEventTypes.PROFILE_ADDED, new PropertyChangeEvent(this,
"profile", null, p)));
}
}
-
+
/**
* @return the list of models of the currently applied profile.
*/
@@ -207,12 +213,17 @@
}
/**
- * Removes the passed profile from the configuration.
+ * Removes the passed profile from the configuration.
*
* @param p the profile to be removed
*/
public void removeProfile(Profile p) {
profiles.remove(p);
+
+ for (CrUML critic : p.getCritics()) {
+ critic.setEnabled(false);
+ }
+
try {
profileModels.removeAll(p.getProfilePackages());
} catch (ProfileException e) {
@@ -244,30 +255,30 @@
ArgoEventTypes.PROFILE_REMOVED, new PropertyChangeEvent(this,
"profile", p, null)));
}
-
+
private FigNodeStrategy compositeFigNodeStrategy = new FigNodeStrategy() {
- public Image getIconForStereotype(Object element) {
- Iterator it = figNodeStrategies.iterator();
+ public Image getIconForStereotype(Object element) {
+ Iterator it = figNodeStrategies.iterator();
+
+ while (it.hasNext()) {
+ FigNodeStrategy strat = (FigNodeStrategy) it.next();
+ Image extra = strat.getIconForStereotype(element);
+
+ if (extra != null) {
+ return extra;
+ }
+ }
+ return null;
+ }
- while (it.hasNext()) {
- FigNodeStrategy strat = (FigNodeStrategy) it.next();
- Image extra = strat.getIconForStereotype(element);
-
- if (extra != null) {
- return extra;
- }
- }
- return null;
- }
-
};
-
+
/**
* @return the current FigNodeStrategy
*/
public FigNodeStrategy getFigNodeStrategy() {
- return compositeFigNodeStrategy;
+ return compositeFigNodeStrategy;
}
/**
@@ -275,18 +286,18 @@
* @see org.argouml.kernel.AbstractProjectMember#getType()
*/
public String getType() {
- return EXTENSION;
+ return EXTENSION;
}
/**
- * Objects of this class are always consistent, there's no need
- * to repair them.
+ * Objects of this class are always consistent, there's no need to repair
+ * them.
*
* @return the empty string.
* @see org.argouml.kernel.ProjectMember#repair()
*/
public String repair() {
- return "";
+ return "";
}
/**
@@ -298,9 +309,8 @@
return "Profile Configuration";
}
-
/**
- * Find a stereotype with the given name which is applicable to the given
+ * Find a stereotype with the given name which is applicable to the given
* element.
*
* @param name name of stereotype to look for
@@ -309,7 +319,7 @@
*/
public Object findStereotypeForObject(String name, Object element) {
Iterator iter = null;
-
+
for (Object model : profileModels) {
iter = Model.getFacade().getOwnedElements(model).iterator();
@@ -347,10 +357,8 @@
}
/**
- * Finds a type in a model by name
- *
- * FIXME: duplicated from the method with the same name in
- * org.argouml.profile.internal.ModelUtils.
+ * Finds a type in a model by name FIXME: duplicated from the method with
+ * the same name in org.argouml.profile.internal.ModelUtils.
*
* @param s the type name
* @param model the model
@@ -359,14 +367,12 @@
public static Object findTypeInModel(String s, Object model) {
if (!Model.getFacade().isANamespace(model)) {
- throw new IllegalArgumentException(
- "Looking for the classifier " + s
- + " in a non-namespace object of " + model
+ throw new IllegalArgumentException("Looking for the classifier "
+ + s + " in a non-namespace object of " + model
+ ". A namespace was expected.");
}
- Collection allClassifiers =
- Model.getModelManagementHelper()
+ Collection allClassifiers = Model.getModelManagementHelper()
.getAllModelElementsOfKind(model,
Model.getMetaTypes().getClassifier());
@@ -377,7 +383,7 @@
classifier = classifiers[i];
if (Model.getFacade().getName(classifier) != null
- && Model.getFacade().getName(classifier).equals(s)) {
+ && Model.getFacade().getName(classifier).equals(s)) {
return classifier;
}
}
@@ -386,12 +392,12 @@
}
/**
- * Find all the model elements in the configured {@link Profile}s
- * of the given meta type.
+ * Find all the model elements in the configured {@link Profile}s of the
+ * given meta type.
*
* @param metaType the meta type of the model elements to find
- * @return a {@link Collection} containing the model elements that
- * are of the given meta type
+ * @return a {@link Collection} containing the model elements that are of
+ * the given meta type
*/
@SuppressWarnings("unchecked")
public Collection findByMetaType(Object metaType) {
@@ -407,8 +413,7 @@
}
/**
- * @param modelElement
- * ModelElement for which find possible stereotypes
+ * @param modelElement ModelElement for which find possible stereotypes
* @return collection of stereotypes which are valid for the given model
* element.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/moduleloader/ModuleLoader2.java 2008-07-22 07:30:36-0700
@@ -41,6 +41,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.StringTokenizer;
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
@@ -51,15 +52,20 @@
import org.argouml.application.api.AbstractArgoJPanel;
import org.argouml.application.api.Argo;
import org.argouml.i18n.Translator;
+import org.argouml.profile.ProfileException;
+import org.argouml.profile.ProfileFacade;
+import org.argouml.profile.UserDefinedProfile;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
* This is the module loader that loads modules implementing the
- * ModuleInterface.<p>
- *
- * This is a singleton. There are convenience functions that are static
- * to access the module.<p>
- *
+ * ModuleInterface.
+ * <p>
+ * This is a singleton. There are convenience functions that are static to
+ * access the module.
+ * <p>
+ *
* @stereotype singleton
* @author Linus Tolke
* @since 0.15.4
@@ -71,16 +77,16 @@
private static final Logger LOG = Logger.getLogger(ModuleLoader2.class);
/**
- * This map contains the module loader information about the module.<p>
- *
+ * This map contains the module loader information about the module.
+ * <p>
* The keys is the list of available modules.
*/
private Map<ModuleInterface, ModuleStatus> moduleStatus;
-
+
/**
- * List of locations that we've searched and/or loaded modules
- * from. This is for information purposes only to allow it to
- * be displayed in the settings Environment tab.
+ * List of locations that we've searched and/or loaded modules from. This is
+ * for information purposes only to allow it to be displayed in the settings
+ * Environment tab.
*/
private List<String> extensionLocations = new ArrayList<String>();
@@ -108,16 +114,16 @@
* Constructor for this object.
*/
private ModuleLoader2() {
- moduleStatus = new HashMap<ModuleInterface, ModuleStatus>();
+ moduleStatus = new HashMap<ModuleInterface, ModuleStatus>();
}
/**
* Get hold of the instance of this object.
- *
+ *
* @return the instance
*/
public static ModuleLoader2 getInstance() {
- return INSTANCE;
+ return INSTANCE;
}
/**
@@ -132,45 +138,47 @@
}
if (status.isEnabled()) {
if (module instanceof DetailsTabProvider) {
- result.addAll(
- ((DetailsTabProvider) module).getDetailsTabs());
+ result.addAll(((DetailsTabProvider) module)
+ .getDetailsTabs());
}
}
}
return result;
}
+
/**
* Return a collection of all available modules.
- *
+ *
* @return A Collection of all available modules.
*/
private Collection<ModuleInterface> availableModules() {
- return Collections.unmodifiableCollection(moduleStatus.keySet());
+ return Collections.unmodifiableCollection(moduleStatus.keySet());
}
// Access methods for program infrastructure.
/**
- * Enables all selected modules and disabling all modules not selected.<p>
- *
- * In short this attempts to make the modules obey their selection.<p>
- *
+ * Enables all selected modules and disabling all modules not selected.
+ * <p>
+ * In short this attempts to make the modules obey their selection.
+ * <p>
+ *
* @param failingAllowed is <code>true</code> if enabling or disabling of
- * some of the modules is allowed to fail.
+ * some of the modules is allowed to fail.
*/
public static void doLoad(boolean failingAllowed) {
- getInstance().doInternal(failingAllowed);
+ getInstance().doInternal(failingAllowed);
}
// Access methods for modules that need to query about the status of
// other modules.
/**
* Gets the loaded status for some other module.
- *
+ *
* @return true if the module exists and is enabled.
* @param name is the module name of the queried module
*/
public static boolean isEnabled(String name) {
- return getInstance().isEnabledInternal(name);
+ return getInstance().isEnabledInternal(name);
}
// Access methods for the GUI that the user uses to enable and disable
@@ -178,82 +186,82 @@
/**
* Get a Collection with all the names.
- *
+ *
* @return all the names.
*/
public static Collection<String> allModules() {
- Collection<String> coll = new HashSet<String>();
+ Collection<String> coll = new HashSet<String>();
- for (ModuleInterface mf : getInstance().availableModules()) {
- coll.add(mf.getName());
- }
+ for (ModuleInterface mf : getInstance().availableModules()) {
+ coll.add(mf.getName());
+ }
- return coll;
+ return coll;
}
/**
* Get the selected.
- *
+ *
* @param name The name of the module.
* @return <code>true</code> if the module is selected.
*/
public static boolean isSelected(String name) {
- return getInstance().isSelectedInternal(name);
+ return getInstance().isSelectedInternal(name);
}
/**
* Get the selected.
- *
+ *
* @see #isSelected(String)
* @param name The name of the module.
* @return <code>true</code> if the module is selected.
*/
private boolean isSelectedInternal(String name) {
- Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
+ Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
- if (entry != null) {
- ModuleStatus status = entry.getValue();
+ if (entry != null) {
+ ModuleStatus status = entry.getValue();
- if (status == null) {
- return false;
- }
+ if (status == null) {
+ return false;
+ }
- return status.isSelected();
- }
- return false;
+ return status.isSelected();
+ }
+ return false;
}
/**
* Set the selected value.
- *
+ *
* @param name The name of the module.
* @param value Selected or not.
*/
public static void setSelected(String name, boolean value) {
- getInstance().setSelectedInternal(name, value);
+ getInstance().setSelectedInternal(name, value);
}
/**
* Set the selected value.
- *
+ *
* @see #setSelected(String, boolean)
* @param name The name of the module.
* @param value Selected or not.
*/
private void setSelectedInternal(String name, boolean value) {
- Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
+ Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
- if (entry != null) {
- ModuleStatus status = entry.getValue();
+ if (entry != null) {
+ ModuleStatus status = entry.getValue();
- status.setSelected(value);
- }
+ status.setSelected(value);
+ }
}
/**
- * Create a description of the module based on the information provided
- * by the module itself.
- *
+ * Create a description of the module based on the information provided by
+ * the module itself.
+ *
* @param name The name of the module.
* @return The description.
*/
@@ -262,21 +270,21 @@
}
/**
- * Create a description of the module based on the information provided
- * by the module itself.
- *
+ * Create a description of the module based on the information provided by
+ * the module itself.
+ *
* @see #getDescription(String)
* @param name The name of the module.
* @return The description.
*/
private String getDescriptionInternal(String name) {
- Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
+ Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
- if (entry == null) {
- throw new IllegalArgumentException("Module does not exist.");
- }
+ if (entry == null) {
+ throw new IllegalArgumentException("Module does not exist.");
+ }
- ModuleInterface module = entry.getKey();
+ ModuleInterface module = entry.getKey();
StringBuffer sb = new StringBuffer();
String desc = module.getInfo(ModuleInterface.DESCRIPTION);
if (desc != null) {
@@ -296,28 +304,27 @@
return sb.toString();
}
-
// Access methods for the program infrastructure
/**
* Enables all selected modules.
- *
- * @param failingAllowed is true if this is not the last attempt at
- * turning on.
+ *
+ * @param failingAllowed is true if this is not the last attempt at turning
+ * on.
*/
private void doInternal(boolean failingAllowed) {
- huntForModules();
+ huntForModules();
- boolean someModuleSucceeded;
- do {
- someModuleSucceeded = false;
+ boolean someModuleSucceeded;
+ do {
+ someModuleSucceeded = false;
- for (ModuleInterface module : getInstance().availableModules()) {
+ for (ModuleInterface module : getInstance().availableModules()) {
- ModuleStatus status = moduleStatus.get(module);
+ ModuleStatus status = moduleStatus.get(module);
- if (status == null) {
- continue;
- }
+ if (status == null) {
+ continue;
+ }
if (!status.isEnabled() && status.isSelected()) {
try {
@@ -347,68 +354,67 @@
}
} while (someModuleSucceeded);
- if (!failingAllowed) {
- // Notify the user that the modules in the list that are selected
- // but not enabled were not possible to enable and that are not
- // selected that we cannot disable.
- //
- // Currently we just log this.
- //
- // TODO: We could eventually pop up some warning window.
- //
- for (ModuleInterface module : getInstance().availableModules()) {
+ if (!failingAllowed) {
+ // Notify the user that the modules in the list that are selected
+ // but not enabled were not possible to enable and that are not
+ // selected that we cannot disable.
+ //
+ // Currently we just log this.
+ //
+ // TODO: We could eventually pop up some warning window.
+ //
+ for (ModuleInterface module : getInstance().availableModules()) {
- ModuleStatus status = moduleStatus.get(module);
+ ModuleStatus status = moduleStatus.get(module);
- if (status == null) {
- continue;
- }
+ if (status == null) {
+ continue;
+ }
- if (status.isEnabled() && status.isSelected()) {
- continue;
- }
+ if (status.isEnabled() && status.isSelected()) {
+ continue;
+ }
- if (!status.isEnabled() && !status.isSelected()) {
- continue;
- }
+ if (!status.isEnabled() && !status.isSelected()) {
+ continue;
+ }
- if (status.isSelected()) {
- LOG.warn("ModuleLoader was not able to enable module "
- + module.getName());
- } else {
- LOG.warn("ModuleLoader was not able to disable module "
- + module.getName());
- }
- }
- }
+ if (status.isSelected()) {
+ LOG.warn("ModuleLoader was not able to enable module "
+ + module.getName());
+ } else {
+ LOG.warn("ModuleLoader was not able to disable module "
+ + module.getName());
+ }
+ }
+ }
}
/**
* Gets the loaded status for some other module.
- *
+ *
* @return true if the module exists and is enabled.
* @param name is the module name of the queried module
*/
private boolean isEnabledInternal(String name) {
- Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
+ Map.Entry<ModuleInterface, ModuleStatus> entry = findModule(name);
- if (entry != null) {
- ModuleStatus status = entry.getValue();
+ if (entry != null) {
+ ModuleStatus status = entry.getValue();
- if (status == null) {
- return false;
- }
+ if (status == null) {
+ return false;
+ }
- return status.isEnabled();
- }
- return false;
+ return status.isEnabled();
+ }
+ return false;
}
-
/**
- * Return the ModuleInterface, ModuleStatus pair for the module
- * with the given name or <code>null</code> if there isn't any.
- *
+ * Return the ModuleInterface, ModuleStatus pair for the module with the
+ * given name or <code>null</code> if there isn't any.
+ *
* @param name The given name.
* @return A pair (Map.Entry).
*/
@@ -420,13 +426,14 @@
return entry;
}
}
- return null;
+ return null;
}
/**
- * Tries to find as many available modules as possible.<p>
- *
- * As the modules are found they are appended to {@link #moduleStatus}.<p>
+ * Tries to find as many available modules as possible.
+ * <p>
+ * As the modules are found they are appended to {@link #moduleStatus}.
+ * <p>
*/
private void huntForModules() {
huntForModulesFromExtensionDir();
@@ -449,75 +456,72 @@
}
}
}
-
+
/**
- * Find and enable modules from our "ext" directory and from the
- * directory specified in "argo.ext.dir".<p>
- *
- * TODO: This does a calculation of where our "ext" directory is.
- * We should eventually make sure that this calculation is
- * only present in one place in the code and not several.
+ * Find and enable modules from our "ext" directory and from the directory
+ * specified in "argo.ext.dir".
+ * <p>
+ * TODO: This does a calculation of where our "ext" directory is. We should
+ * eventually make sure that this calculation is only present in one place
+ * in the code and not several.
*/
private void huntForModulesFromExtensionDir() {
- // Use a little trick to find out where Argo is being loaded from.
+ // Use a little trick to find out where Argo is being loaded from.
String extForm = getClass().getResource(Argo.ARGOINI).toExternalForm();
- String argoRoot =
- extForm.substring(0,
- extForm.length() - Argo.ARGOINI.length());
-
- // If it's a jar, clean it up and make it look like a file url
- if (argoRoot.startsWith(JAR_PREFIX)) {
- argoRoot = argoRoot.substring(JAR_PREFIX.length());
- if (argoRoot.endsWith("!")) {
- argoRoot = argoRoot.substring(0, argoRoot.length() - 1);
- }
- }
+ String argoRoot = extForm.substring(0, extForm.length()
+ - Argo.ARGOINI.length());
+
+ // If it's a jar, clean it up and make it look like a file url
+ if (argoRoot.startsWith(JAR_PREFIX)) {
+ argoRoot = argoRoot.substring(JAR_PREFIX.length());
+ if (argoRoot.endsWith("!")) {
+ argoRoot = argoRoot.substring(0, argoRoot.length() - 1);
+ }
+ }
- String argoHome = null;
+ String argoHome = null;
- if (argoRoot != null) {
- LOG.info("argoRoot is " + argoRoot);
- if (argoRoot.startsWith(FILE_PREFIX)) {
- argoHome =
- new File(argoRoot.substring(FILE_PREFIX.length()))
- .getAbsoluteFile().getParent();
- } else {
- argoHome = new File(argoRoot).getAbsoluteFile().getParent();
- }
+ if (argoRoot != null) {
+ LOG.info("argoRoot is " + argoRoot);
+ if (argoRoot.startsWith(FILE_PREFIX)) {
+ argoHome = new File(argoRoot.substring(FILE_PREFIX.length()))
+ .getAbsoluteFile().getParent();
+ } else {
+ argoHome = new File(argoRoot).getAbsoluteFile().getParent();
+ }
- try {
- argoHome = java.net.URLDecoder.decode(argoHome,
- Argo.getEncoding());
- } catch (UnsupportedEncodingException e) {
- LOG.warn("Encoding "
- + Argo.getEncoding()
- + " is unknown.");
- }
+ try {
+ argoHome = java.net.URLDecoder.decode(argoHome, Argo
+ .getEncoding());
+ } catch (UnsupportedEncodingException e) {
+ LOG.warn("Encoding " + Argo.getEncoding() + " is unknown.");
+ }
- LOG.info("argoHome is " + argoHome);
- }
+ LOG.info("argoHome is " + argoHome);
+ }
- if (argoHome != null) {
+ if (argoHome != null) {
String extdir;
- if (argoHome.startsWith(FILE_PREFIX)) {
- extdir = argoHome.substring(FILE_PREFIX.length())
+ if (argoHome.startsWith(FILE_PREFIX)) {
+ extdir = argoHome.substring(FILE_PREFIX.length())
+ File.separator + "ext";
- } else {
- extdir = argoHome + File.separator + "ext";
- }
+ } else {
+ extdir = argoHome + File.separator + "ext";
+ }
extensionLocations.add(extdir);
- huntModulesFromNamedDirectory(extdir);
- }
+ huntModulesFromNamedDirectory(extdir);
+ }
String extdir = System.getProperty("argo.ext.dir");
- if (extdir != null) {
+ if (extdir != null) {
extensionLocations.add(extdir);
- huntModulesFromNamedDirectory(extdir);
- }
+ huntModulesFromNamedDirectory(extdir);
+ }
}
-
+
/**
* Get the list of locations that we've loaded extension modules from.
+ *
* @return A list of the paths we've loaded from.
*/
public List<String> getExtensionLocations() {
@@ -526,62 +530,58 @@
/**
* Find and enable a module from a given directory.
- *
+ *
* @param dirname The name of the directory.
*/
private void huntModulesFromNamedDirectory(String dirname) {
- File extensionDir = new File(dirname);
- if (extensionDir.isDirectory()) {
- File[] files = extensionDir.listFiles(new JarFileFilter());
- for (File file : files) {
- JarFile jarfile = null;
- // Try-catch only the JarFile instantiation so we
- // don't accidentally mask anything in ArgoJarClassLoader
- // or processJarFile.
- try {
- jarfile = new JarFile(file);
- if (jarfile != null) {
- // TODO: Should we be delegating to a different
- // classloader than the default here? - - tfm
- ClassLoader classloader =
- new URLClassLoader(new URL[] {
- file.toURI().toURL(),
- });
- try {
- processJarFile(classloader, file);
- } catch (ClassNotFoundException e) {
- LOG.error("The class is not found.", e);
- return;
- }
- }
- } catch (IOException ioe) {
- LOG.debug("Cannot open Jar file " + file, ioe);
- }
- }
- }
+ File extensionDir = new File(dirname);
+ if (extensionDir.isDirectory()) {
+ File[] files = extensionDir.listFiles(new JarFileFilter());
+ for (File file : files) {
+ JarFile jarfile = null;
+ // Try-catch only the JarFile instantiation so we
+ // don't accidentally mask anything in ArgoJarClassLoader
+ // or processJarFile.
+ try {
+ jarfile = new JarFile(file);
+ if (jarfile != null) {
+ // TODO: Should we be delegating to a different
+ // classloader than the default here? - - tfm
+ ClassLoader classloader = new URLClassLoader(
+ new URL[] {file.toURI().toURL()} );
+ try {
+ processJarFile(classloader, file);
+ } catch (ClassNotFoundException e) {
+ LOG.error("The class is not found.", e);
+ return;
+ }
+ }
+ } catch (IOException ioe) {
+ LOG.debug("Cannot open Jar file " + file, ioe);
+ }
+ }
+ }
}
/**
- * Check a jar file for an ArgoUML extension/module.<p>
- *
+ * Check a jar file for an ArgoUML extension/module.
+ * <p>
* If there isn't a manifest or it isn't readable, we fail silently.
- *
- * @param classloader The classloader to use.
- * @param file The file to process.
- * @throws ClassNotFoundException if the manifest file contains a class
- * that doesn't exist.
+ *
+ * @throws ClassNotFoundException if the manifest file contains a class that
+ * doesn't exist.
*/
private void processJarFile(ClassLoader classloader, File file)
throws ClassNotFoundException {
- LOG.info("Opening jar file " + file);
+ LOG.info("Opening jar file " + file);
JarFile jarfile;
- try {
- jarfile = new JarFile(file);
- } catch (IOException e) {
- LOG.error("Unable to open " + file, e);
+ try {
+ jarfile = new JarFile(file);
+ } catch (IOException e) {
+ LOG.error("Unable to open " + file, e);
return;
- }
+ }
Manifest manifest;
try {
@@ -593,26 +593,30 @@
LOG.error("Unable to read manifest of " + file, e);
return;
}
-
+
+ LOG.info("Reading profiles...");
+ try {
+ loadProfilesFromJarFile(jarfile.getManifest(), file, classloader);
+ } catch (IOException e) {
+ LOG.error("Unable to get MANIFEST from Jar of " + file, e);
+ }
+
boolean loadedClass = false;
if (manifest == null) {
Enumeration<JarEntry> jarEntries = jarfile.entries();
while (jarEntries.hasMoreElements()) {
JarEntry entry = jarEntries.nextElement();
- loadedClass =
- loadedClass
- | processEntry(classloader, entry.getName());
+ loadedClass = loadedClass
+ | processEntry(classloader, entry.getName());
}
} else {
Map<String, Attributes> entries = manifest.getEntries();
for (String key : entries.keySet()) {
// Look for our specification
- loadedClass =
- loadedClass
- | processEntry(classloader, key);
+ loadedClass = loadedClass | processEntry(classloader, key);
}
}
-
+
if (loadedClass) {
// Add this to search list for I18N properties
Translator.addClassLoader(classloader);
@@ -623,13 +627,124 @@
}
/**
+ * Interprets the MANIFEST file in the JAR in order to load the declared
+ * profile.
+ *
+ * @param file the file object referencing the Jar
+ * @param manifest the manifest file of the Jar
+ * @param classloader the classloader that loads the classes referenced by
+ * the Jar
+ */
+ private void loadProfilesFromJarFile(Manifest manifest, File file,
+ ClassLoader classloader) {
+ Map<String, Attributes> entries = manifest.getEntries();
+ boolean classLoaderAlreadyAdded = false;
+
+ for (String entryName : entries.keySet()) {
+ Attributes attr = entries.get(entryName);
+ if (new Boolean(attr.getValue("Profile") + "").booleanValue()) {
+ try {
+ // we only need to add the classloader once
+ // and if and only if there is at least a profile
+ // in the JAR
+ if (!classLoaderAlreadyAdded) {
+ Translator.addClassLoader(classloader);
+ classLoaderAlreadyAdded = true;
+ }
+ Set<CrUML> critics = loadJavaCriticsForProfile(attr,
+ classloader);
+ String modelPath = attr.getValue("Model");
+ URL modelURL = null;
+
+ if (modelPath != null) {
+ modelURL = new URL(JAR_PREFIX + FILE_PREFIX
+ + file.getCanonicalPath() + "!" + modelPath);
+ }
+
+ UserDefinedProfile udp = new UserDefinedProfile(entryName,
+ modelURL, critics,
+ loadManifestDependenciesForProfile(attr));
+
+ ProfileFacade.getManager().registerProfile(udp);
+ LOG.debug("Registered Profile: " + udp.getDisplayName()
+ + "...");
+ } catch (ProfileException e) {
+ LOG.error("Exception", e);
+ } catch (IOException e) {
+ LOG.error("Exception", e);
+ }
+ }
+
+ }
+ }
+
+ /**
+ * Resolves the dependencies for a Profile
+ *
+ * TODO How do we deal with the non-determinism in the order of the loaded
+ * profiles? (Maybe the d depended profiles were not loaded yet)
+ *
+ * @param attr a group of attributes in the MANIFEST file for this JAR
+ *
+ * @return the set of defined profiles
+ */
+ private Set<String> loadManifestDependenciesForProfile(Attributes attr) {
+ Set<String> ret = new HashSet<String>();
+ String value = attr.getValue("Depends-on");
+ if (value != null) {
+ StringTokenizer st = new StringTokenizer(value, ",");
+
+ while (st.hasMoreElements()) {
+ String entry = st.nextToken().trim();
+ ret.add(entry);
+ }
+ }
+
+ return ret;
+ }
+
+ /**
+ * Loads the Java critics defined by a profile
+ *
+ * @param attr the Manifest section of the profile
+ * @param classloader the classloader of the Jar
+ *
+ * @return the set of defined critics
+ */
+ private Set<CrUML> loadJavaCriticsForProfile(Attributes attr,
+ ClassLoader classloader) {
+ Set<CrUML> ret = new HashSet<CrUML>();
+
+ String value = attr.getValue("Java-Critics");
+ if (value != null) {
+ StringTokenizer st = new StringTokenizer(value, ",");
+
+ while (st.hasMoreElements()) {
+ String entry = st.nextToken().trim();
+
+ try {
+ Class cl = classloader.loadClass(entry);
+ CrUML critic = (CrUML) cl.newInstance();
+ ret.add(critic);
+ } catch (ClassNotFoundException e) {
+ LOG.error("Error loading class: " + entry, e);
+ } catch (InstantiationException e) {
+ LOG.error("Error instantianting class: " + entry, e);
+ } catch (IllegalAccessException e) {
+ LOG.error("Exception", e);
+ }
+ }
+ }
+
+ return ret;
+ }
+
+ /**
* Process a JAR file entry, attempting to load anything that looks like a
* Java class.
*
- * @param classloader
- * the classloader to use when loading the class
- * @param cname
- * the class name
+ * @param classloader the classloader to use when loading the class
+ * @param cname the class name
* @throws ClassNotFoundException
* @return true if class was a module class and loaded successfully
*/
@@ -646,23 +761,21 @@
/**
* Add a class from the current class loader.
- *
+ *
* @param classname The name of the class (including package).
* @throws ClassNotFoundException if the class classname is not found.
*/
- public static void addClass(String classname)
- throws ClassNotFoundException {
+ public static void addClass(String classname) throws ClassNotFoundException {
- getInstance().addClass(ModuleLoader2.class.getClassLoader(),
- classname);
+ getInstance().addClass(ModuleLoader2.class.getClassLoader(), classname);
}
/**
- * Try to load a module from the given ClassLoader.<p>
- *
+ * Try to load a module from the given ClassLoader.
+ * <p>
* Only add it as a module if it is a module (i.e. it implements the
* {@link ModuleInterface} interface.
- *
+ *
* @param classLoader The ClassLoader to load from.
* @param classname The name.
* @throws ClassNotFoundException if the class classname is not found.
@@ -689,7 +802,7 @@
LOG.error("Unexpected error while loading " + classname, e);
return false;
}
-
+
if (!ModuleInterface.class.isAssignableFrom(moduleClass)) {
LOG.debug("The class " + classname + " is not a module.");
return false;
@@ -697,16 +810,15 @@
Constructor defaultConstructor;
try {
- defaultConstructor =
- moduleClass.getDeclaredConstructor(new Class[] {});
+ defaultConstructor = moduleClass
+ .getDeclaredConstructor(new Class[] {});
} catch (SecurityException e) {
LOG.error("The default constructor for class " + classname
- + " is not accessable.",
- e);
+ + " is not accessable.", e);
return false;
} catch (NoSuchMethodException e) {
LOG.error("The default constructor for class " + classname
- + " is not found.", e);
+ + " is not found.", e);
return false;
} catch (NoClassDefFoundError e) {
LOG.error("Unable to find required class while loading "
@@ -725,7 +837,7 @@
}
Object moduleInstance;
try {
- moduleInstance = defaultConstructor.newInstance(new Object[]{});
+ moduleInstance = defaultConstructor.newInstance(new Object[] {});
} catch (IllegalArgumentException e) {
LOG.error("The constructor for class " + classname
+ " is called with incorrect argument.", e);
@@ -766,51 +878,48 @@
}
/**
- * Add a newly found module to {@link #moduleStatus}. If we already
- * know about it, don't add it.
- *
+ * Add a newly found module to {@link #moduleStatus}. If we already know
+ * about it, don't add it.
+ *
* @param mf The module to add.
*/
private void addModule(ModuleInterface mf) {
- // Since there is no way to compare the objects as equal,
- // we have to search through the list at this point.
+ // Since there is no way to compare the objects as equal,
+ // we have to search through the list at this point.
for (ModuleInterface foundMf : moduleStatus.keySet()) {
- if (foundMf.getName().equals(mf.getName())) {
- return;
- }
- }
+ if (foundMf.getName().equals(mf.getName())) {
+ return;
+ }
+ }
- // We havn't found it. Add it.
- ModuleStatus ms = new ModuleStatus();
+ // We havn't found it. Add it.
+ ModuleStatus ms = new ModuleStatus();
- // Enable it.
- // TODO: This by default selects all modules that are found.
- // Eventually we would rather obey a default either from the
- // modules themselves, from how they are found, and also
- // have information on what modules are selected from the
- // configuration.
- ms.setSelected();
+ // Enable it.
+ // TODO: This by default selects all modules that are found.
+ // Eventually we would rather obey a default either from the
+ // modules themselves, from how they are found, and also
+ // have information on what modules are selected from the
+ // configuration.
+ ms.setSelected();
- moduleStatus.put(mf, ms);
+ moduleStatus.put(mf, ms);
}
-
/**
* The file filter that selects Jar files.
*/
static class JarFileFilter implements FileFilter {
- /*
- * @see java.io.FileFilter#accept(java.io.File)
- */
- public boolean accept(File pathname) {
- return (pathname.canRead()
- && pathname.isFile()
- && pathname.getPath().toLowerCase().endsWith(".jar"));
- }
+ /*
+ * @see java.io.FileFilter#accept(java.io.File)
+ */
+ public boolean accept(File pathname) {
+ return (pathname.canRead() && pathname.isFile() && pathname
+ .getPath().toLowerCase().endsWith(".jar"));
+ }
}
}
-
/**
* Status for each of the available modules. This is created in one copy per
* available module.
@@ -828,61 +937,60 @@
/**
* Tells if the module is enabled or not.
- *
+ *
* @return true if the module is enabled.
*/
public boolean isEnabled() {
- return enabled;
+ return enabled;
}
/**
* Setter for enabled.
*/
public void setEnabled() {
- enabled = true;
+ enabled = true;
}
/**
* Setter for enabled.
*/
public void setDisabled() {
- enabled = false;
+ enabled = false;
}
/**
* Tells if the module is selected by the user or not.
- *
+ *
* @return true if it is selected.
*/
public boolean isSelected() {
- return selected;
+ return selected;
}
-
/**
* Setter for selected.
*/
public void setSelected() {
- selected = true;
+ selected = true;
}
/**
* Setter for selected.
*/
public void setUnselect() {
- selected = false;
+ selected = false;
}
/**
* Setter for selected.
- *
+ *
* @param value The value to set.
*/
public void setSelected(boolean value) {
- if (value) {
- setSelected();
- } else {
- setUnselect();
- }
+ if (value) {
+ setSelected();
+ } else {
+ setUnselect();
+ }
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/CoreProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/CoreProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/CoreProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/CoreProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/CoreProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/CoreProfileReference.java 2008-07-22 07:30:36-0700
@@ -29,34 +29,30 @@
/**
* This class provides the base referencing and URL for ArgoUML core profiles.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class CoreProfileReference extends ProfileReference {
-
- static final String PROFILES_RESOURCE_PATH =
- "/org/argouml/profile/profiles/uml14/";
-
- static final String PROFILES_BASE_URL =
- "http://argouml.org/profiles/uml14/";
+
+ static final String PROFILES_RESOURCE_PATH = "/org/argouml/profile/profiles/uml14/";
+
+ static final String PROFILES_BASE_URL = "http://argouml.org/profiles/uml14/";
/**
- * Constructor, which builds a ProfileReference for ArgoUML core profiles
- * by:
- * <li>prefixing the fileName with {@link #PROFILES_RESOURCE_PATH} and
+ * Constructor, which builds a ProfileReference for ArgoUML core profiles
+ * by:
+ * <li>prefixing the fileName with {@link #PROFILES_RESOURCE_PATH} and
* using this as the path;</li>
- * <li>and prefixing the fileName with {@link #PROFILES_BASE_URL} and
- * using this as the publicReference.</li>
+ * <li>and prefixing the fileName with {@link #PROFILES_BASE_URL} and using
+ * this as the publicReference.</li>
*
* @param fileName the profile file name.
* @throws MalformedURLException if the built URL is incorrect.
*/
public CoreProfileReference(String fileName) throws MalformedURLException {
- super(PROFILES_RESOURCE_PATH + fileName,
- new URL(PROFILES_BASE_URL + fileName));
- assert fileName != null
- : "null isn't acceptable as the profile file name.";
- assert !"".equals(fileName)
- : "the empty string isn't acceptable as the profile file name.";
+ super(PROFILES_RESOURCE_PATH + fileName, new URL(PROFILES_BASE_URL
+ + fileName));
+ assert fileName != null : "null isn't acceptable as the profile file name.";
+ assert !"".equals(fileName) : "the empty string isn't acceptable as the profile file name.";
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/DefaultTypeStrategy.java 2008-07-22 07:30:36-0700
@@ -25,9 +25,9 @@
package org.argouml.profile;
/**
- * Using this strategy profiles can provide the default used when creating new
+ * Using this strategy profiles can provide the default used when creating new
* parameters, operations and attributes.
- *
+ *
* @author maurelio1234
*/
public interface DefaultTypeStrategy {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FigNodeStrategy.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FigNodeStrategy.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/FigNodeStrategy.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FigNodeStrategy.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/FigNodeStrategy.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FigNodeStrategy.java 2008-07-22 07:30:36-0700
@@ -27,20 +27,20 @@
import java.awt.Image;
/**
- * Using this strategy profiles can provide icons to replace the default
+ * Using this strategy profiles can provide icons to replace the default
* visualization of stereotyped node according to UML 2.0 specification.
- *
+ *
* @author maurelio1234
*/
public interface FigNodeStrategy {
-
+
/**
- * Returns the image of the icon that should replace the model elements
- * having this stereotype
+ * Returns the image of the icon that should replace the model elements
+ * having this stereotype
*
* @param stereotype the stereotype model element
- * @return the icon or <code>null</code> if the stereotype has no icon
+ * @return the icon or <code>null</code> if the stereotype has no icon
*/
Image getIconForStereotype(Object stereotype);
-
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FileModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FileModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/FileModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FileModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/FileModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FileModelLoader.java 2008-07-22 07:30:36-0700
@@ -33,14 +33,14 @@
/**
* An implementation for the ProfileModelLoader that loads profiles from files.
- *
+ *
* @author maurelio1234
*/
public class FileModelLoader extends URLModelLoader {
private static final Logger LOG = Logger.getLogger(FileModelLoader.class);
- public Collection loadModel(ProfileReference reference)
+ public Collection loadModel(ProfileReference reference)
throws ProfileException {
LOG.info("Loading profile from file'" + reference.getPath() + "'");
try {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FormatingStrategy.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FormatingStrategy.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/FormatingStrategy.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FormatingStrategy.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/FormatingStrategy.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/FormatingStrategy.java 2008-07-22 07:30:36-0700
@@ -30,18 +30,16 @@
* Interface for the formating strategy to be used when formating model element
* names.
*
- * @author Marcos Aurélio
+ * @author Marcos Aur�lio
*/
public interface FormatingStrategy {
-
+
/**
* Produce a string that represents the specific model element in the
* context of the specified namespace.
*
- * @param element
- * element to represent.
- * @param namespace
- * context namespace (may be null).
+ * @param element element to represent.
+ * @param namespace context namespace (may be null).
* @return a string representing the model element
*/
public abstract String formatElement(Object element, Object namespace);
@@ -50,10 +48,8 @@
* Produce a string the represents the collection of model elements in the
* context of the specified namespace.
*
- * @param iter
- * iterator over collection
- * @param namespace
- * context namespace (may be null).
+ * @param iter iterator over collection
+ * @param namespace context namespace (may be null).
* @return a string representing the collection
*/
public abstract String formatCollection(Iterator iter, Object namespace);
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/Profile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/Profile.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/Profile.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/Profile.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/Profile.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/Profile.java 2008-07-22 07:30:36-0700
@@ -28,55 +28,76 @@
import java.util.HashSet;
import java.util.Set;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
- * Abstract class representing a Profile. It contains default types and
+ * Abstract class representing a Profile. It contains default types and
* presentation characteristics that can be tailored to various modeling
* environments.
*
- * @author Marcos Aurélio
+ * @author Marcos Aur�lio
*/
public abstract class Profile {
-
- private Set<Profile> importedProfiles = new HashSet<Profile>();
- private Set<Profile> importingProfiles = new HashSet<Profile>();
-
+
+ private Set<String> dependencies = new HashSet<String>();
+
+ /**
+ * The critics provided by this profile
+ */
+ private Set<CrUML> critics = new HashSet<CrUML>();
+
/**
* Add a dependency on the given profile from this profile.
*
- * @param p
- * the profile
- * @throws IllegalArgumentException
- * if there is some cycle on the dependency graph
+ * @param p the profile
+ * @throws IllegalArgumentException never thrown
*/
protected final void addProfileDependency(Profile p)
throws IllegalArgumentException {
-
- if (importingProfiles.contains(p)) {
- throw new IllegalArgumentException("This profile causes a cycle "
- + "in the profile dependency graph!");
- } else {
- importedProfiles.add(p);
- importedProfiles.addAll(p.importedProfiles);
+ addProfileDependency(p.getProfileIdentifier());
+ }
- for (Profile importedProfile : importedProfiles) {
- importedProfile.importingProfiles.add(this);
- }
- }
- }
+ /**
+ * Add a dependency on the given profile from this profile.
+ *
+ * @param profileIdentifier the profile identifier
+ */
+ protected void addProfileDependency(String profileIdentifier) {
+ dependencies.add(profileIdentifier);
+ }
/**
* @return the dependencies
*/
public final Set<Profile> getDependencies() {
- return importedProfiles;
+ if (ProfileFacade.isInitiated()) {
+ Set<Profile> ret = new HashSet<Profile>();
+ for (String pid : dependencies) {
+ Profile p = ProfileFacade.getManager()
+ .lookForRegisteredProfile(pid);
+ if (p != null) {
+ ret.add(p);
+ ret.addAll(p.getDependencies());
+ }
+ }
+ return ret;
+ } else {
+ return new HashSet<Profile>();
+ }
+ }
+
+ /**
+ * @return the ids of the dependencies
+ */
+ public final Set<String> getDependenciesID() {
+ return dependencies;
}
-
+
/**
- * @return the name for this profile
+ * @return the name for this profile
*/
public abstract String getDisplayName();
-
+
/**
* @return the formating strategy offered by this profile, if any. Returns
* <code>null</code> if this profile has no formating strategy.
@@ -100,15 +121,14 @@
public DefaultTypeStrategy getDefaultTypeStrategy() {
return null;
}
-
+
/**
* @return a collection of the top level UML Packages containing the
* profile.
- * @throws ProfileException
- * if failed to get profile.
+ * @throws ProfileException if failed to get profile.
*/
public abstract Collection getProfilePackages() throws ProfileException;
-
+
/**
* @return the display name
*/
@@ -116,4 +136,25 @@
public String toString() {
return getDisplayName();
}
+
+ /**
+ * @return Returns the critics defined by this profile.
+ */
+ public Set<CrUML> getCritics() {
+ return critics;
+ }
+
+ /**
+ * @return a unique identifier for this profile
+ */
+ public String getProfileIdentifier() {
+ return getDisplayName();
+ }
+
+ /**
+ * @param critics The critics to set.
+ */
+ protected void setCritics(Set<CrUML> critics) {
+ this.critics = critics;
+ }
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileException.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileException.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ProfileException.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileException.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ProfileException.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileException.java 2008-07-22 07:30:36-0700
@@ -25,9 +25,9 @@
package org.argouml.profile;
/**
- * An exception to be thrown during failure in the Profile subsystem.
- * This will typically be a wrapped exception containing the exception
- * representing the underlying failure cause.
+ * An exception to be thrown during failure in the Profile subsystem. This will
+ * typically be a wrapped exception containing the exception representing the
+ * underlying failure cause.
*
* @author Marcus Aurelio (maurelio1234)
*/
@@ -35,7 +35,7 @@
/**
* The constructor.
- *
+ *
* @param message the message to show
*/
public ProfileException(String message) {
@@ -44,7 +44,7 @@
/**
* The constructor.
- *
+ *
* @param message the message to show
* @param theCause the cause for the exception
*/
@@ -54,11 +54,10 @@
/**
* The constructor.
- *
+ *
* @param theCause the cause for the exception
*/
public ProfileException(Throwable theCause) {
super(theCause);
}
}
-
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileFacade.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileFacade.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ProfileFacade.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileFacade.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ProfileFacade.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileFacade.java 2008-07-22 07:30:36-0700
@@ -25,11 +25,11 @@
package org.argouml.profile;
/**
- * The <a href="http://en.wikipedia.org/wiki/Facade_pattern">Facade</a> of the
- * profile subsystem.
- * It provides a simplified interface to the subsystem, and access to objects
- * of the subsystem when the methods it provides directly aren't enough.
- *
+ * The <a href="http://en.wikipedia.org/wiki/Facade_pattern">Facade</a> of the
+ * profile subsystem. It provides a simplified interface to the subsystem, and
+ * access to objects of the subsystem when the methods it provides directly
+ * aren't enough.
+ *
* @author Luis Sergio Oliveira (euluis)
* @since 0.25.4
*/
@@ -37,6 +37,7 @@
/**
* Register a profile in the {@link ProfileManager}.
+ *
* @param profile the profile to be registered
*/
public static void register(Profile profile) {
@@ -45,6 +46,7 @@
/**
* Remove or unregister the profile from the {@link ProfileManager}.
+ *
* @param profile the profile to be removed
*/
public static void remove(Profile profile) {
@@ -55,13 +57,12 @@
* @return the profile manager
*/
public static ProfileManager getManager() {
- if (manager == null)
- notInitialized("manager");
+ if (manager == null) notInitialized("manager");
return manager;
}
private static void notInitialized(String string) {
- throw new RuntimeException("ProfileFacade's " + string
+ throw new RuntimeException("ProfileFacade's " + string
+ " isn't initialized!");
}
@@ -84,5 +85,5 @@
public static boolean isInitiated() {
return manager != null;
}
-
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileManager.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileManager.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ProfileManager.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileManager.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ProfileManager.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileManager.java 2008-07-22 07:30:36-0700
@@ -28,7 +28,7 @@
/**
* Interface to the manager for the global set of registered profiles.
- *
+ *
* @author maurelio1234
*/
public interface ProfileManager {
@@ -37,23 +37,24 @@
* Register a new profile.
*
* @param profile A profile to be registered so that it is available to the
- * users.
+ * users.
*/
void registerProfile(Profile profile);
/**
* Remove a profile from the list of registered profiles.
+ * Only User defined profiles can be removed.
*
* @param profile the profile to unregister. It will no longer be available
- * for selection by users
+ * for selection by users
*/
void removeProfile(Profile profile);
-
+
/**
* @return the list of registered profiles
*/
List<Profile> getRegisteredProfiles();
-
+
/**
* Search for a Profile with the given Java classname.
*
@@ -61,56 +62,64 @@
* @param className the name of the Java class to search for.
*/
Profile getProfileForClass(String className);
-
+
/**
* @return the default list of profiles
*/
List<Profile> getDefaultProfiles();
-
+
/**
* Add a profile to the default list.
*
* @param profile profile to be added to the default application profiles.
- * New models will reference it by default
+ * New models will reference it by default
*/
void addToDefaultProfiles(Profile profile);
-
+
/**
* Remove a profile from the default list.
*
* @param profile the profile to be removed
*/
void removeFromDefaultProfiles(Profile profile);
-
+
/**
* Add a new directory to the directory list.
*
- * @param path a directory name where the manager will try to look for
- * user defined profiles as XMI files
+ * @param path a directory name where the manager will try to look for user
+ * defined profiles as XMI files
*/
void addSearchPathDirectory(String path);
-
+
/**
* Remove a directory from the directory list.
*
* @param path the directory path to be removed.
*/
void removeSearchPathDirectory(String path);
-
+
/**
* @return the current directory list
*/
List<String> getSearchPathDirectories();
-
+
/**
- * Look for XMI files at the current directory list and registers
- * them as user defined profiles.
+ * Look for XMI files at the current directory list and registers them as
+ * user defined profiles.
*/
void refreshRegisteredProfiles();
/**
- * @return the Profile for UML, i.e., the base UML profile as defined by
- * the standard.
+ * @return the Profile for UML, i.e., the base UML profile as defined by the
+ * standard.
*/
Profile getUMLProfile();
+
+ /**
+ * Looks for registered Profile
+ *
+ * @param profile identifier
+ * @return profile
+ */
+ Profile lookForRegisteredProfile(String profile);
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ProfileModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ProfileModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileModelLoader.java 2008-07-22 07:30:36-0700
@@ -28,20 +28,19 @@
/**
* Interface to be implemented by profile model loaders.
- *
+ *
* @author maurelio1234
*/
public interface ProfileModelLoader {
-
-
+
/**
* Load a model from the specified path.
*
* @param reference the reference to the profile file, which contains the
- * path where the profile file can be found.
+ * path where the profile file can be found.
* @return the set of defined packages.
* @throws ProfileException if the profile could not be loaded for some
- * reason.
+ * reason.
*/
- Collection loadModel(ProfileReference reference) throws ProfileException;
+ Collection loadModel(ProfileReference reference) throws ProfileException;
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ProfileReference.java 2008-07-22 07:30:36-0700
@@ -36,10 +36,11 @@
public class ProfileReference {
private String path;
+
private URL url;
/**
- * Constructor. Note that this checks if the file name in path and in
+ * Constructor. Note that this checks if the file name in path and in
* publicReference are the same.
*
* @param thePath the system path to the profile file.
@@ -49,25 +50,25 @@
File file = new File(thePath);
File fileFromPublicReference = new File(publicReference.getPath());
assert file.getName().equals(fileFromPublicReference.getName())
- : "File name in path and in publicReference are different.";
+ : "File name in path and in publicReference are different.";
path = thePath;
url = publicReference;
}
/**
- * @return the path to the profile, being in principle this path the
- * system path to the profile file.
+ * @return the path to the profile, being in principle this path the system
+ * path to the profile file.
*/
public String getPath() {
return path;
}
/**
- * @return the public reference by which the profile will
- * be known in models that depend on it. I.e., this reference will prefix
- * the IDs of the profile model elements referred in the XMI of models
- * that depend on the profile for which the constructed ProfileReference
- * is used.
+ * @return the public reference by which the profile will be known in models
+ * that depend on it. I.e., this reference will prefix the IDs of
+ * the profile model elements referred in the XMI of models that
+ * depend on the profile for which the constructed ProfileReference
+ * is used.
*/
public URL getPublicReference() {
return url;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ReaderModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ReaderModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ReaderModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ReaderModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ReaderModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ReaderModelLoader.java 2008-07-22 07:30:36-0700
@@ -34,16 +34,15 @@
import org.xml.sax.InputSource;
/**
- * TODO: this doesn't need a full ProfileReference since it uses the
- * reader handed in the constructor. It doesn't make much sense to make
- * its callers init the path to some name which it doesn't need...
- *
+ * TODO: this doesn't need a full ProfileReference since it uses the reader
+ * handed in the constructor. It doesn't make much sense to make its callers
+ * init the path to some name which it doesn't need...
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class ReaderModelLoader implements ProfileModelLoader {
- private static final Logger LOG = Logger.getLogger(
- ReaderModelLoader.class);
+ private static final Logger LOG = Logger.getLogger(ReaderModelLoader.class);
private Reader reader;
@@ -56,24 +55,22 @@
this.reader = theReader;
}
-
- /*
+ /*
* @see ProfileModelLoader#loadModel(ProfileReference)
*/
- public Collection loadModel(ProfileReference reference)
+ public Collection loadModel(ProfileReference reference)
throws ProfileException {
-
+
if (reader == null) {
LOG.error("Profile not found");
throw new ProfileException("Profile not found!");
}
-
+
try {
XmiReader xmiReader = Model.getXmiReader();
InputSource inputSource = new InputSource(reader);
inputSource.setSystemId(reference.getPath());
- inputSource.setPublicId(
- reference.getPublicReference().toString());
+ inputSource.setPublicId(reference.getPublicReference().toString());
Collection elements = xmiReader.parse(inputSource, true);
return elements;
} catch (UmlException e) {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ResourceModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ResourceModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ResourceModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ResourceModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ResourceModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ResourceModelLoader.java 2008-07-22 07:30:36-0700
@@ -30,7 +30,7 @@
/**
* Loads models using the default ClassLoader or a provided one.
- *
+ *
* @author maurelio1234
*/
public class ResourceModelLoader extends URLModelLoader {
@@ -40,17 +40,17 @@
*/
private static final Logger LOG = Logger
.getLogger(ResourceModelLoader.class);
-
+
private Class clazz;
-
+
/**
- * The default constructor for this class. Loads resources from the same
+ * The default constructor for this class. Loads resources from the same
* ClassLoader that loaded this class.
*/
public ResourceModelLoader() {
this.clazz = this.getClass();
}
-
+
/**
* Loads resources from the ClassLoader that loaded the given class
*
@@ -60,12 +60,11 @@
clazz = c;
}
-
- public Collection loadModel(ProfileReference reference)
+ public Collection loadModel(ProfileReference reference)
throws ProfileException {
LOG.info("Loading profile from resource'" + reference.getPath() + "'");
- return super.loadModel(clazz.getResource(reference.getPath()),
- reference.getPublicReference());
+ return super.loadModel(clazz.getResource(reference.getPath()),
+ reference.getPublicReference());
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/StreamModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/StreamModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/StreamModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/StreamModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/StreamModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/StreamModelLoader.java 2008-07-22 07:30:36-0700
@@ -36,30 +36,28 @@
/**
* Abstract ProfileModelLoader which loads models from an InputStream.
- *
- * @author Marcos Aurélio
+ *
+ * @author Marcos Aur�lio
*/
public abstract class StreamModelLoader implements ProfileModelLoader {
private static final Logger LOG = Logger.getLogger(StreamModelLoader.class);
-
-
/**
* @param inputStream the stream from where the model should be loaded
* @param publicReference the URL to be used as the public reference of the
- * profile that will be loaded.
+ * profile that will be loaded.
* @return the model
* @throws ProfileException if the XMIReader couldn't read the input stream
*/
public Collection loadModel(InputStream inputStream, URL publicReference)
throws ProfileException {
-
+
if (inputStream == null) {
LOG.error("Profile not found");
throw new ProfileException("Profile not found!");
}
-
+
try {
XmiReader xmiReader = Model.getXmiReader();
InputSource inputSource = new InputSource(inputStream);
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/URLModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/URLModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/URLModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/URLModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/URLModelLoader.java 2008-07-22 07:30:36-0700
@@ -34,7 +34,7 @@
/**
* Abstract ProfileModelLoader which loads models from a URL.
- *
+ *
* @author Tom Morris
*/
public class URLModelLoader implements ProfileModelLoader {
@@ -48,8 +48,7 @@
* single package stereotyped <<profile>>
* @throws ProfileException if the XMIReader couldn't read the profile
*/
- public Collection loadModel(URL url, URL publicId)
- throws ProfileException {
+ public Collection loadModel(URL url, URL publicId) throws ProfileException {
if (url == null) {
throw new ProfileException("Null profile URL");
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserDefinedProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserDefinedProfile.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserDefinedProfile.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserDefinedProfile.java 2008-07-22 07:30:36-0700
@@ -24,35 +24,97 @@
package org.argouml.profile;
+import java.awt.Image;
+import java.io.BufferedInputStream;
import java.io.File;
-import java.io.Reader;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.ArrayList;
import java.util.Collection;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Set;
import java.util.StringTokenizer;
+import java.util.Vector;
+import javax.swing.ImageIcon;
+
+import org.apache.log4j.Logger;
+import org.argouml.cognitive.Critic;
+import org.argouml.cognitive.Decision;
+import org.argouml.cognitive.ToDoItem;
+import org.argouml.cognitive.Translator;
import org.argouml.model.Model;
+import org.argouml.profile.internal.ocl.CrOCL;
+import org.argouml.profile.internal.ocl.InvalidOclException;
+import org.argouml.uml.cognitive.UMLDecision;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
* Represents a profile defined by the user
- *
- * @author Marcos Aur�lio
+ *
+ * @author maurelio1234
*/
public class UserDefinedProfile extends Profile {
+ /**
+ * Logger.
+ */
+ private static final Logger LOG = Logger
+ .getLogger(UserDefinedProfile.class);
+
private String displayName;
+
private File modelFile;
+
private Collection profilePackages;
- private boolean fromZargo;
+
+ private UserDefinedFigNodeStrategy figNodeStrategy = new UserDefinedFigNodeStrategy();
+
+ private class UserDefinedFigNodeStrategy implements FigNodeStrategy {
+
+ private HashMap<String, Image> images = new HashMap<String, Image>();
+
+ public Image getIconForStereotype(Object stereotype) {
+ return images.get(Model.getFacade().getName(stereotype));
+ }
+
+ /**
+ * Adds a new descriptor to this strategy
+ *
+ * @param fnd
+ */
+ public void addDesrciptor(FigNodeDescriptor fnd) {
+ images.put(fnd.stereotype, fnd.img);
+ }
+ }
+
+ private class FigNodeDescriptor {
+ private String stereotype;
+
+ private Image img;
+
+ private String src;
+
+ private int length;
+
+ /**
+ * @return if this descriptor ir valid
+ */
+ public boolean isValid() {
+ return stereotype != null && src != null && length > 0;
+ }
+ }
/**
* The default constructor for this class
*
- * @param file the file from where the model should be read
+ * @param file the file from where the model should be read
* @throws ProfileException if the profile could not be loaded
*/
public UserDefinedProfile(File file) throws ProfileException {
+ LOG.info("load " + file);
displayName = file.getName();
modelFile = file;
ProfileReference reference = null;
@@ -60,58 +122,65 @@
reference = new UserProfileReference(file.getPath());
} catch (MalformedURLException e) {
throw new ProfileException(
- "Failed to create the ProfileReference.", e);
+ "Failed to create the ProfileReference.", e);
}
profilePackages = new FileModelLoader().loadModel(reference);
- fromZargo = false;
- completeLoading();
+ finishLoading();
}
-
/**
- * A constructor that takes a file name and a reader, being the reader the
- * input method to get the profile model.
+ * A constructor that reads a file from an URL
*
- * @param fileName name of the profile model file.
- * @param reader a reader opened from where the profile model will be
- * loaded.
- * @throws ProfileException if something goes wrong in initializing the
- * profile.
- */
- public UserDefinedProfile(String fileName, Reader reader)
- throws ProfileException {
- displayName = fileName;
+ * @param url the URL
+ * @throws ProfileException if the profile can't be read or is not valid
+ */
+ public UserDefinedProfile(URL url) throws ProfileException {
+ LOG.info("load " + url);
+
ProfileReference reference = null;
- try {
- reference = new UserProfileReference(fileName);
- } catch (MalformedURLException e) {
- throw new ProfileException(
- "Failed to create the ProfileReference.", e);
- }
- profilePackages = new ReaderModelLoader(reader).loadModel(reference);
- fromZargo = true;
-
- completeLoading();
+ reference = new UserProfileReference(url.getPath(), url);
+ profilePackages = new URLModelLoader().loadModel(reference);
+
+ finishLoading();
}
+ /**
+ * A constructor that reads a file from an URL associated with some profiles
+ *
+ * @param dn the display name of the profile
+ * @param url the URL of the profile mode
+ * @param critics the Critics defined by this profile
+ * @param dependencies the dependencies of this profile
+ * @throws ProfileException if the model cannot be loaded
+ */
+ public UserDefinedProfile(String dn, URL url, Set<CrUML> critics,
+ Set<String> dependencies) throws ProfileException {
+ LOG.info("load " + url);
+
+ this.displayName = dn;
+ if (url != null) {
+ ProfileReference reference = null;
+ reference = new UserProfileReference(url.getPath(), url);
+ profilePackages = new URLModelLoader().loadModel(reference);
+ } else {
+ profilePackages = new ArrayList(0);
+ }
- // TODO: Add missing Javadoc
- public UserDefinedProfile(URL url) throws ProfileException {
- ProfileReference reference =
- new UserProfileReference(url.getPath(), url);
- profilePackages = new URLModelLoader().loadModel(reference);
- fromZargo = false;
+ this.setCritics(critics);
- completeLoading();
- }
+ for (String profileID : dependencies) {
+ addProfileDependency(profileID);
+ }
+ finishLoading();
+ }
/**
* Reads the informations defined as TaggedValues
*/
- private void completeLoading() {
-
+ private void finishLoading() {
+
for (Object obj : profilePackages) {
if (Model.getExtensionMechanismsHelper().hasStereotype(obj,
"profile")) {
@@ -120,57 +189,242 @@
String name = Model.getFacade().getName(obj);
if (name != null) {
displayName = name;
+ } else {
+ if (displayName == null) {
+ displayName = Translator
+ .localize("misc.profile.unnamed");
+ }
}
+ LOG.info("profile " + displayName);
- // TODO: Instead of a TaggedValue, why can't this just use
- // Dependencies with the <<appliedProfile>> stereotype? It
- // seems designed exactly for cases like this.
-
// load profile dependencies
- String dep = Model.getFacade().getTaggedValueValue(obj,
- "Dependency");
- StringTokenizer st = new StringTokenizer(dep, " ,;:");
+ String dependencyListStr = Model.getFacade()
+ .getTaggedValueValue(obj, "Dependency");
+ StringTokenizer st = new StringTokenizer(dependencyListStr,
+ " ,;:");
- String prof = null;
+ String profile = null;
while (st.hasMoreTokens()) {
- prof = st.nextToken();
- if (prof != null) {
- this.addProfileDependency(
- lookForRegisteredProfile(prof));
+ profile = st.nextToken();
+ if (profile != null) {
+ LOG.debug("AddingDependency " + profile);
+ this.addProfileDependency(ProfileFacade.getManager()
+ .lookForRegisteredProfile(profile));
+ }
+ }
+
+ }
+ }
+
+ // load fig nodes
+ Collection allStereotypes = Model.getExtensionMechanismsHelper()
+ .getStereotypes(profilePackages);
+ for (Object stereotype : allStereotypes) {
+ Collection tags = Model.getFacade().getTaggedValuesCollection(
+ stereotype);
+
+ for (Object tag : tags) {
+ if (Model.getFacade().getTag(tag).toLowerCase()
+ .equals("figure")) {
+ LOG.debug("AddFigNode "
+ + Model.getFacade().getName(stereotype));
+
+ String value = Model.getFacade().getValueOfTag(tag);
+ File f = new File(value);
+ FigNodeDescriptor fnd = null;
+ try {
+ fnd = loadImage(Model.getFacade().getName(stereotype)
+ .toString(), f);
+ figNodeStrategy.addDesrciptor(fnd);
+ } catch (IOException e) {
+ LOG.error("Error loading FigNode", e);
}
}
+ }
+ }
+
+ // load critiques
+ Vector<CrUML> allCritiques = getAllCritiquesInModel();
+ Set<CrUML> myCritics = this.getCritics();
+
+ for (CrUML critique : allCritiques) {
+ myCritics.add(critique);
+ }
+
+ this.setCritics(myCritics);
+ }
+
+ private CrUML generateCriticFromComment(Object critique) {
+ String ocl = "" + Model.getFacade().getBody(critique);
+ String headline = null;
+ String description = null;
+ int priority = ToDoItem.HIGH_PRIORITY;
+ Vector<Decision> supportedDecisions = new Vector<Decision>();
+ Vector<String> knowledgeTypes = new Vector<String>();
+ String moreInfoURL = null;
+
+ Collection tags = Model.getFacade().getTaggedValuesCollection(critique);
+
+ for (Object tag : tags) {
+ if (Model.getFacade().getTag(tag).toLowerCase().equals("headline")) {
+ headline = Model.getFacade().getValueOfTag(tag);
+ } else if (Model.getFacade().getTag(tag).toLowerCase().equals(
+ "description")) {
+ description = Model.getFacade().getValueOfTag(tag);
+ } else if (Model.getFacade().getTag(tag).toLowerCase().equals(
+ "priority")) {
+ String prioStr = Model.getFacade().getValueOfTag(tag);
+
+ if (prioStr.toLowerCase().equals("high")) {
+ priority = ToDoItem.HIGH_PRIORITY;
+ } else if (prioStr.toLowerCase().equals("med")) {
+ priority = ToDoItem.MED_PRIORITY;
+ } else if (prioStr.toLowerCase().equals("low")) {
+ priority = ToDoItem.LOW_PRIORITY;
+ } else if (prioStr.toLowerCase().equals("interruptive")) {
+ priority = ToDoItem.INTERRUPTIVE_PRIORITY;
+ }
+ } else if (Model.getFacade().getTag(tag).toLowerCase().equals(
+ "supporteddecision")) {
+ String decStr = Model.getFacade().getValueOfTag(tag);
+
+ StringTokenizer st = new StringTokenizer(decStr, ",;:");
+
+ while (st.hasMoreTokens()) {
+ String token = st.nextToken().trim().toLowerCase();
+
+ if (token.equals("behavior"))
+ supportedDecisions.add(UMLDecision.BEHAVIOR);
+ if (token.equals("containment"))
+ supportedDecisions.add(UMLDecision.CONTAINMENT);
+ if (token.equals("classselection"))
+ supportedDecisions.add(UMLDecision.CLASS_SELECTION);
+ if (token.equals("codegen"))
+ supportedDecisions.add(UMLDecision.CODE_GEN);
+ if (token.equals("expectedusage"))
+ supportedDecisions.add(UMLDecision.EXPECTED_USAGE);
+ if (token.equals("inheritance"))
+ supportedDecisions.add(UMLDecision.INHERITANCE);
+ if (token.equals("instantiation"))
+ supportedDecisions.add(UMLDecision.INSTANCIATION);
+ if (token.equals("methods"))
+ supportedDecisions.add(UMLDecision.METHODS);
+ if (token.equals("modularity"))
+ supportedDecisions.add(UMLDecision.MODULARITY);
+ if (token.equals("naming"))
+ supportedDecisions.add(UMLDecision.NAMING);
+ if (token.equals("patterns"))
+ supportedDecisions.add(UMLDecision.PATTERNS);
+ if (token.equals("plannedextensions"))
+ supportedDecisions.add(UMLDecision.PLANNED_EXTENSIONS);
+ if (token.equals("relationships"))
+ supportedDecisions.add(UMLDecision.RELATIONSHIPS);
+ if (token.equals("statemachines"))
+ supportedDecisions.add(UMLDecision.STATE_MACHINES);
+ if (token.equals("stereotypes"))
+ supportedDecisions.add(UMLDecision.STEREOTYPES);
+ if (token.equals("storage"))
+ supportedDecisions.add(UMLDecision.STORAGE);
+ }
+ } else if (Model.getFacade().getTag(tag).toLowerCase().equals(
+ "knowledgetype")) {
+ String ktStr = Model.getFacade().getValueOfTag(tag);
+
+ StringTokenizer st = new StringTokenizer(ktStr, ",;:");
+
+ while (st.hasMoreTokens()) {
+ String token = st.nextToken().trim().toLowerCase();
+ if (token.equals("completeness"))
+ knowledgeTypes.add(Critic.KT_COMPLETENESS);
+ if (token.equals("consistency"))
+ knowledgeTypes.add(Critic.KT_CONSISTENCY);
+ if (token.equals("correctness"))
+ knowledgeTypes.add(Critic.KT_CORRECTNESS);
+ if (token.equals("designers"))
+ knowledgeTypes.add(Critic.KT_DESIGNERS);
+ if (token.equals("experiencial"))
+ knowledgeTypes.add(Critic.KT_EXPERIENCIAL);
+ if (token.equals("optimization"))
+ knowledgeTypes.add(Critic.KT_OPTIMIZATION);
+ if (token.equals("organizational"))
+ knowledgeTypes.add(Critic.KT_ORGANIZATIONAL);
+ if (token.equals("presentation"))
+ knowledgeTypes.add(Critic.KT_PRESENTATION);
+ if (token.equals("semantics"))
+ knowledgeTypes.add(Critic.KT_SEMANTICS);
+ if (token.equals("syntax"))
+ knowledgeTypes.add(Critic.KT_SYNTAX);
+ if (token.equals("tool"))
+ knowledgeTypes.add(Critic.KT_TOOL);
+ }
+ } else if (Model.getFacade().getTag(tag).toLowerCase().equals(
+ "moreinfourl")) {
+ moreInfoURL = Model.getFacade().getValueOfTag(tag);
}
+
}
-
+
+ LOG.debug("OCL-Critic: " + ocl);
+
+ try {
+ return new CrOCL(ocl, headline, description, priority,
+ supportedDecisions, knowledgeTypes, moreInfoURL);
+ } catch (InvalidOclException e) {
+ LOG.error("Invalid OCL in XMI!", e);
+
+ return null;
+ }
+
}
- private Profile lookForRegisteredProfile(String name) {
- ProfileManager man = ProfileFacade.getManager();
- List<Profile> regs = man.getRegisteredProfiles();
+ @SuppressWarnings("unchecked")
+ private Vector<CrUML> getAllCritiquesInModel() {
+ Vector<CrUML> ret = new Vector();
+
+ Collection comments = getAllCommentsInModel(profilePackages);
+
+ for (Object comment : comments) {
+ if (Model.getExtensionMechanismsHelper().hasStereotype(comment,
+ "Critic")) {
+ CrUML cr = generateCriticFromComment(comment);
- for (Profile profile : regs) {
- if (profile.getDisplayName().equalsIgnoreCase(name)) {
- return profile;
+ if (cr != null) {
+ ret.add(cr);
+ }
}
}
- return null;
+ return ret;
+ }
+
+ @SuppressWarnings("unchecked")
+ private Collection getAllCommentsInModel(Collection objs) {
+ Collection col = new Vector<Object>();
+ for (Object obj : objs) {
+ if (Model.getFacade().isAComment(obj)) {
+ col.add(obj);
+ } else if (Model.getFacade().isANamespace(obj)) {
+ Collection contents = Model.getModelManagementHelper()
+ .getAllContents(obj);
+ if (contents != null) {
+ col.addAll(contents);
+ }
+ }
+ }
+ return col;
}
-
/**
- * @return the string that should represent this profile in the GUI. An
- * start (*) is placed on it if it comes from the currently opened
- * zargo file.
+ * @return the string that should represent this profile in the GUI.
*/
public String getDisplayName() {
- return displayName + (fromZargo ? "*" : "");
+ return displayName;
}
-
/**
- * Returns null. This profile has no formatting strategy.
+ * Returns null. This profile has no formatting strategy.
+ *
* @return null.
*/
@Override
@@ -179,12 +433,13 @@
}
/**
- * Returns null. This profile has no figure strategy.
+ * Returns null. This profile has no figure strategy.
+ *
* @return null.
*/
@Override
public FigNodeStrategy getFigureStrategy() {
- return null;
+ return figNodeStrategy;
}
/**
@@ -199,13 +454,34 @@
*/
@Override
public String toString() {
- // TODO: I18N
- return super.toString() + " [" + getModelFile() + "]";
+ File str = getModelFile();
+ return super.toString() + (str != null ? " [" + str + "]" : "");
}
-
@Override
public Collection getProfilePackages() {
return profilePackages;
}
+
+ private FigNodeDescriptor loadImage(String stereotype, File f)
+ throws IOException {
+ FigNodeDescriptor descriptor = new FigNodeDescriptor();
+ descriptor.length = (int) f.length();
+ descriptor.src = f.getPath();
+ descriptor.stereotype = stereotype;
+
+ BufferedInputStream bis = new BufferedInputStream(
+ new FileInputStream(f));
+
+ byte[] buf = new byte[descriptor.length];
+ try {
+ bis.read(buf);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ descriptor.img = new ImageIcon(buf).getImage();
+
+ return descriptor;
+ }
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/UserProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/UserProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/UserProfileReference.java 2008-07-22 07:30:36-0700
@@ -30,37 +30,36 @@
/**
* This class provides the base URL for user defined profiles.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class UserProfileReference extends ProfileReference {
- static final String DEFAULT_USER_PROFILE_BASE_URL =
- "http://argouml.org/user-profiles/";
+ static final String DEFAULT_USER_PROFILE_BASE_URL = "http://argouml.org/user-profiles/";
/**
* Constructor that simply delegates to super.
*
- * @param thePath see thePath documentation in
- * {@link ProfileReference#ProfileReference(String, URL)}.
- * @param publicReference see publicReference documentation in
- * {@link ProfileReference#ProfileReference(String, URL)}.
+ * @param thePath see thePath documentation in
+ * {@link ProfileReference#ProfileReference(String, URL)}.
+ * @param publicReference see publicReference documentation in
+ * {@link ProfileReference#ProfileReference(String, URL)}.
*/
public UserProfileReference(String thePath, URL publicReference) {
super(thePath, publicReference);
}
/**
- * Constructor, which builds a ProfileReference for a user defined profile
- * by prefixing the fileName with {@link #DEFAULT_USER_PROFILE_BASE_URL}
- * and using this as the publicReference.
+ * Constructor, which builds a ProfileReference for a user defined profile
+ * by prefixing the fileName with {@link #DEFAULT_USER_PROFILE_BASE_URL} and
+ * using this as the publicReference.
*
* @param path the profile absolute file name.
* @throws MalformedURLException if the built URL is incorrect.
*/
public UserProfileReference(String path) throws MalformedURLException {
- super(path,
- new URL(DEFAULT_USER_PROFILE_BASE_URL + new File(path).getName()));
+ super(path, new URL(DEFAULT_USER_PROFILE_BASE_URL
+ + new File(path).getName()));
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ZipModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ZipModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/ZipModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ZipModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/ZipModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/ZipModelLoader.java 2008-07-22 07:30:36-0700
@@ -44,61 +44,55 @@
private static final Logger LOG = Logger.getLogger(ZipModelLoader.class);
-
- public Collection loadModel(ProfileReference reference)
+ public Collection loadModel(ProfileReference reference)
throws ProfileException {
LOG.info("Loading profile from ZIP '" + reference.getPath() + "'");
-
+
if (!reference.getPath().endsWith("zip")) {
throw new ProfileException("Profile could not be loaded!");
}
InputStream is = null;
File modelFile = new File(reference.getPath());
- // TODO: This is in the wrong place. It's not profile specific.
+ // TODO: This is in the wrong place. It's not profile specific.
// It needs to be moved to main XMI reading code. - tfm 20060326
String filename = modelFile.getName();
- String extension = filename.substring(filename.indexOf('.'),
- filename.lastIndexOf('.'));
+ String extension = filename.substring(filename.indexOf('.'), filename
+ .lastIndexOf('.'));
String path = modelFile.getParent();
// Add the path of the model to the search path, so we can
// read dependent models
if (path != null) {
- System.setProperty("org.argouml.model.modules_search_path",
- path);
+ System.setProperty("org.argouml.model.modules_search_path", path);
}
try {
is = openZipStreamAt(modelFile.toURI().toURL(), extension);
} catch (MalformedURLException e) {
- LOG.error("Exception while loading profile '"
- + reference.getPath() + "'", e);
+ LOG.error("Exception while loading profile '" + reference.getPath()
+ + "'", e);
throw new ProfileException(e);
} catch (IOException e) {
- LOG.error("Exception while loading profile '"
- + reference.getPath() + "'", e);
+ LOG.error("Exception while loading profile '" + reference.getPath()
+ + "'", e);
throw new ProfileException(e);
}
-
+
if (is == null) {
throw new ProfileException("Profile could not be loaded!");
}
-
+
return super.loadModel(is, reference.getPublicReference());
}
/**
* Open a ZipInputStream to the first file found with a given extension.
- *
- * TODO: Remove since this is a duplicate of ZipFilePersister method
- * when we have refactored the Persister subsystem.
- *
- * @param url
- * The URL of the zip file.
- * @param ext
- * The required extension.
+ * TODO: Remove since this is a duplicate of ZipFilePersister method when we
+ * have refactored the Persister subsystem.
+ *
+ * @param url The URL of the zip file.
+ * @param ext The required extension.
* @return the zip stream positioned at the required location.
- * @throws IOException
- * if there is a problem opening the file.
+ * @throws IOException if there is a problem opening the file.
*/
private ZipInputStream openZipStreamAt(URL url, String ext)
throws IOException {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/init/InitProfileSubsystem.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,9 @@
package org.argouml.profile.init;
import org.argouml.profile.ProfileFacade;
+import org.argouml.profile.internal.ui.ProfilePropPanelFactory;
+import org.argouml.uml.ui.PropPanelFactory;
+import org.argouml.uml.ui.PropPanelFactoryManager;
/**
* Initializer class for the Profile subsystem.
@@ -39,6 +42,10 @@
public void init() {
ProfileFacade.setManager(
new org.argouml.profile.internal.ProfileManagerImpl());
+
+ /* Set up the property panels for critics: */
+ PropPanelFactory factory = new ProfilePropPanelFactory();
+ PropPanelFactoryManager.addPropPanelFactory(factory);
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/JavaFormatingStrategy.java 2008-07-22 07:30:36-0700
@@ -31,11 +31,10 @@
/**
* The Formating Strategy based on Java naming conventions.
- *
- * @author Marcos Aurélio
+ *
+ * @author maurelio1234
*/
public class JavaFormatingStrategy implements FormatingStrategy {
-
public String formatElement(Object element, Object namespace) {
String value = null;
@@ -44,8 +43,8 @@
} else {
Object elementNs = Model.getFacade().getNamespace(element);
//
- // if element is an AssociationEnd use
- // the namespace of containing association
+ // if element is an AssociationEnd use
+ // the namespace of containing association
//
if (Model.getFacade().isAAssociationEnd(element)) {
Object assoc = Model.getFacade().getAssociation(element);
@@ -73,8 +72,7 @@
* @param namespace the namespace
* @return the default name for the given associationend
*/
- protected String defaultAssocEndName(Object assocEnd,
- Object namespace) {
+ protected String defaultAssocEndName(Object assocEnd, Object namespace) {
String name = null;
Object type = Model.getFacade().getType(assocEnd);
if (type != null) {
@@ -102,7 +100,7 @@
/**
* Create a default association name from its ends.
- *
+ *
* @param assoc the given association
* @param ns the namespace
* @return the default association name
@@ -169,8 +167,7 @@
* @param element the given modelelement
* @param pathSep the path separator character(s)
*/
- private void buildPath(StringBuffer buffer, Object element,
- String pathSep) {
+ private void buildPath(StringBuffer buffer, Object element, String pathSep) {
if (element != null) {
Object parent = Model.getFacade().getNamespace(element);
if (parent != null && parent != element) {
@@ -199,7 +196,6 @@
return "[empty]";
}
-
public String formatCollection(Iterator iter, Object namespace) {
String value = null;
if (iter.hasNext()) {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ModelUtils.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ModelUtils.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/ModelUtils.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ModelUtils.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/ModelUtils.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ModelUtils.java 2008-07-22 07:30:36-0700
@@ -30,7 +30,7 @@
/**
* Helper utility methods for searching the model.
- *
+ *
* @author maurelio1234
*/
public class ModelUtils {
@@ -44,20 +44,18 @@
public static Object findTypeInModel(String s, Object model) {
if (!Model.getFacade().isANamespace(model)) {
- throw new IllegalArgumentException(
- "Looking for the classifier " + s
- + " in a non-namespace object of " + model
+ throw new IllegalArgumentException("Looking for the classifier "
+ + s + " in a non-namespace object of " + model
+ ". A namespace was expected.");
}
- Collection allClassifiers =
- Model.getModelManagementHelper()
+ Collection allClassifiers = Model.getModelManagementHelper()
.getAllModelElementsOfKind(model,
Model.getMetaTypes().getClassifier());
for (Object classifier : allClassifiers) {
if (Model.getFacade().getName(classifier) != null
- && Model.getFacade().getName(classifier).equals(s)) {
+ && Model.getFacade().getName(classifier).equals(s)) {
return classifier;
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileJava.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileJava.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileJava.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileJava.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileJava.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileJava.java 2008-07-22 07:30:36-0700
@@ -40,20 +40,23 @@
/**
* This class represents the Java default Profile
- *
- * @author Marcos Aurélio
+ *
+ * @author Marcos Aur�lio
*/
public class ProfileJava extends Profile {
private static final String PROFILE_FILE = "default-java.xmi";
+
static final String NAME = "Java";
-
+
private ProfileModelLoader profileModelLoader;
+
private Collection model;
-
+
/**
- * The default constructor for this class
- * @throws ProfileException
+ * The default constructor for this class
+ *
+ * @throws ProfileException
*/
@SuppressWarnings("unchecked")
ProfileJava(Profile uml) throws ProfileException {
@@ -63,7 +66,7 @@
profileReference = new CoreProfileReference(PROFILE_FILE);
} catch (MalformedURLException e) {
throw new ProfileException(
- "Exception while creating profile reference.", e);
+ "Exception while creating profile reference.", e);
}
model = profileModelLoader.loadModel(profileReference);
@@ -73,24 +76,21 @@
}
addProfileDependency(uml);
- }
-
+ }
+
ProfileJava() throws ProfileException {
this(ProfileFacade.getManager().getProfileForClass(
ProfileUML.class.getName()));
}
-
public String getDisplayName() {
return NAME;
}
-
@Override
public Collection getProfilePackages() {
return model;
}
-
@Override
public DefaultTypeStrategy getDefaultTypeStrategy() {
@@ -109,7 +109,7 @@
return ModelUtils.findTypeInModel("void", model.iterator()
.next());
}
-
+
};
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java 2008-07-22 07:30:36-0700
@@ -31,6 +31,7 @@
import java.util.StringTokenizer;
import org.apache.log4j.Logger;
+import org.argouml.cognitive.Agency;
import org.argouml.configuration.Configuration;
import org.argouml.configuration.ConfigurationKey;
import org.argouml.model.Model;
@@ -39,16 +40,17 @@
import org.argouml.profile.ProfileException;
import org.argouml.profile.ProfileManager;
import org.argouml.profile.UserDefinedProfile;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
* Default <code>ProfileManager</code> implementation
- *
- * @author Marcos Aur�lio
+ *
+ * @author maurelio1234
*/
public class ProfileManagerImpl implements ProfileManager {
-
- private static final Logger LOG = Logger.getLogger(
- ProfileManagerImpl.class);
+
+ private static final Logger LOG = Logger
+ .getLogger(ProfileManagerImpl.class);
private static final String DIRECTORY_SEPARATOR = "*";
@@ -68,22 +70,24 @@
* Avoids recursive configuration update when loading configuration
*/
private boolean disableConfigurationUpdate = false;
-
+
private List<Profile> profiles = new ArrayList<Profile>();
private List<Profile> defaultProfiles = new ArrayList<Profile>();
private List<String> searchDirectories = new ArrayList<String>();
+ private ProfileUML profileUML = null;
/**
* Constructor - includes initialization of built-in default profiles.
*/
public ProfileManagerImpl() {
try {
- Profile uml = new ProfileUML();
- defaultProfiles.add(uml);
- registerProfile(uml);
- registerProfile(new ProfileJava(uml));
+ profileUML = new ProfileUML();
+
+ defaultProfiles.add(profileUML);
+ registerProfile(profileUML);
+ registerProfile(new ProfileJava(profileUML));
registerProfile(new ProfileMeta());
} catch (ProfileException e) {
throw new RuntimeException(e);
@@ -96,19 +100,19 @@
loadDefaultProfilesfromConfiguration();
}
- private void loadDefaultProfilesfromConfiguration() {
+ private void loadDefaultProfilesfromConfiguration() {
disableConfigurationUpdate = true;
-
+
StringTokenizer tokenizer = new StringTokenizer(Configuration
.getString(KEY_DEFAULT_PROFILES), DIRECTORY_SEPARATOR, false);
while (tokenizer.hasMoreTokens()) {
String desc = tokenizer.nextToken();
Profile p = null;
-
+
if (desc.charAt(0) == 'U') {
String fileName = desc.substring(1);
- p = findUserDefinedProfile(new File(fileName));
+ p = findUserDefinedProfile(new File(fileName));
} else if (desc.charAt(0) == 'C') {
String className = desc.substring(1);
p = getProfileForClass(className);
@@ -125,7 +129,7 @@
private void updateDefaultProfilesConfiguration() {
if (!disableConfigurationUpdate) {
StringBuffer buf = new StringBuffer();
-
+
for (Profile p : defaultProfiles) {
if (p instanceof UserDefinedProfile) {
buf.append("U"
@@ -144,16 +148,14 @@
private void loadDirectoriesFromConfiguration() {
disableConfigurationUpdate = true;
-
- StringTokenizer tokenizer =
- new StringTokenizer(
- Configuration.getString(KEY_DEFAULT_DIRECTORIES),
- DIRECTORY_SEPARATOR, false);
+
+ StringTokenizer tokenizer = new StringTokenizer(Configuration
+ .getString(KEY_DEFAULT_DIRECTORIES), DIRECTORY_SEPARATOR, false);
while (tokenizer.hasMoreTokens()) {
searchDirectories.add(tokenizer.nextToken());
}
-
+
disableConfigurationUpdate = false;
}
@@ -169,35 +171,39 @@
}
}
-
public List<Profile> getRegisteredProfiles() {
return profiles;
}
-
- public void registerProfile(Profile p) {
+ public void registerProfile(Profile p) {
if (p != null && !profiles.contains(p)) {
if (p instanceof UserDefinedProfile
|| getProfileForClass(p.getClass().getName()) == null) {
profiles.add(p);
-
- // this profile could have not been loaded when
- // the default profile configuration
+
+ for (CrUML critic : p.getCritics()) {
+ for (Object meta : critic.getCriticizedMetatypes()) {
+ Agency.register(critic, meta);
+ }
+
+ critic.setEnabled(false);
+ }
+
+ // this profile could have not been loaded when
+ // the default profile configuration
// was loaded at first, so we need to do it again
loadDefaultProfilesfromConfiguration();
}
}
}
-
public void removeProfile(Profile p) {
- if (p != null) {
+ if (p != null && (p instanceof UserDefinedProfile)) {
profiles.remove(p);
defaultProfiles.remove(p);
}
}
-
public Profile getProfileForClass(String profileClass) {
Profile found = null;
for (Profile p : profiles) {
@@ -209,29 +215,24 @@
return found;
}
-
public void addToDefaultProfiles(Profile p) {
- if (p != null && profiles.contains(p)
- && !defaultProfiles.contains(p)) {
+ if (p != null && profiles.contains(p) && !defaultProfiles.contains(p)) {
defaultProfiles.add(p);
updateDefaultProfilesConfiguration();
}
}
-
public List<Profile> getDefaultProfiles() {
return Collections.unmodifiableList(defaultProfiles);
}
-
public void removeFromDefaultProfiles(Profile p) {
- if (p != null && profiles.contains(p)) {
+ if (p != null && profiles.contains(p) && !(p instanceof ProfileUML)) {
defaultProfiles.remove(p);
updateDefaultProfilesConfiguration();
}
}
-
public void addSearchPathDirectory(String path) {
if (path != null && !searchDirectories.contains(path)) {
searchDirectories.add(path);
@@ -244,12 +245,10 @@
}
}
-
public List<String> getSearchPathDirectories() {
return Collections.unmodifiableList(searchDirectories);
}
-
public void removeSearchPathDirectory(String path) {
if (path != null) {
searchDirectories.remove(path);
@@ -262,7 +261,6 @@
}
}
-
public void refreshRegisteredProfiles() {
for (String dirName : searchDirectories) {
@@ -273,8 +271,7 @@
// TODO: Allow .zargo as profile as well?
if (file.getName().toLowerCase().endsWith(".xmi")) {
- boolean found =
- findUserDefinedProfile(file) != null;
+ boolean found = findUserDefinedProfile(file) != null;
if (!found) {
UserDefinedProfile udp = null;
@@ -284,7 +281,7 @@
} catch (ProfileException e) {
// if an exception is raised file is unusable
LOG.warn("Failed to load user defined profile "
- + file.getAbsolutePath() + ".", e);
+ + file.getAbsolutePath() + ".", e);
}
}
}
@@ -294,7 +291,7 @@
}
private Profile findUserDefinedProfile(File file) {
-
+
for (Profile p : profiles) {
if (p instanceof UserDefinedProfile) {
UserDefinedProfile udp = (UserDefinedProfile) p;
@@ -307,19 +304,22 @@
return null;
}
-
public Profile getUMLProfile() {
- for (Profile p : getRegisteredProfiles())
- if (p.getDisplayName() != null
- && p.getDisplayName().contains("UML"))
- return p;
- Profile p = null;
- try {
- p = new ProfileUML();
- } catch (ProfileException e) {
- throw new RuntimeException(e);
+ return profileUML;
+ }
+
+ /**
+ * @see org.argouml.profile.ProfileManager#lookForRegisteredProfile(java.lang.String)
+ */
+ public Profile lookForRegisteredProfile(String value) {
+ List<Profile> registeredProfiles = getRegisteredProfiles();
+
+ for (Profile profile : registeredProfiles) {
+ if (profile.getProfileIdentifier().equalsIgnoreCase(value)) {
+ return profile;
+ }
}
- return p;
+ return null;
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileMeta.java 2008-07-22 07:30:36-0700
@@ -37,19 +37,21 @@
import org.argouml.profile.ResourceModelLoader;
/**
- * Meta Profile which defines the TaggedValues to be used in User defined Profiles
- *
+ * Meta Profile which defines the TaggedValues to be used in User defined
+ * Profiles
+ *
* @author maas
*/
public class ProfileMeta extends Profile {
private static final String PROFILE_FILE = "metaprofile.xmi";
+
private Collection model;
/**
* Creates a new instance of this profile
*
- * @throws ProfileException
+ * @throws ProfileException if something goes wrong
*/
@SuppressWarnings("unchecked")
public ProfileMeta() throws ProfileException {
@@ -59,7 +61,7 @@
profileReference = new CoreProfileReference(PROFILE_FILE);
} catch (MalformedURLException e) {
throw new ProfileException(
- "Exception while creating profile reference.", e);
+ "Exception while creating profile reference.", e);
}
model = profileModelLoader.loadModel(profileReference);
@@ -69,7 +71,7 @@
}
}
-
+
@Override
public String getDisplayName() {
return "MetaProfile";
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileUML.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileUML.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileUML.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/internal/ProfileUML.java 2008-07-22 07:30:36-0700
@@ -40,22 +40,25 @@
/**
* This class represents the default UML profile
- *
- * @author Marcos Aurélio
+ *
+ * @author Marcos Aur�lio
*/
public class ProfileUML extends Profile {
-
+
private static final String PROFILE_FILE = "default-uml14.xmi";
static final String NAME = "UML 1.4";
-
+
private FormatingStrategy formatingStrategy;
+
private ProfileModelLoader profileModelLoader;
+
private Collection model;
-
+
/**
- * Construct a Profile for UML modeling.
- * @throws ProfileException
+ * Construct a Profile for UML modeling.
+ *
+ * @throws ProfileException
*/
@SuppressWarnings("unchecked")
ProfileUML() throws ProfileException {
@@ -66,15 +69,15 @@
profileReference = new CoreProfileReference(PROFILE_FILE);
} catch (MalformedURLException e) {
throw new ProfileException(
- "Exception while creating profile reference.", e);
+ "Exception while creating profile reference.", e);
}
model = profileModelLoader.loadModel(profileReference);
if (model == null) {
model = new ArrayList();
model.add(Model.getModelManagementFactory().createModel());
- }
- }
+ }
+ }
@Override
public FormatingStrategy getFormatingStrategy() {
@@ -86,12 +89,10 @@
return NAME;
}
-
@Override
public Collection getProfilePackages() {
return model;
}
-
@Override
public DefaultTypeStrategy getDefaultTypeStrategy() {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/profile/profiles/uml14/metaprofile.xmi 2008-07-22 07:30:36-0700
@@ -1,8 +1,8 @@
<?xml version = '1.0' encoding = 'UTF-8' ?>
-<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Sun May 25 10:34:59 CEST 2008'>
+<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Thu Jul 17 07:16:58 CEST 2008'>
<XMI.header> <XMI.documentation>
<XMI.exporter>ArgoUML (using Netbeans XMI Writer version 1.0)</XMI.exporter>
- <XMI.exporterVersion>PRE-0.25.5(6) revised on $Date: 2007-05-12 08:08:08 +0200 (sam., 12 mai 2007) $ </XMI.exporterVersion>
+ <XMI.exporterVersion>PRE-0.26.beta1(6) revised on $Date: 2007-05-12 08:08:08 +0200 (sam., 12 mai 2007) $ </XMI.exporterVersion>
</XMI.documentation>
<XMI.metamodel xmi.name="UML" xmi.version="1.4"/></XMI.header>
<XMI.content>
@@ -20,9 +20,9 @@
<UML:TagDefinition xmi.id = '127-0-1-1--3790810c:11a1f2b16a5:-8000:00000000000007C8'
name = 'Dependency' visibility = 'public' isSpecification = 'false'>
<UML:TagDefinition.multiplicity>
- <UML:Multiplicity xmi.id = '127-0-1-1--3790810c:11a1f2b16a5:-8000:00000000000007D7'>
+ <UML:Multiplicity xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:0000000000000898'>
<UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '127-0-1-1--3790810c:11a1f2b16a5:-8000:00000000000007D6'
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:0000000000000897'
lower = '0' upper = '-1'/>
</UML:Multiplicity.range>
</UML:Multiplicity>
@@ -39,6 +39,77 @@
</UML:Multiplicity>
</UML:TagDefinition.multiplicity>
</UML:TagDefinition>
+ <UML:Stereotype xmi.id = '127-0-1-1--259518d7:11a5dd26371:-8000:00000000000008DF'
+ name = 'Critic' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+ isAbstract = 'false'>
+ <UML:Stereotype.baseClass>Comment</UML:Stereotype.baseClass>
+ </UML:Stereotype>
+ <UML:TagDefinition xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:0000000000000899'
+ name = 'Description' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:000000000000089A'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:000000000000089B'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
+ <UML:TagDefinition xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:000000000000089C'
+ name = 'Headline' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:000000000000089D'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--231af496:11aa229b828:-8000:000000000000089E'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
+ <UML:TagDefinition xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008AC'
+ name = 'Priority' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B0'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008AF'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
+ <UML:TagDefinition xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B1'
+ name = 'SupportedDecision' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B2'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B3'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
+ <UML:TagDefinition xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B4'
+ name = 'KnowldgeType' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B5'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B6'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
+ <UML:TagDefinition xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B7'
+ name = 'MoreInfoURL' isSpecification = 'false'>
+ <UML:TagDefinition.multiplicity>
+ <UML:Multiplicity xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B8'>
+ <UML:Multiplicity.range>
+ <UML:MultiplicityRange xmi.id = '127-0-1-1--690faa61:11b2f4ae818:-8000:00000000000008B9'
+ lower = '0' upper = '1'/>
+ </UML:Multiplicity.range>
+ </UML:Multiplicity>
+ </UML:TagDefinition.multiplicity>
+ </UML:TagDefinition>
</UML:Namespace.ownedElement>
</UML:Model>
</XMI.content>
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProfileSelectionTab.java 2008-07-22 07:30:36-0700
@@ -59,7 +59,7 @@
* The Tab where new profiles can be added and the registered
* ones can be activated or deactivated on current project
*
- * @author Marcos Aurélio
+ * @author Marcos Aur�lio
*/
public class ProfileSelectionTab extends JPanel implements
GUISettingsTabInterface, ActionListener {
@@ -286,8 +286,8 @@
JPanel lffPanel = new JPanel();
lffPanel.setLayout(new FlowLayout());
+ lffPanel.add(unregisterProfile);
lffPanel.add(loadFromFile);
- lffPanel.add(unregisterProfile);
loadFromFile.addActionListener(this);
unregisterProfile.addActionListener(this);
@@ -335,7 +335,7 @@
modelUsd.fireListeners();
} else {
JOptionPane.showMessageDialog(this,
- "Only user defined profiles can be removed");
+ "Only active user defined profiles can be removed");
}
}
} else if (arg0.getSource() == loadFromFile) {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsDialog.java 2008-07-22 07:30:36-0700
@@ -46,7 +46,7 @@
*
* @author michiel
*/
-class ProjectSettingsDialog extends ArgoDialog implements WindowListener {
+public class ProjectSettingsDialog extends ArgoDialog implements WindowListener {
private JButton applyButton;
private JButton resetToDefaultButton;
@@ -248,4 +248,17 @@
handleCancel();
}
+ /**
+ * Show the dialog with the tab as selected
+ * @param profilesTab tab to be selected
+ */
+ public void showDialog(ProjectSettingsTabProfile profilesTab) {
+ try {
+ tabs.setSelectedComponent(profilesTab);
+ } catch(Throwable t) {
+
+ }
+ showDialog();
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/ProjectSettingsTabProfile.java 2008-07-22 07:30:36-0700
@@ -63,7 +63,7 @@
* The Tab where new profiles can be added and the registered
* ones can be activated or deactivated on current project
*
- * @author Marcos Aurélio
+ * @author Marcos Aur�lio
*/
public class ProjectSettingsTabProfile extends JPanel implements
GUISettingsTabInterface, ActionListener {
@@ -189,8 +189,8 @@
JPanel lffPanel = new JPanel();
lffPanel.setLayout(new FlowLayout());
+ lffPanel.add(unregisterProfile);
lffPanel.add(loadFromFile);
- lffPanel.add(unregisterProfile);
loadFromFile.addActionListener(this);
unregisterProfile.addActionListener(this);
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/SettingsTabProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/SettingsTabProfile.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/SettingsTabProfile.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/SettingsTabProfile.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/SettingsTabProfile.java 2008-07-22 07:30:36-0700
@@ -63,7 +63,7 @@
/**
* The Tab containing the global settings for profiles
*
- * @author Marcos Aurélio
+ * @author Marcos Aur�lio
*/
public class SettingsTabProfile extends JPanel implements
GUISettingsTabInterface, ActionListener {
@@ -198,8 +198,8 @@
JPanel lffPanel = new JPanel();
lffPanel.setLayout(new FlowLayout());
- lffPanel.add(loadFromFile);
lffPanel.add(unregisterProfile);
+ lffPanel.add(loadFromFile);
lffPanel.add(refreshProfiles);
loadFromFile.addActionListener(this);
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java 2008-07-22 07:30:36-0700
@@ -51,6 +51,7 @@
import org.argouml.ui.ActionCreateContainedModelElement;
import org.argouml.ui.ActionCreateEdgeModelElement;
import org.argouml.ui.targetmanager.TargetManager;
+import org.argouml.uml.cognitive.critics.CrUML;
import org.argouml.uml.diagram.ArgoDiagram;
import org.argouml.uml.diagram.activity.ui.UMLActivityDiagram;
import org.argouml.uml.diagram.sequence.ui.UMLSequenceDiagram;
@@ -188,11 +189,20 @@
initMenuCreateDiagrams();
this.add(createDiagrams);
}
-
- if (!multiSelect && selectedItem instanceof Profile) {
- this.add(new ActionExportProfileXMI((Profile) selectedItem));
+
+ try {
+ if (!multiSelect && selectedItem instanceof Profile
+ && !((Profile) selectedItem).getProfilePackages().isEmpty()) {
+ this.add(new ActionExportProfileXMI((Profile) selectedItem));
+ }
+ } catch (Exception e) {
+
}
-
+
+ if (!multiSelect && selectedItem instanceof ProfileConfiguration) {
+ this.add(new ActionManageProfiles());
+ }
+
if (modelElementsOnly) {
initMenuCreateModelElements();
}
@@ -759,7 +769,8 @@
Object selectedItem) {
boolean found = selectedItem instanceof ProfileConfiguration
|| selectedItem instanceof Profile
- || selectedItem instanceof ArgoDiagram;
+ || selectedItem instanceof ArgoDiagram
+ || selectedItem instanceof CrUML;
/* The next statement fixes an exception
* when right-clicking on e.g. an AssociationsNode
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/PerspectiveManager.java 2008-07-22 07:30:36-0700
@@ -77,6 +77,7 @@
import org.argouml.ui.explorer.rules.GoPackageToClass;
import org.argouml.ui.explorer.rules.GoPackageToElementImport;
import org.argouml.ui.explorer.rules.GoProfileConfigurationToProfile;
+import org.argouml.ui.explorer.rules.GoProfileToCritics;
import org.argouml.ui.explorer.rules.GoProfileToModel;
import org.argouml.ui.explorer.rules.GoProjectToCollaboration;
import org.argouml.ui.explorer.rules.GoProjectToDiagram;
@@ -332,6 +333,7 @@
classPerspective.addRule(new GoProjectToProfileConfiguration());
classPerspective.addRule(new GoProfileConfigurationToProfile());
classPerspective.addRule(new GoProfileToModel());
+ classPerspective.addRule(new GoProfileToCritics());
classPerspective.addRule(new GoProjectToRoots());
classPerspective.addRule(new GoNamespaceToClassifierAndPackage());
classPerspective.addRule(new GoNamespaceToDiagram());
@@ -350,6 +352,7 @@
packagePerspective.addRule(new GoProjectToProfileConfiguration());
packagePerspective.addRule(new GoProfileConfigurationToProfile());
packagePerspective.addRule(new GoProfileToModel());
+ packagePerspective.addRule(new GoProfileToCritics());
packagePerspective.addRule(new GoProjectToRoots());
packagePerspective.addRule(new GoNamespaceToOwnedElements());
packagePerspective.addRule(new GoPackageToElementImport());
@@ -398,6 +401,7 @@
diagramPerspective.addRule(new GoProjectToProfileConfiguration());
diagramPerspective.addRule(new GoProfileConfigurationToProfile());
diagramPerspective.addRule(new GoProfileToModel());
+ diagramPerspective.addRule(new GoProfileToCritics());
diagramPerspective.addRule(new GoModelToDiagrams());
diagramPerspective.addRule(new GoDiagramToNode());
diagramPerspective.addRule(new GoDiagramToEdge());
@@ -412,6 +416,7 @@
inheritancePerspective.addRule(new GoProjectToProfileConfiguration());
classPerspective.addRule(new GoProfileConfigurationToProfile());
classPerspective.addRule(new GoProfileToModel());
+ classPerspective.addRule(new GoProfileToCritics());
inheritancePerspective.addRule(new GoModelToBaseElements());
inheritancePerspective
.addRule(new GoGeneralizableElementToSpecialized());
@@ -423,6 +428,7 @@
associationsPerspective.addRule(new GoProjectToProfileConfiguration());
associationsPerspective.addRule(new GoProfileConfigurationToProfile());
associationsPerspective.addRule(new GoProfileToModel());
+ associationsPerspective.addRule(new GoProfileToCritics());
associationsPerspective.addRule(new GoNamespaceToDiagram());
associationsPerspective.addRule(new GoPackageToClass());
associationsPerspective.addRule(new GoClassToAssociatedClass());
@@ -434,6 +440,7 @@
residencePerspective.addRule(new GoProjectToProfileConfiguration());
residencePerspective.addRule(new GoProfileConfigurationToProfile());
residencePerspective.addRule(new GoProfileToModel());
+ residencePerspective.addRule(new GoProfileToCritics());
residencePerspective.addRule(new GoModelToNode());
residencePerspective.addRule(new GoNodeToResidentComponent());
residencePerspective.addRule(new GoComponentToResidentModelElement());
@@ -468,6 +475,7 @@
compositionPerspective.addRule(new GoProjectToProfileConfiguration());
compositionPerspective.addRule(new GoProfileConfigurationToProfile());
compositionPerspective.addRule(new GoProfileToModel());
+ compositionPerspective.addRule(new GoProfileToCritics());
compositionPerspective.addRule(new GoProjectToRoots());
compositionPerspective.addRule(new GoModelElementToContents());
compositionPerspective.addRule(new GoModelElementToContainedDiagrams());
@@ -533,6 +541,7 @@
new GoProjectToProfileConfiguration(),
new GoProfileConfigurationToProfile(),
new GoProfileToModel(),
+ new GoProfileToCritics(),
new GoProjectToRoots(),
new GoSignalToReception(), new GoStateMachineToTop(),
new GoStatemachineToDiagram(), new GoStateMachineToState(),
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/ui/explorer/rules/GoProfileToModel.java 2008-07-22 07:30:36-0700
@@ -33,7 +33,7 @@
import org.argouml.profile.ProfileException;
/**
- * Rule for Project->Profile.
+ * Rule for Profile->Model.
*
*/
public class GoProfileToModel extends AbstractPerspectiveRule {
@@ -51,7 +51,8 @@
public Collection getChildren(Object parent) {
if (parent instanceof Profile) {
try {
- return ((Profile) parent).getProfilePackages();
+ Collection col = ((Profile) parent).getProfilePackages();
+ return col;
} catch (ProfileException e) {
return Collections.EMPTY_SET;
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAlreadyRealizes.java 2008-07-22 07:30:36-0700
@@ -71,6 +71,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -8264991005828634274L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAssocNameConflict.java 2008-07-22 07:30:36-0700
@@ -147,4 +147,14 @@
}
return list;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getNamespace());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrAttrNameConflict.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -104,5 +106,14 @@
return ClAttributeCompartment.getTheInstance();
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularAssocClass.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -76,7 +78,15 @@
return NO_PROBLEM;
}
-
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
/**
* The UID.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularComposition.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.log4j.Logger;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -119,4 +122,13 @@
return WizBreakCircularComp.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCircularInheritance.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.log4j.Logger;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -73,5 +76,14 @@
return problem;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getGeneralizableElement());
+ return ret;
+ }
+
} /* end class CrCircularInheritance */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrClassMustBeAbstract.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -71,6 +73,16 @@
return NO_PROBLEM;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
/**
* The UID.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrCrossNamespaceAssoc.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -100,4 +102,14 @@
// If we drop out there is no problem
return NO_PROBLEM;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
} /* end class CrCrossNamespaceAssoc */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDisambigStateName.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -113,6 +115,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getState());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 5027208502429769593L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupParamName.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -82,4 +84,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getOperation());
+ return ret;
+ }
+
}
\ No newline at end of file
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrDupRoleNames.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -143,5 +145,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrEmptyPackage.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.log4j.Logger;
import org.argouml.cognitive.Designer;
@@ -69,5 +71,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPackage());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrFinalSubclassed.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -69,5 +71,15 @@
return specs.hasNext() ? PROBLEM_FOUND : NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ ret.add(Model.getMetaTypes().getInterface());
+ return ret;
+ }
+
} /* end class CrFinalSubclassed */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrForkOutgoingTransition.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -62,4 +65,13 @@
return PROBLEM_FOUND;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalGeneralization.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -71,4 +74,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getGeneralizableElement());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrIllegalName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Designer;
@@ -81,4 +84,18 @@
return ClClassName.getTheInstance();
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ ret.add(Model.getMetaTypes().getInterface());
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ ret.add(Model.getMetaTypes().getOperation());
+ ret.add(Model.getMetaTypes().getParameter());
+ ret.add(Model.getMetaTypes().getState());
+ return ret;
+ }
+
} /* end class CrIllegalName */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceAllPublic.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -77,4 +79,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getInterface());
+ return ret;
+ }
+
} /* end class CrInterfaceAllPublic */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInterfaceOperOnly.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -66,4 +68,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getInterface());
+ return ret;
+ }
+
} /* end class CrInterfaceOperOnly */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidBranch.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -87,5 +89,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidFork.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -75,5 +77,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidForkTriggerOrGuard.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -86,6 +89,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -713044875133409390L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidHistory.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -65,5 +67,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidInitial.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -73,5 +75,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoin.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -75,5 +77,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidJoinTriggerOrGuard.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -89,6 +92,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 1052354516940735748L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidPseudoStateTrigger.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -67,4 +70,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrInvalidSynch.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -92,5 +94,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getSynchState());
+ return ret;
+ }
+
} /* end class CrInvalidSynch */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrJoinIncomingTransition.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
@@ -62,4 +65,13 @@
return PROBLEM_FOUND;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMergeClasses.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ToDoItem;
@@ -91,4 +93,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
} /* end class CrMergeClasses */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingAttrName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -97,4 +100,13 @@
*/
public Class getWizardClass(ToDoItem item) { return WizMEName.class; }
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAttribute());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingClassName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -98,4 +101,13 @@
*/
public Class getWizardClass(ToDoItem item) { return WizMEName.class; }
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getModel());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingOperName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ToDoItem;
@@ -92,4 +95,13 @@
return WizMEName.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getOperation());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMissingStateName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -127,6 +130,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getStateVertex());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 1181623952639408440L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultiComposite.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ToDoItem;
@@ -72,4 +75,13 @@
return WizAssocComposite.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationEnd());
+ return ret;
+ }
+
} /* end class CrMultiComposite */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleAgg.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -156,4 +158,13 @@
return WizAssocComposite.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
} /* end class CrMultipleAgg */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleDeepHistoryStates.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.apache.log4j.Logger;
import org.argouml.cognitive.Designer;
@@ -143,6 +145,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -4893102976661022514L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleInitialStates.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.log4j.Logger;
import org.argouml.cognitive.Designer;
@@ -148,6 +150,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 4151051235876065649L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrMultipleShallowHistoryStates.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.log4j.Logger;
import org.argouml.cognitive.Designer;
@@ -145,6 +147,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPseudostate());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -8324054401013865193L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNWayAgg.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -141,6 +143,16 @@
return NO_PROBLEM;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
/**
* The UID.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflict.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -128,4 +130,13 @@
return res;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getNamespace());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConflictAC.java 2008-07-22 07:30:36-0700
@@ -24,8 +24,12 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
+import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
/**
@@ -54,5 +58,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
} /* end class CrNameConflictAC */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNameConfusion.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -229,4 +231,14 @@
return WizManyNames.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ ret.add(Model.getMetaTypes().getState());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNavFromInterface.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -147,6 +149,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 2660051106458704056L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoAssociations.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -178,4 +180,15 @@
return false;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ ret.add(Model.getMetaTypes().getActor());
+ ret.add(Model.getMetaTypes().getUseCase());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoGuard.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -83,4 +86,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoIncomingTransitions.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -90,4 +92,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getStateVertex());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInitialState.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -83,4 +85,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getCompositeState());
+ return ret;
+ }
+
} /* end class CrNoInitialState */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoInstanceVariables.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -172,5 +174,16 @@
public Class getWizardClass(ToDoItem item) {
return WizAddInstanceVariable.class;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
}
+
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOperations.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -154,5 +156,16 @@
public Class getWizardClass(ToDoItem item) {
return WizAddOperation.class;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ ret.add(Model.getMetaTypes().getInterface());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoOutgoingTransitions.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -80,4 +82,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getStateVertex());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTransitions.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -90,4 +92,13 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getStateVertex());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNoTriggerOrGuard.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -104,6 +107,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getTransition());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -301548543890007262L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNodesOverlap.java 2008-07-22 07:30:36-0700
@@ -25,12 +25,15 @@
package org.argouml.uml.cognitive.critics;
import java.awt.Rectangle;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ListSet;
import org.argouml.cognitive.ToDoItem;
+import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
import org.argouml.uml.diagram.deployment.ui.FigObject;
import org.argouml.uml.diagram.deployment.ui.UMLDeploymentDiagram;
@@ -176,6 +179,14 @@
return offs;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrNonAggDataType.java 2008-07-22 07:30:36-0700
@@ -24,8 +24,12 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
+import org.argouml.model.Model;
import org.argouml.uml.cognitive.UMLDecision;
/**
@@ -56,5 +60,14 @@
return NO_PROBLEM;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getDataType());
+ return ret;
+ }
+
} /* end class CrNonAggDataType */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOperNameConflict.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import javax.swing.Icon;
@@ -267,4 +269,13 @@
return false;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndConflict.java 2008-07-22 07:30:36-0700
@@ -26,8 +26,10 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -80,4 +82,14 @@
}
return problem;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationEnd());
+ return ret;
+ }
+
} /* end class CrOppEndConflict */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrOppEndVsAttr.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -137,6 +139,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 5784567698177480475L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrReservedName.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import javax.swing.Icon;
@@ -220,6 +222,18 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ ret.add(Model.getMetaTypes().getOperation());
+ ret.add(Model.getMetaTypes().getState());
+ ret.add(Model.getMetaTypes().getAssociation());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -5839267391209851505L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrSubclassReference.java 2008-07-22 07:30:36-0700
@@ -27,7 +27,9 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -147,4 +149,13 @@
return offs;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAssoc.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -64,4 +66,13 @@
return PROBLEM_FOUND;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
} /* end class CrTooManyAssoc */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyAttr.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -79,6 +81,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 1281218975903539324L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyClasses.java 2008-07-22 07:30:36-0700
@@ -26,6 +26,8 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -74,6 +76,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getNamespace());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -3270186791825482658L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyOper.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -80,6 +82,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 3221965323817473947L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyStates.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -68,6 +70,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getCompositeState());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -7320341818814870066L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrTooManyTransitions.java 2008-07-22 07:30:36-0700
@@ -25,6 +25,8 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -72,6 +74,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getStateVertex());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -5732942378849267065L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUML.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.log4j.Logger;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -54,6 +57,13 @@
*/
private static final Logger LOG = Logger.getLogger(CrUML.class);
+ /**
+ * By default looks for the localized strings at the <code>critics</code>
+ * Resource, but critics defined elsewhere (out of ArgoUML main tree)
+ * may override this parameter
+ */
+ private String localizationPrefix = "critics";
+
/**
* The constructor for this class.
*/
@@ -61,6 +71,19 @@
}
/**
+ * The constructor for this class overriding the default
+ * localization resource.
+ *
+ * @param localizationPrefix the overriding localization resource
+ */
+ public CrUML(String localizationPrefix) {
+ if (localizationPrefix != null) {
+ this.localizationPrefix = localizationPrefix;
+ setupHeadAndDesc();
+ }
+ }
+
+ /**
* Set the resources for this critic based on the class name.
*
* @param key is the class name.
@@ -88,7 +111,7 @@
* @return the localized string
*/
protected String getLocalizedString(String key, String suffix) {
- return Translator.localize("critics." + key + suffix);
+ return Translator.localize(localizationPrefix + "." + key + suffix);
}
/**
@@ -118,11 +141,13 @@
* appears in the to-do tab of the details pane).
*
* MVW: Maybe we can make it part of the constructor CrUML()?
+ *
+ * FIXME: why override if nobody uses?
*/
- @Override
- public final void setHeadline(String s) {
- setupHeadAndDesc();
- }
+ //@Override
+ //public final void setHeadline(String s) {
+ //setupHeadAndDesc();
+ //}
/**
* Set up the locale specific text for the critic headline
@@ -242,7 +267,17 @@
return className.substring(className.lastIndexOf('.') + 1);
}
-
+ /**
+ * Get the metatypes to be criticized by this critic, no
+ * metatype is assumed by default.
+ *
+ * @return the metatypes
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ return ret;
+ }
+
/**
* The UID.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalAttrName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -216,6 +219,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAttribute());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = 4741909365018862474L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalClassName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -126,6 +129,15 @@
public Class getWizardClass(ToDoItem item) { return WizMEName.class; }
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -3341858698991522822L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalOperName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ListSet;
@@ -193,4 +196,13 @@
return WizOperName.class;
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getOperation());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java 2008-07-22 07:30:36-0700
@@ -24,6 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
+import java.util.Set;
+
import javax.swing.Icon;
import org.argouml.cognitive.Critic;
@@ -124,6 +127,15 @@
return sug.toString();
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getPackage());
+ return ret;
+ }
+
/*
* @see org.argouml.cognitive.critics.Critic#getWizardClass(org.argouml.cognitive.ToDoItem)
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUnnavigableAssoc.java 2008-07-22 07:30:36-0700
@@ -25,7 +25,9 @@
package org.argouml.uml.cognitive.critics;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.ToDoItem;
@@ -69,4 +71,13 @@
*/
public Class getWizardClass(ToDoItem item) { return WizNavigable.class; }
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getAssociationClass());
+ return ret;
+ }
+
} /* end class CrUnnavigableAssoc */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessAbstract.java 2008-07-22 07:30:36-0700
@@ -28,7 +28,9 @@
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.cognitive.Goal;
@@ -78,6 +80,15 @@
return true; // no concrete subclasses defined, this class is "useless"
}
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getUMLClass());
+ return ret;
+ }
+
} /* end class CrUselessAbstract */
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUselessInterface.java 2008-07-22 07:30:36-0700
@@ -24,7 +24,9 @@
package org.argouml.uml.cognitive.critics;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Critic;
import org.argouml.cognitive.Designer;
@@ -78,6 +80,15 @@
}
/**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getInterface());
+ return ret;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -6586457111453473553L;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/CrUtilityViolated.java 2008-07-22 07:30:36-0700
@@ -26,7 +26,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
import org.argouml.cognitive.Designer;
import org.argouml.model.Model;
@@ -94,4 +96,14 @@
}
return NO_PROBLEM;
}
+
+ /**
+ * @see org.argouml.uml.cognitive.critics.CrUML#getCriticizedMetatypes()
+ */
+ public Set<Object> getCriticizedMetatypes() {
+ Set<Object> ret = new HashSet<Object>();
+ ret.add(Model.getMetaTypes().getClassifier());
+ return ret;
+ }
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/cognitive/critics/InitCognitiveCritics.java 2008-07-22 07:30:36-0700
@@ -33,7 +33,6 @@
import org.argouml.cognitive.Agency;
import org.argouml.cognitive.CompoundCritic;
import org.argouml.cognitive.Critic;
-import org.argouml.model.Model;
import org.argouml.uml.diagram.deployment.ui.UMLDeploymentDiagram;
import org.argouml.uml.diagram.ui.FigEdgeModelElement;
import org.argouml.uml.diagram.ui.UMLDiagram;
@@ -269,114 +268,22 @@
* static initializer, register all appropriate critics.
*/
public void init() {
- Object modelCls = Model.getMetaTypes().getModel();
- Object packageCls = Model.getMetaTypes().getPackage();
- Object classCls = Model.getMetaTypes().getUMLClass();
- Object classifierCls = Model.getMetaTypes().getClassifier();
- Object interfaceCls = Model.getMetaTypes().getInterface();
- Object attrCls = Model.getMetaTypes().getAttribute();
- Object paramCls = Model.getMetaTypes().getParameter();
- Object operCls = Model.getMetaTypes().getOperation();
- Object assocCls = Model.getMetaTypes().getAssociation();
- Object assocEndCls = Model.getMetaTypes().getAssociationEnd();
- Object assocClassCls = Model.getMetaTypes().getAssociationClass();
- Object namespaceCls = Model.getMetaTypes().getNamespace();
- Object genElementCls = Model.getMetaTypes().getGeneralizableElement();
- Object genCls = Model.getMetaTypes().getGeneralization();
- Object datatypeCls = Model.getMetaTypes().getDataType();
- Object useCaseCls = Model.getMetaTypes().getUseCase();
- Object actorCls = Model.getMetaTypes().getActor();
- Object stateVertexCls = Model.getMetaTypes().getStateVertex();
- Object stateCls = Model.getMetaTypes().getState();
- Object compositieStateCls = Model.getMetaTypes().getCompositeState();
- Object synchStateCls = Model.getMetaTypes().getSynchState();
- // Class stateDiagramCls = UMLStateDiagram.class;
- // Class useCaseDiagramCls = UMLUseCaseDiagram.class;
- // Class classDiagramCls = UMLClassDiagram.class;
-
// TODO: Agency should allow registration by interface
// useful for MAssociation.
- Agency.register(crAssocNameConflict, namespaceCls);
- Agency.register(crAttrNameConflict, classifierCls);
- Agency.register(crOperNameConflict, classifierCls);
- Agency.register(crCircularAssocClass, assocClassCls);
- Agency.register(crCircularInheritance, genElementCls);
- Agency.register(crCircularComposition, classCls);
- Agency.register(crClassMustBeAbstract, classCls);
- Agency.register(crCrossNamespaceAssoc, assocCls);
- Agency.register(crDupParamName, operCls);
- Agency.register(crDupRoleNames, assocCls);
- Agency.register(crFinalSubclassed, classCls);
- Agency.register(crFinalSubclassed, interfaceCls);
- Agency.register(crIllegalGeneralization, genCls);
- Agency.register(crAlreadyRealizes, classCls);
- Agency.register(crInterfaceAllPublic, interfaceCls);
- Agency.register(crInterfaceOperOnly, interfaceCls);
- Agency.register(crMultipleAgg, assocCls);
- Agency.register(crUnnavigableAssoc, assocCls);
- Agency.register(crNWayAgg, assocCls);
- Agency.register(crNavFromInterface, assocCls);
- Agency.register(crNameConflictAC, assocClassCls);
- Agency.register(clsNaming, classCls);
- Agency.register(clsNaming, interfaceCls);
- Agency.register(clsNaming, actorCls);
- Agency.register(clsNaming, useCaseCls);
+
+ Agency.register(clsNaming);
+ Agency.register(clsNaming);
+ Agency.register(clsNaming);
+ Agency.register(clsNaming);
// TODO: should be just CrMissingName with a
// customized description
- Agency.register(crMissingClassName, modelCls);
- Agency.register(crMissingAttrName, attrCls);
- Agency.register(crMissingOperName, operCls);
- Agency.register(crMissingStateName, stateVertexCls);
- Agency.register(crNoInstanceVariables, classCls);
- Agency.register(crNoAssociations, classCls);
- Agency.register(crNoAssociations, actorCls);
- Agency.register(crNoAssociations, useCaseCls);
- Agency.register(crNoOperations, classCls);
- Agency.register(crNoOperations, interfaceCls);
- Agency.register(crCompoundConstructorNeeded, classCls);
- Agency.register(crEmptyPackage, packageCls);
- Agency.register(crNonAggDataType, datatypeCls);
- Agency.register(crUselessAbstract, classCls);
- Agency.register(crUselessInterface, interfaceCls);
- Agency.register(crDisambigStateName, stateCls);
- Agency.register(crNameConfusion, classifierCls);
- Agency.register(crNameConfusion, stateCls);
- Agency.register(crMergeClasses, classCls);
- Agency.register(crSubclassReference, classCls);
- Agency.register(crIllegalName, classCls);
- Agency.register(crIllegalName, interfaceCls);
- Agency.register(crIllegalName, assocCls);
- Agency.register(crIllegalName, operCls);
- Agency.register(crIllegalName, attrCls);
- Agency.register(crIllegalName, paramCls);
- Agency.register(crIllegalName, stateCls);
- Agency.register(crReservedName, classifierCls);
- Agency.register(crReservedName, operCls);
- Agency.register(crReservedName, attrCls);
- Agency.register(crReservedName, stateCls);
- Agency.register(crReservedName, assocCls);
- Agency.register(crTooManyAssoc, classCls);
- Agency.register(crTooManyAttr, classCls);
- Agency.register(crTooManyOper, classCls);
- Agency.register(crTooManyTransitions, stateVertexCls);
- Agency.register(crTooManyStates, compositieStateCls);
- Agency.register(crTooManyClasses, namespaceCls);
- Object pseudostateCls = Model.getMetaTypes().getPseudostate();
- Object transitionCls = Model.getMetaTypes().getTransition();
- Agency.register(noTrans1, stateVertexCls);
- Agency.register(noTrans2, stateVertexCls);
- Agency.register(crMultipleInitialStates, pseudostateCls);
- Agency.register(crNoInitialState, compositieStateCls);
- Agency.register(crNoTriggerOrGuard, transitionCls);
- Agency.register(crInvalidJoin, pseudostateCls);
- Agency.register(crInvalidFork, pseudostateCls);
- Agency.register(crInvalidBranch, pseudostateCls);
- Agency.register(crNoGuard, transitionCls);
- Agency.register(crUnconventionalOperName, operCls);
- Agency.register(crUnconventionalAttrName, attrCls);
- Agency.register(crUnconventionalClassName, classCls);
- Agency.register(crUnconventionalPackName, packageCls);
+
+ Agency.register(crCompoundConstructorNeeded);
+
+ Agency.register(noTrans1);
+ Agency.register(noTrans2);
+
Class deploymentDiagramCls = UMLDeploymentDiagram.class;
Agency.register(crNodeInsideElement, deploymentDiagramCls);
Agency.register(crNodeInstanceInsideElement, deploymentDiagramCls);
@@ -387,37 +294,12 @@
Agency.register(crObjectWithoutComponent, deploymentDiagramCls);
Agency.register(crWrongLinkEnds, deploymentDiagramCls);
Agency.register(crInstanceWithoutClassifier, deploymentDiagramCls);
-
- Agency.register(crMultipleDeepHistoryStates, pseudostateCls);
- Agency.register(crMultipleShallowHistoryStates, pseudostateCls);
- Agency.register(crInvalidHistory, pseudostateCls);
- Agency.register(crInvalidSynch, synchStateCls);
- Agency.register(crInvalidJoinTriggerOrGuard, transitionCls);
- Agency.register(crInvalidForkTriggerOrGuard, transitionCls);
- Agency.register(crInvalidPseudoStateTrigger, transitionCls);
- Agency.register(crInvalidInitial, pseudostateCls);
- Agency.register(crForkOutgoingTransition, transitionCls);
- Agency.register(crJoinIncomingTransition, transitionCls);
-
- // Class sequenceDiagramCls = UMLSequenceDiagram.class;
- // Agency.register(crCallWithoutReturn, sequenceDiagramCls);
- // Agency.register(crReturnWithoutCall, sequenceDiagramCls);
- // Agency.register(crLinkWithoutStimulus, sequenceDiagramCls);
- // Agency.register(crSeqInstanceWithoutClassifier, sequenceDiagramCls);
- // Agency.register(crStimulusWithWrongPosition, sequenceDiagramCls);
-
- // Class nodeCls = FigNodeModelElement.class;
+
Class edgeCls = FigEdgeModelElement.class;
Class diagramCls = UMLDiagram.class;
Agency.register(crNodesOverlap, diagramCls);
Agency.register(crZeroLengthEdge, edgeCls);
- Agency.register(crOppEndConflict, assocEndCls);
- Agency.register(new CrMultiComposite(), assocEndCls);
- Agency.register(new CrNameConflict(), namespaceCls);
- Agency.register(crAlreadyRealizes, classCls);
- Agency.register(new CrUtilityViolated(), classifierCls);
- Agency.register(new CrOppEndVsAttr(), classifierCls);
}
public List<GUISettingsTabInterface> getProjectSettingsTabs() {
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java 2008-07-22 07:30:36-0700
@@ -27,7 +27,6 @@
import java.awt.Dimension;
import java.awt.Rectangle;
import java.beans.PropertyChangeEvent;
-import java.beans.PropertyVetoException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -38,7 +37,6 @@
import org.argouml.model.AttributeChangeEvent;
import org.argouml.model.Model;
import org.argouml.ui.ArgoJMenu;
-import org.argouml.uml.diagram.ui.CompartmentFigText;
import org.argouml.uml.diagram.ui.EnumLiteralsCompartmentContainer;
import org.argouml.uml.diagram.ui.FigEnumLiteralsCompartment;
import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
@@ -46,7 +44,6 @@
import org.tigris.gef.base.Selection;
import org.tigris.gef.graph.GraphModel;
import org.tigris.gef.presentation.Fig;
-import org.tigris.gef.presentation.FigText;
/**
* Class to display graphics for a UML Enumeration in a diagram.
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/diagram/ui/TabDiagram.java 2008-07-22 07:30:36-0700
@@ -44,6 +44,7 @@
import org.apache.log4j.Logger;
import org.argouml.application.api.AbstractArgoJPanel;
import org.argouml.application.api.Argo;
+import org.argouml.cognitive.Critic;
import org.argouml.configuration.Configuration;
import org.argouml.kernel.ProjectManager;
import org.argouml.ui.TabModelTarget;
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java 2008-07-22 07:30:36-0700
@@ -26,8 +26,8 @@
import org.apache.log4j.Logger;
import org.argouml.model.Model;
-import org.argouml.uml.diagram.DiagramFactory;
import org.argouml.uml.diagram.ArgoDiagram;
+import org.argouml.uml.diagram.DiagramFactory;
/**
* Action to trigger creation of new class diagram.
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/TabProps.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/TabProps.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/TabProps.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/src/org/argouml/uml/ui/TabProps.java 2008-07-22 07:30:36-0700
@@ -33,6 +33,7 @@
import org.apache.log4j.Logger;
import org.argouml.application.api.AbstractArgoJPanel;
+import org.argouml.cognitive.Critic;
import org.argouml.model.Model;
import org.argouml.swingext.UpArrowIcon;
import org.argouml.ui.TabModelTarget;
@@ -171,7 +172,9 @@
target = (target instanceof Fig) ? ((Fig) target).getOwner() : target;
if (!(target == null || Model.getFacade().isAUMLElement(target)
- || target instanceof ArgoDiagram)) {
+ || target instanceof ArgoDiagram
+ // TODO Improve extensibility of this!
+ || target instanceof Critic)) {
return;
}
@@ -269,8 +272,8 @@
: PropPanelFactoryManager.getFactories()) {
propPanel = factory.createPropPanel(targetObject);
if (propPanel != null) return propPanel;
- }
-
+ }
+
/* This does not work (anymore/yet?),
* since we never have a FigText here: */
if (targetObject instanceof FigText) {
@@ -327,7 +330,11 @@
if (target instanceof Fig) {
target = ((Fig) target).getOwner();
}
- return ((target instanceof Diagram || Model.getFacade().isAUMLElement(target))
+
+ // TODO: this should be more extensible... may be only
+ // "findPanelFor(target)" if there is a panel why not show it?
+ return ((target instanceof Diagram || Model.getFacade().isAUMLElement(
+ target)) || target instanceof Critic
&& findPanelFor(target) != null);
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/ProfileMother.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/ProfileMother.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/ProfileMother.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/ProfileMother.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/ProfileMother.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/ProfileMother.java 2008-07-22 07:30:36-0700
@@ -45,27 +45,28 @@
import org.argouml.persistence.UmlFilePersister;
/**
- * Based on the
- * <a href="http://www.xpuniverse.com/2001/pdfs/Testing03.pdf">ObjectMother
- * design pattern</a>, provides reusable facilities to create profiles.
- *
+ * Based on the <a
+ * href="http://www.xpuniverse.com/2001/pdfs/Testing03.pdf">ObjectMother design
+ * pattern</a>, provides reusable facilities to create profiles.
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class ProfileMother {
-
+
private static final Logger LOG = Logger.getLogger(ProfileMother.class);
/**
* "profile"
*/
public static final String STEREOTYPE_NAME_PROFILE = "profile";
+
/**
* "st" the example stereotype name.
*/
public static final String STEREOTYPE_NAME_ST = "st";
/**
- * Create a simple profile model with a class named "foo" and with a
+ * Create a simple profile model with a class named "foo" and with a
* stereotype named "st".
*
* @return the profile model.
@@ -75,7 +76,7 @@
Object profileStereotype = getProfileStereotype();
getCoreHelper().addStereotype(model, profileStereotype);
Object fooClass = Model.getCoreFactory().buildClass("foo", model);
- getExtensionMechanismsFactory().buildStereotype(fooClass,
+ getExtensionMechanismsFactory().buildStereotype(fooClass,
STEREOTYPE_NAME_ST, model);
return model;
}
@@ -85,22 +86,21 @@
Collection<Object> models = new ArrayList<Object>();
models.add(umlProfile);
Collection stereotypes = getExtensionMechanismsHelper().getStereotypes(
- models);
+ models);
for (Object stereotype : stereotypes) {
- if (STEREOTYPE_NAME_PROFILE.equals(
- Model.getFacade().getName(stereotype)))
- return stereotype;
+ if (STEREOTYPE_NAME_PROFILE.equals(Model.getFacade().getName(
+ stereotype))) return stereotype;
}
return null;
}
-
+
private Object umlProfileModel;
Object getUmlProfileModel() {
if (ProfileFacade.isInitiated()) {
try {
- umlProfileModel = ProfileFacade.getManager().getUMLProfile().
- getProfilePackages().iterator().next();
+ umlProfileModel = ProfileFacade.getManager().getUMLProfile()
+ .getProfilePackages().iterator().next();
TestCase.assertTrue(getFacade().isAModel(umlProfileModel));
} catch (ProfileException e) {
LOG.error("Exception", e);
@@ -108,8 +108,8 @@
}
if (umlProfileModel == null) {
umlProfileModel = getModelManagementFactory().createModel();
- getExtensionMechanismsFactory().buildStereotype(
- umlProfileModel, STEREOTYPE_NAME_PROFILE, umlProfileModel);
+ getExtensionMechanismsFactory().buildStereotype(umlProfileModel,
+ STEREOTYPE_NAME_PROFILE, umlProfileModel);
}
return umlProfileModel;
}
@@ -124,7 +124,7 @@
public void saveProfileModel(Object model, File file) throws IOException {
FileOutputStream fileOut = new FileOutputStream(file);
try {
- XmiWriter xmiWriter = Model.getXmiWriter(model, fileOut, "x("
+ XmiWriter xmiWriter = Model.getXmiWriter(model, fileOut, "x("
+ UmlFilePersister.PERSISTENCE_VERSION + ")");
xmiWriter.write();
fileOut.flush();
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestCoreProfileReference.java 2008-07-22 07:30:36-0700
@@ -35,7 +35,7 @@
* @author Luis Sergio Oliveira (euluis)
*/
public class TestCoreProfileReference extends TestCase {
-
+
/**
* Tests {@link CoreProfileReference#CoreProfileReference(String)}.
*
@@ -44,20 +44,19 @@
public void testCtorHappyPath() throws MalformedURLException {
String fileName = "profileName.xmi";
ProfileReference reference = new CoreProfileReference(fileName);
- assertEquals(CoreProfileReference.PROFILES_RESOURCE_PATH + fileName,
- reference.getPath());
+ assertEquals(CoreProfileReference.PROFILES_RESOURCE_PATH + fileName,
+ reference.getPath());
assertEquals(
- new URL(CoreProfileReference.PROFILES_BASE_URL + fileName),
- reference.getPublicReference());
+ new URL(CoreProfileReference.PROFILES_BASE_URL + fileName),
+ reference.getPublicReference());
}
-
+
/**
* Tests that the constructor checks for empty file name.
*
* @throws MalformedURLException if the built URL is incorrect.
*/
- public void testCtorFailsWhenFileNameIsEmpty()
- throws MalformedURLException {
+ public void testCtorFailsWhenFileNameIsEmpty() throws MalformedURLException {
try {
new CoreProfileReference("");
// TODO: This requires that the tests be run with assertions
@@ -67,14 +66,13 @@
// expected
}
}
-
+
/**
* Tests that the constructor checks for null file name.
*
* @throws MalformedURLException if the built URL is incorrect.
*/
- public void testCtorFailsWhenFileNameIsNull()
- throws MalformedURLException {
+ public void testCtorFailsWhenFileNameIsNull() throws MalformedURLException {
try {
new CoreProfileReference(null);
// TODO: This requires that the tests be run with assertions
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileFacade.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileFacade.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestProfileFacade.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileFacade.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestProfileFacade.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileFacade.java 2008-07-22 07:30:36-0700
@@ -29,25 +29,24 @@
import junit.framework.TestCase;
/**
- *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileFacade extends TestCase {
private MockControl managerCtrl;
+
private ProfileManager manager;
- /*
+ /*
* @see junit.framework.TestCase#setUp()
*/
@Override
protected void setUp() throws Exception {
- managerCtrl = MockControl.createControl(
- ProfileManager.class);
+ managerCtrl = MockControl.createControl(ProfileManager.class);
manager = (ProfileManager) managerCtrl.getMock();
ProfileFacade.setManager(manager);
}
-
+
@Override
protected void tearDown() throws Exception {
ProfileFacade.reset();
@@ -66,14 +65,14 @@
// expected
}
}
-
+
/**
* Test {@link ProfileFacade#register(Profile)}.
*/
public void testRegister() {
manager.registerProfile(null);
managerCtrl.replay();
-
+
ProfileFacade.register(null);
managerCtrl.verify();
}
@@ -84,7 +83,7 @@
public void testRemove() {
manager.removeProfile(null);
managerCtrl.replay();
-
+
ProfileFacade.remove((Profile) null);
managerCtrl.verify();
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileManager.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileManager.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestProfileManager.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileManager.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestProfileManager.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileManager.java 2008-07-22 07:30:36-0700
@@ -36,13 +36,15 @@
/**
* Tests for a ProfileManager implementation.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileManager extends TestCase {
-
+
private Profile mockProfile;
+
private ProfileManager manager;
+
private String mockProfileClassName;
@Override
@@ -54,8 +56,9 @@
public String getDisplayName() {
return null;
}
+
@Override
- public Collection<Object> getProfilePackages()
+ public Collection<Object> getProfilePackages()
throws ProfileException {
return Collections.emptyList();
}
@@ -63,7 +66,7 @@
manager = ProfileFacade.getManager();
assertNotNull(manager);
}
-
+
@Override
protected void tearDown() throws Exception {
ProfileFacade.reset();
@@ -77,7 +80,7 @@
manager.registerProfile(mockProfile);
assertTrue(manager.getRegisteredProfiles().contains(mockProfile));
}
-
+
/**
* Test the {@link ProfileManager#removeProfile(Profile)} method.
*/
@@ -96,30 +99,30 @@
mockProfileClassName = mockProfile.getClass().getName();
assertNull(manager.getProfileForClass(mockProfileClassName));
manager.registerProfile(mockProfile);
- assertEquals(mockProfile, manager.getProfileForClass(
- mockProfileClassName));
+ assertEquals(mockProfile, manager
+ .getProfileForClass(mockProfileClassName));
manager.removeProfile(mockProfile);
assertNull(manager.getProfileForClass(mockProfileClassName));
}
-
+
/**
- * Tests the methods of {@link ProfileManager} related to default profiles
+ * Tests the methods of {@link ProfileManager} related to default profiles
* management.
*/
public void testDefaultProfilesManagement() {
- List<Object> initialDefaultProfiles =
- new ArrayList<Object>(manager.getDefaultProfiles());
+ List<Object> initialDefaultProfiles = new ArrayList<Object>(manager
+ .getDefaultProfiles());
assertNull(manager.getProfileForClass(mockProfileClassName));
manager.registerProfile(mockProfile);
manager.addToDefaultProfiles(mockProfile);
- assertEquals(initialDefaultProfiles.size() + 1,
- manager.getDefaultProfiles().size());
+ assertEquals(initialDefaultProfiles.size() + 1, manager
+ .getDefaultProfiles().size());
manager.removeFromDefaultProfiles(mockProfile);
- assertEquals(initialDefaultProfiles.size(),
- manager.getDefaultProfiles().size());
+ assertEquals(initialDefaultProfiles.size(), manager
+ .getDefaultProfiles().size());
assertFalse(manager.getDefaultProfiles().contains(mockProfile));
}
-
+
/**
* Test the method {@link ProfileManager#getUMLProfile()}.
*/
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileMother.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileMother.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestProfileMother.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileMother.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestProfileMother.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileMother.java 2008-07-22 07:30:36-0700
@@ -37,12 +37,12 @@
import junit.framework.TestCase;
/**
- *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileMother extends TestCase {
-
+
private ProfileMother mother;
+
private File testDir;
@Override
@@ -50,43 +50,57 @@
InitializeModel.initializeDefault();
mother = new ProfileMother();
}
-
+
+ /**
+ * test profile model creation
+ */
public void testCreateProfileModel() {
Object model = mother.createSimpleProfileModel();
assertNotNull(model);
Collection profileStereotypes = getFacade().getStereotypes(model);
assertEquals(1, profileStereotypes.size());
- assertEquals(ProfileMother.STEREOTYPE_NAME_PROFILE,
- getFacade().getName(profileStereotypes.iterator().next()));
+ assertEquals(ProfileMother.STEREOTYPE_NAME_PROFILE, getFacade()
+ .getName(profileStereotypes.iterator().next()));
}
-
+
+ /**
+ * test simple profile model creation
+ *
+ * @throws Exception is something goes wrong
+ */
public void testCreateSimpleProfileModel() throws Exception {
final Object model = mother.createSimpleProfileModel();
- Collection<Object> models = new ArrayList<Object>() { {
+ Collection<Object> models = new ArrayList<Object>() {
+ {
add(model);
}
};
- Collection stereotypes =
- getExtensionMechanismsHelper().getStereotypes(models);
+ Collection stereotypes = getExtensionMechanismsHelper().getStereotypes(
+ models);
Object st = null;
for (Object stereotype : stereotypes) {
- if (ProfileMother.STEREOTYPE_NAME_ST.equals(
- getFacade().getName(stereotype))) {
+ if (ProfileMother.STEREOTYPE_NAME_ST.equals(getFacade().getName(
+ stereotype))) {
st = stereotype;
break;
}
}
assertNotNull("\"st\" stereotype not found in model.", st);
- assertTrue(Model.getExtensionMechanismsHelper().isStereotype(st,
+ assertTrue(Model.getExtensionMechanismsHelper().isStereotype(st,
ProfileMother.STEREOTYPE_NAME_ST, "Class"));
}
-
+
+ /**
+ * test save profile model
+ *
+ * @throws Exception if something goes wrong
+ */
public void testSaveProfileModel() throws Exception {
Object model = mother.createSimpleProfileModel();
File file = new File(testDir, "testSaveProfileModel.xmi");
mother.saveProfileModel(model, file);
- assertTrue("The file to where the file was supposed to be saved "
+ assertTrue("The file to where the file was supposed to be saved "
+ "doesn't exist.", file.exists());
}
-
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestProfileReference.java 2008-07-22 07:30:36-0700
@@ -31,33 +31,32 @@
/**
* Tests for the ProfileReference class.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileReference extends TestCase {
-
+
/**
* Test correct call to constructor.
*
* @throws MalformedURLException if the URL is incorrect.
*/
public void testCtorHappyPath() throws MalformedURLException {
- new ProfileReference("systemId/name.xmi",
- new URL("file:///publicId/name.xmi"));
+ new ProfileReference("systemId/name.xmi", new URL(
+ "file:///publicId/name.xmi"));
}
-
+
/**
- * Test call to constructor with inconsistent file names in the path and
- * the publicReference arguments.
- *
- * NOTE: to run successfully this test you'll have to enable assertions.
+ * Test call to constructor with inconsistent file names in the path and the
+ * publicReference arguments. NOTE: to run successfully this test you'll
+ * have to enable assertions.
*
* @throws MalformedURLException if the URL is incorrect.
*/
- public void testCtorInconsistentFileNameDetected()
+ public void testCtorInconsistentFileNameDetected()
throws MalformedURLException {
try {
- new ProfileReference("/org/argouml/language/x/profile/name.xmi",
+ new ProfileReference("/org/argouml/language/x/profile/name.xmi",
new URL("http://argouml-x.tigris.org/iconsistentName.xmi"));
fail("Expected an AssertionError to be thrown!");
} catch (MalformedURLException e) {
@@ -66,22 +65,22 @@
// expected
}
}
-
+
/**
- * Checks that the path handed to the constructor is correctly returned by
+ * Checks that the path handed to the constructor is correctly returned by
* {@link ProfileReference#getPath()}.
*
* @throws MalformedURLException if the URL is incorrect.
*/
public void testGetPath() throws MalformedURLException {
String path = "/org/argouml/language/x/profile/name.xmi";
- ProfileReference profileReference = new ProfileReference(
- path, new URL("http://x.org/name.xmi"));
+ ProfileReference profileReference = new ProfileReference(path, new URL(
+ "http://x.org/name.xmi"));
assertEquals(path, profileReference.getPath());
}
-
+
/**
- * Checks that the publicReference handed to the constructor is correctly
+ * Checks that the publicReference handed to the constructor is correctly
* returned by {@link ProfileReference#getPublicReference()}.
*
* @throws MalformedURLException if the URL is incorrect.
@@ -89,7 +88,7 @@
public void testGetPublicReference() throws MalformedURLException {
URL publicReference = new URL("http://x.org/name.xmi");
ProfileReference profileReference = new ProfileReference(
- "/org/argouml/language/x/profile/name.xmi", publicReference);
+ "/org/argouml/language/x/profile/name.xmi", publicReference);
assertEquals(publicReference, profileReference.getPublicReference());
}
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestReaderModelLoader.java 2008-07-22 07:30:36-0700
@@ -38,7 +38,7 @@
/**
* Tests for the {@link ReaderModelLoader} class.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestReaderModelLoader extends TestCase {
@@ -49,7 +49,7 @@
Reader reader = new StringReader("dummy string");
new ReaderModelLoader(reader);
}
-
+
/**
* Test {@link ReaderModelLoader#loadModel(ProfileReference)}.
*
@@ -64,10 +64,10 @@
File file = new File(testDir, "testSaveProfileModel.xmi");
mother.saveProfileModel(model, file);
Reader reader = new FileReader(file);
- ProfileReference profileReference = new UserProfileReference(
- file.toURL().toExternalForm());
- Collection models = new ReaderModelLoader(reader).
- loadModel(profileReference);
+ ProfileReference profileReference = new UserProfileReference(file
+ .toURI().toURL().toExternalForm());
+ Collection models = new ReaderModelLoader(reader)
+ .loadModel(profileReference);
assertNotNull(models);
assertTrue(models.size() >= 1);
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestSubsystemInit.java 2008-07-22 07:30:36-0700
@@ -31,11 +31,11 @@
/**
* Test cases for the initialization of the profile subsystem.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestSubsystemInit extends TestCase {
-
+
private InitProfileSubsystem initSubsystem;
@Override
@@ -45,11 +45,15 @@
initSubsystem = new InitProfileSubsystem();
}
+ /**
+ * tests subsystem initialization
+ */
public void testInitMakesManagerAvailableInFacade() {
try {
ProfileFacade.getManager();
fail("ProfileFacade shouldn't be initialized!");
- } catch (RuntimeException e) { }
+ } catch (RuntimeException e) {
+ }
initSubsystem.init();
assertNotNull(ProfileFacade.getManager());
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserDefinedProfile.java 2008-07-22 07:30:36-0700
@@ -25,34 +25,42 @@
package org.argouml.profile;
import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
import junit.framework.TestCase;
import org.argouml.FileHelper;
import org.argouml.model.InitializeModel;
+import org.argouml.profile.internal.ProfileManagerImpl;
+import org.argouml.profile.internal.ocl.CrOCL;
+import org.argouml.uml.cognitive.critics.CrUML;
/**
* Some basic tests for the {@link UserDefinedProfile} class.
*
* @author Luis Sergio Oliveira (euluis)
+ * @authos maurelio1234
*/
public class TestUserDefinedProfile extends TestCase {
-
+
private File testDir;
@Override
protected void setUp() throws Exception {
super.setUp();
InitializeModel.initializeDefault();
+ ProfileFacade.setManager(new ProfileManagerImpl());
+
testDir = FileHelper.setUpDir4Test(getClass());
}
-
+
@Override
protected void tearDown() throws Exception {
FileHelper.deleteDir(testDir);
super.tearDown();
}
-
+
/**
* Test loading of a very simple profile via its constructor. Check that its
* display name contains the file name.
@@ -70,4 +78,35 @@
assertTrue(profile.getDisplayName().contains(profileFile.getName()));
}
+ /**
+ * Test the constructor used for loading a profile from a Jar file TODO Test
+ * FigNode!
+ *
+ * @throws Exception if something goes wrong
+ */
+ public void testLoadingAsFromJar() throws Exception {
+ ProfileManager pm = ProfileFacade.getManager();
+
+ // create profile model
+ ProfileMother profileMother = new ProfileMother();
+ Object model = profileMother.createSimpleProfileModel();
+ // save the profile into a xmi file
+ File profileFile = new File(testDir, "testLoadingConstructor.xmi");
+ profileMother.saveProfileModel(model, profileFile);
+
+ CrOCL critic = new CrOCL("context Class inv: 3 > 2", null, null, null,
+ null, null, null);
+ Set<CrUML> critics = new HashSet<CrUML>();
+ critics.add(critic);
+
+ Set<String> profiles = new HashSet<String>();
+ profiles.add(pm.getUMLProfile().getProfileIdentifier());
+
+ Profile profile = new UserDefinedProfile("displayName", profileFile
+ .toURI().toURL(), critics, profiles);
+
+ assertEquals(profile.getDisplayName(), "displayName");
+ assertTrue(profile.getDependencies().contains(pm.getUMLProfile()));
+ assertTrue(profile.getCritics().contains(critic));
+ }
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/TestUserProfileReference.java 2008-07-22 07:30:36-0700
@@ -32,38 +32,35 @@
/**
* Unit tests for UserProfileReference class.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestUserProfileReference extends TestCase {
-
+
/**
- * Tests {@link UserProfileReference#UserProfileReference(String)} in the
+ * Tests {@link UserProfileReference#UserProfileReference(String)} in the
* happy path.
*
* @throws MalformedURLException if the built URL is incorrect.
*/
public void testCtorHappyPath() throws MalformedURLException {
String fileName = "profileName.xmi";
- // [euluis] Using Windows style initial path, don't know if this fails
+ // [euluis] Using Windows style initial path, don't know if this fails
// in *nixes.
- String path = "C:" + File.separatorChar + "userProfilesDir"
- + File.separatorChar + fileName;
+ String path = "C:" + File.separatorChar + "userProfilesDir"
+ + File.separatorChar + fileName;
ProfileReference reference = new UserProfileReference(path);
assertEquals(path, reference.getPath());
- assertEquals(
- new URL(UserProfileReference.DEFAULT_USER_PROFILE_BASE_URL
- + fileName),
- reference.getPublicReference());
+ assertEquals(new URL(UserProfileReference.DEFAULT_USER_PROFILE_BASE_URL
+ + fileName), reference.getPublicReference());
}
-
+
/**
* Tests that the constructor checks for empty file name.
*
* @throws MalformedURLException if the built URL is incorrect.
*/
- public void testCtorFailsWhenFileNameIsEmpty()
- throws MalformedURLException {
+ public void testCtorFailsWhenFileNameIsEmpty() throws MalformedURLException {
try {
new UserProfileReference("");
fail("Expecting AssertionError due to empty file name.");
@@ -71,14 +68,13 @@
// expected
}
}
-
+
/**
* Tests that the constructor checks for null file name.
*
* @throws MalformedURLException if the built URL is incorrect.
*/
- public void testCtorFailsWhenFileNameIsNull()
- throws MalformedURLException {
+ public void testCtorFailsWhenFileNameIsNull() throws MalformedURLException {
try {
new UserProfileReference(null);
fail("Expecting NullPointerException due to null path.");
@@ -86,5 +82,5 @@
// expected
}
}
-
+
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileJava.java 2008-07-22 07:30:36-0700
@@ -32,11 +32,11 @@
/**
* Tests for the ProfileJava class.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileJava extends TestCase {
-
+
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -44,10 +44,20 @@
new InitProfileSubsystem().init();
}
+ /**
+ * test java profile creation
+ *
+ * @throws ProfileException if something goes wrong
+ */
public void testProfileJava() throws ProfileException {
new ProfileJava(new ProfileUML());
}
-
+
+ /**
+ * test java profile creation
+ *
+ * @throws Exception if something goes wrong
+ */
public void testProfileJavaNoArgs() throws Exception {
new ProfileJava();
}
Modified: branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java?view=diff&rev=15333&p1=/trunk/src/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java&p2=branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java&r1=15331&r2=15333
==============================================================================
--- /trunk/src/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java (original)
+++ branches/gsoc2008/work_midterm_maurelio1234_merge15331/argouml-app/tests/org/argouml/profile/internal/TestProfileManagerImpl.java 2008-07-22 07:30:36-0700
@@ -36,11 +36,11 @@
/**
* Tests for the ProfileManagerImpl class.
- *
+ *
* @author Luis Sergio Oliveira (euluis)
*/
public class TestProfileManagerImpl extends TestCase {
-
+
private ProfileManager manager;
@Override
@@ -50,30 +50,39 @@
manager = new ProfileManagerImpl();
}
+ /**
+ * test profile manager
+ */
public void testProfileManagerImpl() {
List<Profile> registeredProfiles = manager.getRegisteredProfiles();
assertTrue(2 <= registeredProfiles.size());
Set<String> internalProfileNameSet = new HashSet<String>();
for (Profile profile : registeredProfiles) {
- if (profile.getDisplayName().equals(ProfileUML.NAME)
+ if (profile.getDisplayName().equals(ProfileUML.NAME)
|| profile.getDisplayName().equals(ProfileJava.NAME))
internalProfileNameSet.add(profile.getDisplayName());
}
assertEquals(2, internalProfileNameSet.size());
}
-
+
+ /**
+ * test remove profile
+ */
public void testRemoveProfileThatIsntDefault() {
- Profile javaProfile = manager.getProfileForClass(
- ProfileJava.class.getName());
+ Profile javaProfile = manager.getProfileForClass(ProfileJava.class
+ .getName());
assertNotNull(javaProfile);
assertTrue(manager.getRegisteredProfiles().contains(javaProfile));
manager.removeProfile(javaProfile);
assertFalse(manager.getRegisteredProfiles().contains(javaProfile));
}
-
+
+ /**
+ * test remove profile
+ */
public void testRemoveDefaultProfile() {
- Profile umlProfile = manager.getProfileForClass(
- ProfileUML.class.getName());
+ Profile umlProfile = manager.getProfileForClass(ProfileUML.class
+ .getName());
assertNotNull(umlProfile);
assertTrue(manager.getRegisteredProfiles().contains(umlProfile));
assertTrue(manager.getDefaultProfiles().contains(umlProfile));