svn commit: r19961 - trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java
[email protected] Sun, 11 Jan 2015 14:13:54 -0800 (PST)
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2015-01-11 14:13:53-0800
New Revision: 19961
Modified:
trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java
Log:
Only use navigable associations to generate package dependencies
Modified: trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java?view=diff&pathrev=19961&r1=19960&r2=19961
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/util/ModelUtil.java 2015-01-11 14:13:53-0800
@@ -44,24 +44,37 @@
for (Object classifier : Model.getModelManagementHelper().getAllModelElementsOfKindWithModel(model, Model.getMetaTypes().getClassifier())) {
Object namespace = Model.getFacade().getNamespace(classifier);
- Set dependentNamespaces = new HashSet();
- for (Object dependency : Model.getFacade().getClientDependencies(classifier)) {
- for (Object dependentClass : Model.getFacade().getSuppliers(dependency)) {
- dependentNamespaces.add(Model.getFacade().getNamespace(dependentClass));
+ if (Model.getFacade().getNamespace(namespace) != null) {
+ Set dependentNamespaces = new HashSet();
+
+ for (Object dependency : Model.getFacade().getClientDependencies(classifier)) {
+ for (Object dependentClass : Model.getFacade().getSuppliers(dependency)) {
+ dependentNamespaces.add(Model.getFacade().getNamespace(dependentClass));
+ }
}
- }
- for (Object generalization : Model.getFacade().getGeneralizations(classifier)) {
- Object superClass = Model.getFacade().getGeneral(generalization);
- dependentNamespaces.add(Model.getFacade().getNamespace(superClass));
- }
- for (Object associatedClassifier : Model.getFacade().getAssociatedClasses(classifier)) {
- dependentNamespaces.add(Model.getFacade().getNamespace(associatedClassifier));
- }
-
- for (Object dependentNamespace : dependentNamespaces) {
- if (Model.getCoreHelper().getDependencies(dependentNamespace, namespace).isEmpty()) {
- Model.getUmlFactory().buildConnection(Model.getMetaTypes().getDependency(), namespace, null, dependentNamespace, null, true, namespace);
+ for (Object generalization : Model.getFacade().getGeneralizations(classifier)) {
+ Object superClass = Model.getFacade().getGeneral(generalization);
+ dependentNamespaces.add(Model.getFacade().getNamespace(superClass));
+ }
+
+ for (Object closeEnd : Model.getFacade().getAssociationEnds(classifier)) {
+ Object assoc = Model.getFacade().getAssociation(closeEnd);
+ for (Object assEnd : Model.getFacade().getOtherAssociationEnds(closeEnd)) {
+ if (Model.getFacade().isNavigable(assEnd)) {
+ Object associatedClassifier = Model.getFacade().getClassifier(assEnd);
+ dependentNamespaces.add(Model.getFacade().getNamespace(associatedClassifier));
+ }
+ }
+ }
+
+ for (Object dependentNamespace : dependentNamespaces) {
+
+ if (Model.getFacade().getNamespace(dependentNamespace) != null
+ && namespace != dependentNamespace
+ && Model.getCoreHelper().getDependencies(dependentNamespace, namespace).isEmpty()) {
+ Model.getUmlFactory().buildConnection(Model.getMetaTypes().getDependency(), namespace, null, dependentNamespace, null, true, namespace);
+ }
}
}
}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=3094024
To unsubscribe from this discussion, e-mail: [[email protected]].