svn commit: r18135 - trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2010-03-22 11:29:43-0700
New Revision: 18135
Modified:
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UseCasesFactoryMDRImpl.java
Log:
Allow extension point to be created in panels
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=18135&r1=18134&r2=18135
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java 2010-03-22 11:29:43-0700
@@ -395,6 +395,12 @@
Operation.class, Reception.class
});
+ // specifies valid elements for a Use Case to contain
+ validContainmentMap.put(Extend.class,
+ new Class<?>[] {
+ ExtensionPoint.class
+ });
+
// specifies valid elements for a Component to contain
validContainmentMap.put(Component.class,
new Class<?>[] {
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UseCasesFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UseCasesFactoryMDRImpl.java?view=diff&pathrev=18135&r1=18134&r2=18135
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UseCasesFactoryMDRImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UseCasesFactoryMDRImpl.java 2010-03-22 11:29:43-0700
@@ -153,15 +153,20 @@
public ExtensionPoint buildExtensionPoint(Object modelElement) {
- if (!(modelElement instanceof UseCase)) {
+ final ExtensionPoint extensionPoint;
+ if (modelElement instanceof UseCase) {
+ UseCase useCase = (UseCase) modelElement;
+ extensionPoint = createExtensionPoint();
+ extensionPoint.setUseCase(useCase);
+ } else if (modelElement instanceof Extend) {
+ Extend extend = (Extend) modelElement;
+ extensionPoint = createExtensionPoint();
+ extend.getExtensionPoint().add(extensionPoint);
+ } else {
throw new IllegalArgumentException("An extension point can only "
- + "be built on a use case");
+ + "be built on a use case or an Extend");
}
- UseCase useCase = (UseCase) modelElement;
- ExtensionPoint extensionPoint = createExtensionPoint();
- extensionPoint.setUseCase(useCase);
-
// For consistency with attribute and operation, give it a default
// name and location
extensionPoint.setName("newEP");
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2463334
To unsubscribe from this discussion, e-mail: [[email protected]].