Eugene-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
April 2009
- 3 participants
- 15 discussions
[Lutingenerator-commits] r490 - eugene/trunk/src/main/java/org/nuiton/eugene
by thimel@users.labs.libre-entreprise.org 30 Apr '09
by thimel@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: thimel
Date: 2009-04-30 17:24:11 +0000 (Thu, 30 Apr 2009)
New Revision: 490
Modified:
eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
Log:
Take care to imports :D
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-04-30 17:23:30 UTC (rev 489)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-04-30 17:24:11 UTC (rev 490)
@@ -8,8 +8,6 @@
import java.util.Map;
import java.util.Set;
-import org.jaxen.expr.AdditiveExpr;
-
/**
* Class used in generators that allows to manage easily imports. A first-pass
* allow to register imports, and in a second-pass, returns the type to use in
1
0
[Lutingenerator-commits] r489 - in eugene/trunk: . src/main/java/org/nuiton/eugene src/test/java/org/nuiton/eugene
by thimel@users.labs.libre-entreprise.org 30 Apr '09
by thimel@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: thimel
Date: 2009-04-30 17:23:30 +0000 (Thu, 30 Apr 2009)
New Revision: 489
Modified:
eugene/trunk/changelog.txt
eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
Log:
ImportsManager can handle Class
Modified: eugene/trunk/changelog.txt
===================================================================
--- eugene/trunk/changelog.txt 2009-04-30 17:01:48 UTC (rev 488)
+++ eugene/trunk/changelog.txt 2009-04-30 17:23:30 UTC (rev 489)
@@ -1,4 +1,5 @@
1.0.0 xxx xxx
+ * Add ImportsManager
* Add useful methods in 'GeneratorUtil'
* Improve ant task
* Move to org.nuiton groupid
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-04-30 17:01:48 UTC (rev 488)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-04-30 17:23:30 UTC (rev 489)
@@ -8,6 +8,8 @@
import java.util.Map;
import java.util.Set;
+import org.jaxen.expr.AdditiveExpr;
+
/**
* Class used in generators that allows to manage easily imports. A first-pass
* allow to register imports, and in a second-pass, returns the type to use in
@@ -48,6 +50,16 @@
private Map<String, String> imports = new HashMap<String, String>();
/**
+ * From the given class, add it to the imports list.
+ * @param clazz the class to import
+ * @return true if there is a conflict adding the import
+ * @see ImportsManager#addImport(String)
+ */
+ public boolean addImport(Class<?> clazz) {
+ return addImport(clazz.getName());
+ }
+
+ /**
* From the given fqn, add it to the imports list. If there is a confilct
* adding this import, will return true
* @param fqn the fully qualified name to import
Modified: eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java 2009-04-30 17:01:48 UTC (rev 488)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java 2009-04-30 17:23:30 UTC (rev 489)
@@ -1,5 +1,6 @@
package org.nuiton.eugene;
+import java.io.Serializable;
import java.util.List;
import org.nuiton.eugene.ImportsManager;
@@ -26,6 +27,9 @@
assertFalse(mgr.addImport("Byte"));
assertFalse(mgr.addImport("java.lang.Toto"));
assertTrue(mgr.addImport("java.lang.sub.Toto"));
+
+ assertFalse(mgr.addImport(Serializable.class));
+ assertTrue(mgr.addImport("org.nuiton.eugene.Serializable"));
}
public void testGetType() throws Exception {
1
0
[Lutingenerator-commits] r488 - in eugene/trunk/src: main/java/org/nuiton/eugene test/java/org/nuiton/eugene
by thimel@users.labs.libre-entreprise.org 30 Apr '09
by thimel@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: thimel
Date: 2009-04-30 17:01:48 +0000 (Thu, 30 Apr 2009)
New Revision: 488
Added:
eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
Log:
Add ImportsManager and its test
Added: eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java (rev 0)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/ImportsManager.java 2009-04-30 17:01:48 UTC (rev 488)
@@ -0,0 +1,114 @@
+package org.nuiton.eugene;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Class used in generators that allows to manage easily imports. A first-pass
+ * allow to register imports, and in a second-pass, returns the type to use in
+ * generated code.
+ *
+ * @author thimel, chemit
+ */
+public class ImportsManager {
+
+ private static Set<String> primitiveTypes;
+ static {
+ primitiveTypes = new HashSet<String>();
+
+ primitiveTypes.add("byte");
+ primitiveTypes.add("Byte");
+ primitiveTypes.add("short");
+ primitiveTypes.add("Short");
+ primitiveTypes.add("int");
+ primitiveTypes.add("Integer");
+ primitiveTypes.add("long");
+ primitiveTypes.add("Long");
+ primitiveTypes.add("float");
+ primitiveTypes.add("Float");
+ primitiveTypes.add("double");
+ primitiveTypes.add("Double");
+
+ primitiveTypes.add("char");
+ primitiveTypes.add("Char");
+ primitiveTypes.add("String");
+
+ primitiveTypes.add("boolean");
+ primitiveTypes.add("Boolean");
+
+ primitiveTypes.add("void");
+
+ }
+
+ private Map<String, String> imports = new HashMap<String, String>();
+
+ /**
+ * From the given fqn, add it to the imports list. If there is a confilct
+ * adding this import, will return true
+ * @param fqn the fully qualified name to import
+ * @return true if there is a conflict adding the import
+ */
+ public boolean addImport(String fqn) {
+ if (fqn.startsWith("java.lang.") && fqn.lastIndexOf(".") == 9) {
+ return false;
+ }
+ if (primitiveTypes.contains(fqn)) {
+ return false;
+ }
+ String name = fqn.substring(fqn.lastIndexOf(".") + 1);
+ String inPlaceFqn = imports.get(name);
+ if (inPlaceFqn == null) {
+ imports.put(name, fqn);
+ return false;
+ }
+ // if fqn is not the same, return true. Otherwise, no need to override.
+ return (!inPlaceFqn.equals(fqn));
+ }
+
+ /**
+ * Accorging to the already added types, returns the type to write in file.
+ * If there is a confilt, returns the fully qualified name, otherwise
+ * returns the simple name
+ * @param fqn the fully qualified name to add
+ * @return the fqn or simple name according to in-place imports
+ */
+ public String getType(String fqn) {
+ boolean importResult = addImport(fqn);
+ if (importResult) {
+ // There is a conflict, do not use simple name
+ return fqn;
+ } else {
+ // No conflict, use simple name
+ int packageEndIndex = fqn.lastIndexOf(".");
+ if (packageEndIndex == -1) {
+ return fqn;
+ } else {
+ return fqn.substring(packageEndIndex + 1);
+ }
+ }
+ }
+
+ /**
+ * List the imports. This method will remove the useless imports according
+ * to the given packageName (no need to import a class in the same package)
+ * @param packageName the current package name (to avoid useless imports)
+ * @return the imports alphabeticaly sorted
+ */
+ public List<String> getImports(String packageName) {
+ List<String> result = new ArrayList<String>();
+ for (String fqn : imports.values()) {
+ if (!(fqn.lastIndexOf(".") == packageName.length() && fqn
+ .startsWith(packageName + "."))) {
+ result.add(fqn);
+ }
+ }
+ Collections.sort(result);
+ return result;
+ }
+
+}
Added: eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java (rev 0)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/ImportsManagerTest.java 2009-04-30 17:01:48 UTC (rev 488)
@@ -0,0 +1,83 @@
+package org.nuiton.eugene;
+
+import java.util.List;
+
+import org.nuiton.eugene.ImportsManager;
+
+import junit.framework.TestCase;
+
+public class ImportsManagerTest extends TestCase {
+
+ private ImportsManager mgr;
+
+ @Override
+ protected void setUp() throws Exception {
+ mgr = new ImportsManager();
+ }
+
+ public void testAddImport() throws Exception {
+ assertFalse(mgr.addImport("org.nuiton.eugene.Toto"));
+ assertFalse(mgr.addImport("org.nuiton.eugene.Toto")); //Repeat to test acceptance
+ assertFalse(mgr.addImport("org.nuiton.eugene.Tutu"));
+ assertTrue(mgr.addImport("org.chorem.eugene.Tutu")); //Conflict, package differs
+
+ assertFalse(mgr.addImport("void"));
+ assertFalse(mgr.addImport("boolean"));
+ assertFalse(mgr.addImport("Byte"));
+ assertFalse(mgr.addImport("java.lang.Toto"));
+ assertTrue(mgr.addImport("java.lang.sub.Toto"));
+ }
+
+ public void testGetType() throws Exception {
+ assertEquals("Toto", mgr.getType("org.nuiton.eugene.Toto"));
+ assertEquals("Toto", mgr.getType("org.nuiton.eugene.Toto")); //Repeat to test acceptance
+ assertEquals("Tutu", mgr.getType("org.nuiton.eugene.Tutu"));
+ assertEquals("org.chorem.eugene.Tutu", mgr.getType("org.chorem.eugene.Tutu")); //Conflict, package differs
+
+ assertEquals("void", mgr.getType("void"));
+ assertEquals("boolean", mgr.getType("boolean"));
+ assertEquals("Byte", mgr.getType("Byte"));
+ assertEquals("Toto", mgr.getType("java.lang.Toto"));
+ assertEquals("java.lang.sub.Toto", mgr.getType("java.lang.sub.Toto"));
+ }
+
+ public void testGetImports() throws Exception {
+ mgr.addImport("org.nuiton.eugene.Toto");
+ mgr.addImport("org.nuiton.eugene.Tutu");
+ mgr.addImport("org.nuiton.eugene.subpackage.Tata");
+ List<String> imports = mgr.getImports("org.nuiton.eugene");
+ assertEquals(1, imports.size());
+ assertEquals("org.nuiton.eugene.subpackage.Tata", imports.get(0));
+
+ imports = mgr.getImports("org.nuiton");
+ assertEquals(3, imports.size());
+ // Check using alphabetic sort
+ assertEquals("org.nuiton.eugene.Toto", imports.get(0));
+ assertEquals("org.nuiton.eugene.Tutu", imports.get(1));
+ assertEquals("org.nuiton.eugene.subpackage.Tata", imports.get(2));
+
+ imports = mgr.getImports("org.chorem");
+ assertEquals(3, imports.size());
+
+ imports = mgr.getImports("org.nuiton.eugene.subpackage");
+ assertEquals(2, imports.size());
+ assertEquals("org.nuiton.eugene.Toto", imports.get(0));
+ assertEquals("org.nuiton.eugene.Tutu", imports.get(1));
+
+ mgr.addImport("java.lang.String");
+ imports = mgr.getImports("org.nuiton.eugene.subpackage");
+ assertEquals(2, imports.size());
+ assertEquals("org.nuiton.eugene.Toto", imports.get(0));
+ assertEquals("org.nuiton.eugene.Tutu", imports.get(1));
+
+ mgr.addImport("void");
+ mgr.addImport("boolean");
+ mgr.addImport("Byte");
+ mgr.addImport("java.lang.Toto");
+ mgr.addImport("java.lang.sub.Toto");
+ imports = mgr.getImports("org.nuiton.eugene.subpackage");
+ assertEquals(2, imports.size());
+
+ }
+
+}
1
0
[Lutingenerator-commits] r487 - eugene/trunk/src/main/xsl
by chatellier@users.labs.libre-entreprise.org 30 Apr '09
by chatellier@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: chatellier
Date: 2009-04-30 13:36:52 +0000 (Thu, 30 Apr 2009)
New Revision: 487
Modified:
eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
Log:
Generate exception FQN
Modified: eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
===================================================================
--- eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-30 13:33:46 UTC (rev 486)
+++ eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-30 13:36:52 UTC (rev 487)
@@ -710,8 +710,10 @@
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
- <xsl:value-of
- select="document($external-url)/xmi:XMI/descendant::packagedElement[@xmi:id=$external-id]/@name" />
+ <xsl:call-template name="fullClassName2">
+ <xsl:with-param name="node"
+ select="document($external-url)/xmi:XMI/descendant::packagedElement[@xmi:id=$external-id]" />
+ </xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
1
0
[Lutingenerator-commits] r486 - in eugene/trunk: . src/main/java/org/nuiton/eugene src/test/resources/xmi/2.1 src/test/resources/xmi/2.1/org.sharengo.utils.utils src/test/resources/xmi/2.1/org.sharengo.utils.utils/src src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml
by thimel@users.labs.libre-entreprise.org 30 Apr '09
by thimel@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: thimel
Date: 2009-04-30 13:33:46 +0000 (Thu, 30 Apr 2009)
New Revision: 486
Added:
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.uml
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.umldi
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.properties
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.uml
eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.umldi
Modified:
eugene/trunk/changelog.txt
eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java
eugene/trunk/src/test/resources/xmi/2.1/cmsLink.uml
Log:
Modify model cmsLink to resolve correctly
Add useful methods in GeneratorUtil
Modified: eugene/trunk/changelog.txt
===================================================================
--- eugene/trunk/changelog.txt 2009-04-30 13:07:36 UTC (rev 485)
+++ eugene/trunk/changelog.txt 2009-04-30 13:33:46 UTC (rev 486)
@@ -1,4 +1,5 @@
1.0.0 xxx xxx
+ * Add useful methods in 'GeneratorUtil'
* Improve ant task
* Move to org.nuiton groupid
* Rename project to Eugene
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-04-30 13:07:36 UTC (rev 485)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-04-30 13:33:46 UTC (rev 486)
@@ -25,10 +25,12 @@
import java.util.List;
import org.apache.commons.lang.StringUtils;
+import org.nuiton.eugene.models.Model;
import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
import org.nuiton.eugene.models.object.ObjectModelClass;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelElement;
import org.nuiton.eugene.models.object.ObjectModelOperation;
import org.nuiton.eugene.models.object.ObjectModelParameter;
@@ -489,4 +491,55 @@
return firstAttribute;
}
-} // Util
+ /**
+ * Indique si l'élément spécifié dispose de documentation
+ *
+ * @param element l'élément à tester
+ * @return true s'il y a documentation, false sinon
+ */
+ public static boolean hasDocumentation(ObjectModelElement element) {
+ return notEmpty(element.getDocumentation());
+ }
+
+ /**
+ * Indique si la chaine de caratère n'est pas vide (null ou "")
+ *
+ * @param s la chaine de caractères à tester
+ * @return true si <code>s</code> n'est pas vide
+ */
+ public static boolean notEmpty(String s) {
+ return (s != null && !"".equals(s));
+ }
+
+ /**
+ * Cherches et renvoie la valeur du tagvalue indique sur cet element,
+ * sinon sur le model.
+ *
+ * @param tagName le nom du tag
+ * @param element l'élément à tester
+ * @param model le modele utilisé
+ * @return la valeur du tagValue ou null
+ */
+ public static String findTagValue(String tagName,
+ ObjectModelElement element, Model model) {
+ if (element == null) {
+ if (model != null) {
+ if (notEmpty(model.getTagValue(tagName))) {
+ return model.getTagValue(tagName);
+ }
+ }
+ return null;
+ }
+ if (notEmpty(element.getTagValue(tagName))) {
+ return element.getTagValue(tagName);
+ }
+ //On va chercher sur l'element declarant
+ return findTagValue(tagName, element.getDeclaringElement(), model);
+ }
+
+ public static boolean hasStereotype(ObjectModelElement element,
+ String stereotype) {
+ return element.hasStereotype(stereotype) || element.hasStereotype(stereotype.toLowerCase());
+ }
+
+} // GeneratorUtil
Modified: eugene/trunk/src/test/resources/xmi/2.1/cmsLink.uml
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/cmsLink.uml 2009-04-30 13:07:36 UTC (rev 485)
+++ eugene/trunk/src/test/resources/xmi/2.1/cmsLink.uml 2009-04-30 13:33:46 UTC (rev 486)
@@ -8,8 +8,8 @@
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
<ownedParameter xmi:id="_UHI8ENAUEd2cQYB39pbhsw" name="return" type="_c2ZwIIrlEd2IhLeDKBwRog" direction="return"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Dependency" xmi:id="_VMAbA4sLEd2zQqb9w4_QNQ" name="Dependency1" supplier="_fvANkIroEd2IhLeDKBwRog" client="_uY4mEIr-Ed2zQqb9w4_QNQ"/>
@@ -17,11 +17,11 @@
<ownedOperation xmi:id="_JLjdkI8AEd2TZJhzNZ91vg" name="create">
<ownedParameter xmi:id="_l_h34I8DEd2TZJhzNZ91vg" name="return" type="_Q7hZ8I8AEd2TZJhzNZ91vg" direction="return"/>
<ownedParameter xmi:id="_3f1F4I8DEd2TZJhzNZ91vg" name="link" type="_Q7hZ8I8AEd2TZJhzNZ91vg"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
</ownedOperation>
<ownedOperation xmi:id="_u7JjcI_REd2HauxSWiOG3w" name="findAllByContent">
<ownedParameter xmi:id="_xdFUsI_REd2HauxSWiOG3w" name="start">
@@ -34,57 +34,57 @@
<ownedParameter xmi:id="_QPfAAI_UEd2HauxSWiOG3w" name="entityId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
</ownedOperation>
<ownedOperation xmi:id="_CDjdEpwaEd2jKtVlU3vFlQ" name="delete">
<ownedParameter xmi:id="_F7CsAJwaEd2jKtVlU3vFlQ" name="linkId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
</ownedOperation>
<ownedOperation xmi:id="_DANSkJwaEd2jKtVlU3vFlQ" name="deleteByEntityId">
<ownedParameter xmi:id="_EITjEJwaEd2jKtVlU3vFlQ" name="entityId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
</ownedOperation>
<ownedOperation xmi:id="_fOAvcKDYEd2h0IgxKuvUCA" name="update">
<ownedParameter xmi:id="_rbbukKDYEd2h0IgxKuvUCA" name="link" type="_Q7hZ8I8AEd2TZJhzNZ91vg"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
</ownedOperation>
<ownedOperation xmi:id="_LE8j4KDiEd2h0IgxKuvUCA" name="find">
<ownedParameter xmi:id="_PxJNQKDiEd2h0IgxKuvUCA" name="linkId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
<ownedParameter xmi:id="_Xkl7cKDiEd2h0IgxKuvUCA" name="return" type="_Q7hZ8I8AEd2TZJhzNZ91vg" direction="return"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
</ownedOperation>
<ownedOperation xmi:id="_EWe7MNAeEd2UY7ZCxznfRg" name="findRelatedTo">
<ownedParameter xmi:id="_E2PZUNAeEd2UY7ZCxznfRg" name="return" type="_CcXgUI_SEd2HauxSWiOG3w" direction="return"/>
<ownedParameter xmi:id="_Ic9BUNAeEd2UY7ZCxznfRg" name="boundId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
</ownedOperation>
<ownedOperation xmi:id="_uDGz4O7WEd2R4ZtD5-VcmA" name="findByLinkDef">
<ownedParameter xmi:id="_wUUBgO7WEd2R4ZtD5-VcmA" name="return" type="_CcXgUI_SEd2HauxSWiOG3w" direction="return"/>
<ownedParameter xmi:id="_yWzdsO7WEd2R4ZtD5-VcmA" name="linkDefId">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Dependency" xmi:id="__FUp447-Ed2TZJhzNZ91vg" name="Dependency2" supplier="_2Cf-gI7-Ed2TZJhzNZ91vg" client="_9FUhAI7-Ed2TZJhzNZ91vg"/>
@@ -109,9 +109,9 @@
<ownedParameter xmi:id="_YRSZcI-3Ed2tTo-QrgrvjA" name="end">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
</ownedParameter>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
- <raisedException xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception.uml#_bI0twHg-Ed2lVPDSSAZWVg"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ <raisedException xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception.uml#_bI0twHg-Ed2lVPDSSAZWVg"/>
</ownedOperation>
<ownedOperation xmi:id="_njyWcI4zEd2TdbFAPL6LJw" name="findByName">
<ownedParameter xmi:id="_pzhkcI4zEd2TdbFAPL6LJw" name="name">
@@ -236,7 +236,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cyGl7fbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_cyGl7vbIEd2hfYFyIHz3vg" name="target" association="_cyGl6vbIEd2hfYFyIHz3vg">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cyGl7_bIEd2hfYFyIHz3vg" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cyGl8PbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
@@ -247,7 +247,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dTmJbfbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_dTmJbvbIEd2hfYFyIHz3vg" name="target" association="_dTmJavbIEd2hfYFyIHz3vg">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dTmJb_bIEd2hfYFyIHz3vg" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dTmJcPbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
@@ -258,7 +258,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5C_3fbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_d5C_3vbIEd2hfYFyIHz3vg" name="target" association="_d5C_2vbIEd2hfYFyIHz3vg">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d5C_3_bIEd2hfYFyIHz3vg" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5C_4PbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
@@ -269,7 +269,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eNV03fbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_eNV03vbIEd2hfYFyIHz3vg" name="target" association="_eNV02vbIEd2hfYFyIHz3vg">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eNV03_bIEd2hfYFyIHz3vg" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eNV04PbIEd2hfYFyIHz3vg" value="1"/>
</ownedEnd>
@@ -325,7 +325,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fVIIrfaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_fVIIrvaOEd2-MYgc0GvAJw" name="target" association="_fVIIqvaOEd2-MYgc0GvAJw">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fVIIr_aOEd2-MYgc0GvAJw" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fVIIsPaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
@@ -336,7 +336,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fsyavfaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_fsyavvaOEd2-MYgc0GvAJw" name="target2" association="_fsyauvaOEd2-MYgc0GvAJw">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fsyav_aOEd2-MYgc0GvAJw" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fsyawPaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
@@ -347,7 +347,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lcE4zfaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_lcE4zvaOEd2-MYgc0GvAJw" name="target" association="_lcE4yvaOEd2-MYgc0GvAJw">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lcE4z_aOEd2-MYgc0GvAJw" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lcE40PaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
@@ -358,7 +358,7 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l7buTfaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
<ownedEnd xmi:id="_l7buTvaOEd2-MYgc0GvAJw" name="target" association="_l7buSvaOEd2-MYgc0GvAJw">
- <type xmi:type="uml:Class" href="../../../../org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ <type xmi:type="uml:Class" href="org.sharengo.utils.utils/src/main/uml/conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l7buT_aOEd2-MYgc0GvAJw" value="1"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l7buUPaOEd2-MYgc0GvAJw" value="1"/>
</ownedEnd>
Added: eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.uml
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.uml (rev 0)
+++ eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.uml 2009-04-30 13:33:46 UTC (rev 486)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:AcceleoBusiness="http:///schemas/AcceleoBusiness/_my2ZAHXaEd2S2Y-Jnv-fiQ/2" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xsi:schemaLocation="http:///schemas/AcceleoBusiness/_my2ZAHXaEd2S2Y-Jnv-fiQ/2 pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ">
+ <uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA">
+ <packagedElement xmi:type="uml:Package" xmi:id="_w8IxIM37EdqwVrslYOdUDA" name="conception-helper">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_hFFQ0Hg-Ed2do542yyYrFA" name="Serializable"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_cYCF4H2vEd22ZfAQrfk_WQ" name="Collection"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_j3qGYKEgEd2PM6_wGJR42Q" name="TechnicalException"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_W6YdYKtBEd2Nmqhc73l7SA" name="LogIdentifier"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Hb8X4PaMEd2-MYgc0GvAJw" name="org.sharengo.utils.utils.embedded">
+ <packagedElement xmi:type="uml:Class" xmi:id="_Hb8X4faMEd2-MYgc0GvAJw" name="DatedElement">
+ <ownedAttribute xmi:id="_Hb8X4vaMEd2-MYgc0GvAJw" name="creationDate">
+ <type xmi:type="uml:DataType" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_unIxYASfEd2Qys9YSCxJaQ"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Hb8X4_aMEd2-MYgc0GvAJw" name="updateDate">
+ <type xmi:type="uml:DataType" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_unIxYASfEd2Qys9YSCxJaQ"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Hb8X5PaMEd2-MYgc0GvAJw" name="ExternalIdentifiableElement">
+ <ownedAttribute xmi:id="_Hb8X5faMEd2-MYgc0GvAJw" name="externalId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Hb8X5vaMEd2-MYgc0GvAJw" name="source">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:id="_i_GGsKEgEd2PM6_wGJR42Q">
+ <eAnnotations xmi:id="_i_GGsaEgEd2PM6_wGJR42Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </uml:Model>
+ <AcceleoBusiness:Exception xmi:id="_mLQgsKEgEd2PM6_wGJR42Q" base_Class="_j3qGYKEgEd2PM6_wGJR42Q"/>
+</xmi:XMI>
Added: eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.umldi
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.umldi (rev 0)
+++ eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception-helper.umldi 2009-04-30 13:33:46 UTC (rev 486)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<diagrams:Diagrams xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.topcased.org/DI/1.0" xmlns:diagrams="http://www.topcased.org/Diagrams/1.0" xmi:id="_h0-hIPaMEd2-MYgc0GvAJw" activeDiagram="_h1AWUPaMEd2-MYgc0GvAJw">
+ <model href="conception-helper.uml#_qb8akM37EdqwVrslYOdUDA"/>
+ <subdiagrams xmi:id="_4e_d4Hg7Ed2do542yyYrFA" activeDiagram="_4e_d4Xg7Ed2do542yyYrFA">
+ <model href="conception-helper.uml#_w8IxIM37EdqwVrslYOdUDA"/>
+ <diagrams xmi:id="_4e_d4Xg7Ed2do542yyYrFA" position="0,0" size="100,100" name="conception-helper" viewport="0,0">
+ <property xmi:id="_4fJ18Hg7Ed2do542yyYrFA" key="pageFormatName" value="A4"/>
+ <property xmi:id="_4fJ18Xg7Ed2do542yyYrFA" key="diagramWidth" value="840"/>
+ <property xmi:id="_4fJ18ng7Ed2do542yyYrFA" key="diagramHeight" value="1188"/>
+ <property xmi:id="_4fJ183g7Ed2do542yyYrFA" key="pageMarginName" value="Small Margin"/>
+ <property xmi:id="_4fJ19Hg7Ed2do542yyYrFA" key="diagramTopMargin" value="20"/>
+ <property xmi:id="_4fJ19Xg7Ed2do542yyYrFA" key="diagramBottomMargin" value="20"/>
+ <property xmi:id="_4fJ19ng7Ed2do542yyYrFA" key="diagramLeftMargin" value="20"/>
+ <property xmi:id="_4fJ193g7Ed2do542yyYrFA" key="diagramRightMargin" value="20"/>
+ <property xmi:id="_4fJ1-Hg7Ed2do542yyYrFA" key="orientation" value="portrait"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_4e_d4ng7Ed2do542yyYrFA" presentation="org.topcased.modeler.uml.classdiagram">
+ <element href="conception-helper.uml#_w8IxIM37EdqwVrslYOdUDA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_hFCNgHg-Ed2do542yyYrFA" position="30,30" size="114,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_hFCNgXg-Ed2do542yyYrFA" presentation="default">
+ <element href="conception-helper.uml#_hFFQ0Hg-Ed2do542yyYrFA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_hFCNgng-Ed2do542yyYrFA">
+ <property xmi:id="_hFCNg3g-Ed2do542yyYrFA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_hFCNhHg-Ed2do542yyYrFA" presentation="default">
+ <element href="conception-helper.uml#_hFFQ0Hg-Ed2do542yyYrFA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_hFCNhXg-Ed2do542yyYrFA">
+ <property xmi:id="_hFCNhng-Ed2do542yyYrFA" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_hFCNh3g-Ed2do542yyYrFA" presentation="default">
+ <element href="conception-helper.uml#_hFFQ0Hg-Ed2do542yyYrFA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_cXzcYH2vEd22ZfAQrfk_WQ" position="163,32" size="86,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_cXzcYX2vEd22ZfAQrfk_WQ" presentation="default">
+ <element href="conception-helper.uml#_cYCF4H2vEd22ZfAQrfk_WQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_cXzcYn2vEd22ZfAQrfk_WQ">
+ <property xmi:id="_cXzcY32vEd22ZfAQrfk_WQ" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_cXzcZH2vEd22ZfAQrfk_WQ" presentation="default">
+ <element href="conception-helper.uml#_cYCF4H2vEd22ZfAQrfk_WQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_cXzcZX2vEd22ZfAQrfk_WQ">
+ <property xmi:id="_cXzcZn2vEd22ZfAQrfk_WQ" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_cXzcZ32vEd22ZfAQrfk_WQ" presentation="default">
+ <element href="conception-helper.uml#_cYCF4H2vEd22ZfAQrfk_WQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_j3pfUKEgEd2PM6_wGJR42Q" position="110,135" size="152,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_j3pfUaEgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_j3pfUqEgEd2PM6_wGJR42Q">
+ <property xmi:id="_j3pfU6EgEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_j3pfVKEgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_j3pfVaEgEd2PM6_wGJR42Q">
+ <property xmi:id="_j3pfVqEgEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_j3pfV6EgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_W6X2UKtBEd2Nmqhc73l7SA" position="367,149" size="115,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_W6X2UatBEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception-helper.uml#_W6YdYKtBEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_W6X2UqtBEd2Nmqhc73l7SA">
+ <property xmi:id="_W6X2U6tBEd2Nmqhc73l7SA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_W6X2VKtBEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception-helper.uml#_W6YdYKtBEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_W6X2VatBEd2Nmqhc73l7SA">
+ <property xmi:id="_W6X2VqtBEd2Nmqhc73l7SA" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_W6X2V6tBEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception-helper.uml#_W6YdYKtBEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </diagrams>
+ </subdiagrams>
+ <subdiagrams xmi:id="_h0-hIfaMEd2-MYgc0GvAJw">
+ <model href="conception-helper.uml#_Hb8X4PaMEd2-MYgc0GvAJw"/>
+ <diagrams xmi:id="_h1AWUPaMEd2-MYgc0GvAJw" position="0,0" size="100,100" name="Embedded" viewport="0,0">
+ <property xmi:id="_h1I5MPaMEd2-MYgc0GvAJw" key="pageFormatName" value="A4"/>
+ <property xmi:id="_h1I5MfaMEd2-MYgc0GvAJw" key="diagramWidth" value="840"/>
+ <property xmi:id="_h1I5MvaMEd2-MYgc0GvAJw" key="diagramHeight" value="1188"/>
+ <property xmi:id="_h1I5M_aMEd2-MYgc0GvAJw" key="pageMarginName" value="Small Margin"/>
+ <property xmi:id="_h1I5NPaMEd2-MYgc0GvAJw" key="diagramTopMargin" value="20"/>
+ <property xmi:id="_h1I5NfaMEd2-MYgc0GvAJw" key="diagramBottomMargin" value="20"/>
+ <property xmi:id="_h1I5NvaMEd2-MYgc0GvAJw" key="diagramLeftMargin" value="20"/>
+ <property xmi:id="_h1I5N_aMEd2-MYgc0GvAJw" key="diagramRightMargin" value="20"/>
+ <property xmi:id="_h1I5OPaMEd2-MYgc0GvAJw" key="orientation" value="portrait"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_h1AWUfaMEd2-MYgc0GvAJw" presentation="org.topcased.modeler.uml.classdiagram">
+ <element href="conception-helper.uml#_Hb8X4PaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_wfiREPaMEd2-MYgc0GvAJw" position="152,112" size="158,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_wfiREfaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_wfiREvaMEd2-MYgc0GvAJw">
+ <property xmi:id="_wfiRE_aMEd2-MYgc0GvAJw" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_wfiRFPaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_wfjfMPaMEd2-MYgc0GvAJw" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_wfjfMfaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X4vaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_wfpl0PaMEd2-MYgc0GvAJw" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_wfpl0faMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X4_aMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_wfiRFfaMEd2-MYgc0GvAJw">
+ <property xmi:id="_wfiRFvaMEd2-MYgc0GvAJw" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_wfiRF_aMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X4faMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_w7cJ8PaMEd2-MYgc0GvAJw" position="151,253" size="218,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_w7cJ8faMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_w7cJ8vaMEd2-MYgc0GvAJw">
+ <property xmi:id="_w7cJ8_aMEd2-MYgc0GvAJw" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_w7cJ9PaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_w7cxAPaMEd2-MYgc0GvAJw" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_w7cxAfaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X5faMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_w7dYEPaMEd2-MYgc0GvAJw" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_w7dYEfaMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X5vaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_w7cJ9faMEd2-MYgc0GvAJw">
+ <property xmi:id="_w7cJ9vaMEd2-MYgc0GvAJw" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_w7cJ9_aMEd2-MYgc0GvAJw" presentation="default">
+ <element href="conception-helper.uml#_Hb8X5PaMEd2-MYgc0GvAJw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </diagrams>
+ </subdiagrams>
+</diagrams:Diagrams>
Added: eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.properties
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.properties (rev 0)
+++ eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.properties 2009-04-30 13:33:46 UTC (rev 486)
@@ -0,0 +1,7 @@
+useModelAsBaseImports=yes
+
+useServicePackage=no
+useEntityPackage=no
+useDaoPackage=no
+useDtoPackage=no
+useConfigPackage=no
\ No newline at end of file
Added: eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.uml
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.uml (rev 0)
+++ eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.uml 2009-04-30 13:33:46 UTC (rev 486)
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:AcceleoBusiness="http:///schemas/AcceleoBusiness/_my2ZAHXaEd2S2Y-Jnv-fiQ/2" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xsi:schemaLocation="http:///schemas/AcceleoBusiness/_my2ZAHXaEd2S2Y-Jnv-fiQ/2 pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ">
+ <uml:Model xmi:id="_qb8akM37EdqwVrslYOdUDA" name="org.sharengo.utils.utils">
+ <packagedElement xmi:type="uml:Package" xmi:id="_w8IxIM37EdqwVrslYOdUDA" name="services">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_l25sMKEeEd2PM6_wGJR42Q" name="ICrudSrv" redefinedClassifier="_9u74UKEeEd2PM6_wGJR42Q">
+ <ownedOperation xmi:id="_1TsKUKEeEd2PM6_wGJR42Q" name="create">
+ <ownedParameter xmi:id="_OV-jEKEfEd2PM6_wGJR42Q" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <ownedParameter xmi:id="_QVBpsKEfEd2PM6_wGJR42Q" name="return" type="_LncgQKEfEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_0ve_IKEgEd2PM6_wGJR42Q" name="find">
+ <ownedParameter xmi:id="_0ve_IaEgEd2PM6_wGJR42Q" name="entityId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_0ve_IqEgEd2PM6_wGJR42Q" name="return" type="_LncgQKEfEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2y7dkKEgEd2PM6_wGJR42Q" name="update">
+ <ownedParameter xmi:id="_2y7dkaEgEd2PM6_wGJR42Q" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_3wMXEKEgEd2PM6_wGJR42Q" name="delete">
+ <ownedParameter xmi:id="_3wMXEaEgEd2PM6_wGJR42Q" name="entityId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_4Gn6EKEgEd2PM6_wGJR42Q" name="findAll">
+ <ownedParameter xmi:id="_4Gn6EaEgEd2PM6_wGJR42Q" name="start">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_Mlxe0KEhEd2PM6_wGJR42Q" name="end">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_UVT9YKEhEd2PM6_wGJR42Q" name="return" type="_Qfx2QKEhEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_673s0HXGEd2Ekv686xx4qA"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_9u74UKEeEd2PM6_wGJR42Q" name="AnyDto extends Serializable"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_D2KVQKEfEd2PM6_wGJR42Q" name="AnyEntity extends Serializable"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_LncgQKEfEd2PM6_wGJR42Q" name="AnyDto"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_Mhz2wKEfEd2PM6_wGJR42Q" name="AnyEntity"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_Qfx2QKEhEd2PM6_wGJR42Q" name="PagedResult<AnyDto>"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_31g0gKHnEd2T0aUWLQqzuQ" name="DAO<AnyEntity>"/>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_FZ2jQKHoEd2T0aUWLQqzuQ" name="Log"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_4JKaAKQ8Ed2AzttPnb4djA" name="impl">
+ <packagedElement xmi:type="uml:Class" xmi:id="_6MN4EKHlEd2BIt21aAt4XQ" name="AbstractCrudSrv" clientDependency="_LED-8KHmEd2BIt21aAt4XQ" isAbstract="true" redefinedClassifier="_9u74UKEeEd2PM6_wGJR42Q _D2KVQKEfEd2PM6_wGJR42Q">
+ <interfaceRealization xmi:id="_LED-8KHmEd2BIt21aAt4XQ" name="InterfaceRealization1" supplier="_l25sMKEeEd2PM6_wGJR42Q" client="_6MN4EKHlEd2BIt21aAt4XQ" contract="_l25sMKEeEd2PM6_wGJR42Q"/>
+ <ownedOperation xmi:id="_gUeBgKHmEd2BIt21aAt4XQ" name="create">
+ <ownedParameter xmi:id="_gUeBgaHmEd2BIt21aAt4XQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <ownedParameter xmi:id="_gUeBgqHmEd2BIt21aAt4XQ" name="return" type="_LncgQKEfEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_h-vyAKHmEd2BIt21aAt4XQ" name="find">
+ <ownedParameter xmi:id="_h-vyAaHmEd2BIt21aAt4XQ" name="entityId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_h-vyAqHmEd2BIt21aAt4XQ" name="return" type="_LncgQKEfEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_x1foQKHmEd2T0aUWLQqzuQ" name="update">
+ <ownedParameter xmi:id="_x1foQaHmEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_yucpgKHmEd2T0aUWLQqzuQ" name="delete">
+ <ownedParameter xmi:id="_yudQkKHmEd2T0aUWLQqzuQ" name="entityId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ <raisedException xmi:type="uml:Class" href="#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_zTIq8KHmEd2T0aUWLQqzuQ" name="findAll">
+ <ownedParameter xmi:id="_zTIq8aHmEd2T0aUWLQqzuQ" name="start">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_zTIq8qHmEd2T0aUWLQqzuQ" name="end">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_zTIq86HmEd2T0aUWLQqzuQ" name="return" type="_Qfx2QKEhEd2PM6_wGJR42Q" direction="return"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_673s0HXGEd2Ekv686xx4qA"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-cp9EKHmEd2T0aUWLQqzuQ" name="convertToDto" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_A0NDQKHnEd2T0aUWLQqzuQ" name="return" type="_LncgQKEfEd2PM6_wGJR42Q" direction="return"/>
+ <ownedParameter xmi:id="_CzdlQKHnEd2T0aUWLQqzuQ" name="entity" type="_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_aPi1MKHnEd2T0aUWLQqzuQ" name="convertToNewEntity" visibility="protected">
+ <ownedParameter xmi:id="_cgK0AKHnEd2T0aUWLQqzuQ" name="return" type="_Mhz2wKEfEd2PM6_wGJR42Q" direction="return"/>
+ <ownedParameter xmi:id="_fFcNIKHnEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_oCavMKHnEd2T0aUWLQqzuQ" name="convertToEntity" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_pcoDYKHnEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <ownedParameter xmi:id="_qqCRsKHnEd2T0aUWLQqzuQ" name="entity" type="_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ytZrMKHnEd2T0aUWLQqzuQ" name="createEntity" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_z4qkcKHnEd2T0aUWLQqzuQ" name="return" type="_Mhz2wKEfEd2PM6_wGJR42Q" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_1j0esKHnEd2T0aUWLQqzuQ" name="getDao" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_7H6ZYKHnEd2T0aUWLQqzuQ" name="return" type="_31g0gKHnEd2T0aUWLQqzuQ" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_9IXOMKHnEd2T0aUWLQqzuQ" name="getIdFromDto" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_-xGGkKHnEd2T0aUWLQqzuQ" name="return" direction="return">
+ <type xmi:type="uml:Interface" href="conception-helper.uml#_hFFQ0Hg-Ed2do542yyYrFA"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_A0I8YKHoEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_GpkesKHoEd2T0aUWLQqzuQ" name="getLog" visibility="protected" isAbstract="true">
+ <ownedParameter xmi:id="_IvYUoKHoEd2T0aUWLQqzuQ" name="return" type="_FZ2jQKHoEd2T0aUWLQqzuQ" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_OR2esaHoEd2T0aUWLQqzuQ" name="validateDto" visibility="protected" isAbstract="true" raisedException="_GfaEUHmfEd2HRLLd0I1WrA _YNI5EHmZEd2HRLLd0I1WrA">
+ <ownedParameter xmi:id="_Ruj2IKHoEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_k0lEwKHoEd2T0aUWLQqzuQ" name="checkUniqueConstraintsBeforeCreate" visibility="protected">
+ <ownedParameter xmi:id="_nyF-wKHoEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_u1l2sKHoEd2T0aUWLQqzuQ" name="checkUniqueConstraintsBeforeUpdate" visibility="protected">
+ <ownedParameter xmi:id="_yti_sKHoEd2T0aUWLQqzuQ" name="dto" type="_LncgQKEfEd2PM6_wGJR42Q"/>
+ <ownedParameter xmi:id="_zgAXYKHoEd2T0aUWLQqzuQ" name="entity" type="_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ <raisedException xmi:type="uml:Class" href="#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ <raisedException xmi:type="uml:Class" href="conception-helper.uml#_j3qGYKEgEd2PM6_wGJR42Q"/>
+ </ownedOperation>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:id="_MIURkPWdEdyp25RO5nzQ4A">
+ <eAnnotations xmi:id="_MIURkfWdEdyp25RO5nzQ4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_tBzGgPWREdy_h6Mk-BiOHw" name="daos">
+ <profileApplication xmi:id="_Mg9bEPWdEdyp25RO5nzQ4A">
+ <eAnnotations xmi:id="_Mg-CIPWdEdyp25RO5nzQ4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="__PrMMPWREdy_h6Mk-BiOHw" name="dtos">
+ <profileApplication xmi:id="_M2BsIPWdEdyp25RO5nzQ4A">
+ <eAnnotations xmi:id="_M2CTMPWdEdyp25RO5nzQ4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Cp0X0PWSEdy_h6Mk-BiOHw" name="entities">
+ <profileApplication xmi:id="_NQyVgPWdEdyp25RO5nzQ4A">
+ <eAnnotations xmi:id="_NQy8kPWdEdyp25RO5nzQ4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_bKMq8HXGEd2Ekv686xx4qA" name="exceptions">
+ <packagedElement xmi:type="uml:Class" xmi:id="_c4VnwHXGEd2Ekv686xx4qA" name="GenericBusinessException" isAbstract="true"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_673s0HXGEd2Ekv686xx4qA" name="OutOfRangeException">
+ <generalization xmi:id="_nt5gM3j0Ed2Lq_BH-5XVEg" general="_bI0twHg-Ed2lVPDSSAZWVg"/>
+ <ownedAttribute xmi:id="_iaKv4KtAEd2Nmqhc73l7SA" name="minValue">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jlBZcKtAEd2Nmqhc73l7SA" name="maxValue">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_yvGYUHXJEd20DoWUDUK0Ig" name="UniqueConstraintsException">
+ <generalization xmi:id="_o_-zI3j0Ed2Lq_BH-5XVEg" general="_Z3cGsHj0Ed2Lq_BH-5XVEg"/>
+ <ownedAttribute xmi:id="_qoDjQHXKEd20DoWUDUK0Ig" name="dataName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ryxC4HXKEd20DoWUDUK0Ig" name="dataValue">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bI0twHg-Ed2lVPDSSAZWVg" name="UnexpectedArgumentException" isAbstract="true">
+ <generalization xmi:id="_nMrpg3j0Ed2Lq_BH-5XVEg" general="_c4VnwHXGEd2Ekv686xx4qA"/>
+ <ownedAttribute xmi:id="_IGOxIHg_Ed2lVPDSSAZWVg" name="parameterName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xjqvgng_Ed2lVPDSSAZWVg" name="reason">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_YPQokKvkEd2rnp-byoZYOw" name="getParameterName">
+ <ownedParameter xmi:id="_dtADoKvkEd2rnp-byoZYOw" name="return" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KQqi-HjwEd2MH8DN-NMNrA" name="NoSuchEntityException">
+ <generalization xmi:id="_o2bOg3j0Ed2Lq_BH-5XVEg" general="_Z3cGsHj0Ed2Lq_BH-5XVEg"/>
+ <ownedAttribute xmi:id="_NpxMwnjwEd2MH8DN-NMNrA" name="entityName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PLYJcnjwEd2MH8DN-NMNrA" name="entityId">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Z3cGsHj0Ed2Lq_BH-5XVEg" name="CoherencyException" isAbstract="true">
+ <generalization xmi:id="_nYJ5s3j0Ed2Lq_BH-5XVEg" general="_c4VnwHXGEd2Ekv686xx4qA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_YNI5EHmZEd2HRLLd0I1WrA" name="NullParameterException">
+ <generalization xmi:id="_N2AvUqtAEd2Nmqhc73l7SA" general="_EbIwUKtAEd2Nmqhc73l7SA"/>
+ <ownedOperation xmi:id="_eaeLwHmeEd2HRLLd0I1WrA" name="getParameterName">
+ <ownedParameter xmi:id="_m5lGEHmeEd2HRLLd0I1WrA" name="return" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_GfaEUHmfEd2HRLLd0I1WrA" name="EmptyParameterException">
+ <generalization xmi:id="_OEX7c6tAEd2Nmqhc73l7SA" general="_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_4RBZUKs-Ed2Nmqhc73l7SA" name="InvalidParameterException">
+ <generalization xmi:id="_6-nA8Ks-Ed2Nmqhc73l7SA" general="_bI0twHg-Ed2lVPDSSAZWVg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_EbIwUKtAEd2Nmqhc73l7SA" name="NullOrEmptyParameterException">
+ <generalization xmi:id="_S6EfE6tAEd2Nmqhc73l7SA" general="_bI0twHg-Ed2lVPDSSAZWVg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vE68IOMjEd2zc-bceOzXYQ" name="ExceptionsStack"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_AU1kyuMkEd2zc-bceOzXYQ" name="Association1" memberEnd="_AU1ky-MkEd2zc-bceOzXYQ _AU1kzuMkEd2zc-bceOzXYQ" navigableOwnedEnd="_AU1kzuMkEd2zc-bceOzXYQ">
+ <ownedEnd xmi:id="_AU1ky-MkEd2zc-bceOzXYQ" name="stack" type="_vE68IOMjEd2zc-bceOzXYQ" isUnique="false" association="_AU1kyuMkEd2zc-bceOzXYQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AU1kzOMkEd2zc-bceOzXYQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AU1kzeMkEd2zc-bceOzXYQ" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:id="_AU1kzuMkEd2zc-bceOzXYQ" name="exceptions" type="_c4VnwHXGEd2Ekv686xx4qA" isUnique="false" association="_AU1kyuMkEd2zc-bceOzXYQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AU1kz-MkEd2zc-bceOzXYQ" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AU1k0OMkEd2zc-bceOzXYQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_R_qg8OYHEd2ikLHnwqSzSg" name="XMLException"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_JUeMMOlZEd2hcOPlZHSiFw" name="FileFormatException">
+ <generalization xmi:id="_NYDWYulZEd2hcOPlZHSiFw" general="_c4VnwHXGEd2Ekv686xx4qA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="__k0DAHmZEd2HRLLd0I1WrA" name="validation">
+ <packagedElement xmi:type="uml:Class" xmi:id="_CXHykHmaEd2HRLLd0I1WrA" name="ParameterValidator">
+ <ownedOperation xmi:id="_YWpvgnmbEd2HRLLd0I1WrA" name="checkNullParameter" isStatic="true" raisedException="_YNI5EHmZEd2HRLLd0I1WrA">
+ <ownedParameter xmi:id="_o27D4HmbEd2HRLLd0I1WrA" name="o">
+ <type xmi:type="uml:DataType" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_xqoXkASfEd2Qys9YSCxJaQ"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_5tKO8HmgEd2HRLLd0I1WrA" name="parameterName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_yXGkMHmcEd2HRLLd0I1WrA" name="checkEmptyString" isStatic="true" raisedException="_YNI5EHmZEd2HRLLd0I1WrA _GfaEUHmfEd2HRLLd0I1WrA">
+ <ownedParameter xmi:id="_zwq_MHmcEd2HRLLd0I1WrA" name="s">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_86WjsHmgEd2HRLLd0I1WrA" name="parameterName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_--Be8H2uEd22ZfAQrfk_WQ" name="checkEmptyCollection" isStatic="true" raisedException="_YNI5EHmZEd2HRLLd0I1WrA _GfaEUHmfEd2HRLLd0I1WrA">
+ <ownedParameter xmi:id="_DJ968H2vEd22ZfAQrfk_WQ" name="c">
+ <type xmi:type="uml:Class" href="conception-helper.uml#_cYCF4H2vEd22ZfAQrfk_WQ"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_F4q84H2vEd22ZfAQrfk_WQ" name="parameterName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:id="_LmCD4PWdEdyp25RO5nzQ4A">
+ <eAnnotations xmi:id="_LmFHMPWdEdyp25RO5nzQ4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_81g14fWcEdyuYMHNZCqWBQ"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://ACCELEO_PROFILES/Acceleo.Business.profile.uml#_JX9fQPWcEdyuYMHNZCqWBQ"/>
+ </profileApplication>
+ </uml:Model>
+ <AcceleoBusiness:BusinessException xmi:id="_mYV-YHXGEd2Ekv686xx4qA" base_Class="_c4VnwHXGEd2Ekv686xx4qA"/>
+ <AcceleoBusiness:BusinessException xmi:id="_0riGIHm2Ed2HRLLd0I1WrA"/>
+ <AcceleoBusiness:BusinessException xmi:id="_-ZM-gOMjEd2zc-bceOzXYQ" base_Class="_vE68IOMjEd2zc-bceOzXYQ"/>
+ <AcceleoBusiness:BusinessException xmi:id="_Tq23cOYHEd2ikLHnwqSzSg" base_Class="_R_qg8OYHEd2ikLHnwqSzSg"/>
+</xmi:XMI>
Added: eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.umldi
===================================================================
--- eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.umldi (rev 0)
+++ eugene/trunk/src/test/resources/xmi/2.1/org.sharengo.utils.utils/src/main/uml/conception.umldi 2009-04-30 13:33:46 UTC (rev 486)
@@ -0,0 +1,755 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<diagrams:Diagrams xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.topcased.org/DI/1.0" xmlns:diagrams="http://www.topcased.org/Diagrams/1.0" xmi:id="_cd3aIPWREdy_h6Mk-BiOHw" activeDiagram="_CP4_cPWTEdy_h6Mk-BiOHw">
+ <model href="conception.uml#_qb8akM37EdqwVrslYOdUDA"/>
+ <diagrams xmi:id="_CP4_cPWTEdy_h6Mk-BiOHw" position="0,0" size="100,100" name="Package Overview" zoom="0.75" viewport="0,0">
+ <property xmi:id="_CQUdQPWTEdy_h6Mk-BiOHw" key="pageFormatName" value="A3"/>
+ <property xmi:id="_CQUdQfWTEdy_h6Mk-BiOHw" key="diagramWidth" value="1188"/>
+ <property xmi:id="_CQUdQvWTEdy_h6Mk-BiOHw" key="diagramHeight" value="1680"/>
+ <property xmi:id="_CQUdQ_WTEdy_h6Mk-BiOHw" key="pageMarginName" value="Small Margin"/>
+ <property xmi:id="_CQUdRPWTEdy_h6Mk-BiOHw" key="diagramTopMargin" value="20"/>
+ <property xmi:id="_CQUdRfWTEdy_h6Mk-BiOHw" key="diagramBottomMargin" value="20"/>
+ <property xmi:id="_CQUdRvWTEdy_h6Mk-BiOHw" key="diagramLeftMargin" value="20"/>
+ <property xmi:id="_CQUdR_WTEdy_h6Mk-BiOHw" key="diagramRightMargin" value="20"/>
+ <property xmi:id="_CQUdSPWTEdy_h6Mk-BiOHw" key="orientation" value="landscape"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_CP4_cfWTEdy_h6Mk-BiOHw" presentation="org.topcased.modeler.uml.classdiagram">
+ <element href="conception.uml#_qb8akM37EdqwVrslYOdUDA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_CiytUPWTEdy_h6Mk-BiOHw" position="588,732" size="988,378">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_CiytUfWTEdy_h6Mk-BiOHw" presentation="default">
+ <element href="conception.uml#_w8IxIM37EdqwVrslYOdUDA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_l20zsKEeEd2PM6_wGJR42Q" position="25,28" size="368,-1">
+ <anchorage xmi:id="_LD_tgaHmEd2BIt21aAt4XQ" graphEdge="_LEDX4KHmEd2BIt21aAt4XQ"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_l20zsaEeEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_l25sMKEeEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_l20zsqEeEd2PM6_wGJR42Q">
+ <property xmi:id="_l20zs6EeEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_l20ztKEeEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_l25sMKEeEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_l20ztaEeEd2PM6_wGJR42Q">
+ <property xmi:id="_l20ztqEeEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_l20zt6EeEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_l25sMKEeEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_1Tq8MKEeEd2PM6_wGJR42Q" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_1Tq8MaEeEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_1TsKUKEeEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_9UoQAKEgEd2PM6_wGJR42Q" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_9UoQAaEgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_0ve_IKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_9Uo3EKEgEd2PM6_wGJR42Q" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_9Uo3EaEgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_2y7dkKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_9UpeIKEgEd2PM6_wGJR42Q" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_9UpeIaEgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_3wMXEKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_9UpeIqEgEd2PM6_wGJR42Q" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_9UpeI6EgEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_4Gn6EKEgEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_Lnb5MKEfEd2PM6_wGJR42Q" position="36,191" size="115,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Lnb5MaEfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_LncgQKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_Lnb5MqEfEd2PM6_wGJR42Q">
+ <property xmi:id="_Lnb5M6EfEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Lnb5NKEfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_LncgQKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_Lnb5NaEfEd2PM6_wGJR42Q">
+ <property xmi:id="_Lnb5NqEfEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Lnb5N6EfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_LncgQKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_MhyooKEfEd2PM6_wGJR42Q" position="301,192" size="115,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_MhyooaEfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_MhyooqEfEd2PM6_wGJR42Q">
+ <property xmi:id="_Mhyoo6EfEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_MhyopKEfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_MhyopaEfEd2PM6_wGJR42Q">
+ <property xmi:id="_MhyopqEfEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Mhyop6EfEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Mhz2wKEfEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_QfxPMKEhEd2PM6_wGJR42Q" position="38,253" size="183,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_QfxPMaEhEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Qfx2QKEhEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_QfxPMqEhEd2PM6_wGJR42Q">
+ <property xmi:id="_QfxPM6EhEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_QfxPNKEhEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Qfx2QKEhEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_QfxPNaEhEd2PM6_wGJR42Q">
+ <property xmi:id="_QfxPNqEhEd2PM6_wGJR42Q" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_QfxPN6EhEd2PM6_wGJR42Q" presentation="default">
+ <element href="conception.uml#_Qfx2QKEhEd2PM6_wGJR42Q"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_6Lp3YKHlEd2BIt21aAt4XQ" position="511,14" size="448,-1">
+ <anchorage xmi:id="_LD_tgKHmEd2BIt21aAt4XQ" graphEdge="_LEDX4KHmEd2BIt21aAt4XQ"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_6LqecKHlEd2BIt21aAt4XQ" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_6LqecaHlEd2BIt21aAt4XQ">
+ <property xmi:id="_6LqecqHlEd2BIt21aAt4XQ" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_6Lqec6HlEd2BIt21aAt4XQ" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_6LqedKHlEd2BIt21aAt4XQ">
+ <property xmi:id="_6LqedaHlEd2BIt21aAt4XQ" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_6LqedqHlEd2BIt21aAt4XQ" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_5mccEKHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_5mccEaHmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_gUeBgKHmEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_5mdDIKHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_5mdDIaHmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_h-vyAKHmEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_5meRQKHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_5meRQaHmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_x1foQKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_5me4UKHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_5me4UaHmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_yucpgKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_5me4UqHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_5me4U6HmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_zTIq8KHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_-cmSsKHmEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_-cmSsaHmEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_-cp9EKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_aPiOIKHnEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_aPiOIaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_aPi1MKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_oCaIIKHnEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oCaIIaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_oCavMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ytZEIKHnEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ytZEIaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_ytZrMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_1jz3oKHnEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_1jz3oaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_1j0esKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_9IWnIKHnEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_9IWnIaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_9IXOMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_Gpj3oKHoEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Gpj3oaHoEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_GpkesKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_OR13oKHoEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_OR2esKHoEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_OR2esaHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_k0j2oKHoEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_k0kdsKHoEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_k0lEwKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_u1lPoKHoEd2T0aUWLQqzuQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_u1lPoaHoEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_u1l2sKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_LEDX4KHmEd2BIt21aAt4XQ" anchor="_LD_tgKHmEd2BIt21aAt4XQ _LD_tgaHmEd2BIt21aAt4XQ">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_LEDX4aHmEd2BIt21aAt4XQ" presentation="default">
+ <element href="conception.uml#_LED-8KHmEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_LEDX4qHmEd2BIt21aAt4XQ" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_31e_UKHnEd2T0aUWLQqzuQ" position="301,254" size="119,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_31e_UaHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_31g0gKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_31e_UqHnEd2T0aUWLQqzuQ">
+ <property xmi:id="_31e_U6HnEd2T0aUWLQqzuQ" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_31e_VKHnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_31g0gKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_31e_VaHnEd2T0aUWLQqzuQ">
+ <property xmi:id="_31e_VqHnEd2T0aUWLQqzuQ" key="eStructuralFeatureID" value="38"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_31e_V6HnEd2T0aUWLQqzuQ" presentation="default">
+ <element href="conception.uml#_31g0gKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_C1ow0PWTEdy_h6Mk-BiOHw" position="206,16" size="82,50">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_C1ow0fWTEdy_h6Mk-BiOHw" presentation="default">
+ <element href="conception.uml#_tBzGgPWREdy_h6Mk-BiOHw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_DGWtYPWTEdy_h6Mk-BiOHw" position="112,12" size="84,54">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_DGWtYfWTEdy_h6Mk-BiOHw" presentation="default">
+ <element href="conception.uml#__PrMMPWREdy_h6Mk-BiOHw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_DYMrUPWTEdy_h6Mk-BiOHw" position="292,13" size="77,54">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_DYMrUfWTEdy_h6Mk-BiOHw" presentation="default">
+ <element href="conception.uml#_Cp0X0PWSEdy_h6Mk-BiOHw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_bKJAkHXGEd2Ekv686xx4qA" position="17,70" size="1534,633">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_bKJAkXXGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_bKMq8HXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_c3xAAHXGEd2Ekv686xx4qA" position="521,50" size="213,-1">
+ <anchorage xmi:id="_nMqbYXj0Ed2Lq_BH-5XVEg" graphEdge="_nMrpgHj0Ed2Lq_BH-5XVEg _nYJ5sHj0Ed2Lq_BH-5XVEg _AU1kwOMkEd2zc-bceOzXYQ _NYCvUOlZEd2hcOPlZHSiFw"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_c3xAAXXGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_c4VnwHXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_c3xAAnXGEd2Ekv686xx4qA">
+ <property xmi:id="_c3xAA3XGEd2Ekv686xx4qA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_c3xABHXGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_c4VnwHXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_c3xABXXGEd2Ekv686xx4qA">
+ <property xmi:id="_c3xABnXGEd2Ekv686xx4qA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_c3xAB3XGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_c4VnwHXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_672esHXGEd2Ekv686xx4qA" position="484,391" size="170,-1">
+ <anchorage xmi:id="_nt4SEHj0Ed2Lq_BH-5XVEg" graphEdge="_nt5gMHj0Ed2Lq_BH-5XVEg"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_672esXXGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_673s0HXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_672esnXGEd2Ekv686xx4qA">
+ <property xmi:id="_672es3XGEd2Ekv686xx4qA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_672etHXGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_673s0HXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_iaKI0KtAEd2Nmqhc73l7SA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_iaKI0atAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_iaKv4KtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_jlAyYKtAEd2Nmqhc73l7SA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_jlAyYatAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_jlBZcKtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_672etXXGEd2Ekv686xx4qA">
+ <property xmi:id="_672etnXGEd2Ekv686xx4qA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_672et3XGEd2Ekv686xx4qA" presentation="default">
+ <element href="conception.uml#_673s0HXGEd2Ekv686xx4qA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_oGJtkHXSEd20DoWUDUK0Ig" position="916,301" size="221,-1">
+ <anchorage xmi:id="_o_9lAHj0Ed2Lq_BH-5XVEg" graphEdge="_o_-zIHj0Ed2Lq_BH-5XVEg"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oGJtkXXSEd20DoWUDUK0Ig" presentation="default">
+ <element href="conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_oGJtknXSEd20DoWUDUK0Ig">
+ <property xmi:id="_oGJtk3XSEd20DoWUDUK0Ig" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oGJtlHXSEd20DoWUDUK0Ig" presentation="default">
+ <element href="conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_oGK7sHXSEd20DoWUDUK0Ig" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oGK7sXXSEd20DoWUDUK0Ig" presentation="default">
+ <element href="conception.uml#_qoDjQHXKEd20DoWUDUK0Ig"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_oGK7snXSEd20DoWUDUK0Ig" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oGK7s3XSEd20DoWUDUK0Ig" presentation="default">
+ <element href="conception.uml#_ryxC4HXKEd20DoWUDUK0Ig"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_oGKUoHXSEd20DoWUDUK0Ig">
+ <property xmi:id="_oGKUoXXSEd20DoWUDUK0Ig" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_oGKUonXSEd20DoWUDUK0Ig" presentation="default">
+ <element href="conception.uml#_yvGYUHXJEd20DoWUDUK0Ig"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_bIqVsHg-Ed2lVPDSSAZWVg" position="198,187" size="282,-1">
+ <anchorage xmi:id="_nMqbYHj0Ed2Lq_BH-5XVEg" graphEdge="_nMrpgHj0Ed2Lq_BH-5XVEg _nt5gMHj0Ed2Lq_BH-5XVEg _6-mZ4Ks-Ed2Nmqhc73l7SA _S6EfEKtAEd2Nmqhc73l7SA"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_bIq8wHg-Ed2lVPDSSAZWVg" presentation="default">
+ <element href="conception.uml#_bI0twHg-Ed2lVPDSSAZWVg"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_bIq8wXg-Ed2lVPDSSAZWVg">
+ <property xmi:id="_bIq8wng-Ed2lVPDSSAZWVg" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_bIq8w3g-Ed2lVPDSSAZWVg" presentation="default">
+ <element href="conception.uml#_bI0twHg-Ed2lVPDSSAZWVg"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_IGG1UHg_Ed2lVPDSSAZWVg" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_IGG1UXg_Ed2lVPDSSAZWVg" presentation="default">
+ <element href="conception.uml#_IGOxIHg_Ed2lVPDSSAZWVg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_XjqvgHg_Ed2lVPDSSAZWVg" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_XjqvgXg_Ed2lVPDSSAZWVg" presentation="default">
+ <element href="conception.uml#_Xjqvgng_Ed2lVPDSSAZWVg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_bIq8xHg-Ed2lVPDSSAZWVg">
+ <property xmi:id="_bIq8xXg-Ed2lVPDSSAZWVg" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_bIq8xng-Ed2lVPDSSAZWVg" presentation="default">
+ <element href="conception.uml#_bI0twHg-Ed2lVPDSSAZWVg"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_YPG3kKvkEd2rnp-byoZYOw" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_YPG3kavkEd2rnp-byoZYOw" presentation="default">
+ <element href="conception.uml#_YPQokKvkEd2rnp-byoZYOw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_KQqi8HjwEd2MH8DN-NMNrA" position="669,299" size="205,-1">
+ <anchorage xmi:id="_o2ancHj0Ed2Lq_BH-5XVEg" graphEdge="_o2bOgHj0Ed2Lq_BH-5XVEg"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_KQqi8XjwEd2MH8DN-NMNrA" presentation="default">
+ <element href="conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_KQqi8njwEd2MH8DN-NMNrA">
+ <property xmi:id="_KQqi83jwEd2MH8DN-NMNrA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_KQqi9HjwEd2MH8DN-NMNrA" presentation="default">
+ <element href="conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_NpxMwHjwEd2MH8DN-NMNrA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_NpxMwXjwEd2MH8DN-NMNrA" presentation="default">
+ <element href="conception.uml#_NpxMwnjwEd2MH8DN-NMNrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_PLYJcHjwEd2MH8DN-NMNrA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_PLYJcXjwEd2MH8DN-NMNrA" presentation="default">
+ <element href="conception.uml#_PLYJcnjwEd2MH8DN-NMNrA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_KQqi9XjwEd2MH8DN-NMNrA">
+ <property xmi:id="_KQqi9njwEd2MH8DN-NMNrA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_KQqi93jwEd2MH8DN-NMNrA" presentation="default">
+ <element href="conception.uml#_KQqi-HjwEd2MH8DN-NMNrA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_Z3YcUHj0Ed2Lq_BH-5XVEg" position="790,198" size="180,-1">
+ <anchorage xmi:id="_nYIrkHj0Ed2Lq_BH-5XVEg" graphEdge="_nYJ5sHj0Ed2Lq_BH-5XVEg _o2bOgHj0Ed2Lq_BH-5XVEg _o_-zIHj0Ed2Lq_BH-5XVEg"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Z3YcUXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_Z3cGsHj0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_Z3YcUnj0Ed2Lq_BH-5XVEg">
+ <property xmi:id="_Z3YcU3j0Ed2Lq_BH-5XVEg" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Z3YcVHj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_Z3cGsHj0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_Z3YcVXj0Ed2Lq_BH-5XVEg">
+ <property xmi:id="_Z3YcVnj0Ed2Lq_BH-5XVEg" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_Z3YcV3j0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_Z3cGsHj0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_nMrpgHj0Ed2Lq_BH-5XVEg" anchor="_nMqbYHj0Ed2Lq_BH-5XVEg _nMqbYXj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_nMrpgXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_nMrpg3j0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_nMrpgnj0Ed2Lq_BH-5XVEg" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_nYJ5sHj0Ed2Lq_BH-5XVEg" anchor="_nYIrkHj0Ed2Lq_BH-5XVEg _nMqbYXj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_nYJ5sXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_nYJ5s3j0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_nYJ5snj0Ed2Lq_BH-5XVEg" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_nt5gMHj0Ed2Lq_BH-5XVEg" anchor="_nt4SEHj0Ed2Lq_BH-5XVEg _nMqbYHj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_nt5gMXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_nt5gM3j0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_nt5gMnj0Ed2Lq_BH-5XVEg" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_o2bOgHj0Ed2Lq_BH-5XVEg" anchor="_o2ancHj0Ed2Lq_BH-5XVEg _nYIrkHj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_o2bOgXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_o2bOg3j0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_o2bOgnj0Ed2Lq_BH-5XVEg" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_o_-zIHj0Ed2Lq_BH-5XVEg" anchor="_o_9lAHj0Ed2Lq_BH-5XVEg _nYIrkHj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_o_-zIXj0Ed2Lq_BH-5XVEg" presentation="default">
+ <element href="conception.uml#_o_-zI3j0Ed2Lq_BH-5XVEg"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_o_-zInj0Ed2Lq_BH-5XVEg" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_YNCycHmZEd2HRLLd0I1WrA" position="37,522" size="225,-1">
+ <anchorage xmi:id="_51DicKs_Ed2Nmqhc73l7SA" graphEdge="_N2AIQKtAEd2Nmqhc73l7SA"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_YNDZgHmZEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_YNDZgXmZEd2HRLLd0I1WrA">
+ <property xmi:id="_YNDZgnmZEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_YNDZg3mZEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_YNDZhHmZEd2HRLLd0I1WrA">
+ <property xmi:id="_YNDZhXmZEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_YNDZhnmZEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_YNI5EHmZEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_GfY2MHmfEd2HRLLd0I1WrA" position="278,524" size="209,-1">
+ <anchorage xmi:id="_6AMbcKs_Ed2Nmqhc73l7SA" graphEdge="_OEX7cKtAEd2Nmqhc73l7SA"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_GfY2MXmfEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_GfY2MnmfEd2HRLLd0I1WrA">
+ <property xmi:id="_GfY2M3mfEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_GfY2NHmfEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_GfY2NXmfEd2HRLLd0I1WrA">
+ <property xmi:id="_GfY2NnmfEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_GfY2N3mfEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_GfaEUHmfEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_4Q42cKs-Ed2Nmqhc73l7SA" position="31,361" size="212,-1">
+ <anchorage xmi:id="_6-kksKs-Ed2Nmqhc73l7SA" graphEdge="_6-mZ4Ks-Ed2Nmqhc73l7SA"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_4Q42cas-Ed2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_4Q42cqs-Ed2Nmqhc73l7SA">
+ <property xmi:id="_4Q42c6s-Ed2Nmqhc73l7SA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_4Q42dKs-Ed2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_4Q42das-Ed2Nmqhc73l7SA">
+ <property xmi:id="_4Q42dqs-Ed2Nmqhc73l7SA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_4Q42d6s-Ed2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_4RBZUKs-Ed2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_6-mZ4Ks-Ed2Nmqhc73l7SA" anchor="_6-kksKs-Ed2Nmqhc73l7SA _nMqbYHj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_6-mZ4as-Ed2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_6-nA8Ks-Ed2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_6-mZ4qs-Ed2Nmqhc73l7SA" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_EbHiMKtAEd2Nmqhc73l7SA" position="254,334" size="256,-1">
+ <anchorage xmi:id="_N1_hMKtAEd2Nmqhc73l7SA" graphEdge="_N2AIQKtAEd2Nmqhc73l7SA _OEX7cKtAEd2Nmqhc73l7SA _S6EfEKtAEd2Nmqhc73l7SA"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_EbHiMatAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_EbHiMqtAEd2Nmqhc73l7SA">
+ <property xmi:id="_EbHiM6tAEd2Nmqhc73l7SA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_EbHiNKtAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_EbHiNatAEd2Nmqhc73l7SA">
+ <property xmi:id="_EbHiNqtAEd2Nmqhc73l7SA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_EbHiN6tAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_EbIwUKtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_N2AIQKtAEd2Nmqhc73l7SA" anchor="_51DicKs_Ed2Nmqhc73l7SA _N1_hMKtAEd2Nmqhc73l7SA">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_N2AvUKtAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_N2AvUqtAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_N2AvUatAEd2Nmqhc73l7SA" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_OEX7cKtAEd2Nmqhc73l7SA" anchor="_6AMbcKs_Ed2Nmqhc73l7SA _N1_hMKtAEd2Nmqhc73l7SA">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_OEX7catAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_OEX7c6tAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_OEX7cqtAEd2Nmqhc73l7SA" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_S6EfEKtAEd2Nmqhc73l7SA" anchor="_N1_hMKtAEd2Nmqhc73l7SA _nMqbYHj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_S6EfEatAEd2Nmqhc73l7SA" presentation="default">
+ <element href="conception.uml#_S6EfE6tAEd2Nmqhc73l7SA"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_S6EfEqtAEd2Nmqhc73l7SA" id="stereotypeEdgeObject"/>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_vEdpIOMjEd2zc-bceOzXYQ" position="951,49" size="212,-1">
+ <anchorage xmi:id="_AU0WoOMkEd2zc-bceOzXYQ" graphEdge="_AU1kwOMkEd2zc-bceOzXYQ"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_vEdpIeMjEd2zc-bceOzXYQ" presentation="default">
+ <element href="conception.uml#_vE68IOMjEd2zc-bceOzXYQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_vEdpIuMjEd2zc-bceOzXYQ">
+ <property xmi:id="_vEdpI-MjEd2zc-bceOzXYQ" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_vEdpJOMjEd2zc-bceOzXYQ" presentation="default">
+ <element href="conception.uml#_vE68IOMjEd2zc-bceOzXYQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_vEdpJeMjEd2zc-bceOzXYQ">
+ <property xmi:id="_vEdpJuMjEd2zc-bceOzXYQ" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_vEdpJ-MjEd2zc-bceOzXYQ" presentation="default">
+ <element href="conception.uml#_vE68IOMjEd2zc-bceOzXYQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_AU1kwOMkEd2zc-bceOzXYQ" anchor="_AU0WoOMkEd2zc-bceOzXYQ _nMqbYXj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_AU1kweMkEd2zc-bceOzXYQ" presentation="default">
+ <element href="conception.uml#_AU1kyuMkEd2zc-bceOzXYQ"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kwuMkEd2zc-bceOzXYQ" id="srcNameEdgeObject" uDistance="10" vDistance="10"/>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kw-MkEd2zc-bceOzXYQ" id="srcPropertiesEdgeObject" uDistance="25" vDistance="10"/>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kxOMkEd2zc-bceOzXYQ" id="srcCountEdgeObject" uDistance="10" vDistance="-10"/>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kxeMkEd2zc-bceOzXYQ" id="targetNameEdgeObject" uDistance="10" vDistance="10"/>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kxuMkEd2zc-bceOzXYQ" id="targetPropertiesEdgeObject" uDistance="25" vDistance="10"/>
+ <contained xsi:type="di:EdgeObjectUV" xmi:id="_AU1kx-MkEd2zc-bceOzXYQ" id="targetCountEdgeObject" uDistance="10" vDistance="-10"/>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_AU1kyOMkEd2zc-bceOzXYQ" visible="false" id="middleNameEdgeObject" offset="0,10"/>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_AU1kyeMkEd2zc-bceOzXYQ" id="stereotypeEdgeObject" offset="0,-10"/>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_R_p54OYHEd2ikLHnwqSzSg" position="145,46" size="156,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_R_p54eYHEd2ikLHnwqSzSg" presentation="default">
+ <element href="conception.uml#_R_qg8OYHEd2ikLHnwqSzSg"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_R_p54uYHEd2ikLHnwqSzSg">
+ <property xmi:id="_R_p54-YHEd2ikLHnwqSzSg" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_R_p55OYHEd2ikLHnwqSzSg" presentation="default">
+ <element href="conception.uml#_R_qg8OYHEd2ikLHnwqSzSg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_R_p55eYHEd2ikLHnwqSzSg">
+ <property xmi:id="_R_p55uYHEd2ikLHnwqSzSg" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_R_p55-YHEd2ikLHnwqSzSg" presentation="default">
+ <element href="conception.uml#_R_qg8OYHEd2ikLHnwqSzSg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_JUFKoOlZEd2hcOPlZHSiFw" position="1162,210" size="235,-1">
+ <anchorage xmi:id="_NYCIQOlZEd2hcOPlZHSiFw" graphEdge="_NYCvUOlZEd2hcOPlZHSiFw"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_JUFKoelZEd2hcOPlZHSiFw" presentation="default">
+ <element href="conception.uml#_JUeMMOlZEd2hcOPlZHSiFw"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_JUFKoulZEd2hcOPlZHSiFw">
+ <property xmi:id="_JUFKo-lZEd2hcOPlZHSiFw" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_JUFKpOlZEd2hcOPlZHSiFw" presentation="default">
+ <element href="conception.uml#_JUeMMOlZEd2hcOPlZHSiFw"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_JUFKpelZEd2hcOPlZHSiFw">
+ <property xmi:id="_JUFKpulZEd2hcOPlZHSiFw" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_JUFKp-lZEd2hcOPlZHSiFw" presentation="default">
+ <element href="conception.uml#_JUeMMOlZEd2hcOPlZHSiFw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphEdge" xmi:id="_NYCvUOlZEd2hcOPlZHSiFw" anchor="_NYCIQOlZEd2hcOPlZHSiFw _nMqbYXj0Ed2Lq_BH-5XVEg">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_NYDWYOlZEd2hcOPlZHSiFw" presentation="default">
+ <element href="conception.uml#_NYDWYulZEd2hcOPlZHSiFw"/>
+ </semanticModel>
+ <contained xsi:type="di:EdgeObjectOffset" xmi:id="_NYDWYelZEd2hcOPlZHSiFw" id="stereotypeEdgeObject"/>
+ </contained>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="__ky04HmZEd2HRLLd0I1WrA" position="20,738" size="550,147">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="__ky04XmZEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#__k0DAHmZEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_CXGkcHmaEd2HRLLd0I1WrA" position="80,26" size="441,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_CXGkcXmaEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_CXHykHmaEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_CXGkcnmaEd2HRLLd0I1WrA">
+ <property xmi:id="_CXGkc3maEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_CXGkdHmaEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_CXHykHmaEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_CXGkdXmaEd2HRLLd0I1WrA">
+ <property xmi:id="_CXGkdnmaEd2HRLLd0I1WrA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_CXGkd3maEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_CXHykHmaEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_YWpvgHmbEd2HRLLd0I1WrA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_YWpvgXmbEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_YWpvgnmbEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_yXF9IHmcEd2HRLLd0I1WrA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_yXF9IXmcEd2HRLLd0I1WrA" presentation="default">
+ <element href="conception.uml#_yXGkMHmcEd2HRLLd0I1WrA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_-9_pwH2uEd22ZfAQrfk_WQ" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_-9_pwX2uEd22ZfAQrfk_WQ" presentation="default">
+ <element href="conception.uml#_--Be8H2uEd22ZfAQrfk_WQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ </contained>
+ </diagrams>
+ <subdiagrams xmi:id="_blzJsPWREdy_h6Mk-BiOHw">
+ <model href="conception.uml#_w8IxIM37EdqwVrslYOdUDA"/>
+ <diagrams xmi:id="_3z5UoKQ8Ed2AzttPnb4djA" position="0,0" size="100,100" name="unnamed" viewport="0,0">
+ <property xmi:id="_30mfQKQ8Ed2AzttPnb4djA" key="pageFormatName" value="A4"/>
+ <property xmi:id="_30mfQaQ8Ed2AzttPnb4djA" key="diagramWidth" value="840"/>
+ <property xmi:id="_30mfQqQ8Ed2AzttPnb4djA" key="diagramHeight" value="1188"/>
+ <property xmi:id="_30mfQ6Q8Ed2AzttPnb4djA" key="pageMarginName" value="Small Margin"/>
+ <property xmi:id="_30mfRKQ8Ed2AzttPnb4djA" key="diagramTopMargin" value="20"/>
+ <property xmi:id="_30mfRaQ8Ed2AzttPnb4djA" key="diagramBottomMargin" value="20"/>
+ <property xmi:id="_30mfRqQ8Ed2AzttPnb4djA" key="diagramLeftMargin" value="20"/>
+ <property xmi:id="_30mfR6Q8Ed2AzttPnb4djA" key="diagramRightMargin" value="20"/>
+ <property xmi:id="_30mfSKQ8Ed2AzttPnb4djA" key="orientation" value="portrait"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_3z5UoaQ8Ed2AzttPnb4djA" presentation="org.topcased.modeler.uml.classdiagram">
+ <element href="conception.uml#_w8IxIM37EdqwVrslYOdUDA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_4I8XkKQ8Ed2AzttPnb4djA" position="57,35" size="658,436">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_4I8XkaQ8Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_4JKaAKQ8Ed2AzttPnb4djA"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER5GYKQ9Ed2AzttPnb4djA" position="85,36" size="448,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER5GYaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER5GYqQ9Ed2AzttPnb4djA">
+ <property xmi:id="_ER5GY6Q9Ed2AzttPnb4djA" key="eStructuralFeatureID" value="37"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER5GZKQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER5GZaQ9Ed2AzttPnb4djA">
+ <property xmi:id="_ER5GZqQ9Ed2AzttPnb4djA" key="eStructuralFeatureID" value="47"/>
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER5GZ6Q9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_6MN4EKHlEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER8JsKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER8JsaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_gUeBgKHmEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER9-4KQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER9-4aQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_h-vyAKHmEd2BIt21aAt4XQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER-l8KQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER-l8aQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_x1foQKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER_NAKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER_NAaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_yucpgKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER_0EKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER_0EaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_zTIq8KHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ER_0EqQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ER_0E6Q9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_-cp9EKHmEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESAbIKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESAbIaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_aPi1MKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESAbIqQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESAbI6Q9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_oCavMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESBCMKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESBCMaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_ytZrMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESBpQKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESBpQaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_1j0esKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESBpQqQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESBpQ6Q9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_9IXOMKHnEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESCQUKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESCQUaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_GpkesKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESC3YKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESC3YaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_OR2esaHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESC3YqQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESC3Y6Q9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_k0lEwKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di:GraphNode" xmi:id="_ESEFgKQ9Ed2AzttPnb4djA" position="0,0" size="-1,-1">
+ <semanticModel xsi:type="di:EMFSemanticModelBridge" xmi:id="_ESEFgaQ9Ed2AzttPnb4djA" presentation="default">
+ <element href="conception.uml#_u1l2sKHoEd2T0aUWLQqzuQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ </contained>
+ </contained>
+ </diagrams>
+ </subdiagrams>
+</diagrams:Diagrams>
1
0
[Lutingenerator-commits] r485 - in eugene/trunk/src: main/java/org/nuiton/eugene/models/object/xml main/xsl test/java/org/nuiton/eugene/xmi/objectmodel
by fdesbois@users.labs.libre-entreprise.org 30 Apr '09
by fdesbois@users.labs.libre-entreprise.org 30 Apr '09
30 Apr '09
Author: fdesbois
Date: 2009-04-30 13:07:36 +0000 (Thu, 30 Apr 2009)
New Revision: 485
Modified:
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl
eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
Log:
reglage bug sur getSupplier a cause de digester : supplier devient supplierName dans l'objectModel (donc methodes setSupplierName et getSupplierName dans ObjectModelDependencyImpl)
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java 2009-04-29 15:06:40 UTC (rev 484)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java 2009-04-30 13:07:36 UTC (rev 485)
@@ -50,10 +50,14 @@
* Method call for Digester setting properties of Dependency
* @param supplierName
*/
- public void setSupplier(String supplierName) {
+ public void setSupplierName(String supplierName) {
this.supplierName = supplierName;
}
+ public String getSupplierName() {
+ return this.supplierName;
+ }
+
/**
* The object instance of supplier is getting from model when supplier is null
* @return an ObjectModelClassifier corresponding to the supplier of the dependency
Modified: eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl
===================================================================
--- eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2009-04-29 15:06:40 UTC (rev 484)
+++ eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2009-04-30 13:07:36 UTC (rev 485)
@@ -768,7 +768,7 @@
<xsl:attribute name="name">
<xsl:value-of select="@name"/>
</xsl:attribute>
- <xsl:attribute name="supplier">
+ <xsl:attribute name="supplierName">
<xsl:call-template name="fullClassName">
<xsl:with-param name="childpath">UML:Dependency.supplier</xsl:with-param>
</xsl:call-template>
Modified: eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
===================================================================
--- eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-29 15:06:40 UTC (rev 484)
+++ eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-30 13:07:36 UTC (rev 485)
@@ -398,7 +398,7 @@
<xsl:value-of select="@name" />
</xsl:attribute>
- <xsl:attribute name="supplier">
+ <xsl:attribute name="supplierName">
<xsl:call-template name="supplierName">
<xsl:with-param name="parent" select="current()" />
</xsl:call-template>
Modified: eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-29 15:06:40 UTC (rev 484)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-30 13:07:36 UTC (rev 485)
@@ -39,6 +39,7 @@
import org.junit.Before;
import org.junit.Test;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelDependency;
/**
* Test de la feuille de style "xmi1.2ToObjectModel.xsl"
@@ -175,6 +176,9 @@
int nbDependencies = 0;
for (ObjectModelClassifier classifier : model.getClassifiers()) {
nbDependencies += classifier.getDependencies().size();
+ for (ObjectModelDependency dependency : classifier.getDependencies()) {
+ Assert.assertNotNull(dependency.getSupplier());
+ }
}
Assert.assertEquals(4,nbDependencies);
1
0
[Lutingenerator-commits] r484 - eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml
by thimel@users.labs.libre-entreprise.org 29 Apr '09
by thimel@users.labs.libre-entreprise.org 29 Apr '09
29 Apr '09
Author: thimel
Date: 2009-04-29 15:06:40 +0000 (Wed, 29 Apr 2009)
New Revision: 484
Modified:
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java
Log:
Documentation reads into tagvalue
ReturnType is "void" if not set
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2009-04-26 20:40:15 UTC (rev 483)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2009-04-29 15:06:40 UTC (rev 484)
@@ -129,6 +129,9 @@
* @return the whole documentation associated with this element.
*/
public String getDocumentation() {
+ if (documentation == null && hasTagValue("documentation")) {
+ return getTagValue("documentation");
+ }
return documentation;
}
@@ -138,7 +141,7 @@
* @return the description associated with this element.
*/
public String getDescription() {
- return documentation.substring(0, documentation.indexOf("--"));
+ return getDocumentation().substring(0, getDocumentation().indexOf("--"));
}
/**
@@ -147,7 +150,7 @@
* @return the source documentation part associated with this element.
*/
public String getSourceDocumentation() {
- return documentation.substring(documentation.indexOf("--") + 2);
+ return getDocumentation().substring(getDocumentation().indexOf("--") + 2);
}
/**
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java 2009-04-26 20:40:15 UTC (rev 483)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelOperationImpl.java 2009-04-29 15:06:40 UTC (rev 484)
@@ -109,11 +109,13 @@
returnParameter.postInit();
returnParameter.setDeclaringElement(this);
this.returnParameter = returnParameter;
- // return returnParameter;
}
public String getReturnType() {
- return returnParameter.getType();
+ if (returnParameter != null) {
+ return returnParameter.getType();
+ }
+ return "void";
}
public String getVisibility() {
1
0
[Lutingenerator-commits] r483 - eugene/trunk eugene/trunk/src/main/java/org/nuiton/eugene eugene/trunk/src/main/java/org/nuiton/eugene/models/object eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml eugene/trunk/src/main/java/org/nuiton/eugene/models/ui eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml eugene/trunk/src/site eugene/trunk/src/site/en eugene/t
by chatellier@users.labs.libre-entreprise.org 26 Apr '09
by chatellier@users.labs.libre-entreprise.org 26 Apr '09
26 Apr '09
Author: chatellier
Date: 2009-04-26 20:40:15 +0000 (Sun, 26 Apr 2009)
New Revision: 483
Added:
eugene/trunk/src/site/en/
eugene/trunk/src/site/en/rst/
eugene/trunk/src/site/en/rst/LutinGenerator.rst
eugene/trunk/src/site/resources/
eugene/trunk/src/site/resources/images/
eugene/trunk/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java
maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java
Removed:
eugene/trunk/src/site/en/LutinGenerator.rst
eugene/trunk/src/site/rst/en/
eugene/trunk/src/site/rst/images/
maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/GeneratorPlugin.java
Modified:
eugene/trunk/changelog.txt
eugene/trunk/pom.xml
eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorTask.java
eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java
eugene/trunk/src/main/java/org/nuiton/eugene/PackageValidator.java
eugene/trunk/src/main/java/org/nuiton/eugene/StateModelGenerator.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModel.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelArguments.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelChild.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelConstraint.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelEvent.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelObject.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelProperty.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelChildImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelConstraintImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelObjectImpl.java
eugene/trunk/src/main/java/org/nuiton/eugene/package-info.java
eugene/trunk/src/site/rst/generatorHelp.txt
eugene/trunk/src/site/rst/index.rst
eugene/trunk/src/site/site.xml
maven-eugene-plugin/trunk/changelog.txt
maven-eugene-plugin/trunk/pom.xml
maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/helper/ResourceResolver.java
Log:
Improve eugene ant task.
Recode eugene plugin without ant.
Modified: eugene/trunk/changelog.txt
===================================================================
--- eugene/trunk/changelog.txt 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/changelog.txt 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,3 +1,8 @@
+1.0.0 xxx xxx
+ * Improve ant task
+ * Move to org.nuiton groupid
+ * Rename project to Eugene
+
0.65 chatellier 200903xx
* Format all code, add generic
Modified: eugene/trunk/pom.xml
===================================================================
--- eugene/trunk/pom.xml 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/pom.xml 2009-04-26 20:40:15 UTC (rev 483)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.codelutin</groupId>
<artifactId>lutinproject</artifactId>
- <version>3.4</version>
+ <version>3.5</version>
</parent>
<groupId>org.nuiton</groupId>
@@ -52,7 +52,7 @@
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.1</version>
- <scope>compile</scope>
+ <scope>provided</scope>
</dependency>
<dependency>
@@ -68,6 +68,12 @@
<artifactId>jaxen</artifactId>
<version>1.1.1</version>
<scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- Meta model uml d'eclipse -->
@@ -107,34 +113,37 @@
<!-- name du projet du labs -->
<labs.project>lutingenerator</labs.project>
- <lutinutil.version>1.0.3</lutinutil.version>
+ <lutinutil.version>1.0.4</lutinutil.version>
</properties>
<build>
<defaultGoal>install</defaultGoal>
+ <resources>
+ <resource>
+ <directory>${maven.src.dir}/main/xsl</directory>
+ <includes>
+ <include>**/*.xsl</include>
+ </includes>
+ </resource>
+ </resources>
+
<plugins>
- <!-- Always process jrst files, but only called on pre-site phase -->
+
<plugin>
- <groupId>org.codelutin</groupId>
- <artifactId>maven-jrst-plugin</artifactId>
- <version>0.8.4</version>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
<configuration>
- <directoryIn>${maven.src.dir}/site</directoryIn>
- <directoryOut>${maven.site.gen.dir}</directoryOut>
- <defaultLocale>fr</defaultLocale>
- <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
- <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
+ <locales>fr,en</locales>
</configuration>
- <executions>
- <execution>
- <phase>pre-site</phase>
- <goals>
- <goal>jrst</goal>
- </goals>
- </execution>
- </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.codelutin</groupId>
+ <artifactId>doxia-module-jrst</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ </dependencies>
</plugin>
<plugin>
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorTask.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorTask.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorTask.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -18,36 +18,34 @@
package org.nuiton.eugene;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.ServiceLoader;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
+import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.MatchingTask;
import org.apache.tools.ant.types.Path;
import org.codelutin.util.Resource;
+import org.codelutin.util.ZipUtil;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
@@ -61,11 +59,11 @@
* <taskdef name="generator" classname="org.nuiton.eugene.GeneratorTask"
* classpath="${compile.classpath}:${targetbuild}:${resources}" />
*
- * <target name="generate" depends="pre-compile" description="generate">
+ * <target name="generate" description="generate">
* <generator srcdir="${modelDir}" destdir="${targetgen}"
- * resolver="ResourceResolver"
- * templates="ClassInfoGenerator,JavaBeanGenerator"
- * properties="defaultPackage=org.codelutin,fullPackagePath=org.codelutin,extraPackages=org.codelutin"
+ * resolver="org.nuiton.exemple.ResourceResolver"
+ * templates="org.nuiton.example.JavaBeanGenerator"
+ * properties="defaultPackage=org.nuiton,fullPackagePath=org.nuiton,extraPackages=org.nuiton"
* classpath="${compile.classpath}:${targetbuild}:${resources}" />
* </target>
* </pre>
@@ -75,100 +73,89 @@
* @author Benjamin Poussin <poussin(a)codelutin.com> Copyright Code Lutin
* @version $Revision$
*
- * Mise a jour: $Date$
- * par : $Author$
+ * Mise a jour: $Date$
+ * par : $Author$
*/
public class GeneratorTask extends MatchingTask { // GeneratorTask
+ /** Ant classpath to use. */
+ protected Path classpath;
+
/** Template used in generation (comma separated). */
- protected String templates = null;
+ protected String templates;
- /** Template to exclude in templates list. */
- protected List<String> excludeTemplates;
-
/** Model directory. */
- protected File srcDir = null;
+ protected File srcDir;
/** Single model file. */
- protected File srcFile = null;
+ protected File srcFile;
/** Destination directory. */
- protected File destDir = null;
+ protected File destDir;
+ /**
+ * Transformation to do on model (comma separated).
+ *
+ * Values are :
+ * - object (transform into object model)
+ * - state (transform into state model)
+ */
+ protected String transformations = "object";
+
/** URI Resolver. */
- protected String resolver = null;
+ protected String resolver;
- /** Additional generator properties. */
+ /**
+ * Additional generator properties.
+ *
+ * Values are :
+ * - fullPackagePath : full package path
+ * - extraPackages : extra package path
+ * - defaultPackage (extra generated model files)
+ */
protected Properties properties = new Properties();
/** Overwrite already existing generated files. */
- protected boolean overwrite = true;
+ protected boolean overwrite;
- /**
- * Ant classpath to use.
- */
- private Path classpath = null;
-
- /** Enconding. Default to UTF-8. */
+ /** Encoding. Default to UTF-8. */
protected String encoding = "UTF-8";
- /** log. */
- private static final Log log = LogFactory.getLog(GeneratorTask.class);
+ /** Generation directory (default to 'build') */
+ protected String buildDirectory = "build";
- public GeneratorTask() {
-
+ /**
+ * Set the optional classpath to the XSL processor
+ *
+ * @param classpath the classpath to use when loading the XSL processor
+ */
+ public void setClasspath(Path classpath) {
+ Path antDefaulClasspath = createClasspath();
+ antDefaulClasspath.append(classpath);
}
- protected void doExecute(File srcFile, File destDir, Generator[] generators)
- throws BuildException {
- doExecute(new File[] { srcFile }, destDir, generators);
-
- }
-
- protected void doExecute(File[] srcFiles, File destDir,
- Generator[] generators) throws BuildException {
-
- srcFiles = doConvertFiles(srcFiles, destDir);
-
- for (Generator generator : generators) {
- if (generator != null) {
- log("Applying " + generator.getClass().getName() + " into "
- + destDir);
- generator.setProperties(properties);
- generator.setOverwrite(overwrite);
- for (int i = 0; i < srcFiles.length; i++) {
- if (srcFiles[i].getName().endsWith(".objectmodel")) {
- generator.generate(srcFiles[i], destDir);
- }
- }
- }
- }
- }
-
- public void setOverwrite(boolean v) {
- overwrite = v;
- }
-
+ /**
+ * Set templates (fully-qualified-name) to use
+ *
+ * (comma-separated).
+ *
+ * @param templates template to use.
+ */
public void setTemplates(String templates) {
this.templates = templates;
}
- public void setExcludeTemplates(List<String> excludeTemplates) {
- this.excludeTemplates = excludeTemplates;
- }
-
- public void setEncoding(String encoding) {
- this.encoding = encoding;
- }
-
/**
- * Set the optional classpath to the XSL processor
+ * Transformation to do.
*
- * @param classpath
- * the classpath to use when loading the XSL processor
+ * Values are :
+ * - object (transform into object model)
+ * - state (transform into state model)
+ *
+ * @param transformations transformations
*/
- public void setClasspath(Path classpath) {
- createClasspath().append(classpath);
+ public void setTransformations(String transformations) {
+ this.transformations = transformations;
}
/**
@@ -176,7 +163,7 @@
*
* @return a path instance to be configured by the Ant core.
*/
- public Path createClasspath() {
+ protected Path createClasspath() {
if (classpath == null) {
classpath = new Path(getProject());
}
@@ -184,10 +171,9 @@
}
/**
- * Permet d'ajouter des properties. exemple: toto=1,package=org.codelutin
+ * Permet d'ajouter des properties. exemple: toto=1,package=org.nuiton
*
- * @param properties
- * properties
+ * @param properties properties
*/
public void setProperties(String properties) {
String[] props = properties.split(",");
@@ -195,71 +181,83 @@
String[] pv = prop.split("=");
this.properties.put(pv[0], pv[1]);
}
- Logger.getLogger(getClass().getName() + ".setProperties").log(
- Level.FINE, "Properties " + this.properties);
}
+ /**
+ * Set overwrite value.
+ *
+ * @param overwrite overwrite value
+ */
+ public void setOverwrite(boolean overwrite) {
+ this.overwrite = overwrite;
+ }
+
+ /**
+ * Set encoding.
+ *
+ * @param encoding encoding
+ */
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
+ /**
+ * Set source directory.
+ *
+ * @param srcDir source directory
+ */
public void setSrcdir(File srcDir) {
this.srcDir = srcDir;
}
+ /**
+ * Set source file.
+ *
+ * @param srcFile source file
+ */
+ public void setSrcfile(File srcFile) {
+ this.srcFile = srcFile;
+ }
+
+ /**
+ * Set destination directory
+ *
+ * @param destDir destination directory
+ */
public void setDestdir(File destDir) {
this.destDir = destDir;
}
- public void setSrcFile(File srcFile) {
- this.srcFile = srcFile;
+ /**
+ * Set build directory.
+ *
+ * @param buildDirectory build directory
+ */
+ public void setBuilddirectory(String buildDirectory) {
+ this.buildDirectory = buildDirectory;
}
+ /**
+ * Set URI resolver (FQN).
+ *
+ * @param resolver uri resolver
+ */
public void setResolver(String resolver) {
this.resolver = resolver;
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public void execute() throws BuildException {
- Generator[] generators;
+
+ // check
if (templates == null) {
throw new BuildException("templates attribute must be set!",
getLocation());
}
- List<String> templateGenerators = Arrays.asList(templates.split(","));
- for (Iterator<String> it = templateGenerators.iterator(); it.hasNext();) {
- String templateGenerator = it.next();
- if (excludeTemplates != null
- && excludeTemplates.contains(templateGenerator)) {
- it.remove();
- }
- }
- generators = new Generator[templateGenerators.size()];
- for (int i = 0; i < templateGenerators.size(); i++) {
- String templateName = templateGenerators.get(i);
- try {
- generators[i] = newGeneratorInstance(templateName);
- // generators[i] = (Generator)
- // Class.forName(templateName).newInstance();
- generators[i].setExcludeTemplates(excludeTemplates);
- generators[i].setEncoding(encoding);
-
- } catch (ClassCastException eee) {
- System.out.println("Generator don't herite Generator Class : "
- + templateName);
- eee.printStackTrace();
- } catch (ClassNotFoundException eee) {
- System.out
- .println("Unable to find generator : " + templateName);
- eee.printStackTrace();
- } catch (InstantiationException eee) {
- System.out.println("Unable to instanciate template : "
- + templateName);
- eee.printStackTrace();
- } catch (IllegalAccessException eee) {
- System.out.println("Unable to parse topia input file : "
- + templateName);
- eee.printStackTrace();
- }
- }
-
if (destDir == null) {
throw new BuildException("destDir attribute must be set!",
getLocation());
@@ -272,7 +270,7 @@
if (srcFile == null && srcDir == null) {
throw new BuildException(
- "srcFile or srcdir attribute must be set!", getLocation());
+ "srcFile or srcDir attribute must be set!", getLocation());
}
if (srcFile != null && !srcFile.isFile()) {
@@ -280,229 +278,387 @@
+ "\" does not exist or is not a file", getLocation());
}
+ String[] templateGenerators = templates.split(",");
+ Generator[] generators = new Generator[templateGenerators.length];
+ for (int i = 0; i < templateGenerators.length; i++) {
+ String templateName = templateGenerators[i].trim();
+ try {
+ generators[i] = (Generator) Class.forName(templateName)
+ .newInstance();
+ generators[i].setEncoding(encoding);
+ generators[i].setProperties(properties);
+ generators[i].setOverwrite(overwrite);
+
+ } catch (ClassCastException e) {
+ log("Generator don't herite Generator Class", e,
+ Project.MSG_ERR);
+ } catch (ClassNotFoundException e) {
+ log("Unable to find generator" + templateName, e,
+ Project.MSG_ERR);
+ } catch (InstantiationException e) {
+ log("Unable to instanciate template" + templateName, e,
+ Project.MSG_ERR);
+ } catch (IllegalAccessException e) {
+ log("Unable to parse topia input file" + templateName, e,
+ Project.MSG_ERR);
+ }
+ }
+
if (srcFile != null) {
// generate the source files
doExecute(srcFile, destDir, generators);
} else {
DirectoryScanner scanner;
- String[] includedFilenames;
scanner = getDirectoryScanner(srcDir);
// Process all the files marked for styling
- includedFilenames = scanner.getIncludedFiles();
- File[] includedFiles = new File[includedFilenames.length];
+ String[] includedFilenames = scanner.getIncludedFiles();
+ List<File> includedFiles = new ArrayList<File>(
+ includedFilenames.length);
for (int i = 0; i < includedFilenames.length; ++i) {
- includedFiles[i] = new File(srcDir, includedFilenames[i]);
+ includedFiles.add(new File(srcDir, includedFilenames[i]));
}
doExecute(includedFiles, destDir, generators);
}
}
- private File[] doConvertFiles(File[] srcFiles, File destDir) {
+ /**
+ * Equivalent to <tt>doExecute(new File[] { srcFile }, destDir, generators)</tt>.
+ *
+ * @param srcFile file to apply generator to
+ * @param destDir destination directory
+ * @param generators generators to apply
+ * @throws BuildException if can't generate
+ */
+ protected void doExecute(File srcFile, File destDir, Generator[] generators)
+ throws BuildException {
+ doExecute(Collections.singletonList(srcFile), destDir, generators);
+ }
+
+ /**
+ * Execute generation on specified files.
+ *
+ * @param srcFiles files to apply generator to
+ * @param destDir destination directory
+ * @param generators generators to apply
+ * @throws BuildException if can't generate
+ */
+ protected void doExecute(List<File> srcFiles, File destDir,
+ Generator[] generators) throws BuildException {
+
+ // log classpath
+ log("Using classpath : " + classpath);
+
+ List<File> modelFiles = doConvertFiles(srcFiles, destDir);
+
+ for (Generator generator : generators) {
+ if (generator != null) {
+ for (File modelFile : modelFiles) {
+ log("Applying " + generator.getClass().getSimpleName()
+ + " on " + modelFile.getAbsolutePath(),
+ Project.MSG_INFO);
+ generator.generate(modelFile, destDir);
+ }
+ }
+ }
+ }
+
+ /**
+ * Convert srcFiles and return only eugene models files.
+ *
+ * Do following convertions :
+ * - unzip archive (zipped files)
+ * - xslt transformation (xmi files)
+ * - do nothing on model files
+ *
+ * @param srcFiles
+ * @param destDir
+ * @return model file list
+ */
+ protected List<File> doConvertFiles(List<File> srcFiles, File destDir) {
+
List<File> result = new ArrayList<File>();
- for (File file : srcFiles) {
- if (file.getName().endsWith(".objectmodel")) {
- result.add(file);
- } else {
- File xmiFile = null;
- String xmiVersion = null;
- String destFileName = file.getName().substring(0,
- file.getName().lastIndexOf('.'));
- File destUnZipDir = new File("tmp-" + destFileName);
+ // transform tranformations list
+ String[] transformationsArray = transformations.split(",");
- // unzip files
- if (file.getName().endsWith(".zargo")
- || file.getName().endsWith(".zuml")) {
+ for (File file : srcFiles) {
- // destination folder
- destUnZipDir.mkdir();
+ File currentFile = file;
- unzip(file, destUnZipDir);
+ // unzip if needed
+ // after loop file is xmi
+ if (isArchiveFile(currentFile)) {
- xmiFile = new File(destUnZipDir.getAbsolutePath()
- + File.separator + destFileName + ".xmi");
- } else if (file.getName().endsWith(".uml")
- || file.getName().endsWith(".xmi")) {
- xmiFile = file;
+ File unzipDirectory = new File(buildDirectory, "xmi");
+ if (unzipDirectory.exists()) {
+ unzipDirectory.mkdirs();
}
+ // log
+ log("Unzip " + currentFile.getAbsolutePath() + " into "
+ + unzipDirectory.getAbsolutePath(), Project.MSG_INFO);
+ try {
+ ZipUtil.uncompress(file, unzipDirectory);
+ } catch (IOException e) {
+ throw new BuildException("Error on unzip archive", e);
+ }
- System.out.println(xmiFile);
+ String xmiName = currentFile.getName().substring(0,
+ currentFile.getName().lastIndexOf('.'))
+ + ".xmi";
+ currentFile = new File(unzipDirectory, xmiName);
+ }
- // XMI to ObjectModel
- xmiVersion = getXmiVersion(xmiFile);
- String omFileName = srcDir + File.separator + destFileName
- + ".objectmodel";
- if (xmiVersion.equals("1.2")) {
- XMLtransform(xmiFile.getAbsolutePath(), omFileName,
- "xmi1.2ToObjectModel.xsl");
- } else if (xmiVersion.equals("2.1")) {
- XMLtransform(xmiFile.getAbsolutePath(), omFileName,
- "xmi2.1ToObjectModel.xsl");
- }
+ // transform file if needed
+ // after loop file is model (object, state, ui)
+ if (isXmiFile(currentFile)) {
+ String xmiVersion = getXmiVersion(currentFile);
- result.add(new File(omFileName));
+ if (xmiVersion != null) {
- // delete unzipped files
- if (file.getName().endsWith(".zargo")
- || file.getName().endsWith(".zuml")) {
+ // model directory
+ File outputDirectory = new File(buildDirectory, "models");
+ outputDirectory.mkdirs();
+ // single model name
+ String modelName = currentFile.getName().substring(0,
+ currentFile.getName().lastIndexOf('.'));
- delete(destUnZipDir);
+ for (String transformation : transformationsArray) {
+
+ // object
+ if (transformation.trim().equalsIgnoreCase("object")) {
+ File outputFile = new File(outputDirectory,
+ modelName + ".objectmodel");
+ if (xmiVersion.equals("1.2")) {
+ log("Apply XMI 1.2 to object model XSLT on "
+ + currentFile.getAbsolutePath(),
+ Project.MSG_INFO);
+ executeXSLT(currentFile, outputFile,
+ "xmi1.2ToObjectModel.xsl");
+ } else if (xmiVersion.equals("2.1")) {
+ log("Apply XMI 2.1 to object model XSLT on "
+ + currentFile.getAbsolutePath(),
+ Project.MSG_INFO);
+ executeXSLT(currentFile, outputFile,
+ "xmi2.1ToObjectModel.xsl");
+ }
+
+ // can have more than one model file
+ // for one xmi
+ result.add(outputFile);
+ }
+
+ // state
+ else if (transformation.trim()
+ .equalsIgnoreCase("state")) {
+ File outputFile = new File(outputDirectory,
+ modelName + ".statemodel");
+ if (xmiVersion.equals("1.2")) {
+ log("Apply XMI 1.2 to state model XSLT on "
+ + currentFile.getAbsolutePath(),
+ Project.MSG_INFO);
+ executeXSLT(currentFile, outputFile,
+ "xmi1.2ToStateModel.xsl");
+ } else if (xmiVersion.equals("2.1")) {
+ throw new BuildException(
+ "State model transformation is not supported for xmi 2.1");
+ }
+
+ // can have more than one model file
+ // for one xmi
+ result.add(outputFile);
+ }
+ }
+ } else {
+ throw new BuildException(
+ "Can't get xmi version from file : "
+ + currentFile.getAbsolutePath());
}
+ }
+ // others files
+ // we can have model files or non model file
+ else if (isModelFile(currentFile)) {
+ result.add(currentFile);
}
+
}
- return result.toArray(new File[result.size()]);
+
+ return result;
}
- private void unzip(File zipFile, File destFile) {
- try {
+ /**
+ * Test if file is an archive.
+ *
+ * @param file file to test
+ * @return test result
+ */
+ protected boolean isArchiveFile(File file) {
+ String fileName = file.getName();
- // uncompress zip archive
- ZipInputStream zipin = new ZipInputStream(new FileInputStream(
- zipFile));
- ZipEntry zipe = null;
- while ((zipe = zipin.getNextEntry()) != null) {
- FileOutputStream fileout = new FileOutputStream(destFile
- .getAbsolutePath()
- + File.separator + zipe.getName());
+ boolean result = fileName.endsWith(".zargo")
+ || fileName.endsWith(".zuml");
+ return result;
+ }
- // write current file
- byte[] buf = new byte[1024];
- int rsize;
- while ((rsize = zipin.read(buf)) > -1)
- fileout.write(buf, 0, rsize);
+ /**
+ * Test if file is a xmi.
+ *
+ * @param file file to test
+ * @return test result
+ */
+ protected boolean isXmiFile(File file) {
+ String fileName = file.getName();
- zipin.closeEntry();
- fileout.close();
- }
- zipin.close();
- } catch (Exception e) {
- System.out.println("Unzip error");
- e.printStackTrace();
- }
+ boolean result = fileName.endsWith(".uml") || fileName.endsWith(".xmi");
+ return result;
}
- private void delete(File dir) {
- if (dir.exists()) {
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- delete(files[i]);
- } else {
- files[i].delete();
- }
- }
- }
- dir.delete();
+ /**
+ * Test if file is a model
+ *
+ * @param file file to test
+ * @return test result
+ */
+ protected boolean isModelFile(File file) {
+ String fileName = file.getName();
+
+ boolean result = fileName.endsWith(".objectmodel")
+ || fileName.endsWith(".statemodel");
+ return result;
}
- private String getXmiVersion(File XMIFile) {
+ /**
+ * Try to find xmi version on a file.
+ *
+ * @param xmiFile file to inspect
+ * @return version or null if version can't have been found
+ */
+ protected String getXmiVersion(File xmiFile) {
String version = null;
+
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+
try {
- SAXParserFactory fabrique = SAXParserFactory.newInstance();
- SAXParser parser = fabrique.newSAXParser();
+ SAXParser parser = factory.newSAXParser();
- DefaultHandler handler = new XmiVersionHandler();
- parser.parse(XMIFile, handler);
+ XmiVersionHandler handler = new XmiVersionHandler();
+ parser.parse(xmiFile, handler);
- } catch (Exception e) {
- version = e.getMessage();
+ version = handler.getVersion();
+ } catch (ParserConfigurationException e) {
+ log("Can't parse file as xmi", e, Project.MSG_DEBUG);
+ } catch (SAXException e) {
+ log("Can't parse file as xmi", e, Project.MSG_DEBUG);
+ } catch (IOException e) {
+ log("Can't parse file as xmi", e, Project.MSG_DEBUG);
}
+
return version;
}
- private class XmiVersionHandler extends DefaultHandler {
+ /**
+ * Sax handler to find xmi version into xmi document.
+ */
+ protected class XmiVersionHandler extends DefaultHandler {
+
public String version = null;
public XmiVersionHandler() {
super();
}
+ public String getVersion() {
+ return version;
+ }
+
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
if (qName.equals("XMI")) {
version = attributes.getValue("xmi.version");
+ log("XMI version found : " + version, Project.MSG_DEBUG);
}
+
if (version == null) {
version = attributes.getValue("xmi:version");
+ log("XMI version found : " + version, Project.MSG_DEBUG);
}
- if (log.isInfoEnabled()) {
- log.info("XMI version found : " + version);
- }
- throw new SAXException(version);
}
-
- public void startDocument() throws SAXException {
- if (log.isInfoEnabled()) {
- log.info("Parsing XMI version...");
- }
- }
-
- public void endDocument() throws SAXException {
- if (log.isInfoEnabled()) {
- log.info("XMI version not found");
- }
- }
}
- private void XMLtransform(String xmlFrom, String xmlTo, String xsl) {
+ /**
+ * Do XSLT transformation on given file using specific stylesheet.
+ *
+ * @param xmiFile xmi file to transform
+ * @param modelFile result of transformation
+ * @param stylesheet stylesheet to use
+ */
+ protected void executeXSLT(File xmiFile, File modelFile, String stylesheet) {
- if (log.isDebugEnabled()) {
- log.debug("XMLtransform : java.class.path = "
- + System.getProperty("java.class.path"));
- }
-
// Transformation XSL
try {
- String[] jars = classpath.list();
- URL[] jarsURL = new URL[jars.length];
- for (int i = 0; i < jars.length; i++) {
- jarsURL[i] = new File(jars[i]).toURI().toURL();
+ // transform ant classpath into
+ // URLclassloader
+ ClassLoader urlLoader = null;
+ if (classpath != null) {
+ String[] jars = classpath.list();
+ URL[] jarsURL = new URL[jars.length];
+ for (int i = 0; i < jars.length; i++) {
+ jarsURL[i] = new File(jars[i]).toURI().toURL();
+ }
+ urlLoader = new URLClassLoader(jarsURL);
+ } else {
+ urlLoader = Thread.currentThread().getContextClassLoader();
}
- URLClassLoader urlLoader = new URLClassLoader(jarsURL);
-
- URIResolver tresolver = (URIResolver) Class.forName(resolver, true,
- urlLoader).newInstance();
-
- // FIXME remove hard coded factory name
- Iterator<TransformerFactory> itTransformerFactory =
- ServiceLoader.load(TransformerFactory.class, urlLoader).iterator();
+ // Load Transformer with service loader
+ Iterator<TransformerFactory> itTransformerFactory = ServiceLoader
+ .load(TransformerFactory.class, urlLoader).iterator();
if (!itTransformerFactory.hasNext()) {
- throw new BuildException("No XLTS Transformer found");
+ throw new BuildException("No XSLT Transformer found");
}
- // take first impl found
TransformerFactory transformerFactory = itTransformerFactory.next();
- URL uxsl = Resource.getURL(xsl);
+ URL uxsl = Resource.getURL(stylesheet);
StreamSource stylesource = new StreamSource(uxsl.openStream());
- Transformer transformer = transformerFactory.newTransformer(stylesource);
- transformer.setParameter("fullPackagePath", properties
- .getProperty("fullPackagePath"));
- transformer.setParameter("extraPackages", properties
- .getProperty("extraPackages"));
- transformer.setURIResolver(tresolver);
- if (log.isInfoEnabled()) {
- log.info("FROM: " + xmlFrom);
- log.info("TO: " + xmlTo);
+ Transformer transformer = transformerFactory
+ .newTransformer(stylesource);
+
+ if (properties.containsKey("fullPackagePath")) {
+ transformer.setParameter("fullPackagePath", properties
+ .getProperty("fullPackagePath"));
}
- transformer.transform(new StreamSource(xmlFrom), new StreamResult(
- xmlTo));
- } catch (Exception e) {
- System.out.println("Transformation error");
- e.printStackTrace();
+
+ if (properties.containsKey("extraPackages")) {
+ transformer.setParameter("extraPackages", properties
+ .getProperty("extraPackages"));
+ }
+
+ if (resolver != null && !resolver.isEmpty()) {
+ URIResolver tresolver = (URIResolver) Class.forName(resolver,
+ true, urlLoader).newInstance();
+ transformer.setURIResolver(tresolver);
+ }
+
+ transformer.transform(new StreamSource(xmiFile.getAbsolutePath()),
+ new StreamResult(modelFile.getAbsolutePath()));
+ } catch (TransformerException e) {
+ throw new BuildException("Transformation exception (xslt)", e);
+ } catch (MalformedURLException e) {
+ throw new BuildException("Invalid jar url", e);
+ } catch (InstantiationException e) {
+ throw new BuildException("Can't init resolver", e);
+ } catch (IllegalAccessException e) {
+ throw new BuildException("Can't access resolver", e);
+ } catch (ClassNotFoundException e) {
+ throw new BuildException("Can't found resolver", e);
+ } catch (IOException e) {
+ throw new BuildException("Error while trying to access stylesheet",
+ e);
}
}
- protected Generator newGeneratorInstance(String fqn)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException {
- Generator newInstance = (Generator) Class.forName(fqn).newInstance();
-
- return newInstance;
- }
} // GeneratorTask
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -35,12 +35,12 @@
/**
* GeneratorUtil.
*
- * Created: 25 ao?t 2003
+ * Created: 25 aout 2003
*
* @author Benjamin Poussin <poussin(a)codelutin.com> Copyright Code Lutin
- * @version $Revision: 317 $
- * Mise à jour: $Date: 2008-09-25 10:45:22 +0200 (jeu 25 sep 2008) $
- * By : $Author: thimel $
+ * @version $Revision$
+ * Mise à jour: $Date$
+ * By : $Author$
*/
public class GeneratorUtil {
@@ -85,7 +85,7 @@
/**
* return all classifiers belonging to the given package recursively. The Collection may be empty.
- * @see ObjectModelCassifier
+ * @see ObjectModelClassifier
*
* @return a Collection containing all classifiers belonging to the given package recursively.
*/
@@ -112,7 +112,7 @@
* ou le type defini si la cardinalité n'est pas multiple
*
* @param attribute
- * @return
+ * @return attribute type
*/
public static String getAttributeType(ObjectModelParameter attribute,
boolean useGenerics) {
@@ -139,8 +139,9 @@
*/
public static boolean isPrimitiveAttributeType(
ObjectModelAttribute attribute) {
- if (isNMultiplicity(attribute))
+ if (isNMultiplicity(attribute)) {
return false;
+ }
String type = attribute.getType();
return ("byte".equals(type) || "short".equals(type)
|| "int".equals(type) || "long".equals(type)
@@ -153,75 +154,103 @@
* @return a String with the corresponding attribute init value
*/
public static String getInitValue(ObjectModelAttribute attribute) {
- if (isNMultiplicity(attribute))
+ if (isNMultiplicity(attribute)) {
return "new java.util.ArrayList()";
+ }
return getInitValue(attribute.getType());
}
public static String getInitValue(String type) {
- if ("byte".equals(type))
+ if ("byte".equals(type)) {
return "0";
- if ("short".equals(type))
+ }
+ if ("short".equals(type)) {
return "0";
- if ("int".equals(type))
+ }
+ if ("int".equals(type)) {
return "0";
- if ("long".equals(type))
+ }
+ if ("long".equals(type)) {
return "0";
- if ("float".equals(type))
+ }
+ if ("float".equals(type)) {
return "0";
- if ("double".equals(type))
+ }
+ if ("double".equals(type)) {
return "0";
- if ("char".equals(type))
+ }
+ if ("char".equals(type)) {
return "\u0000";
- if ("boolean".equals(type))
+ }
+ if ("boolean".equals(type)) {
return "false";
- if ("java.lang.String".equals(type))
+ }
+ if ("java.lang.String".equals(type)) {
return null;
- if ("java.lang.Date".equals(type))
+ }
+ if ("java.lang.Date".equals(type)) {
return null;
+ }
return null;
}
public static String getCastValue(String type, String o) {
- if ("byte".equals(type))
+ if ("byte".equals(type)) {
return "((Byte)" + o + ").byteValue()";
- if ("short".equals(type))
+ }
+ if ("short".equals(type)) {
return "((Short)" + o + ").shortValue()";
- if ("int".equals(type))
+ }
+ if ("int".equals(type)) {
return "((Integer)" + o + ").intValue()";
- if ("long".equals(type))
+ }
+ if ("long".equals(type)) {
return "((Long)" + o + ").longValue()";
- if ("float".equals(type))
+ }
+ if ("float".equals(type)) {
return "((Float)" + o + ").floatValue()";
- if ("double".equals(type))
+ }
+ if ("double".equals(type)) {
return "((Double)" + o + ").doubleValue()";
- if ("char".equals(type))
+ }
+ if ("char".equals(type)) {
return "((Character)" + o + ").charValue()";
- if ("boolean".equals(type))
+ }
+ if ("boolean".equals(type)) {
return "((Boolean)" + o + ").booleanValue()";
- if ("void".equals(type))
+ }
+ if ("void".equals(type)) {
return "";
+ }
return "(" + type + ")" + o;
}
public static String getHashCodeExpression(String type, String o) {
String result = o;
- if ("byte".equals(type))
+ if ("byte".equals(type)) {
result = "new Byte(" + o + ")";
- if ("short".equals(type))
+ }
+ if ("short".equals(type)) {
result = "new Short(" + o + ")";
- if ("int".equals(type))
+ }
+ if ("int".equals(type)) {
result = "new Integer(" + o + ")";
- if ("long".equals(type))
+ }
+ if ("long".equals(type)) {
result = "new Long(" + o + ")";
- if ("float".equals(type))
+ }
+ if ("float".equals(type)) {
result = "new Float(" + o + ")";
- if ("double".equals(type))
+ }
+ if ("double".equals(type)) {
result = "new Double(" + o + ")";
- if ("char".equals(type))
+ }
+ if ("char".equals(type)) {
result = "new Character(" + o + ")";
- if ("boolean".equals(type))
+ }
+ if ("boolean".equals(type)) {
result = "new Boolean(" + o + ")";
+ }
return result + ".hashCode()";
}
@@ -276,8 +305,9 @@
* @return true is the multiplicity of the given attribute is exactly 1
*/
public static boolean isOneMultiplicity(ObjectModelAttribute attribute) {
- if (attribute == null)
+ if (attribute == null) {
return false;
+ }
return ((attribute.getMinMultiplicity() == 1) && (attribute
.getMaxMultiplicity() == 1));
}
@@ -320,51 +350,71 @@
public static String getParsingExpression(String type,
String attributeStringName) {
- if ("byte".equals(type))
+ if ("byte".equals(type)) {
return "Byte.parseByte(" + attributeStringName + ")";
- if ("short".equals(type))
+ }
+ if ("short".equals(type)) {
return "Short.parseShort(" + attributeStringName + ")";
- if ("int".equals(type))
+ }
+ if ("int".equals(type)) {
return "Integer.parseInt(" + attributeStringName + ")";
- if ("long".equals(type))
+ }
+ if ("long".equals(type)) {
return "Long.parseLong(" + attributeStringName + ")";
- if ("float".equals(type))
+ }
+ if ("float".equals(type)) {
return "Float.parseFloat(" + attributeStringName + ")";
- if ("double".equals(type))
+ }
+ if ("double".equals(type)) {
return "Double.parseDouble(" + attributeStringName + ")";
- if ("char".equals(type))
+ }
+ if ("char".equals(type)) {
return attributeStringName + ".charAt(0)";
- if ("boolean".equals(type))
+ }
+ if ("boolean".equals(type)) {
return "Boolean.parseBoolean(" + attributeStringName + ")";
- if ("java.lang.String".equals(type))
+ }
+ if ("java.lang.String".equals(type)) {
return attributeStringName;
- if ("java.util.Date".equals(type))
+ }
+ if ("java.util.Date".equals(type)) {
return "dateParser.parse(" + attributeStringName + ")";
+ }
return null;
}
public static String getFormatingExpression(String type,
String attributeStringName) {
- if ("byte".equals(type))
+ if ("byte".equals(type)) {
return "Byte.toString(" + attributeStringName + ")";
- if ("short".equals(type))
+ }
+ if ("short".equals(type)) {
return "Short.toString(" + attributeStringName + ")";
- if ("int".equals(type))
+ }
+ if ("int".equals(type)) {
return "Integer.toString(" + attributeStringName + ")";
- if ("long".equals(type))
+ }
+ if ("long".equals(type)) {
return "Long.toString(" + attributeStringName + ")";
- if ("float".equals(type))
+ }
+ if ("float".equals(type)) {
return "Float.toString(" + attributeStringName + ")";
- if ("double".equals(type))
+ }
+ if ("double".equals(type)) {
return "Double.toString(" + attributeStringName + ")";
- if ("char".equals(type))
+ }
+ if ("char".equals(type)) {
return "Character.toString(" + attributeStringName + ")";
- if ("boolean".equals(type))
+ }
+ if ("boolean".equals(type)) {
return "Boolean.parseBoolean(" + attributeStringName + ")";
- if ("java.lang.String".equals(type))
+ }
+ if ("java.lang.String".equals(type)) {
return attributeStringName;
- if ("java.util.Date".equals(type))
+ }
+ if ("java.util.Date".equals(type)) {
return "dateParser.format(" + attributeStringName + ")";
+ }
return null;
}
Property changes on: eugene/trunk/src/main/java/org/nuiton/eugene/GeneratorUtil.java
___________________________________________________________________
Name: svn:keywords
+ Date Author Revision
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/PackageValidator.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/PackageValidator.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/PackageValidator.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -68,10 +68,12 @@
*/
public static boolean isValid(String fullPackagePath,
String localPackageName, String extraPackages) {
- if (localPackageName.startsWith(fullPackagePath))
+ if (localPackageName.startsWith(fullPackagePath)) {
return true;
- if (localPackageName.length() == 0)
+ }
+ if (localPackageName.length() == 0) {
return false;
+ }
String[] packages = extraPackages.split(",");
for (int i = 0; i < packages.length; i++) {
packages[i] = packages[i].trim();
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/StateModelGenerator.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/StateModelGenerator.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/StateModelGenerator.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -241,7 +241,7 @@
* Return filename from model
*
* @param stateModel
- * @return
+ * @return model file name
*/
protected String getFilenameFromModel(StateModel stateModel) {
return stateModel.getName();
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModel.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -44,7 +44,7 @@
*
* @return a Collection containing all ObjectModelClassifier for this model.
*/
- public abstract Collection<ObjectModelClassifier> getClassifiers();
+ public Collection<ObjectModelClassifier> getClassifiers();
/**
* Returns the classifier corresponding to the given qualified name, or null if the model contains no classifier for this qualified name.
@@ -52,7 +52,7 @@
*
* @return the ObjectModelClassifier of the found classifier, or null if the model contains no classifier for this qualified name.
*/
- public abstract ObjectModelClassifier getClassifier(
+ public ObjectModelClassifier getClassifier(
String qualifiedClassifierName);
/**
@@ -61,7 +61,7 @@
*
* @return a Collection containing all ObjectModelClass for this model.
*/
- public abstract Collection<ObjectModelClass> getClasses();
+ public Collection<ObjectModelClass> getClasses();
/**
* Returns the class corresponding to the given qualified name, or null if the model contains no class for this qualified name.
@@ -69,7 +69,7 @@
*
* @return the ObjectModelClass of the found class, or null if the model contains no class for this qualified name.
*/
- public abstract ObjectModelClass getClass(String qualifiedClassName);
+ public ObjectModelClass getClass(String qualifiedClassName);
/**
* Indicates whether the model contains the class associated to the given className
@@ -77,7 +77,7 @@
*
* @return true if the class has been found.
*/
- public abstract boolean hasClass(String qualifiedClassName);
+ public boolean hasClass(String qualifiedClassName);
/**
* Returns all interfaces defined in this model.
@@ -85,7 +85,7 @@
*
* @return a Collection containing all ObjectModelInterface for this model.
*/
- public abstract Collection<ObjectModelInterface> getInterfaces();
+ public Collection<ObjectModelInterface> getInterfaces();
/**
* Returns the interface corresponding to the given qualified name, or null if the model contains no interface for this qualified name.
@@ -93,7 +93,7 @@
*
* @return the ObjectModelInterface of the found interface, or null if the model contains no interface for this qualified name.
*/
- public abstract ObjectModelInterface getInterface(
+ public ObjectModelInterface getInterface(
String qualifiedInterfaceName);
/**
@@ -101,6 +101,6 @@
*
* @return a List containing all comments for this model as Strings.
*/
- public abstract List<String> getComments();
+ public List<String> getComments();
} //ObjectModel
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAssociationClass.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -37,7 +37,7 @@
*
* @return a List containing all participants attributes for this association class.
*/
- public abstract List<ObjectModelAttribute> getParticipantsAttributes();
+ public List<ObjectModelAttribute> getParticipantsAttributes();
/**
* Returns all participants (that is association ends) classifiers for this association class.
@@ -45,6 +45,6 @@
*
* @return a List containing all participants classifiers for this association class.
*/
- public abstract List<ObjectModelClassifier> getParticipantsClassifiers();
+ public List<ObjectModelClassifier> getParticipantsClassifiers();
} //ObjectModelAssociationClass
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelAttribute.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -37,21 +37,21 @@
*
* @return the type of this attribute.
*/
- public abstract String getType();
+ public String getType();
/**
* Returns whether this attribute is an aggregate or not.
*
* @return a boolean indicating whether this attribute is an aggregate or not.
*/
- public abstract boolean isAggregate();
+ public boolean isAggregate();
/**
* Returns whether this attribute is a composite or not.
*
* @return a boolean indicating whether this attribute is a composite or not.
*/
- public abstract boolean isComposite();
+ public boolean isComposite();
/**
* Returns the visibility of this attribute.
@@ -59,7 +59,7 @@
*
* @return the visibility of this attribute.
*/
- public abstract String getVisibility();
+ public String getVisibility();
/**
* Returns the minimal multiplicity of this attribute.
@@ -67,7 +67,7 @@
*
* @return the minimal multiplicity of this attribute.
*/
- public abstract int getMinMultiplicity();
+ public int getMinMultiplicity();
/**
* Returns the maximal multiplicity of this attribute.
@@ -75,21 +75,21 @@
*
* @return the maximal multiplicity of this attribute.
*/
- public abstract int getMaxMultiplicity();
+ public int getMaxMultiplicity();
/**
* Returns whether this attribute reference a model classifier or not.
*
* @return a boolean indicating whether this attribute reference a model classifier or not.
*/
- public abstract boolean referenceClassifier();
+ public boolean referenceClassifier();
/**
* Returns the classifier referenced by this attribute or null if it does not reference a model classifier.
*
* @return the ObjectModelClassfifier referenced by this attribute or null if it does not reference a model classifier.
*/
- public abstract ObjectModelClassifier getClassifier();
+ public ObjectModelClassifier getClassifier();
/**
* Returns the attribute used to reference this class at the other end of the association or null if this is not an association, or if it is not bi-directionnal.
@@ -97,60 +97,65 @@
*
* @return the ObjectModelAttribute used to reference this class at the other end of the association or null if this is not an association, or if it is not bi-directionnal.
*/
- public abstract ObjectModelAttribute getReverseAttribute();
+ public ObjectModelAttribute getReverseAttribute();
+ /**
+ * Return attribute reserver attribute name.
+ *
+ * @return reverse attribute name or null
+ */
public String getReverseAttributeName();
/**
* max multiplicity of the reverse attribute
* @return max multiplicity of the reverse attribute
*/
- public abstract int getReverseMaxMultiplicity();
+ public int getReverseMaxMultiplicity();
/**
* Returns the association class associated with this association, or null if there is none.
*
* @return a ObjectModelClass corresponding to the association class associated with this association, or null if there is none.
*/
- public abstract ObjectModelClass getAssociationClass();
+ public ObjectModelClass getAssociationClass();
/**
* Returns whether this association has an associated association class, ot not.
*
* @return a boolean indicating whether this association has an associated association class, ot not.
*/
- public abstract boolean hasAssociationClass();
+ public boolean hasAssociationClass();
/**
* Returns whether this attribute is static or not.
*
* @return a boolean indicating whether this attribute is static or not.
*/
- public abstract boolean isStatic();
+ public boolean isStatic();
/**
* Returns whether this attribute is final or not.
*
* @return a boolean indicating whether this attribute is final or not.
*/
- public abstract boolean isFinal();
+ public boolean isFinal();
/**
* true if this attribute is navigable
* @return true if this attribute is navigable
*/
- public abstract boolean isNavigable();
+ public boolean isNavigable();
/**
* true if this attribute is isOrdered
* @return true if this attribute is isOrdered
*/
- public abstract boolean isOrdered();
+ public boolean isOrdered();
/**
* true if this attribute is isIndexed
* @return true if this attribute is isIndexed
*/
- public abstract boolean isIndexed();
+ public boolean isIndexed();
} //ObjectModelAttribute
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClass.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -40,14 +40,15 @@
*
* @return a Collection containing all parent ObjectModelClass for this class.
*/
- public abstract Collection<ObjectModelClass> getSuperclasses();
+ public Collection<ObjectModelClass> getSuperclasses();
/**
* Returns the discriminator for the given superclass.
*
+ * @param superclass super class to get discriminator
* @return the discriminator for the given superclass as a String if it exists, null otherwise.
*/
- public abstract String getDiscriminator(ObjectModelClass superclass);
+ public String getDiscriminator(ObjectModelClass superclass);
/**
* Returns all known direct specialized classes for this class.
@@ -55,15 +56,16 @@
*
* @return a Collection containing all known direct specialized ObjectModelClass for this class.
*/
- public abstract Collection<ObjectModelClass> getSpecialisations();
+ public Collection<ObjectModelClass> getSpecialisations();
/**
* Returns all known direct specialized classes for this class for the specified discriminator.
* @see ObjectModelClass
*
+ * @param discriminator discriminator to get specialisations
* @return a Collection containing all known direct specialized ObjectModelClass for this class for the specified discriminator.
*/
- public abstract Collection<ObjectModelClass> getSpecialisations(
+ public Collection<ObjectModelClass> getSpecialisations(
String discriminator);
/**
@@ -72,21 +74,22 @@
*
* @return a Collection containing all ObjectModelAttribute for this class.
*/
- public abstract Collection<ObjectModelAttribute> getAttributes();
+ public Collection<ObjectModelAttribute> getAttributes();
/**
* Returns the attribute corresponding to the given name, or null if the class contains no attribute for this name.
*
+ * @param attributeName attribute name
* @return the ObjectModelAttribute of the found attribute, or null if the class contains no attribute for this name.
*/
- public abstract ObjectModelAttribute getAttribute(String attributeName);
+ public ObjectModelAttribute getAttribute(String attributeName);
/**
* Returns whether this class is abstract or not.
*
* @return a boolean indicating whether this class is abstract or not.
*/
- public abstract boolean isAbstract();
+ public boolean isAbstract();
/**
* Returns all operations defined on all Super class extended by this
@@ -96,7 +99,7 @@
* are add to list.
* @return a Collection of ObjectModelOperation
*/
- public abstract Collection<ObjectModelOperation> getAllSuperclassOperations(
+ public Collection<ObjectModelOperation> getAllSuperclassOperations(
boolean distinct);
/**
@@ -104,6 +107,6 @@
* classifier, directly or indirectly.
* @return a Collection of ObjectModelAttribute
*/
- public abstract Collection<ObjectModelAttribute> getAllOtherAttributes();
+ public Collection<ObjectModelAttribute> getAllOtherAttributes();
} //ObjectModelClass
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -36,7 +36,7 @@
*
* @return the package name of this classifier.
*/
- public abstract String getPackageName();
+ public String getPackageName();
/**
* Returns the qualified name of this classifier.
@@ -48,7 +48,8 @@
/**
* Returns all parent interfaces for this classifier.
- * @see ObjectModelclassifier
+ *
+ * @see ObjectModelClassifier
*
* @return a Collection containing all parent ObjectModelInterface for this classifier.
*/
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -26,8 +26,10 @@
*
* @author Florian Desbois <desbois(a)codelutin.com>
* Copyright Code Lutin
- * @version $Revision: 478 $
- *
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * by : $Author$
*/
public interface ObjectModelDependency {
/**
Property changes on: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
___________________________________________________________________
Name: svn:keywords
+ Date Author Revision
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelElement.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -38,49 +38,50 @@
*
* @return the name of this element.
*/
- public abstract String getName();
+ public String getName();
/**
* Returns the element in which this element is defined, or null if there's none.
*
* @return the ObjectModelElement in which this element is defined, or null if there's none.
*/
- public abstract ObjectModelElement getDeclaringElement();
+ public ObjectModelElement getDeclaringElement();
/**
* Returns the whole documentation associated with this element (description + source documentation).
*
* @return the whole documentation associated with this element.
*/
- public abstract String getDocumentation();
+ public String getDocumentation();
/**
* Returns the description associated with this element.
*
* @return the description associated with this element.
*/
- public abstract String getDescription();
+ public String getDescription();
/**
* Returns the source documentation part associated with this element.
*
* @return the source documentation part associated with this element.
*/
- public abstract String getSourceDocumentation();
+ public String getSourceDocumentation();
/**
* Returns the stereotypes names associated with this element.
*
* @return a Collection containing all stereotypes names associated with this element as String.
*/
- public abstract Collection<String> getStereotypes();
+ public Collection<String> getStereotypes();
/**
* Returns whether this element has a stereotype corresponding to the given name, or not.
*
+ * @param stereotypeName stereotype name
* @return a boolean indicating whether this element has a stereotype corresponding to the given name, or not.
*/
- public abstract boolean hasStereotype(String stereotypeName);
+ public boolean hasStereotype(String stereotypeName);
/**
* Returns the tagValues associated with this element.
@@ -88,27 +89,29 @@
*
* @return a Map containing all tagValues associated with this element
*/
- public abstract Map<String, String> getTagValues();
+ public Map<String, String> getTagValues();
/**
* Returns the tagValue corresponding to the given name, or null if the element has no associated tagValue for this name.
*
+ * @param tagValue tag value name
* @return the value of the found tagValue, or null if the element has no associated tagValue for this name.
*/
- public abstract String getTagValue(String tagValue);
+ public String getTagValue(String tagValue);
/**
* Returns whether this element has a tagValue corresponding to the given name, or not.
*
+ * @param tagValue tag value name
* @return a boolean indicating whether this element has a tagValue corresponding to the given name, or not.
*/
- public abstract boolean hasTagValue(String tagValue);
+ public boolean hasTagValue(String tagValue);
/**
* Returns all comments lied to this particular model element
*
* @return a List containing all comments for this element as Strings.
*/
- public abstract List<String> getComments();
+ public List<String> getComments();
} //ObjectModelElement
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelOperation.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -40,7 +40,7 @@
*
* @return the return type of this operation.
*/
- public abstract String getReturnType();
+ public String getReturnType();
/**
* Returns the visibility of this operation.
@@ -48,22 +48,22 @@
*
* @return the visibility of this operation.
*/
- public abstract String getVisibility();
+ public String getVisibility();
/**
* Returns whether this operation is abstract or not.
*
* @return a boolean indicating whether this operation is abstract or not.
*/
- public abstract boolean isAbstract();
+ public boolean isAbstract();
/**
- * Returns all parameters defined on this opeation.
+ * Returns all parameters defined on this operation.
* @see ObjectModelParameter
*
- * @return a Collection containing all parameters defined on this opeation.
+ * @return a Collection containing all parameters defined on this operation.
*/
- public abstract Collection<ObjectModelParameter> getParameters();
+ public Collection<ObjectModelParameter> getParameters();
/**
* In implementation you must write a good equals method
@@ -76,6 +76,6 @@
*
* @return a Set containing the exceptions strings
*/
- public abstract Set<String> getExceptions();
+ public Set<String> getExceptions();
} //ObjectModelOperation
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelParameter.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -37,6 +37,6 @@
*
* @return the type of this parameter.
*/
- public abstract String getType();
+ public String getType();
} //ObjectModelParameter
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/AttributeNamesValidator.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -15,8 +15,6 @@
* License along with this program. If not, see
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
-
-
package org.nuiton.eugene.models.object.validator;
import org.nuiton.eugene.models.object.ObjectModel;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/validator/NameBasedValidator.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -15,8 +15,6 @@
* License along with this program. If not, see
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
-
-
package org.nuiton.eugene.models.object.validator;
import java.util.HashMap;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -61,14 +61,14 @@
public void addSuperclass(ObjectModelImplRef ref) {
//if (ref == null)
- // return new ObjectModelImplSuperClassRef();
+ //return new ObjectModelImplSuperClassRef();
superclassesRefs.add(ref);
//return ref;
}
public void addAttribute(ObjectModelAttributeImpl attribute) {
//if (attribute == null)
- // return new ObjectModelAttributeImpl(objectModelImpl, this);
+ //return new ObjectModelAttributeImpl(objectModelImpl, this);
attribute.postInit();
attribute.setDeclaringElement(this);
attributes.put(attribute.getName(), attribute);
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -19,13 +19,11 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
import org.nuiton.eugene.models.object.ObjectModelDependency;
import org.nuiton.eugene.models.object.ObjectModelInterface;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -61,7 +61,7 @@
public void addClass(ObjectModelClassImpl clazz) {
//if (clazz == null)
- // return new ObjectModelClassImpl(this, null);
+ // return new ObjectModelClassImpl(this, null);
clazz.postInit();
clazz.setObjectModelImpl(this);
@@ -72,12 +72,13 @@
classes.put(clazz.getQualifiedName(), clazz);
classifiers.put(clazz.getQualifiedName(), clazz);
} else {
- if (!(initialElement instanceof ObjectModelClassImpl))
+ if (!(initialElement instanceof ObjectModelClassImpl)) {
throw new IllegalArgumentException(
"\""
+ clazz
+ "\" is incompatible with already defined element \""
+ initialElement + "\"");
+ }
ObjectModelClassImpl initialClazz = (ObjectModelClassImpl) initialElement;
// La classe existe déjà. On va prendre tout ce que contient la
@@ -92,7 +93,7 @@
public void addAssociationClass(ObjectModelAssociationClassImpl clazz) {
//if (clazz == null)
- // return new ObjectModelAssociationClassImpl(this, null);
+ // return new ObjectModelAssociationClassImpl(this, null);
clazz.postInit();
clazz.setObjectModelImpl(this);
@@ -103,12 +104,13 @@
classes.put(clazz.getQualifiedName(), clazz);
classifiers.put(clazz.getQualifiedName(), clazz);
} else {
- if (!(initialElement instanceof ObjectModelAssociationClassImpl))
+ if (!(initialElement instanceof ObjectModelAssociationClassImpl)) {
throw new IllegalArgumentException(
"\""
+ clazz
+ "\" is incompatible with already defined element \""
+ initialElement + "\"");
+ }
ObjectModelAssociationClassImpl initialClazz = (ObjectModelAssociationClassImpl) initialElement;
mergeAssociationClasses(initialClazz, clazz);
@@ -161,7 +163,7 @@
/**
* Returns all classes defined in this model.
*
- * @see ObjectModelClass.
+ * @see ObjectModelClass
*
* @return a Collection containing all ObjectModelClass for this model.
*/
@@ -204,7 +206,7 @@
public void addInterface(ObjectModelInterfaceImpl interfacez) {
//if (interfacez == null)
- // return new ObjectModelInterfaceImpl(this, null);
+ // return new ObjectModelInterfaceImpl(this, null);
interfacez.postInit();
interfacez.setObjectModelImpl(this);
@@ -254,7 +256,7 @@
/**
* Returns all interfaces defined in this model.
*
- * @see ObjectModelInterface.
+ * @see ObjectModelInterface
*
* @return a Collection containing all ObjectModelInterface for this model.
*/
@@ -371,8 +373,9 @@
}
for (it = additionalClazz.superclassesRefs.iterator(); it.hasNext();) {
ObjectModelImplRef superclassRef = (ObjectModelImplRef) it.next();
- if (!contains(initialClazz.superclassesRefs, superclassRef))
+ if (!contains(initialClazz.superclassesRefs, superclassRef)) {
initialClazz.superclassesRefs.add(superclassRef);
+ }
initialClazz.superclasses = null; // On force ainsi à regénérer
// l'objet
}
@@ -387,8 +390,9 @@
.hasNext();) {
ObjectModeImplAssociationClassParticipant participant = (ObjectModeImplAssociationClassParticipant) it
.next();
- if (!contains(initialAssocClazz.participantsRefs, participant))
+ if (!contains(initialAssocClazz.participantsRefs, participant)) {
initialAssocClazz.participantsRefs.add(participant);
+ }
initialAssocClazz.participantsAttributes = null; // On force
// ainsi à
// regénérer
@@ -404,10 +408,11 @@
ObjectModelAttributeImpl toFind) {
for (Iterator<ObjectModelAttribute> it = coll.iterator(); it.hasNext();) {
ObjectModelAttribute attribute = it.next();
- if (attribute.getName().equals(toFind.getName())) // Seul le nom
+ if (attribute.getName().equals(toFind.getName())) { // Seul le nom
// de l'attribut
// compte
return true;
+ }
}
return false;
}
@@ -423,8 +428,9 @@
}
public ObjectModelImplTagValue addTagValue(ObjectModelImplTagValue tagValue) {
- if (tagValue == null)
+ if (tagValue == null) {
return new ObjectModelImplTagValue();
+ }
tagValues.put(tagValue.getName(), tagValue.getValue());
return tagValue;
}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -61,7 +61,7 @@
modelTagValues = new HashMap<String, String>();
}
- /* (non-Javadoc)
+ /*
* @see org.nuiton.eugene.models.state.StateModel#getName()
*/
public String getName() {
@@ -69,16 +69,18 @@
}
/**
- * Set model name
- * @param name
+ * Set model name.
+ *
+ * @param name model name
*/
public void setName(String name) {
this.name = name;
}
/**
- * Add chart
- * @param chart
+ * Add chart.
+ *
+ * @param chart chart
*/
public void addStateChart(StateModelStateChart chart) {
@@ -90,7 +92,7 @@
listStateCharts.add(chart);
}
- /* (non-Javadoc)
+ /*
* @see org.nuiton.eugene.models.state.StateModel#getStateCharts()
*/
public List<StateModelStateChart> getStateCharts() {
@@ -105,7 +107,7 @@
listStateCharts.addAll(charts);
}
- /* (non-Javadoc)
+ /*
* @see org.nuiton.eugene.models.state.StateModel#getTagValues()
*/
public Map<String, String> getTagValues() {
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelStateChartImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -31,12 +31,10 @@
public class StateModelStateChartImpl extends StateModelComplexeStateImpl
implements StateModelStateChart {
- /**
- * Package name
- */
+ /** Package name. */
protected String packageName;
- /* (non-Javadoc)
+ /*
* @see org.nuiton.eugene.models.state.StateModelStateChart#getPackageName()
*/
public String getPackageName() {
@@ -44,8 +42,9 @@
}
/**
- * Set package name
- * @param packageName
+ * Set package name.
+ *
+ * @param packageName package name
*/
public void setPackage(String packageName) {
this.packageName = packageName;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/state/xml/StateModelTransitionImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -75,6 +75,8 @@
* On ne peut pas le faire directement car le fichier xml n'est
* potentielement par ordonne, et par concequent, les etat n'ont pas encore
* ete traite.
+ *
+ * @param state state to set
*/
public void setState(StateModelState state) {
this.state = state;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModel.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModel.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModel.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -42,14 +42,14 @@
*
* @return the version of this model.
*/
- public abstract String getVersion();
+ public String getVersion();
/**
* Returns the package of this model.
*
* @return the package of this model.
*/
- public abstract String getPackage();
+ public String getPackage();
/**
* Returns the object root defined in this ui model.
@@ -57,7 +57,7 @@
*
* @return the object root defined in this ui model.
*/
- public abstract UIModelObject getRoot();
+ public UIModelObject getRoot();
/**
* Returns all objects defined in this ui model.
@@ -65,12 +65,12 @@
*
* @return a Collection containing all UIModelObjects for this ui model.
*/
- public abstract Collection<UIModelObject> getObjects();
+ public Collection<UIModelObject> getObjects();
/**
* Method used to add objects in this model
* @see UIModelObject
*
*/
- public abstract void addObject(UIModelObject object);
+ public void addObject(UIModelObject object);
}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelArguments.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelArguments.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelArguments.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -37,7 +37,7 @@
* Returns a arguments list.
* @return a arguments list.
*/
- public abstract List<Object> getArguments();
+ public List<Object> getArguments();
} // UIModelArguments
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelChild.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelChild.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelChild.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -15,8 +15,6 @@
* License along with this program. If not, see
* <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
-
-
package org.nuiton.eugene.models.ui;
/**
@@ -39,7 +37,7 @@
*
* @return a UIModelObject for this child.
*/
- public abstract UIModelObject getObject();
+ public UIModelObject getObject();
/**
* Returns a UIModelConstraint for this child.
@@ -47,7 +45,7 @@
*
* @return a UIModelConstraint for this child.
*/
- public abstract UIModelConstraint getConstraint();
+ public UIModelConstraint getConstraint();
} // UIModelChild
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelConstraint.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelConstraint.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelConstraint.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -37,14 +37,14 @@
* or String or null
* @return the value of this constraint.
*/
- public abstract Object getValue();
+ public Object getValue();
/**
* Returns the value of this constraint if the type is String
* else return null
* @return the value of this constraint.
*/
- public abstract String getStringValue();
+ public String getStringValue();
} // UIModelConstraint
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelEvent.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelEvent.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelEvent.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -35,31 +35,31 @@
* Returns the addListenerMethod of this event
* @return addListenerMethod
*/
- public abstract String getAddMethod();
+ public String getAddMethod();
/**
* Returns the listenerInterface of this event
* @return listenerInterface
*/
- public abstract String getSource();
+ public String getSource();
/**
* Returns the listenerMethodName of this event
* @return listenerMethodName
*/
- public abstract String getAction();
+ public String getAction();
/**
* Returns the handler of this event
* @return handler
*/
- public abstract String getHandler();
+ public String getHandler();
/**
* Returns the eventPropertyName of this event
* @return eventPropertyName
*/
- public abstract String getArgument();
+ public String getArgument();
} // UIModelEvent
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelObject.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelObject.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelObject.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -36,21 +36,21 @@
* Returns null if this object is root
* @return the parent of this object.
*/
- public abstract UIModelObject getParent();
+ public UIModelObject getParent();
/**
* Returns the type of this object.
*
* @return the type of this object.
*/
- public abstract String getType();
+ public String getType();
/**
* Returns the value of the property "name" of this object
*
* @return the name of this object.
*/
- public abstract String getName();
+ public String getName();
/**
* Returns the constraint of this object
@@ -58,7 +58,7 @@
*
* @return the constraint of this object.
*/
- public abstract UIModelConstraint getConstraint();
+ public UIModelConstraint getConstraint();
/**
* Returns all arguments defined on this object.
@@ -66,7 +66,7 @@
*
* @return a Collection containing all arguments for this object.
*/
- public abstract Collection<Object> getArguments();
+ public Collection<Object> getArguments();
/**
* Returns all properties defined on this object.
@@ -74,15 +74,15 @@
*
* @return a Collection containing all UIModelProperty for this object.
*/
- public abstract Collection<UIModelProperty> getProperties();
+ public Collection<UIModelProperty> getProperties();
/**
* Returns the property defined on this object.
* @see UIModelProperty
- * @param String the name of the property which must be returned
+ * @param name the name of the property which must be returned
* @return a UIModelProperty for this object with the .
*/
- public abstract UIModelProperty getProperty(String name);
+ public UIModelProperty getProperty(String name);
/**
* Returns all events defined on this object.
@@ -90,7 +90,7 @@
*
* @return a Collection containing all UIModelEvents for this object.
*/
- public abstract Collection<UIModelEvent> getEvents();
+ public Collection<UIModelEvent> getEvents();
/**
* Returns all children defined on this object.
@@ -98,7 +98,7 @@
*
* @return a Collection containing all UIModelChildren for this object.
*/
- public abstract Collection<UIModelChild> getChildren();
+ public Collection<UIModelChild> getChildren();
/**
* Returns the uimodel of this object.
@@ -106,6 +106,6 @@
*
* @return the uimodel of this object.
*/
- public abstract UIModel getModel();
+ public UIModel getModel();
}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelProperty.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelProperty.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/UIModelProperty.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -35,7 +35,7 @@
*
* @return the name of this property.
*/
- public abstract String getName();
+ public String getName();
/**
* Returns the value of this property.
@@ -43,68 +43,68 @@
* or String or Integer or Boolean or Character
* @return the value of this property.
*/
- public abstract Object getValue();
+ public Object getValue();
/**
* Returns the index of this property if it's indexed property
*
* @return the index of this property.
*/
- public abstract int getIndex() throws Exception;
+ public int getIndex() throws Exception;
- public abstract boolean isIndexed();
+ public boolean isIndexed();
/**
* Returns the value of this property if the type is int
* @return the value of this property.
*/
- public abstract int getIntValue();
+ public int getIntValue();
/**
* Returns the value of this property if the type is boolean
* @return the value of this property.
*/
- public abstract boolean getBooleanValue();
+ public boolean getBooleanValue();
/**
* Returns the value of this property if the type is char
* @return the value of this property.
*/
- public abstract char getCharValue();
+ public char getCharValue();
/**
* Returns the value of this property if the type is String
* @return the value of this property.
*/
- public abstract String getStringValue();
+ public String getStringValue();
/**
* Returns the value of this property if the type is byte
* @return the value of this property.
*/
- public abstract byte getByteValue();
+ public byte getByteValue();
/**
* Returns the value of this property if the type is Short
* @return the value of this property.
*/
- public abstract short getShortValue();
+ public short getShortValue();
/**
* Returns the value of this property if the type is long
* @return the value of this property.
*/
- public abstract long getLongValue();
+ public long getLongValue();
/**
* Returns the value of this property if the type is float
* @return the value of this property.
*/
- public abstract float getFloatValue();
+ public float getFloatValue();
/**
* Returns the value of this property if the type is double
* @return the value of this property.
*/
- public abstract double getDoubleValue();
+ public double getDoubleValue();
}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelChildImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelChildImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelChildImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -58,8 +58,9 @@
}
public void setLayout(UIModelConstraintImpl constraint) {
- // if (constraint == null)
+ // if (constraint == null) {
// return new UIModelConstraintImpl(model, parent);
+ // }
this.constraint = constraint;
// return constraint;
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelConstraintImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelConstraintImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelConstraintImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -74,8 +74,9 @@
* @return the value of this constraint.
*/
public String getStringValue() {
- if (value instanceof String)
+ if (value instanceof String) {
return (String) value;
+ }
return null;
}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelObjectImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelObjectImpl.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/ui/xml/UIModelObjectImpl.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -175,8 +175,9 @@
* @return a Collection containing all arguments for this object.
*/
public Collection<Object> getArguments() {
- if (arguments != null)
+ if (arguments != null) {
return arguments.getArguments();
+ }
return new ArrayList<Object>();
}
@@ -195,8 +196,7 @@
* Returns the property defined on this object.
*
* @see UIModelProperty
- * @param String
- * the name of the property which must be returned
+ * @param name the name of the property which must be returned
* @return a UIModelProperty for this object with the .
*/
public UIModelProperty getProperty(String name) {
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/package-info.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/package-info.java 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/package-info.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,5 +1,5 @@
/**
- * Lutin Generator.
+ * Eugene.
*/
package org.nuiton.eugene;
Copied: eugene/trunk/src/site/en (from rev 481, eugene/trunk/src/site/rst/en)
Deleted: eugene/trunk/src/site/en/LutinGenerator.rst
===================================================================
--- eugene/trunk/src/site/rst/en/LutinGenerator.rst 2009-04-23 13:59:47 UTC (rev 481)
+++ eugene/trunk/src/site/en/LutinGenerator.rst 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,57 +0,0 @@
-==============
-Eugene
-==============
-
-:Authors: Arnaud THIMEL
-:Contact: thimel(a)codelutin.com
-:Revision: $Revision$
-:Date: $Date$
-
-
-.. contents::
-
-
-Project origin
-==============
-
-Eugene was born after a research of an easy-to-use code generator
-oriented on "in memory" models. But the research ended by a failure.
-
-Analysed projects were :
-
-- Jostraca ;
-- EMF ;
-- ...
-
-Code Generation were chosen instead of Introspection because it allows to use
-the compilation processes and therefore to validate the generated code. Even if
-the initial need was to generate Java source code, Eugene is able to
-generate any type of code.
-
-
-
-Technical part
-==============
-
-Eugene allows using a set of generators. These generators are abstract
-of any specificity enabling to adapt them to indicidual needs.
-
-
-By default, Eugene has two implementations of these generators :
-
-- ObjectModelGenerator (generation from an object model) ;
-- UIModelGenerator (generation from a graphic model).
-
-Each of these models has its own specificities due to its strucure and working
-mode...
-
-Anyway, these generators are unuseful without generation templates. Templates
-are files allowing to determinate what will be the generated content according
-to the initial model. Thanks to LutinProcessor_, these templates are written
-with a syntax close to the JSP syntax mixing Java and generated code. The goal
-of LutinProcessor is to tranform the templates by replacing JSP code by the
-matching Java code. Obtained Java classes can be compiled and so become
-independants.
-
-
-.. _LutinProcessor: http://lutinprocessor.labs.libre-entreprise.org/
Copied: eugene/trunk/src/site/en/rst/LutinGenerator.rst (from rev 481, eugene/trunk/src/site/rst/en/LutinGenerator.rst)
===================================================================
--- eugene/trunk/src/site/en/rst/LutinGenerator.rst (rev 0)
+++ eugene/trunk/src/site/en/rst/LutinGenerator.rst 2009-04-26 20:40:15 UTC (rev 483)
@@ -0,0 +1,57 @@
+======
+Eugene
+======
+
+:Authors: Arnaud THIMEL
+:Contact: thimel(a)codelutin.com
+:Revision: $Revision$
+:Date: $Date$
+
+
+.. contents::
+
+
+Project origin
+==============
+
+Eugene was born after a research of an easy-to-use code generator
+oriented on "in memory" models. But the research ended by a failure.
+
+Analysed projects were :
+
+- Jostraca ;
+- EMF ;
+- ...
+
+Code Generation were chosen instead of Introspection because it allows to use
+the compilation processes and therefore to validate the generated code. Even if
+the initial need was to generate Java source code, Eugene is able to
+generate any type of code.
+
+
+
+Technical part
+==============
+
+Eugene allows using a set of generators. These generators are abstract
+of any specificity enabling to adapt them to indicidual needs.
+
+
+By default, Eugene has two implementations of these generators :
+
+- ObjectModelGenerator (generation from an object model) ;
+- UIModelGenerator (generation from a graphic model).
+
+Each of these models has its own specificities due to its strucure and working
+mode...
+
+Anyway, these generators are unuseful without generation templates. Templates
+are files allowing to determinate what will be the generated content according
+to the initial model. Thanks to LutinProcessor_, these templates are written
+with a syntax close to the JSP syntax mixing Java and generated code. The goal
+of LutinProcessor is to tranform the templates by replacing JSP code by the
+matching Java code. Obtained Java classes can be compiled and so become
+independants.
+
+
+.. _LutinProcessor: http://lutinprocessor.labs.libre-entreprise.org/
Copied: eugene/trunk/src/site/resources/images (from rev 481, eugene/trunk/src/site/rst/images)
Modified: eugene/trunk/src/site/rst/generatorHelp.txt
===================================================================
--- eugene/trunk/src/site/rst/generatorHelp.txt 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/site/rst/generatorHelp.txt 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,6 +1,6 @@
How to create a UML model for use with Eugene
------------------------------------------------------
+---------------------------------------------
In Poseidon,
- Create an empty project
Modified: eugene/trunk/src/site/rst/index.rst
===================================================================
(Binary files differ)
Modified: eugene/trunk/src/site/site.xml
===================================================================
--- eugene/trunk/src/site/site.xml 2009-04-24 11:57:27 UTC (rev 482)
+++ eugene/trunk/src/site/site.xml 2009-04-26 20:40:15 UTC (rev 483)
@@ -10,18 +10,18 @@
</skin>
<bannerLeft>
- <name>${project.name}</name>
- </bannerLeft>
+ <name>${project.name}</name>
+ </bannerLeft>
- <bannerRight>
- <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
- <href>${project.organization.url}</href>
- </bannerRight>
+ <bannerRight>
+ <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src>
+ <href>${project.organization.url}</href>
+ </bannerRight>
<poweredBy>
<logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/>
- <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/>
- <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/>
+ <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/>
+ <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/>
</poweredBy>
<body>
@@ -33,18 +33,18 @@
<menu name="Utilisateur">
<item href="index.html" name="Accueil"/>
- <!--item href="http://lutinbuilder.labs.libre-entreprise.org/maven2/lutinlib/lutingenerato…" name="Téléchargement"/-->
</menu>
<menu name="Téléchargement">
- <item href="${labs.builder.url}/org/codelutin/${project.artifactId}/${project.version}"
+ <item href="${labs.builder.url}/org/nuiton/${project.artifactId}/${project.version}"
name="Télécharger la dernière version"/>
- <item href="${labs.builder.url}/org/codelutin/${project.artifactId}"
+ <item href="${labs.builder.url}/org/nuiton/${project.artifactId}"
name="Voir toutes les versions"/>
</menu>
<menu name="Developpeur">
<item name="ObjectModel" href="ObjectModel.html"/>
+ <item name="StateModel" href="StateModel.html"/>
<item name="UIModel" href="DevUIDoc.html"/>
<item name="Todo" href="Todo.html"/>
</menu>
Added: eugene/trunk/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java (rev 0)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/GeneratorTaskTest.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -0,0 +1,163 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package org.nuiton.eugene;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.tools.ant.BuildLogger;
+import org.apache.tools.ant.NoBannerLogger;
+import org.apache.tools.ant.Project;
+import org.codelutin.util.FileUtil;
+import org.junit.Test;
+
+/**
+ * Test class for Generator Ant task.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 18 févr. 2009 $
+ * By : $Author: chatellier $
+ */
+public class GeneratorTaskTest {
+
+ /** Logger */
+ private static Log log = LogFactory.getLog(GeneratorTaskTest.class);
+
+ /**
+ * All test common task instanciation.
+ *
+ * @return task
+ */
+ protected GeneratorTask getGeneratorTask() {
+ Project antProject = new Project();
+
+ BuildLogger logger = new NoBannerLogger();
+ logger.setMessageOutputLevel(Project.MSG_DEBUG);
+ logger.setOutputPrintStream(System.out);
+ logger.setErrorPrintStream(System.err);
+ antProject.addBuildListener(logger);
+
+ GeneratorTask generatorTask = new GeneratorTask();
+ generatorTask.setProject(antProject);
+ generatorTask.setTaskName("Eugene");
+
+ return generatorTask;
+ }
+
+ /**
+ * Test generation with ant task.
+ * @throws IOException
+ */
+ @Test
+ public void testGenerateXMI12() throws IOException {
+
+ GeneratorTask generatorTask = getGeneratorTask();
+
+ /* Configuration */
+ generatorTask.setOverwrite(true);
+ generatorTask.setBuilddirectory("target/anttest");
+ generatorTask.setTemplates(ObjectModelGenerator.class.getName());
+ generatorTask.setSrcdir(new File("src/test/resources/xmi/1.2"));
+ generatorTask.setEncoding("UTF-8");
+
+ File destDirGen = FileUtil.createTempDirectory("1.2-", "", new File("target", "ant"));
+ destDirGen.mkdirs();
+ generatorTask.setDestdir(destDirGen);
+ generatorTask.setBuilddirectory(destDirGen.getAbsolutePath());
+
+ generatorTask.setProperties("defaultPackage=org.nuiton");
+
+ generatorTask.setIncludes("**/*.xmi");
+
+ generatorTask.execute();
+
+ //Assert.assertTrue(condition);
+
+ // remove created temp dir
+ //FileUtil.deleteRecursively(destDirGen);
+ }
+
+ /**
+ * Test generation with ant task.
+ * @throws IOException
+ */
+ @Test
+ public void testGenerateXMI21() throws IOException {
+
+ GeneratorTask generatorTask = getGeneratorTask();
+
+ /* Configuration */
+ generatorTask.setOverwrite(true);
+ generatorTask.setTemplates(ObjectModelGenerator.class.getName());
+ generatorTask.setSrcdir(new File("src/test/resources/xmi/2.1"));
+ generatorTask.setEncoding("UTF-8");
+
+ File destDirGen = FileUtil.createTempDirectory("2.1-", "", new File("target", "ant"));
+ destDirGen.mkdirs();
+ generatorTask.setDestdir(destDirGen);
+ generatorTask.setBuilddirectory(destDirGen.getAbsolutePath());
+
+ generatorTask.setProperties("defaultPackage=org.nuiton");
+
+ generatorTask.setIncludes("**/*.uml");
+
+ generatorTask.execute();
+
+ //Assert.assertTrue(condition);
+
+ // remove created temp dir
+ //FileUtil.deleteRecursively(destDirGen);
+ }
+
+ /**
+ * Test generation with ant task.
+ * @throws IOException
+ */
+ @Test
+ public void testGenerateXMIObjectModel() throws IOException {
+
+ GeneratorTask generatorTask = getGeneratorTask();
+
+ /* Configuration */
+ generatorTask.setOverwrite(true);
+ generatorTask.setTemplates(ObjectModelGenerator.class.getName());
+ generatorTask.setSrcdir(new File("src/test/resources/models/"));
+ generatorTask.setEncoding("UTF-8");
+
+ File destDirGen = FileUtil.createTempDirectory("objectmodel-", "", new File("target", "ant"));
+ destDirGen.mkdirs();
+ generatorTask.setDestdir(destDirGen);
+ generatorTask.setBuilddirectory(destDirGen.getAbsolutePath());
+
+ generatorTask.setProperties("defaultPackage=org.nuiton");
+
+ generatorTask.setIncludes("**/*.objectmodel");
+
+ generatorTask.execute();
+
+ //Assert.assertTrue(condition);
+
+ // remove created temp dir
+ //FileUtil.deleteRecursively(destDirGen);
+ }
+}
Modified: maven-eugene-plugin/trunk/changelog.txt
===================================================================
--- maven-eugene-plugin/trunk/changelog.txt 2009-04-24 11:57:27 UTC (rev 482)
+++ maven-eugene-plugin/trunk/changelog.txt 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,3 +1,8 @@
+1.0.0 xxx xxx
+ * Recode EugenePlugin without ant
+ * Move to org.nuiton groupid
+ * Rename project to Eugene
+
0.64 chemit 20090218
* 20090211 [chatellier] add testPhase property in mojo to specify when using it in test phase
* 20090210 [chatellier] add info and debug maven log messages
Modified: maven-eugene-plugin/trunk/pom.xml
===================================================================
--- maven-eugene-plugin/trunk/pom.xml 2009-04-24 11:57:27 UTC (rev 482)
+++ maven-eugene-plugin/trunk/pom.xml 2009-04-26 20:40:15 UTC (rev 483)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.codelutin</groupId>
<artifactId>lutinproject</artifactId>
- <version>3.4</version>
+ <version>3.5</version>
</parent>
<groupId>org.nuiton</groupId>
Copied: maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java (from rev 481, maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/GeneratorPlugin.java)
===================================================================
--- maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java (rev 0)
+++ maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/EugenePlugin.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -0,0 +1,349 @@
+/* *##% Plugin maven Generator
+ * Copyright (C) 2006 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+
+package org.nuiton.eugene.plugin;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+import java.util.Map.Entry;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.model.Resource;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+import org.codelutin.util.FileUtil;
+import org.nuiton.eugene.Generator;
+
+/**
+ * Effectue toutes les générations et copie les fichiers générés
+ * dans le répertoire de compilation
+ *
+ * @author ruchaud
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ *
+ * @goal generate
+ * @projectRequired true
+ */
+public class EugenePlugin extends AbstractMojo {
+
+ /**
+ * Maven project.
+ *
+ * @description Dépendance du projet.
+ * @parameter default-value="${project}"
+ * @readonly
+ * @since 0.50
+ */
+ protected MavenProject project;
+
+ /**
+ * Répertoire source.
+ *
+ * @parameter expression="${eugene.srcGenDest}" alias="srcGenDest" default-value="target/generated-sources/models"
+ * @since 0.50
+ */
+ protected File srcDirGen;
+
+ /**
+ * Répertoire cible
+ *
+ * @parameter expression="${eugene.destDirGen}" default-value="target/generated-sources/java"
+ * @since 0.50
+ */
+ protected File destDirGen;
+
+ /**
+ * Templates à utiliser, séparés par des virgules.
+ *
+ * @parameter expression="${eugene.templates}"
+ * @required
+ * @since 0.50
+ */
+ protected String templates;
+
+ /**
+ * Templates à ne pas utiliser.
+ *
+ * @parameter expression="${eugene.excludeTemplates}"
+ * @since 0.63
+ */
+ protected String[] excludeTemplates;
+
+ /**
+ * Fichier à inclure.
+ *
+ * @parameter expression="${eugene.includes}" default-value="*.*model"
+ * @since 0.50
+ */
+ protected String includes;
+
+ /**
+ * Nom par défaut du paquetage généré.
+ *
+ * @parameter expression="${eugene.defaultPackage}" default-value="${project.groupId}.${project.artifactId}"
+ * @since 0.50
+ */
+ protected String defaultPackage;
+
+ /**
+ * Ecrase les fichiers générés
+ *
+ * @parameter expression="${eugene.overwrite}" default-value="false"
+ * @since 0.50
+ */
+ private boolean overwrite = false;
+
+ /**
+ * An extra directory to be added to the classpath.
+ *
+ * @parameter expression="${eugene.extraClassPathDirectory}"
+ * @since 0.63
+ */
+ protected File extraClassPathDirectory;
+
+ /**
+ * Encoding to be used for generation of files.
+ *
+ * @parameter expression="${eugene.encoding}" default-value="${project.build.sourceEncoding}"
+ * @since 0.60
+ */
+ protected String encoding;
+
+ /**
+ * A flag to mark themojo to be used in a test phase. This will permits to add generated sources in test compile roots.
+ *
+ * @parameter expression="${eugene.testPhase}" default-value="false"
+ * @since 0.64
+ */
+ protected boolean testPhase;
+
+ @Override
+ public void execute() throws MojoExecutionException, MojoFailureException {
+
+ getLog().info("Generating model using : ");
+ getLog().info(" using template : " + templates);
+ getLog().info(" using defaultPackage : " + defaultPackage);
+ getLog().info(" generating from : " + srcDirGen + File.separator + includes);
+ getLog().info(" generating to : " + destDirGen);
+
+ // init generators
+ Properties generatorProperties = new Properties();
+ generatorProperties.setProperty("defaultPackage", defaultPackage);
+
+ List<Generator> generators = new ArrayList<Generator>();
+ String[] templatesNames = templates.split(",");
+ ClassLoader fixedClassLoader = fixClassLoader();
+ for (String templateName : templatesNames) {
+
+ // remove trailing spaces
+ templateName = templateName.trim();
+
+ try {
+ Generator generator = (Generator) Class.forName(templateName,
+ true, fixedClassLoader).newInstance();
+
+ // configuration
+ generator.setExcludeTemplates(Arrays.asList(excludeTemplates));
+ generator.setProperties(generatorProperties);
+ generator.setOverwrite(overwrite);
+ generator.setEncoding(encoding);
+
+ generators.add(generator);
+ } catch (InstantiationException e) {
+ throw new MojoFailureException("Can't instantiate generator : "
+ + templateName, e);
+ } catch (IllegalAccessException e) {
+ throw new MojoFailureException("Can't access generator : "
+ + templateName, e);
+ } catch (ClassNotFoundException e) {
+ throw new MojoFailureException("Can't found generator : "
+ + templateName, e);
+ }
+ }
+
+ generate(generators);
+
+ fixCompileSourceRoots();
+ }
+
+ /**
+ * Execute generators on source directory.
+ *
+ * @param generators generators
+ */
+ protected void generate(List<Generator> generators) {
+
+ // get file to generate
+ // TODO improve this loop
+ // TODO too strange code
+ List<File> modelFiles = new ArrayList<File>();
+ String[] includePatterns = includes.split(",");
+ for (String includePattern : includePatterns) {
+ includePattern = includePattern.trim();
+ boolean recursive = false;
+ if (includePattern.startsWith("**/")) {
+ recursive = true;
+ includePattern = includePattern.substring(3);
+ }
+
+ // transform pattern in java regex
+ includePattern = includePattern.replaceAll("\\.", "\\\\.");
+ includePattern = includePattern.replaceAll("\\*", ".*");
+
+ // log java regex
+ getLog().debug("Search for " + includePattern + " in "
+ + srcDirGen.getAbsolutePath());
+
+ List<File> currentFiles = FileUtil.find(srcDirGen, includePattern,
+ recursive);
+ modelFiles.addAll(currentFiles);
+ }
+
+ generateModels(generators, modelFiles);
+ }
+
+ /**
+ * Apply generators on models files.
+ *
+ * @param generators generators
+ * @param modelFiles
+ */
+ protected void generateModels(List<Generator> generators,
+ List<File> modelFiles) {
+
+ for (Generator generator : generators) {
+ getLog().info("Apply " + generator.getClass().getSimpleName()
+ + " generator");
+
+ for (File modelFile : modelFiles) {
+ getLog().debug(" on " + modelFile.getAbsolutePath());
+
+ // generation
+ generator.generate(modelFile, destDirGen);
+ }
+ }
+
+ }
+
+ /**
+ * permet d'ajout le répertoire de génération des fichiers java dans les répertoires
+ * de compilation du projet Maven.
+ */
+ protected void fixCompileSourceRoots() {
+
+ if (project == null) {
+ // no project defined, can not fix anything
+ // this case could appears if we wanted to do some tests of the plugin
+ return;
+ }
+
+ if (testPhase) {
+ if (!project.getTestCompileSourceRoots().contains(
+ destDirGen.getPath())) {
+ getLog().info("Add test compile source root : " + destDirGen);
+ project.addTestCompileSourceRoot(destDirGen.getPath());
+ Resource resources = new Resource();
+ resources.setDirectory(destDirGen.getAbsolutePath());
+ resources.setExcludes(Arrays.asList("**/*.java"));
+ getLog().info("Add test resource root :" + resources);
+ project.addTestResource(resources);
+ }
+ } else {
+ if (!project.getCompileSourceRoots().contains(destDirGen.getPath())) {
+ getLog().info("Add compile source root : " + destDirGen);
+ project.addCompileSourceRoot(destDirGen.getPath());
+ Resource resources = new Resource();
+ resources.setDirectory(destDirGen.getAbsolutePath());
+ resources.setExcludes(Arrays.asList("**/*.java"));
+ getLog().info("Add resource root :" + resources);
+ project.addResource(resources);
+ }
+ }
+ }
+
+ /**
+ * Prepare le classLoader a utiliser dans le generateur.
+ * <p/>
+ * Si un {@link #extraClassPathDirectory} a été renseigné, il est rajouté.
+ * <p/>
+ * Si des références à des sibling modules, ils seront rajoutés aussi.
+ *
+ * @return le class loader modifie
+ * @throws MojoExecutionException if any pb
+ */
+ protected ClassLoader fixClassLoader() throws MojoExecutionException {
+ try {
+ List<URL> urls = new ArrayList<URL>();
+ ClassLoader loader = null;
+ if (extraClassPathDirectory != null) {
+ getLog().info(
+ "Add extra directory in generator's classLoader : "
+ + extraClassPathDirectory);
+ urls.add(extraClassPathDirectory.toURI().toURL());
+ }
+ if (project.getProjectReferences() != null) {
+ // this case is for multi-module when calling from a parent module
+ for (Object o : project.getProjectReferences().entrySet()) {
+ Entry entry = (Entry) o;
+ MavenProject relatedProject = (MavenProject) entry
+ .getValue();
+ getLog().info(
+ "Add project reference in generator's classLoader : '"
+ + relatedProject.getArtifact() + "'");
+ //TODO il faudrait peut-etre aussi ajouter les dependances ?
+ urls.add(relatedProject.getArtifact().getFile().toURI()
+ .toURL());
+ }
+ }
+ if (!project.getArtifacts().isEmpty()) {
+ // this is a special case when artifacts were resolved (for example in site phase)
+ getLog().info("Use resolved artifacts to build class-path");
+ for (Object o : project.getArtifacts()) {
+ Artifact a = (Artifact) o;
+ if (!a.getScope().equals("provided")) {
+ urls.add(a.getFile().toURI().toURL());
+ }
+ }
+ // using the strict class loader with only resolved artifacts
+ //loader = new URLClassLoader(urls.toArray(new URL[urls.size()]));
+ }
+ //if (loader == null) {
+ // we ask to add the directory in classloader
+ loader = getClass().getClassLoader();
+ if (!urls.isEmpty()) {
+ loader = new URLClassLoader(urls.toArray(new URL[urls.size()]),
+ loader);
+ }
+ //}
+ return loader;
+ } catch (MalformedURLException e) {
+ throw new MojoExecutionException(e.getMessage());
+ }
+
+ }
+}
Deleted: maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/GeneratorPlugin.java
===================================================================
--- maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/GeneratorPlugin.java 2009-04-24 11:57:27 UTC (rev 482)
+++ maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/GeneratorPlugin.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -1,286 +0,0 @@
-/* *##% Plugin maven Generator
- * Copyright (C) 2006 - 2009 CodeLutin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
-
-package org.nuiton.eugene.plugin;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.NoBannerLogger;
-import org.apache.tools.ant.Project;
-import org.nuiton.eugene.GeneratorTask;
-
-/**
- * Effectue toutes les générations et copie les fichiers générés
- * dans le répertoire de compilation
- *
- * @author ruchaud
- * @version $Revision$
- * <p/>
- * Last update: $Date$
- * by : $Author$
- * @goal generate
- * @projectRequired true
- */
-public class GeneratorPlugin extends AbstractMojo {
-
- /**
- * @description Dépendance du projet.
- * @parameter default-value="${project}"
- * @readonly
- * @since 0.50
- */
- protected MavenProject project;
-
- /**
- * Répertoire source
- *
- * @parameter expression="${generator.srcGenDest}" alias="srcGenDest" default-value="target/generated-sources/models"
- * @since 0.50
- */
- protected File srcDirGen;
-
- /**
- * Répertoire cible
- *
- * @parameter expression="${generator.destDirGen}" default-value="target/generated-sources/java"
- * @since 0.50
- */
- protected File destDirGen;
-
- /**
- * Templates à utiliser, séparés par des virgules.
- *
- * @parameter expression="${generator.templates}"
- * @required
- * @since 0.50
- */
- protected String templates;
-
- /**
- * Templates à ne pas utiliser.
- *
- * @parameter expression="${generator.excludeTemplates}"
- * @since 0.63
- */
- protected String[] excludeTemplates;
-
- /**
- * Fichier à inclure.
- *
- * @parameter expression="${generator.includes}" default-value="*.*model"
- * @since 0.50
- */
- protected String includes;
-
- /**
- * Nom par défaut du paquetage généré.
- *
- * @parameter expression="${generator.defaultPackage}" default-value="${project.groupId}.${project.artifactId}"
- * @since 0.50
- */
- protected String defaultPackage;
-
- /**
- * Ecrase les fichiers générés
- *
- * @parameter expression="${generator.overwrite}" default-value="false"
- * @since 0.50
- */
- private boolean overwrite = false;
-
- /**
- * An extra directory to be added to the classpath.
- *
- * @parameter expression="${generator.extraClassPathDirectory}"
- * @since 0.63
- */
- protected File extraClassPathDirectory;
-
- /**
- * Encoding to be used for generation of files.
- *
- * @parameter expression="${generator.encoding}" default-value="${project.build.sourceEncoding}"
- * @since 0.60
- */
- protected String encoding;
-
- /**
- * A flag to mark themojo to be used in a test phase. This will permits to add generated sources in test compile roots.
- *
- * @parameter expression="${generator.testPhase}" default-value="false"
- * @since 0.64
- */
- protected boolean testPhase;
-
- @Override
- public void execute() throws MojoExecutionException, MojoFailureException {
-
- getLog().info("Generating model using : ");
- getLog().info(" using template : " + templates);
- getLog().info(" using defaultPackage : " + defaultPackage);
- getLog().info(" generating from : " + srcDirGen + File.separator + includes);
- getLog().info(" generating to : " + destDirGen);
-
- /* Création d'un projet ant */
- Project project = new Project();
-
- BuildLogger logger = new NoBannerLogger();
- logger.setMessageOutputLevel(org.apache.tools.ant.Project.MSG_INFO);
- logger.setOutputPrintStream(System.out);
- logger.setErrorPrintStream(System.err);
-
- project.init();
- project.getBaseDir();
- project.addBuildListener(logger);
-
- /* Création de la tâche ant */
- GeneratorTask generator = new GeneratorTask();
- generator.setProject(project);
- generator.setTaskName("Generator");
-
- /* Configuration */
- generator.setOverwrite(overwrite);
- generator.setTemplates(templates);
- generator.setSrcdir(srcDirGen);
- generator.setEncoding(encoding);
-
- destDirGen.mkdirs();
- generator.setDestdir(destDirGen);
-
- fixCompileSourceRoots();
-
- generator.setProperties("defaultPackage=" + defaultPackage);
-
- generator.setIncludes(includes);
- generator.setExcludeTemplates(excludeTemplates == null
- || excludeTemplates.length == 0 ? java.util.Collections
- .<String>emptyList() : java.util.Arrays
- .asList(excludeTemplates));
-
- //ClassLoader loader = fixClassLoader();
- //generator.setLoader(loader);
- /* Execution */
- generator.execute();
- }
-
- /**
- * permet d'ajout le répertoire de génération des fichiers java dans les répertoires
- * de compilation du projet Maven.
- */
- protected void fixCompileSourceRoots() {
- if (project==null) {
- // no project defined, can not fix anything
- // this case could appears if we wanted to do some tests of the plugin
- return;
- }
-
- if (testPhase) {
- if (!project.getTestCompileSourceRoots().contains(destDirGen.getPath())) {
- getLog().info("Add test compile source root : " + destDirGen);
- project.addTestCompileSourceRoot(destDirGen.getPath());
- Resource resources = new Resource();
- resources.setDirectory(destDirGen.getAbsolutePath());
- resources.setExcludes(Arrays.asList("**/*.java"));
- getLog().info("Add test resource root :" + resources);
- project.addTestResource(resources);
- }
- } else {
- if (!project.getCompileSourceRoots().contains(destDirGen.getPath())) {
- getLog().info("Add compile source root : " + destDirGen);
- project.addCompileSourceRoot(destDirGen.getPath());
- Resource resources = new Resource();
- resources.setDirectory(destDirGen.getAbsolutePath());
- resources.setExcludes(Arrays.asList("**/*.java"));
- getLog().info("Add resource root :" + resources);
- project.addResource(resources);
- }
- }
- }
-
- /**
- * Prepare le classLoader a utiliser dans le generateur.
- * <p/>
- * Si un {@link #extraClassPathDirectory} a été renseigné, il est rajouté.
- * <p/>
- * Si des références à des sibling modules, ils seront rajoutés aussi.
- *
- * @return le class loader modifie
- * @throws MojoExecutionException if any pb
- */
- protected ClassLoader fixClassLoader() throws MojoExecutionException {
- try {
- List<URL> urls = new ArrayList<URL>();
- ClassLoader loader = null;
- if (extraClassPathDirectory != null) {
- getLog().info("Add extra directory in generator's classLoader : "
- + extraClassPathDirectory);
- urls.add(extraClassPathDirectory.toURI().toURL());
- }
- if (project.getProjectReferences() != null) {
- // this case is for multi-module when calling from a parent module
- for (Object o : project.getProjectReferences().entrySet()) {
- Entry entry = (Entry) o;
- MavenProject relatedProject = (MavenProject) entry
- .getValue();
- getLog().info("Add project reference in generator's classLoader : '"
- + relatedProject.getArtifact() + "'");
- //TODO il faudrait peut-etre aussi ajouter les dependances ?
- urls.add(relatedProject.getArtifact().getFile().toURI()
- .toURL());
- }
- }
- if (!project.getArtifacts().isEmpty()) {
- // this is a special case when artifacts were resolved (for example in site phase)
- getLog().info("Use resolved artifacts to build class-path");
- for (Object o : project.getArtifacts()) {
- Artifact a = (Artifact) o;
- if (!a.getScope().equals("provided")) {
- urls.add(a.getFile().toURI().toURL());
- }
- }
- // using the strict class loader with only resolved artifacts
- //loader = new URLClassLoader(urls.toArray(new URL[urls.size()]));
- }
- //if (loader == null) {
- // we ask to add the directory in classloader
- loader = getClass().getClassLoader();
- if (!urls.isEmpty()) {
- loader = new URLClassLoader(urls.toArray(new URL[urls.size()]),
- loader);
- }
- //}
- return loader;
- } catch (MalformedURLException e) {
- throw new MojoExecutionException(e.getMessage());
- }
-
- }
-}
Modified: maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/helper/ResourceResolver.java
===================================================================
--- maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/helper/ResourceResolver.java 2009-04-24 11:57:27 UTC (rev 482)
+++ maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/helper/ResourceResolver.java 2009-04-26 20:40:15 UTC (rev 483)
@@ -48,10 +48,10 @@
* {@link javax.xml.transform.TransformerFactory}. <br/>
*
* @author chorlet
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 18 févr. 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class ResourceResolver implements URIResolver {
Property changes on: maven-eugene-plugin/trunk/src/main/java/org/nuiton/eugene/plugin/helper/ResourceResolver.java
___________________________________________________________________
Name: svn:keywords
+ DAte Author Revision
1
0
[Lutingenerator-commits] r482 - in eugene/trunk/src: main/java/org/nuiton/eugene/models/object main/java/org/nuiton/eugene/models/object/xml test/java/org/nuiton/eugene/xmi/objectmodel
by fdesbois@users.labs.libre-entreprise.org 24 Apr '09
by fdesbois@users.labs.libre-entreprise.org 24 Apr '09
24 Apr '09
Author: fdesbois
Date: 2009-04-24 11:57:27 +0000 (Fri, 24 Apr 2009)
New Revision: 482
Modified:
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
Log:
getAllDependencies devient getDependencies
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-23 13:59:47 UTC (rev 481)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-24 11:57:27 UTC (rev 482)
@@ -100,7 +100,7 @@
*
* @return a Collection of ObjectModelDependency
*/
- public Collection<ObjectModelDependency> getAllDependencies();
+ public Collection<ObjectModelDependency> getDependencies();
/**
* Return a dependency identifier by her name
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-23 13:59:47 UTC (rev 481)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-24 11:57:27 UTC (rev 482)
@@ -167,7 +167,7 @@
}
@Override
- public Collection<ObjectModelDependency> getAllDependencies() {
+ public Collection<ObjectModelDependency> getDependencies() {
return this.dependencies;
}
Modified: eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-23 13:59:47 UTC (rev 481)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-24 11:57:27 UTC (rev 482)
@@ -174,7 +174,7 @@
int nbDependencies = 0;
for (ObjectModelClassifier classifier : model.getClassifiers()) {
- nbDependencies += classifier.getAllDependencies().size();
+ nbDependencies += classifier.getDependencies().size();
}
Assert.assertEquals(4,nbDependencies);
1
0
[Lutingenerator-commits] r481 - in eugene/trunk/src: main/java/org/nuiton/eugene/models/object main/java/org/nuiton/eugene/models/object/xml main/xsl test/java/org/nuiton/eugene/xmi/objectmodel test/resources/xmi/1.2
by fdesbois@users.labs.libre-entreprise.org 23 Apr '09
by fdesbois@users.labs.libre-entreprise.org 23 Apr '09
23 Apr '09
Author: fdesbois
Date: 2009-04-23 13:59:47 +0000 (Thu, 23 Apr 2009)
New Revision: 481
Added:
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
Modified:
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java
eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl
eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
eugene/trunk/src/test/resources/xmi/1.2/dependency.xmi
Log:
Ajout Gestion Dependency (Objets en m?\195?\169moire + XMI v2.1)
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelClassifier.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -44,7 +44,7 @@
*
* @return the qualified name of this classifier.
*/
- public abstract String getQualifiedName();
+ public String getQualifiedName();
/**
* Returns all parent interfaces for this classifier.
@@ -52,7 +52,7 @@
*
* @return a Collection containing all parent ObjectModelInterface for this classifier.
*/
- public abstract Collection<ObjectModelInterface> getInterfaces();
+ public Collection<ObjectModelInterface> getInterfaces();
/**
* Returns all operations defined on this classifier.
@@ -62,7 +62,7 @@
*
* @see ObjectModelOperation
*/
- public abstract Collection<ObjectModelOperation> getOperations(String name);
+ public Collection<ObjectModelOperation> getOperations(String name);
/**
* Returns all operations defined on this classifier.
@@ -70,7 +70,7 @@
*
* @return a Collection containing all ObjectModelOperation for this classifier.
*/
- public abstract Collection<ObjectModelOperation> getOperations();
+ public Collection<ObjectModelOperation> getOperations();
/**
* Returns all operations defined on all interfaces implemented by this
@@ -79,7 +79,7 @@
* are add to list.
* @return a Collection of ObjectModelOperation
*/
- public abstract Collection<ObjectModelOperation> getAllInterfaceOperations(
+ public Collection<ObjectModelOperation> getAllInterfaceOperations(
boolean distinct);
/**
@@ -91,16 +91,31 @@
* are add to list.
* @return a Collection of ObjectModelOperation
*/
- public abstract Collection<ObjectModelOperation> getAllOtherOperations(
+ public Collection<ObjectModelOperation> getAllOtherOperations(
boolean distinct);
+
/**
+ * Returns all dependencies of this client classifier
+ *
+ * @return a Collection of ObjectModelDependency
+ */
+ public Collection<ObjectModelDependency> getAllDependencies();
+
+ /**
+ * Return a dependency identifier by her name
+ * @param name of the dependency
+ * @return the dependency
+ */
+ public ObjectModelDependency getDependency(String name);
+
+ /**
* Returns whether this classifier is a class or not
* @see ObjectModelClass
*
* @return a boolean indicating whether this classifier is a class or not.
*/
- public abstract boolean isClass();
+ public boolean isClass();
/**
* Returns whether this classifier is an interface or not
@@ -108,6 +123,6 @@
*
* @return a boolean indicating whether this classifier is an interface or not.
*/
- public abstract boolean isInterface();
+ public boolean isInterface();
} //ObjectModelClassifier
Added: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java (rev 0)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/ObjectModelDependency.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -0,0 +1,53 @@
+/* *##% Eugene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+
+package org.nuiton.eugene.models.object;
+
+/**
+ * Abstraction for the root node of object model trees.
+ * This an entry point for browsing a model tree. This object offers
+ * as well several facilities for a direct access to some of the object model elements.
+ *
+ * Created: april 23th 2009
+ *
+ * @author Florian Desbois <desbois(a)codelutin.com>
+ * Copyright Code Lutin
+ * @version $Revision: 478 $
+ *
+ */
+public interface ObjectModelDependency {
+ /**
+ * Dependency name
+ *
+ * @return a String
+ */
+ public String getName();
+
+ /**
+ * Supplier classifier of the dependency
+ *
+ * @return an ObjectModelClassifier
+ */
+ public ObjectModelClassifier getSupplier();
+
+ /**
+ * Client classifier of the dependency
+ *
+ * @return an ObjectModelClassifier
+ */
+ public ObjectModelClassifier getClient();
+}
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/DigesterObjectModelRuleSet.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -92,6 +92,10 @@
d.addSetProperties("*/stereotype");
d.addSetNext("*/stereotype", "addStereotype");
+ d.addObjectCreate("*/dependency", ObjectModelDependencyImpl.class);
+ d.addSetProperties("*/dependency");
+ d.addSetNext("*/dependency", "addDependency");
+
d.addObjectCreate("*/attribute", ObjectModelAttributeImpl.class);
d.addSetProperties("*/attribute");
d.addSetNext("*/attribute", "addAttribute");
Modified: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelClassifierImpl.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -19,12 +19,15 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelDependency;
import org.nuiton.eugene.models.object.ObjectModelInterface;
import org.nuiton.eugene.models.object.ObjectModelOperation;
@@ -48,6 +51,8 @@
protected List<ObjectModelInterface> interfaces = null;
protected List<ObjectModelImplRef> interfacesRefs = new ArrayList<ObjectModelImplRef>();
protected List<ObjectModelOperation> operations = new ArrayList<ObjectModelOperation>();
+ protected List<ObjectModelDependency> dependencies = new ArrayList<ObjectModelDependency>();
+
protected String type = null;
public String toString() {
@@ -87,6 +92,12 @@
//return operation;
}
+ public void addDependency(ObjectModelDependencyImpl dependency) {
+ dependency.postInit();
+ dependency.setClient(this);
+ dependencies.add(dependency);
+ }
+
public void setType(String type) {
this.type = type;
}
@@ -154,4 +165,22 @@
}
return result;
}
+
+ @Override
+ public Collection<ObjectModelDependency> getAllDependencies() {
+ return this.dependencies;
+ }
+
+ @Override
+ public ObjectModelDependency getDependency(String name) {
+ if (name.isEmpty()) {
+ return null;
+ }
+ for (ObjectModelDependency dependency : this.dependencies) {
+ if (dependency.getName().equalsIgnoreCase(name)) {
+ return dependency;
+ }
+ }
+ return null;
+ }
}
Added: eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java
===================================================================
--- eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java (rev 0)
+++ eugene/trunk/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelDependencyImpl.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -0,0 +1,79 @@
+/* *##% Eugene
+ * Copyright (C) 2004 - 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+
+package org.nuiton.eugene.models.object.xml;
+
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelDependency;
+
+/**
+ * Abstraction for the root node of object model trees.
+ * This an entry point for browsing a model tree. This object offers
+ * as well several facilities for a direct access to some of the object model elements.
+ *
+ * Created: april 23th 2009
+ *
+ * @author Florian Desbois <desbois(a)codelutin.com>
+ * Copyright Code Lutin
+ * @version $Revision: 478 $
+ *
+ */
+public class ObjectModelDependencyImpl extends ObjectModelImplRef implements ObjectModelDependency {
+
+ /**
+ * Supplier name from XML file
+ */
+ private String supplierName;
+
+ /**
+ * Implementation of client to get the model when supplier is needed
+ */
+ private ObjectModelClassifierImpl client;
+
+ private ObjectModelClassifier supplier;
+
+ /**
+ * Method call for Digester setting properties of Dependency
+ * @param supplierName
+ */
+ public void setSupplier(String supplierName) {
+ this.supplierName = supplierName;
+ }
+
+ /**
+ * The object instance of supplier is getting from model when supplier is null
+ * @return an ObjectModelClassifier corresponding to the supplier of the dependency
+ */
+ @Override
+ public ObjectModelClassifier getSupplier() {
+ if (this.supplier == null) {
+ ObjectModelClassifier classifier = this.client.getModel().getClassifier(supplierName);
+ this.supplier = classifier;
+ }
+ return this.supplier;
+ }
+
+ public void setClient(ObjectModelClassifierImpl client) {
+ this.client = client;
+ }
+
+ @Override
+ public ObjectModelClassifier getClient() {
+ return this.client;
+ }
+
+}
Modified: eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl
===================================================================
--- eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2009-04-23 13:59:47 UTC (rev 481)
@@ -765,11 +765,9 @@
<xsl:template name="dependency">
<xsl:for-each select="UML:Namespace.ownedElement/UML:Dependency">
<xsl:element name="dependency">
- <xsl:if test="@name!=''">
- <xsl:attribute name="name">
- <xsl:value-of select="@name"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
<xsl:attribute name="supplier">
<xsl:call-template name="fullClassName">
<xsl:with-param name="childpath">UML:Dependency.supplier</xsl:with-param>
Modified: eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl
===================================================================
--- eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/main/xsl/xmi2.1ToObjectModel.xsl 2009-04-23 13:59:47 UTC (rev 481)
@@ -98,6 +98,12 @@
</xsl:element>
</xsl:for-each>
+ <!-- dependencies -->
+ <xsl:call-template name="UMLDependencies">
+ <xsl:with-param name="parent" select="current()" />
+ </xsl:call-template>
+
+
<!-- interfaces -->
<xsl:apply-templates select="interfaceRealization" />
@@ -147,6 +153,11 @@
</xsl:element>
</xsl:for-each>
+ <!-- dependencies -->
+ <xsl:call-template name="UMLDependencies">
+ <xsl:with-param name="parent" select="current()" />
+ </xsl:call-template>
+
<!-- interfaces -->
<xsl:apply-templates select="interfaceRealization" />
@@ -197,6 +208,11 @@
</xsl:element>
</xsl:for-each>
+ <!-- dependencies -->
+ <xsl:call-template name="UMLDependencies">
+ <xsl:with-param name="parent" select="current()" />
+ </xsl:call-template>
+
<!-- extends -->
<xsl:apply-templates select="generalization" />
@@ -213,21 +229,9 @@
<xsl:template match="interfaceRealization">
<xsl:element name="interface">
<xsl:attribute name="name">
- <xsl:choose>
- <xsl:when test="supplier">
- <xsl:call-template name="fullClassName">
- <xsl:with-param name="node" select="supplier" />
- </xsl:call-template>
- </xsl:when>
-
- <xsl:when test="@supplier">
- <xsl:call-template name="fullClassName2">
- <xsl:with-param name="node"
- select="/xmi:XMI/uml:Model/descendant::packagedElement[@xmi:type='uml:Interface'][@xmi:id=current()/@supplier]" />
- </xsl:call-template>
- </xsl:when>
- </xsl:choose>
-
+ <xsl:call-template name="supplierName">
+ <xsl:with-param name="parent" select="current()" />
+ </xsl:call-template>
</xsl:attribute>
</xsl:element>
</xsl:template>
@@ -386,6 +390,41 @@
</xsl:template>
+ <xsl:template name="UMLDependencies">
+ <xsl:param name="parent" />
+ <xsl:for-each select="//packagedElement[@xmi:type = 'uml:Dependency'][@client = $parent/@xmi:id]">
+ <xsl:element name="dependency">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name" />
+ </xsl:attribute>
+
+ <xsl:attribute name="supplier">
+ <xsl:call-template name="supplierName">
+ <xsl:with-param name="parent" select="current()" />
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="supplierName">
+ <xsl:param name="parent" />
+ <xsl:choose>
+ <xsl:when test="supplier">
+ <xsl:call-template name="fullClassName">
+ <xsl:with-param name="node" select="supplier" />
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:when test="@supplier">
+ <xsl:call-template name="fullClassName2">
+ <xsl:with-param name="node"
+ select="/xmi:XMI/uml:Model/descendant::packagedElement[@xmi:id=$parent/@supplier]" />
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
<!--
called by ownedAttribute and ownedOperation
-->
Modified: eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java
===================================================================
--- eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/test/java/org/nuiton/eugene/xmi/objectmodel/XMI12ToObjectModelTest.java 2009-04-23 13:59:47 UTC (rev 481)
@@ -24,6 +24,7 @@
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.Collection;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
@@ -37,6 +38,7 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
/**
* Test de la feuille de style "xmi1.2ToObjectModel.xsl"
@@ -167,8 +169,15 @@
ObjectModel model = loadModel(objectModelFile);
Assert.assertNotNull(model);
- Assert.assertEquals("ChoremPeopleModel", model.getName());
- //Assert.assertEquals(9, model.getClassifiers().size());
+ Assert.assertEquals("DependencyTest", model.getName());
+ Assert.assertEquals(4, model.getClassifiers().size());
+
+ int nbDependencies = 0;
+ for (ObjectModelClassifier classifier : model.getClassifiers()) {
+ nbDependencies += classifier.getAllDependencies().size();
+ }
+
+ Assert.assertEquals(4,nbDependencies);
}
}
Modified: eugene/trunk/src/test/resources/xmi/1.2/dependency.xmi
===================================================================
--- eugene/trunk/src/test/resources/xmi/1.2/dependency.xmi 2009-04-22 17:03:26 UTC (rev 480)
+++ eugene/trunk/src/test/resources/xmi/1.2/dependency.xmi 2009-04-23 13:59:47 UTC (rev 481)
@@ -1,2636 +1,84 @@
<?xml version = '1.0' encoding = 'UTF-8' ?>
-<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Wed Apr 22 17:57:54 CEST 2009'>
+<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Thu Apr 23 15:41:38 CEST 2009'>
<XMI.header> <XMI.documentation>
<XMI.exporter>ArgoUML (using Netbeans XMI Writer version 1.0)</XMI.exporter>
<XMI.exporterVersion>0.26.2(6) revised on $Date: 2007-05-12 08:08:08 +0200 (Sat, 12 May 2007) $ </XMI.exporterVersion>
</XMI.documentation>
<XMI.metamodel xmi.name="UML" xmi.version="1.4"/></XMI.header>
<XMI.content>
- <UML:Model xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001216'
- name = 'ChoremPeopleModel' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+ <UML:Model xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000B06'
+ name = 'DependencyTest' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
isAbstract = 'false'>
<UML:Namespace.ownedElement>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001217'
- name = 'GererOrganisation' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001218'
- name = 'GererSociete' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+ <UML:Package xmi.id = '-64--88-99-15-403e16ef:120d3349a11:-8000:0000000000000DB3'
+ name = 'thepackage' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
isAbstract = 'false'>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001219'/>
- </UML:GeneralizableElement.generalization>
- </UML:UseCase>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001219'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001218'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001217'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121A'
- name = 'GererService' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121B'/>
- </UML:GeneralizableElement.generalization>
- </UML:UseCase>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121B'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121A'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001217'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Actor xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'
- name = 'Secretaire' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121D'
- name = 'GererPersonne' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121E'
- name = 'GererContact' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121F'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001220'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001221'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001222'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Actor xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001223'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001224'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001225'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001217'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001226'
- name = 'GererRelation' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:UseCase xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001227'
- name = 'GererRole' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'/>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001229'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122A'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122B'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122C'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Actor xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122D'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000122F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121D'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001230'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001231'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001232'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001233'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Actor xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001234'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001235'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001236'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121E'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001237'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001238'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001239'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Actor xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123B'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123D'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001226'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C7'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C8'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C9'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CA'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Actor xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000121C'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CB'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CC'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CD'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:UseCase xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001227'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Package xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1D'
- name = 'org.chorem.people.persistence' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
<UML:Namespace.ownedElement>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123F'
- name = 'GroupPerson' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+ <UML:Interface xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAF'
+ name = 'OneInterface' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+ isLeaf = 'false' isAbstract = 'false'/>
+ <UML:Interface xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB1'
+ name = 'OtherInterface' visibility = 'public' isSpecification = 'false'
+ isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
+ <UML:ModelElement.clientDependency>
+ <UML:Dependency xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CBA'/>
+ <UML:Dependency xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CBB'/>
+ </UML:ModelElement.clientDependency>
+ <UML:Namespace.ownedElement>
+ <UML:Dependency xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CBA'
+ name = 'Dependency3' isSpecification = 'false'>
+ <UML:Dependency.client>
+ <UML:Interface xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB1'/>
+ </UML:Dependency.client>
+ <UML:Dependency.supplier>
+ <UML:Class xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB0'/>
+ </UML:Dependency.supplier>
+ </UML:Dependency>
+ <UML:Dependency xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CBB'
+ name = 'Dependency4' isSpecification = 'false'>
+ <UML:Dependency.client>
+ <UML:Interface xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB1'/>
+ </UML:Dependency.client>
+ <UML:Dependency.supplier>
+ <UML:Interface xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAF'/>
+ </UML:Dependency.supplier>
+ </UML:Dependency>
+ </UML:Namespace.ownedElement>
+ </UML:Interface>
+ <UML:Class xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAE'
+ name = 'OneClass' visibility = 'public' isSpecification = 'false' isRoot = 'false'
isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001263'/>
- </UML:GeneralizableElement.generalization>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001245'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001246'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001247'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'
- name = 'Party' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15-453010da:120b38a6ae9:-8000:0000000000000FD1'
- name = 'getId' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15-453010da:120b38a6ae9:-8000:0000000000000FD2'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'
- name = 'PartyRole' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AD'
- name = 'fromDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AE'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AF'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B0'
- name = 'thruDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B1'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B2'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001270'
- name = 'PartyRoleType' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001288'/>
- </UML:GeneralizableElement.generalization>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F3B'
- name = 'isEmployee' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F3C'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F3D'
- name = 'isEmployer' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F3E'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001277'
- name = 'PartyType' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001287'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001240'
- name = 'Person' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001261'/>
- </UML:GeneralizableElement.generalization>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001248'
- name = 'firstName' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001249'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124B'
- name = 'lastName' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124D'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124E'
- name = 'middleName' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000124F'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001250'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001251'
- name = 'suffix' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001252'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001253'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001254'
- name = 'nickname' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001255'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001256'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001257'
- name = 'gender' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001258'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001259'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125A'
- name = 'birthDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125B'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125C'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125D'
- name = 'maritalStatus' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000125F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001266'
- name = 'socialSecurityNo' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001267'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001268'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001269'
- name = 'totalYearsWorkExperience' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126A'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126B'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126C'
- name = 'comment' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126D'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126E'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001379'
- name = 'Priority' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137A'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137B'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137C'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137D'
- name = 'num' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000137F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086C'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'
- name = 'Relationship' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001365'
- name = 'fromDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001366'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001367'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001368'
- name = 'thruDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001369'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001375'
- name = 'comment' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001376'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001377'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Operation xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F37'
- name = 'isEmployment' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F38'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--6e2c6841:1208151245b:-8000:0000000000000F4B'
- name = 'isType' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--6e2c6841:1208151245b:-8000:0000000000000F4C'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--6e2c6841:1208151245b:-8000:0000000000000F4D'
- name = 'typeName' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001378'
- name = 'RelationshipStatus' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F21'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F22'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F23'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136B'
- name = 'RelationshipType' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F20'/>
- </UML:GeneralizableElement.generalization>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F35'
- name = 'isEmployment' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F36'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'
- name = 'Type' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001279'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127A'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127B'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127C'
- name = 'description' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127D'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127E'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CE'
- name = 'object' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013CF'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013D0'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001343'
- name = 'GeographicElmtType' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001363'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001326'
- name = 'GeographicElmt' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001335'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001336'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001337'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001338'
- name = 'ref' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001339'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D5'
- name = 'ContactType' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001364'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'
- name = 'Contact' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CA'
- name = 'contact' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CB'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CC'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001392'
- name = 'TypeConstraint' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000139E'
- name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000139F'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013A0'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CD'
- name = 'Address' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
<UML:ModelElement.clientDependency>
- <UML:Dependency xmi.idref = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD4'/>
- <UML:Dependency xmi.idref = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD6'/>
+ <UML:Dependency xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB3'/>
+ <UML:Dependency xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB9'/>
</UML:ModelElement.clientDependency>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E3'/>
- </UML:GeneralizableElement.generalization>
<UML:Namespace.ownedElement>
- <UML:Dependency xmi.id = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD4'
- name = 'BLOB' isSpecification = 'false'>
+ <UML:Dependency xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB3'
+ name = 'Dependency1' isSpecification = 'false'>
<UML:Dependency.client>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CD'/>
+ <UML:Class xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAE'/>
</UML:Dependency.client>
<UML:Dependency.supplier>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
+ <UML:Class xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB0'/>
</UML:Dependency.supplier>
</UML:Dependency>
- <UML:Dependency xmi.id = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD6'
- name = 'BLOB2' isSpecification = 'false'>
+ <UML:Dependency xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB9'
+ name = 'Dependency2' isSpecification = 'false'>
<UML:Dependency.client>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CD'/>
+ <UML:Class xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAE'/>
</UML:Dependency.client>
<UML:Dependency.supplier>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
+ <UML:Interface xmi.idref = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CAF'/>
</UML:Dependency.supplier>
</UML:Dependency>
</UML:Namespace.ownedElement>
</UML:Class>
- <UML:Generalization xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F20'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136B'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013BC'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013BD'
- name = 'constraintsTo' visibility = 'public' isSpecification = 'false' isNavigable = 'false'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C4'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C3'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001392'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C0'
- name = 'toType' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C1'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C2'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013B5'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013B6'
- name = 'constraintsFrom' visibility = 'public' isSpecification = 'false'
- isNavigable = 'false' ordering = 'unordered' aggregation = 'none' targetScope = 'instance'
- changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C6'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013C5'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001392'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013B9'
- name = 'fromType' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013BA'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013BB'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001389'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000138A'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001391'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001390'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000138D'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000138E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000138F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001378'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133C'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133D'
- name = 'parent' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'aggregate' targetScope = 'instance'
- changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001326'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001340'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001357'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001356'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001326'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000134D'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000134E'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001355'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001354'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CD'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001351'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001352'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001353'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001326'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001344'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001345'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000134C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000134B'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001326'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001348'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001349'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000134A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001343'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001380'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001381'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001388'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001387'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001384'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001385'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001386'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001379'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136C'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136D'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001374'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001373'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001370'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001371'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001372'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000136B'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000129F'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012A0'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AB'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AA'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012A3'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012A9'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012A8'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001270'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012BA'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012BB'
- name = 'toRole' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C4'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C3'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012BE'
- name = 'relationshipsTo' visibility = 'public' isSpecification = 'false'
- isNavigable = 'false' ordering = 'unordered' aggregation = 'none' targetScope = 'instance'
- changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C6'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C5'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B3'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B4'
- name = 'fromRole' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B5'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B6'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012B7'
- name = 'relationshipsFrom' visibility = 'public' isSpecification = 'false'
- isNavigable = 'false' ordering = 'unordered' aggregation = 'none' targetScope = 'instance'
- changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C8'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C7'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012AC'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001296'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001297'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001298'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001299'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000129A'
- name = 'roles' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000129E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000129D'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CE'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CF'
- name = 'contacts' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E5'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E4'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D2'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001096'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001095'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001358'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001359'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001360'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000135F'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000135C'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001362'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001361'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D6'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D7'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E2'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E1'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012DA'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E0'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012DF'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D5'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012E3'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012CD'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001263'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123F'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001261'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001240'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001289'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000128A'
- visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001293'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001292'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001277'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000128D'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001295'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001294'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001288'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001270'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001287'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001277'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001363'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001343'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001364'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012D5'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Association xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013A2'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013A3'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013AE'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013AD'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001392'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013A6'
- name = 'constraintType' visibility = 'public' isSpecification = 'false'
- isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'instance'
- changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013AC'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000013AB'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001278'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
+ <UML:Class xmi.id = '-64--88-99-15-68eb495d:120d207b126:-8000:0000000000000CB0'
+ name = 'OtherClass' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+ isLeaf = 'false' isAbstract = 'false' isActive = 'false'/>
</UML:Namespace.ownedElement>
</UML:Package>
- <UML:Stereotype xmi.id = '-64--88-99-15--4cda136b:120665c2ab9:-8000:0000000000000F1F'
- name = 'entity' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass>
- <UML:Stereotype.baseClass>Classifier</UML:Stereotype.baseClass>
- </UML:Stereotype>
- <UML:Package xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F34'
- name = 'org.chorem.people.dto' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:Namespace.ownedElement>
- <UML:Class xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F41'
- name = 'GroupDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F5F'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F35'
- name = 'PersonDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F60'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Generalization xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F5F'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F41'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123F'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Generalization xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F60'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F35'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001240'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- </UML:Namespace.ownedElement>
- </UML:Package>
- <UML:Stereotype xmi.id = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'
- name = 'dto' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:Stereotype.baseClass>Classifier</UML:Stereotype.baseClass>
- <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass>
- </UML:Stereotype>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F58'
- name = 'RangeTime' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F59'
- name = 'fromDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5A'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5B'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5C'
- name = 'thruDate' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5D'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5E'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085F'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'
- name = 'RelationDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD3'
- name = 'rangeTime' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD4'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD5'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F58'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD6'
- name = 'relationType' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD7'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD8'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F60'
- name = 'ServiceOrganization' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F61'
- name = 'updateOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F62'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F6B'
- name = 'organization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F41'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F63'
- name = 'modifyEmployeeToOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F64'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F6C'
- name = 'employee' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F65'
- name = 'modifyDivisionToOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F66'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F6D'
- name = 'division' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FA5'
- name = 'modifyParent' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FA6'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001074'
- name = 'parent' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FA9'
- name = 'getParent' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FAA'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001075'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FAF'
- name = 'getEmployees' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FB0'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001073'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FB1'
- name = 'getDivisions' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FB2'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001072'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001069'
- name = 'modifyRelationToOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106A'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106B'
- name = 'relation' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106C'
- name = 'getAllRelations' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106D'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Interface href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085E'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001071'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106E'
- name = 'getOtherRelations' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000106F'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Interface href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085E'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001070'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001076'
- name = 'deleteOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001077'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001078'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001082'
- name = 'getOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001083'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F41'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001084'
- name = 'idOrganization' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F74'
- name = 'ServicePerson' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:ModelElement.clientDependency>
- <UML:Dependency xmi.idref = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD3'/>
- </UML:ModelElement.clientDependency>
- <UML:Namespace.ownedElement>
- <UML:Dependency xmi.id = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD3'
- name = 'FUCK' isSpecification = 'false'>
- <UML:Dependency.client>
- <UML:Interface xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F74'/>
- </UML:Dependency.client>
- <UML:Dependency.supplier>
- <UML:Interface xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001050'/>
- </UML:Dependency.supplier>
- </UML:Dependency>
- </UML:Namespace.ownedElement>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F75'
- name = 'updatePerson' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F76'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F77'
- name = 'person' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F35'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F78'
- name = 'getPerson' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F79'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F35'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F7A'
- name = 'id' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F98'
- name = 'modifyRole' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F99'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001088'
- name = 'partyRole' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F9F'
- name = 'getRoles' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FA0'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Interface href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085E'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001089'
- name = 'idPerson' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001085'
- name = 'deletePerson' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001086'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001087'
- name = 'idPerson' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F93'
- name = 'ServiceDivision' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F96'
- name = 'addPersonToDivision' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F97'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001057'
- name = 'person' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001022'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FAD'
- name = 'getDivision' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FAE'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001097'
- name = 'idDivisionRole' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FA4'
- name = 'ServiceParty' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001045'
- name = 'getParty' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001046'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000123E'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001047'
- name = 'id' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Association xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FB9'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FBA'
- name = '' visibility = 'public' isSpecification = 'false' isNavigable = 'false'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC5'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC4'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FBD'
- name = 'roleTo' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC3'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC2'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Association xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC8'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FC9'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD0'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FCF'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FCC'
- name = 'roleFroms' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'ordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD2'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FD1'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'
- name = 'PartyRoleDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF1'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Generalization xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF1'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000126F'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'
- name = 'SubElementDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001002'
- name = 'idPartyParent' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001003'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001004'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001005'
- name = 'rangeTime' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001006'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001007'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F58'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001008'
- name = 'idParty' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001009'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000100A'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000100B'
- name = 'relationType' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000100C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000100D'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000104D'
- name = 'isDeleted' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000104E'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000104F'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000873'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001022'
- name = 'DivisionPersonDTO' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001023'
- name = 'idOrganization' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001024'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001025'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001026'
- name = 'idDivision' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001027'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001028'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000102C'
- name = 'rangeTime' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000102D'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000102E'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F58'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001066'
- name = 'idPerson' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001067'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001068'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001031'
- name = 'ContactDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:ModelElement.clientDependency>
- <UML:Abstraction xmi.idref = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD7'/>
- </UML:ModelElement.clientDependency>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15-67f5e877:1207ac530c9:-8000:0000000000000F3F'/>
- </UML:ModelElement.stereotype>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001032'/>
- </UML:GeneralizableElement.generalization>
- </UML:Class>
- <UML:Generalization xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001032'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001031'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:00000000000012C9'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000103E'
- name = 'ServiceContact' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000103F'
- name = 'updateContactToElement' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001040'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001079'
- name = 'element' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107A'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107F'
- name = 'getContacts' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001080'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Interface href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000085E'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001081'
- name = 'idRef' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000108E'
- name = 'deleteContact' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000108F'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001090'
- name = 'idContact' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Interface xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001050'
- name = 'ServiceRelationship' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Classifier.feature>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001051'
- name = 'modifyContactPerson' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:ModelElement.comment>
- <UML:Comment xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000108A'/>
- </UML:ModelElement.comment>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001052'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086B'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001053'
- name = 'contactPerson' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001001'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- <UML:Operation xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001054'
- name = 'getContactPersons' visibility = 'public' isSpecification = 'false'
- ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false'>
- <UML:BehavioralFeature.parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001055'
- name = 'return' isSpecification = 'false' kind = 'return'>
- <UML:Parameter.type>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F5F'/>
- </UML:Parameter.type>
- </UML:Parameter>
- <UML:Parameter xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001056'
- name = 'idParty' isSpecification = 'false'>
- <UML:Parameter.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:Parameter.type>
- </UML:Parameter>
- </UML:BehavioralFeature.parameter>
- </UML:Operation>
- </UML:Classifier.feature>
- </UML:Interface>
- <UML:Association xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001059'
- name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
- <UML:Association.connection>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000105A'
- visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
- aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001063'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001062'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001022'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- <UML:AssociationEnd xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000105D'
- name = 'roles' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
- ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
- <UML:AssociationEnd.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001099'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001098'
- lower = '0' upper = '-1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:AssociationEnd.multiplicity>
- <UML:AssociationEnd.participant>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000FF0'/>
- </UML:AssociationEnd.participant>
- </UML:AssociationEnd>
- </UML:Association.connection>
- </UML:Association>
- <UML:Class xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107A'
- name = 'ContactElementDTO' visibility = 'public' isSpecification = 'false'
- isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
- <UML:GeneralizableElement.generalization>
- <UML:Generalization xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107E'/>
- </UML:GeneralizableElement.generalization>
- <UML:Classifier.feature>
- <UML:Attribute xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107B'
- name = 'idRef' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
- changeability = 'changeable' targetScope = 'instance'>
- <UML:StructuralFeature.multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107D'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- </UML:StructuralFeature.multiplicity>
- <UML:StructuralFeature.type>
- <UML:Class href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:0000000000000859'/>
- </UML:StructuralFeature.type>
- </UML:Attribute>
- </UML:Classifier.feature>
- </UML:Class>
- <UML:Generalization xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107E'
- isSpecification = 'false'>
- <UML:Generalization.child>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000107A'/>
- </UML:Generalization.child>
- <UML:Generalization.parent>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001031'/>
- </UML:Generalization.parent>
- </UML:Generalization>
- <UML:Comment xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:000000000000108A'
- isSpecification = 'false' body = 'modify : add ou remove update : create ou update'>
- <UML:Comment.annotatedElement>
- <UML:Operation xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001051'/>
- </UML:Comment.annotatedElement>
- </UML:Comment>
- <UML:Abstraction xmi.id = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD7'
- isSpecification = 'false'>
- <UML:ModelElement.stereotype>
- <UML:Stereotype xmi.idref = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD8'/>
- </UML:ModelElement.stereotype>
- <UML:Dependency.client>
- <UML:Class xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000001031'/>
- </UML:Dependency.client>
- <UML:Dependency.supplier>
- <UML:Interface xmi.idref = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F74'/>
- </UML:Dependency.supplier>
- </UML:Abstraction>
- <UML:Stereotype xmi.id = '-64--88-99-15--1fc9f678:120ce5e392e:-8000:0000000000000FD8'
- name = 'realize' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
- isAbstract = 'false'>
- <UML:Stereotype.baseClass>Abstraction</UML:Stereotype.baseClass>
- </UML:Stereotype>
</UML:Namespace.ownedElement>
</UML:Model>
- <UML:Multiplicity xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F2C'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--4cc7aa6e:1206b0aac90:-8000:0000000000000F2D'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- <UML:Multiplicity xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F51'>
- <UML:Multiplicity.range>
- <UML:MultiplicityRange xmi.id = '-64--88-99-15--771e5177:120855f41e0:-8000:0000000000000F52'
- lower = '1' upper = '1'/>
- </UML:Multiplicity.range>
- </UML:Multiplicity>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000127F'
- name = '' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'/>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:0000000000001327'
- name = '' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'/>
- <UML:Class xmi.id = '-64--88-99-15-5d95b71f:120612f3c0f:-8000:000000000000133B'
- name = '' visibility = 'public' isSpecification = 'false' isRoot = 'false'
- isLeaf = 'false' isAbstract = 'false' isActive = 'false'/>
</XMI.content>
</XMI>
1
0