svn commit: r17096 - trunk/src/argouml-app: src/org/argouml/notation/providers/java src/org/argouml/notation/providers/uml tests/org/argouml/notation/providers/java
Michiel van der Wulp <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mvw
Date: 2009-04-11 10:11:22-0700
New Revision: 17096
Modified:
trunk/src/argouml-app/src/org/argouml/notation/providers/java/ModelElementNameNotationJava.java
trunk/src/argouml-app/src/org/argouml/notation/providers/uml/NotationUtilityUml.java
trunk/src/argouml-app/tests/org/argouml/notation/providers/java/TestModelElementNameNotationJava.java
Log:
Remove the use of deprecated methods and added some tests.
Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/java/ModelElementNameNotationJava.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/java/ModelElementNameNotationJava.java?view=diff&pathrev=17096&r1=17095&r2=17096
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/notation/providers/java/ModelElementNameNotationJava.java (original)
+++ trunk/src/argouml-app/src/org/argouml/notation/providers/java/ModelElementNameNotationJava.java 2009-04-11 10:11:22-0700
@@ -33,7 +33,6 @@
import org.argouml.application.events.ArgoEventTypes;
import org.argouml.application.events.ArgoHelpEvent;
import org.argouml.i18n.Translator;
-import org.argouml.kernel.ProjectManager;
import org.argouml.model.Model;
import org.argouml.notation.NotationSettings;
import org.argouml.notation.providers.ModelElementNameNotation;
@@ -167,8 +166,8 @@
if (path != null) {
Object nspe =
Model.getModelManagementHelper().getElement(
- path,
- Model.getFacade().getModel(modelElement));
+ path,
+ Model.getFacade().getRoot(modelElement));
if (nspe == null || !(Model.getFacade().isANamespace(nspe))) {
String msg =
@@ -176,10 +175,8 @@
throw new ParseException(Translator.localize(msg),
0);
}
- Object model =
- ProjectManager.getManager().getCurrentProject().getRoot();
- if (!Model.getCoreHelper().getAllPossibleNamespaces(
- modelElement, model).contains(nspe)) {
+ if (!Model.getCoreHelper().isValidNamespace(
+ modelElement, nspe)) {
String msg =
"parsing.error.model-element-name.namespace-invalid";
throw new ParseException(Translator.localize(msg),
Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/uml/NotationUtilityUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/uml/NotationUtilityUml.java?view=diff&pathrev=17096&r1=17095&r2=17096
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/notation/providers/uml/NotationUtilityUml.java (original)
+++ trunk/src/argouml-app/src/org/argouml/notation/providers/uml/NotationUtilityUml.java 2009-04-11 10:11:22-0700
@@ -388,10 +388,7 @@
throw new ParseException(Translator.localize(msg),
0);
}
- Object model =
- ProjectManager.getManager().getCurrentProject().getRoot();
- if (!Model.getCoreHelper().getAllPossibleNamespaces(me, model)
- .contains(nspe)) {
+ if (!Model.getCoreHelper().isValidNamespace(me, nspe)) {
String msg =
"parsing.error.model-element-name.namespace-invalid";
throw new ParseException(Translator.localize(msg),
Modified: trunk/src/argouml-app/tests/org/argouml/notation/providers/java/TestModelElementNameNotationJava.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/notation/providers/java/TestModelElementNameNotationJava.java?view=diff&pathrev=17096&r1=17095&r2=17096
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/notation/providers/java/TestModelElementNameNotationJava.java (original)
+++ trunk/src/argouml-app/tests/org/argouml/notation/providers/java/TestModelElementNameNotationJava.java 2009-04-11 10:11:22-0700
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2007-2008 The Regents of the University of California. All
+// Copyright (c) 2007-2009 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -24,8 +24,6 @@
package org.argouml.notation.providers.java;
-import java.util.HashMap;
-
import junit.framework.TestCase;
import org.argouml.kernel.ProjectManager;
@@ -49,6 +47,54 @@
new InitProfileSubsystem().init();
theClass = Model.getCoreFactory().buildClass("TheClass", getModel());
}
+
+ /**
+ * Test if we can parse a class path and set it abstract.
+ */
+ public void testParsingPath() {
+ Object pack1 = Model.getModelManagementFactory().buildPackage("p1");
+ Model.getCoreHelper().setNamespace(pack1, getModel());
+ Object pack2 = Model.getModelManagementFactory().buildPackage("p2");
+ Model.getCoreHelper().setNamespace(pack2, pack1);
+ Model.getCoreHelper().setNamespace(theClass, pack2);
+ Model.getCoreHelper().setAbstract(theClass, false);
+ assertFalse("Could not build a non-abstract class",
+ Model.getFacade().isAbstract(theClass));
+ ModelElementNameNotation notation =
+ new ModelElementNameNotationJava(theClass);
+ notation.parse(theClass, "abstract p1.p2.TheClass");
+ assertTrue("Could not parse abstract class with path",
+ Model.getFacade().isAbstract(theClass));
+ notation.parse(theClass, "TheClass");
+ assertTrue("Abstract class misbehavior",
+ Model.getFacade().isAbstract(theClass));
+ }
+
+ /**
+ * Test that we parse a class path and modify its location.
+ */
+ public void testParsingPathAndModify() {
+ Model.getCoreHelper().setName(getModel(), "root-model");
+ Object mod1 = Model.getModelManagementFactory().createModel();
+ Model.getCoreHelper().setName(mod1, "mod1");
+ Model.getCoreHelper().setNamespace(mod1, getModel());
+ Object pack1 = Model.getModelManagementFactory().buildPackage("p1");
+ Model.getCoreHelper().setNamespace(pack1, mod1);
+ Object pack2 = Model.getModelManagementFactory().buildPackage("p2");
+ Model.getCoreHelper().setNamespace(pack2, pack1);
+ Model.getCoreHelper().setNamespace(theClass, pack2);
+ Model.getCoreHelper().setAbstract(theClass, false);
+ ModelElementNameNotation notation =
+ new ModelElementNameNotationJava(theClass);
+ notation.parse(theClass, "abstract mod1.p1.p2.TheClass");
+ assertTrue("Could not parse abstract class with path",
+ Model.getFacade().isAbstract(theClass));
+ Object pack3 = Model.getModelManagementFactory().buildPackage("p3");
+ Model.getCoreHelper().setNamespace(pack3, pack1);
+ notation.parse(theClass, " mod1.p1.p3.TheClass ");
+ assertTrue("Could not move a class into another package",
+ Model.getFacade().getOwnedElements(pack3).contains(theClass));
+ }
public void testToStringForRealization() {
Object theInterface = Model.getCoreFactory().buildInterface(
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=1652219
To unsubscribe from this discussion, e-mail: [[email protected]].