r761 - in trunk: eugene/src/main/java/org/nuiton/eugene maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi maven-eugene-plugin/src/main/java/o
Author: tchemit Date: 2009-12-17 00:12:41 +0100 (Thu, 17 Dec 2009) New Revision: 761 Added: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.properties trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.xmi trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.zargo Modified: trunk/eugene/src/main/java/org/nuiton/eugene/AbstractModelFileWriter.java trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriter.java trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterConfiguration.java trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterUtil.java trunk/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/pom.xml trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/pom.xml trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/verify.groovy trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/GeneratateModelFilesMojo.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseXmiToModelFileWriter.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiToObjectModelFileWriter.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoModelFileWriter.java Log: - add testPhase in ModelFileWriterConfiguration - add test input dir and output dir in ModelFileWriter api (zeroconf in mojo configs for test phase) Modified: trunk/eugene/src/main/java/org/nuiton/eugene/AbstractModelFileWriter.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/AbstractModelFileWriter.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/eugene/src/main/java/org/nuiton/eugene/AbstractModelFileWriter.java 2009-12-16 23:12:41 UTC (rev 761) @@ -94,7 +94,7 @@ } this.configuration = configuration; try { - File outputDir = getOutputDirectory(configuration.getOutputDirectory()); + File outputDir = getOutputDirectory(configuration.getOutputDirectory(), configuration.isTestPhase()); if (!outputDir.exists()) { if (log.isDebugEnabled()) { @@ -124,8 +124,8 @@ } @Override - public File getOutputDirectory(File outputBasedir) { - return new File(outputBasedir, getDefaultOutputDirectory()); + public File getOutputDirectory(File outputBasedir, boolean testPhase) { + return new File(outputBasedir, testPhase ? getDefaultTestOutputDirectory() : getDefaultOutputDirectory()); } @Override @@ -139,22 +139,6 @@ protected ModelFileWriterConfiguration getConfiguration() { return configuration; } -// -// protected File createOutputDirectory(File outputDir) throws IOException { -// -// outputDir = getOutputDirectory(outputDir); -// -// if (!outputDir.exists()) { -// if (log.isDebugEnabled()) { -// log.debug("[" + getInputProtocol() + "] Create output directory " + outputDir); -// } -// boolean b = outputDir.mkdirs(); -// if (!b) { -// throw new IOException("Could not creat directory " + outputDir); -// } -// } -// return outputDir; -// } protected ModelFileWriter getNextWriter() { return nextWriter; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriter.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriter.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriter.java 2009-12-16 23:12:41 UTC (rev 761) @@ -87,19 +87,30 @@ String getDefaultInputDirectory(); /** + * @return the defalt relative path where to pick files to treate on a test phase. + */ + String getDefaultTestInputDirectory(); + + /** * @return the default relative path to add to output basedir */ String getDefaultOutputDirectory(); /** + * @return the default relative path to add to output basedir on a test phase. + */ + String getDefaultTestOutputDirectory(); + + /** * Obtain the real directory where to write files. * <p/> * //FIXME-TC20091126 make this configurable (via the properties) * * @param outputBasedir the output base directory + * @param testPhase {@code true} if writer is used in a test phase * @return the real output directory where to generate for this particular writer */ - File getOutputDirectory(File outputBasedir); + File getOutputDirectory(File outputBasedir, boolean testPhase); /** * Generates. Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterConfiguration.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterConfiguration.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterConfiguration.java 2009-12-16 23:12:41 UTC (rev 761) @@ -66,6 +66,10 @@ boolean isVerbose(); /** + * @return {@code true} if build is done on a test phase. + */ + boolean isTestPhase(); + /** * @return encoding to use to read and write files */ String getEncoding(); Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterUtil.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/eugene/src/main/java/org/nuiton/eugene/ModelFileWriterUtil.java 2009-12-16 23:12:41 UTC (rev 761) @@ -119,7 +119,7 @@ String basedirpath = configuration.getBasedir().getAbsolutePath(); - String outputpath = writer.getOutputDirectory(configuration.getOutputDirectory()).getAbsolutePath(); + String outputpath = writer.getOutputDirectory(configuration.getOutputDirectory(), configuration.isTestPhase()).getAbsolutePath(); String path = outputpath.substring(basedirpath.length() + 1); @@ -222,7 +222,7 @@ } ModelFileWriterEntry writerEntry = new ModelFileWriterEntry( - new File(configuration.getBasedir(), writer.getDefaultInputDirectory()), + new File(configuration.getBasedir(), configuration.isTestPhase()?writer.getDefaultTestInputDirectory():writer.getDefaultInputDirectory()), writer.getDefaultIncludes() ); return writerEntry; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/eugene/src/main/java/org/nuiton/eugene/ObjectModelGenerator.java 2009-12-16 23:12:41 UTC (rev 761) @@ -75,10 +75,6 @@ private static Log log = LogFactory.getLog(ObjectModelGenerator.class); - public ObjectModelGenerator() { - super(); - } - public ObjectModelGenerator(AbstractGenerator<ObjectModel> parent) { super(parent); } @@ -111,9 +107,9 @@ * getFilenameFor.... La methode generateFrom... n'utilise pas le Writer * alors le fichier n'est pas généré, si on l'utilise m?me pour ne rien * écrire alors le fichier sera généré. - * @param model - * @param destDir - * @throws IOException + * @param model le modele memoire a utiliser + * @param destDir le repertoire ou generer + * @throws IOException pour tout pb */ @Override public void applyTemplate(ObjectModel model, File destDir) throws IOException { @@ -271,7 +267,7 @@ * Par defaut cette methode retourne le getName du model. Si l'on souhaite * utiliser la methode generateFromModel il vaut mieux surcharger cette * methode - * @param model + * @param model le modele utilise * @return */ public String getFilenameForModel(ObjectModel model) { @@ -282,9 +278,9 @@ /** * Par defaut cette methode retourne le QualifiedName convertie en chemin * par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto - * @param model + * @param model le modele utilise * @param packageName - * @return + * @return le nom du fichier a generer */ public String getFilenameForPackage(ObjectModel model, String packageName) { return packageName.replace('.', File.separatorChar); @@ -293,8 +289,8 @@ /** * Par defaut cette methode retourne le QualifiedName convertie en chemin * par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto - * @param interfacez - * @return + * @param interfacez l'interface utilisee + * @return le nom du fichier a generer */ public String getFilenameForInterface(ObjectModelInterface interfacez) { return getFilenameForClassifier(interfacez); @@ -304,8 +300,8 @@ /** * Par defaut cette methode retourne le QualifiedName convertie en chemin * par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto - * @param clazz - * @return + * @param clazz la classe utilisee + * @return le nom du fichier a generer */ public String getFilenameForClass(ObjectModelClass clazz) { return getFilenameForClassifier(clazz); @@ -315,11 +311,11 @@ /** * Par defaut cette methode retourne le QualifiedName convertie en chemin * par exemple pour org.codelutin.Toto on aurait org/codelutin/Toto - * @param clazz - * @return + * @param classifier le classifier utilisee + * @return le nom du fichier a generer */ - public String getFilenameForClassifier(ObjectModelClassifier clazz) { - return clazz.getQualifiedName().replace('.', File.separatorChar); + public String getFilenameForClassifier(ObjectModelClassifier classifier) { + return classifier.getQualifiedName().replace('.', File.separatorChar); } public String getFilenameForEnumeration(ObjectModelEnumeration enumeration) { Modified: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/pom.xml =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/pom.xml 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/pom.xml 2009-12-16 23:12:41 UTC (rev 761) @@ -64,7 +64,7 @@ <id>Zargo to object model</id> <phase>generate-sources</phase> <configuration> - <modelType>objectmodel</modelType> + <!--<modelType>objectmodel</modelType>--> <inputFiles> <inputFile>src/main/zargo:**/*.zargo</inputFile> </inputFiles> @@ -94,7 +94,7 @@ <id>Xmi to object model</id> <phase>generate-sources</phase> <configuration> - <modelType>objectmodel</modelType> + <!--<modelType>objectmodel</modelType>--> <inputFiles> <inputFile>src/main/xmi:**/*.xmi</inputFile> </inputFiles> Modified: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties 2009-12-16 23:12:41 UTC (rev 761) @@ -1,6 +1,6 @@ # A comma or space separated list of goals/phases to execute, may # specify an empty list to execute the default goal of the IT project -invoker.goals=clean generate-sources +invoker.goals=clean generate-test-sources # Optionally, a list of goals to run during further invocations of Maven #invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run Modified: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/pom.xml =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/pom.xml 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/pom.xml 2009-12-16 23:12:41 UTC (rev 761) @@ -64,7 +64,7 @@ <id>Zargo to object model</id> <phase>generate-sources</phase> <configuration> - <modelType>objectmodel</modelType> + <!--<modelType>objectmodel</modelType>--> <inputFiles> <inputFile>zargo</inputFile> </inputFiles> @@ -94,7 +94,7 @@ <id>Xmi to object model</id> <phase>generate-sources</phase> <configuration> - <modelType>objectmodel</modelType> + <!--<modelType>objectmodel</modelType>--> <inputFiles> <inputFile>xmi</inputFile> </inputFiles> @@ -120,6 +120,70 @@ <goal>generate-model-files</goal> </goals> </execution> + <execution> + <id>Zargo to object model (test phase)</id> + <phase>generate-test-sources</phase> + <configuration> + <testPhase>true</testPhase> + <!--<modelType>objectmodel</modelType>--> + <inputFiles> + <inputFile>zargo</inputFile> + </inputFiles> + <fullPackagePath>org.nuiton.topia.test.entities</fullPackagePath> + <outputDirectory>target/generated-sources-zargo2ObjectModel</outputDirectory> + </configuration> + <goals> + <goal>generate-model-files</goal> + </goals> + </execution> + <execution> + <id>Zargo to state model (test phase)</id> + <phase>generate-test-sources</phase> + <configuration> + <testPhase>true</testPhase> + <modelType>statemodel</modelType> + <inputFiles> + <inputFile>zargo</inputFile> + </inputFiles> + <fullPackagePath>org.nuiton.topia.test.entities</fullPackagePath> + <outputDirectory>target/generated-sources-zargo2StateModel</outputDirectory> + </configuration> + <goals> + <goal>generate-model-files</goal> + </goals> + </execution> + <execution> + <id>Xmi to object model (test phase)</id> + <phase>generate-test-sources</phase> + <configuration> + <testPhase>true</testPhase> + <!--<modelType>objectmodel</modelType>--> + <inputFiles> + <inputFile>xmi</inputFile> + </inputFiles> + <fullPackagePath>org.nuiton.topia</fullPackagePath> + <outputDirectory>target/generated-sources-xmi2ObjectModel</outputDirectory> + </configuration> + <goals> + <goal>generate-model-files</goal> + </goals> + </execution> + <execution> + <id>Xmi to state model (test phase)</id> + <phase>generate-test-sources</phase> + <configuration> + <testPhase>true</testPhase> + <modelType>statemodel</modelType> + <inputFiles> + <inputFile>xmi</inputFile> + </inputFiles> + <fullPackagePath>org.nuiton.topia</fullPackagePath> + <outputDirectory>target/generated-sources-xmi2StateModel</outputDirectory> + </configuration> + <goals> + <goal>generate-model-files</goal> + </goals> + </execution> </executions> <dependencies> <dependency> Added: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.properties =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.properties (rev 0) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.properties 2009-12-16 23:12:41 UTC (rev 761) @@ -0,0 +1 @@ +model.tagvalue.generateOperatorForDAOHelper=true \ No newline at end of file Added: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.xmi =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.xmi (rev 0) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.xmi 2009-12-16 23:12:41 UTC (rev 761) @@ -0,0 +1,1334 @@ +<?xml version = '1.0' encoding = 'UTF-8' ?> +<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Mon Oct 19 15:56:54 CEST 2009'> + <XMI.header> <XMI.documentation> + <XMI.exporter>ArgoUML (using Netbeans XMI Writer version 1.0)</XMI.exporter> + <XMI.exporterVersion>0.28.1(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 = '127-0-0-1-3f03561c:11667f969c5:-8000:000000000000077B' + name = 'xmiTopiaTest' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:ModelElement.taggedValue> + <UML:TaggedValue xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E3' + isSpecification = 'false'> + <UML:TaggedValue.dataValue>1.2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E4'/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Namespace.ownedElement> + <UML:TagDefinition xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E4' + name = 'version' isSpecification = 'false' tagType = 'String'> + <UML:TagDefinition.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E6'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E5' + lower = '0' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:TagDefinition.multiplicity> + </UML:TagDefinition> + <UML:Stereotype xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7' + name = 'entity' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass> + </UML:Stereotype> + <UML:Package xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:000000000000090B' + name = 'org' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Package xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:000000000000090C' + name = 'nuiton' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Package xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:000000000000090D' + name = 'topiatest' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Class xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA' + name = 'Personne' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:GeneralizableElement.generalization> + <UML:Generalization xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001020'/> + </UML:GeneralizableElement.generalization> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CF9' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CFD'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CFC' + 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-67f6b63e:12187ee3a69:-8000:0000000000000EB0' + name = 'otherNames' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-67f6b63e:12187ee3a69:-8000:0000000000000EB8'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-67f6b63e:12187ee3a69:-8000:0000000000000EB7' + lower = '0' 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DE' + name = 'Employe' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:GeneralizableElement.generalization> + <UML:Generalization xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E2'/> + </UML:GeneralizableElement.generalization> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D54' + name = 'salary' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D5A'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D59' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E0' + name = 'Company' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000011BD' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000011C5'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000011C4' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008F9' + name = 'Address' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000903' + name = 'city' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CF7'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CF6' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CE8' + name = 'adress' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CF3'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CF2' + 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:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008FB' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008FC' + visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008FD'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008FE' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008FF' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000900'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000901' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008F9'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Generalization xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E2' + isSpecification = 'false'> + <UML:Generalization.child> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DE'/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA'/> + </UML:Generalization.parent> + </UML:Generalization> + <UML:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CFE' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000CFF' + 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--164a0c3b:121af97fc30:-8000:000000000000102C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:000000000000102B' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E0'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D02' + 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--164a0c3b:121af97fc30:-8000:000000000000102A'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001029' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DE'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Class xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0B' + name = 'Department' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D25' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D29'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D28' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2A' + name = 'Product' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D37' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D3F'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D3E' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D5B' + name = 'Store' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D7D' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D83'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D82' + 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 = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D40' + name = 'Type' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D4D' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D53'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D52' + 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:AssociationClass xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D65' + name = 'Bill' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D66' + visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D89'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D88' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E0'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D69' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D8D'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D8C' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D5B'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D6D' + name = 'cost' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D75'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D74' + 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:Attribute xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D76' + name = 'date' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D7A'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D79' + 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:AssociationClass> + <UML:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D18' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D19' + name = 'lead' visibility = 'public' isSpecification = 'false' isNavigable = 'false' + ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D24'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D23' + lower = '0' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0B'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D1C' + name = 'leader' visibility = 'public' isSpecification = 'false' isNavigable = 'true' + ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D1D'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D1E' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DE'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0D' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0E' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'composite' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0F'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D10' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E0'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D11' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D17'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D16' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0B'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2C' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2D' + visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2E'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2F' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D0B'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D30' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D36'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D35' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2A'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Association xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D42' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D43' + visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D4C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D4B' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2A'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D46' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D47'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D48' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D40'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Package xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E71' + name = 'beangen' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Class xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E72' + name = 'Voiture' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'true' isActive = 'false'> + <UML:ModelElement.clientDependency> + <UML:Abstraction xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E77'/> + </UML:ModelElement.clientDependency> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E73'/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EA1' + isSpecification = 'false'> + <UML:TaggedValue.dataValue>Doc for BeanA</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition href = 'http://argouml.org/profiles/uml14/default-uml14.xmi#.:000000000000087C'/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E7C' + name = 'immatriculation' visibility = 'public' isSpecification = 'false' + ownerScope = 'instance' changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E7D'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E7E' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:StructuralFeature.multiplicity> + <UML:ModelElement.taggedValue> + <UML:TaggedValue xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EA2' + isSpecification = 'false'> + <UML:TaggedValue.dataValue>attrA of BeanA</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition href = 'http://argouml.org/profiles/uml14/default-uml14.xmi#.:000000000000087C'/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType href = 'http://argouml.org/profiles/uml14/default-java.xmi#.:000000000000086C'/> + </UML:StructuralFeature.type> + </UML:Attribute> + <UML:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E7F' + name = 'modele' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E80'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E81' + 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-6093e433:1215d2d04f2:-8000:0000000000000EE6' + name = 'proprietaire' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EE7'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EE8' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:StructuralFeature.multiplicity> + <UML:StructuralFeature.type> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA'/> + </UML:StructuralFeature.type> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Class xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E75' + name = 'Roue' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E73'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Operation xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E85' + name = 'mount' 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-6093e433:1215d2d04f2:-8000:0000000000000E86' + 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:BehavioralFeature.parameter> + </UML:Operation> + <UML:Operation xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E87' + name = 'getModel' 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-6093e433:1215d2d04f2:-8000:0000000000000E88' + name = 'return' isSpecification = 'false' kind = 'return'> + <UML:Parameter.type> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:0000000000000D2A'/> + </UML:Parameter.type> + </UML:Parameter> + <UML:Parameter xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E89' + 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:Class> + <UML:Abstraction xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E77' + isSpecification = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E78'/> + </UML:ModelElement.stereotype> + <UML:Dependency.client> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E72'/> + </UML:Dependency.client> + <UML:Dependency.supplier> + <UML:Interface xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E76'/> + </UML:Dependency.supplier> + </UML:Abstraction> + <UML:Interface xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E76' + name = 'Vehicule' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false'> + <UML:Classifier.feature> + <UML:Operation xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E7A' + name = 'start' 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-6093e433:1215d2d04f2:-8000:0000000000000E7B' + 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:BehavioralFeature.parameter> + </UML:Operation> + </UML:Classifier.feature> + </UML:Interface> + <UML:Association xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E8A' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E8B' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'composite' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E8C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E8D' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E72'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E8E' + 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-6093e433:1215d2d04f2:-8000:0000000000000ED2'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED1' + lower = '4' upper = '4'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E75'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Class xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAB' + 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-6093e433:1215d2d04f2:-8000:0000000000000E74'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAC' + name = 'idCompany' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAD'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAE' + 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:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAF' + name = 'idDepartement' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB0'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB1' + 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:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EBB' + name = 'dateDebut' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EBC'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EBD' + 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-6093e433:1215d2d04f2:-8000:0000000000000EA9' + name = 'PersonneDTO' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.clientDependency> + <UML:Dependency xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAA'/> + </UML:ModelElement.clientDependency> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E74'/> + </UML:ModelElement.stereotype> + <UML:Namespace.ownedElement> + <UML:Dependency xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAA' + isSpecification = 'false'> + <UML:Dependency.client> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EA9'/> + </UML:Dependency.client> + <UML:Dependency.supplier> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA'/> + </UML:Dependency.supplier> + </UML:Dependency> + </UML:Namespace.ownedElement> + </UML:Class> + <UML:Association xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB2' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB3' + 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-6093e433:1215d2d04f2:-8000:0000000000000EBA'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB9' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EAB'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB6' + name = 'person' 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-6093e433:1215d2d04f2:-8000:0000000000000EB7'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EB8' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EA9'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Class xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED3' + name = 'Siege' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E73'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EDB' + name = 'noSerie' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EDC'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EDD' + 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:Association xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED4' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED5' + 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-6093e433:1215d2d04f2:-8000:0000000000000EE5'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EE4' + lower = '1' upper = '4'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED3'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED8' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'composite' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000ED9'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000EDA' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E72'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + </UML:Namespace.ownedElement> + </UML:Package> + <UML:Package xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100A' + name = 'deletetest' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Class xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100B' + name = 'Contact2' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001019' + name = 'contactValue' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101A'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101B' + 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-7b62aac4:121aaa56ef3:-8000:000000000000101C' + name = 'type' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101D'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101E' + 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--164a0c3b:121af97fc30:-8000:000000000000102F' + name = 'findAllByCompany' visibility = 'public' isSpecification = 'false' + ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001034'/> + </UML:ModelElement.stereotype> + <UML:BehavioralFeature.parameter> + <UML:Parameter xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001030' + name = 'return' isSpecification = 'false' kind = 'return'> + <UML:Parameter.type> + <UML:Class xmi.idref = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001032'/> + </UML:Parameter.type> + </UML:Parameter> + <UML:Parameter xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001033' + name = 'company' isSpecification = 'false'> + <UML:Parameter.type> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E0'/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + </UML:Operation> + </UML:Classifier.feature> + </UML:Class> + <UML:Association xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100C' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100D' + 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--164a0c3b:121af97fc30:-8000:0000000000001026'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001025' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100B'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001010' + 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--164a0c3b:121af97fc30:-8000:0000000000001028'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001027' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101F'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Class xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001017' + name = 'Telephone2' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:GeneralizableElement.generalization> + <UML:Generalization xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001018'/> + </UML:GeneralizableElement.generalization> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001021' + name = 'prefix' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001022'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001023' + 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-7b62aac4:121aaa56ef3:-8000:0000000000001024' + name = 'country' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001025'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001026' + 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-7b62aac4:121aaa56ef3:-8000:0000000000001018' + isSpecification = 'false'> + <UML:Generalization.child> + <UML:Class xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001017'/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000100B'/> + </UML:Generalization.parent> + </UML:Generalization> + <UML:Class xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101F' + name = 'Party2' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + </UML:Class> + </UML:Namespace.ownedElement> + </UML:Package> + <UML:Generalization xmi.id = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:0000000000001020' + isSpecification = 'false'> + <UML:Generalization.child> + <UML:Class xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008DA'/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref = '-64--88-99-15-7b62aac4:121aaa56ef3:-8000:000000000000101F'/> + </UML:Generalization.parent> + </UML:Generalization> + </UML:Namespace.ownedElement> + </UML:Package> + <UML:Package xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000121D' + name = 'topia' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Package xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000121E' + name = 'test' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Package xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000121F' + name = 'entities' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Class xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001220' + name = 'Person' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001228' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001229'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000122A' + 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 = '127-0-0-1-13652238:1219c622604:-8000:000000000000122B' + name = 'firstname' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000122C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000122D' + 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 = '127-0-0-1-13652238:1219c622604:-8000:0000000000001221' + name = 'Pet' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001222' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001223'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001224' + 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 = '127-0-0-1-13652238:1219c622604:-8000:0000000000001225' + name = 'type' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001226'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001227' + 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:Association xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001237' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001238' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001239'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123A' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-13652238:1219c622604:-8000:0000000000001220'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123B' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123F'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123E' + lower = '0' upper = '-1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-13652238:1219c622604:-8000:0000000000001221'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Association xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102A' + name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> + <UML:Association.connection> + <UML:AssociationEnd xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102B' + visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered' + aggregation = 'composite' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102D' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1-13652238:1219c622604:-8000:0000000000001221'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + <UML:AssociationEnd xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102E' + visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered' + aggregation = 'none' targetScope = 'instance' changeability = 'changeable'> + <UML:AssociationEnd.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:000000000000102F'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001030' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </UML:AssociationEnd.multiplicity> + <UML:AssociationEnd.participant> + <UML:Class xmi.idref = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001029'/> + </UML:AssociationEnd.participant> + </UML:AssociationEnd> + </UML:Association.connection> + </UML:Association> + <UML:Class xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001029' + name = 'Race' visibility = 'public' isSpecification = 'false' isRoot = 'false' + isLeaf = 'false' isAbstract = 'false' isActive = 'false'> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref = '127-0-0-1-3f03561c:11667f969c5:-8000:00000000000008E7'/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001031' + name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' + changeability = 'changeable' targetScope = 'instance'> + <UML:StructuralFeature.multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001032'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1--7876194c:121c66e8e17:-8000:0000000000001033' + 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:Namespace.ownedElement> + </UML:Package> + </UML:Namespace.ownedElement> + </UML:Package> + </UML:Namespace.ownedElement> + </UML:Package> + </UML:Namespace.ownedElement> + </UML:Package> + </UML:Namespace.ownedElement> + </UML:Package> + <UML:Stereotype xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E73' + name = 'bean' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass> + </UML:Stereotype> + <UML:Stereotype xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E74' + name = 'dto' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass> + </UML:Stereotype> + <UML:Stereotype xmi.id = '-64--88-99-15-6093e433:1215d2d04f2:-8000:0000000000000E78' + name = 'realize' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Stereotype.baseClass>Abstraction</UML:Stereotype.baseClass> + </UML:Stereotype> + <UML:Package xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001031' + name = 'java.util' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Namespace.ownedElement> + <UML:Class xmi.id = '-64--88-99-15--164a0c3b:121af97fc30:-8000:0000000000001032' + name = 'Set<Contact2>' 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--164a0c3b:121af97fc30:-8000:0000000000001034' + name = 'dao' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' + isAbstract = 'false'> + <UML:Stereotype.baseClass>Operation</UML:Stereotype.baseClass> + </UML:Stereotype> + </UML:Namespace.ownedElement> + </UML:Model> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001233'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:0000000000001234' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + <UML:Multiplicity xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123C'> + <UML:Multiplicity.range> + <UML:MultiplicityRange xmi.id = '127-0-0-1-13652238:1219c622604:-8000:000000000000123D' + lower = '1' upper = '1'/> + </UML:Multiplicity.range> + </UML:Multiplicity> + </XMI.content> +</XMI> Added: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.zargo =================================================================== (Binary files differ) Property changes on: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/src/test/xmi/topiatest.zargo ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/verify.groovy =================================================================== --- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/verify.groovy 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/verify.groovy 2009-12-16 23:12:41 UTC (rev 761) @@ -38,5 +38,47 @@ assert new File(basedir, 'target/generated-sources-xmi2StateModel/models/topiatest.properties').exists(); assert new File(basedir, 'target/generated-sources-xmi2StateModel/models/topiatest.statemodel').exists(); +// +// Test phase +// + +// Zargo to object model + +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel').exists(); +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-xmi').exists(); +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-xmi/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-xmi/topiatest.xmi').exists(); + +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-models').exists(); +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-models/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-zargo2ObjectModel/test-models/topiatest.objectmodel').exists(); + +// Zargo to state model + +assert new File(basedir, 'target/generated-sources-zargo2StateModel').exists(); + +assert new File(basedir, 'target/generated-sources-zargo2StateModel/test-xmi').exists(); +assert new File(basedir, 'target/generated-sources-zargo2StateModel/test-xmi/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-zargo2StateModel/xmi/topiatest.xmi').exists(); + +assert new File(basedir, 'target/generated-sources-zargo2StateModel/test-models').exists(); +assert new File(basedir, 'target/generated-sources-zargo2StateModel/test-models/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-zargo2StateModel/test-models/topiatest.statemodel').exists(); + +// Xmi to object model + +assert new File(basedir, 'target/generated-sources-xmi2ObjectModel').exists(); +assert new File(basedir, 'target/generated-sources-xmi2ObjectModel/test-models').exists(); +assert new File(basedir, 'target/generated-sources-xmi2ObjectModel/test-models/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-xmi2ObjectModel/test-models/topiatest.objectmodel').exists(); + + +// Xmi to state model + +assert new File(basedir, 'target/generated-sources-xmi2StateModel').exists(); +assert new File(basedir, 'target/generated-sources-xmi2StateModel/test-models').exists(); +assert new File(basedir, 'target/generated-sources-xmi2StateModel/test-models/topiatest.properties').exists(); +assert new File(basedir, 'target/generated-sources-xmi2StateModel/test-models/topiatest.statemodel').exists(); + return true; Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/GeneratateModelFilesMojo.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/GeneratateModelFilesMojo.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/GeneratateModelFilesMojo.java 2009-12-16 23:12:41 UTC (rev 761) @@ -26,7 +26,6 @@ import org.nuiton.eugene.ModelFileWriter; import org.nuiton.eugene.ModelFileWriterConfiguration; import org.nuiton.eugene.ModelFileWriterUtil; -import org.nuiton.eugene.models.Model; import org.nuiton.eugene.plugin.writer.BaseModelFileWriter; import org.nuiton.eugene.plugin.writer.BaseXmiToModelFileWriter; @@ -240,11 +239,6 @@ } @Override - public Class<? extends Model> getModelClass() { - return modelClass; - } - - @Override public File getBasedir() { return getProject().getBasedir(); } Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseXmiToModelFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseXmiToModelFileWriter.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseXmiToModelFileWriter.java 2009-12-16 23:12:41 UTC (rev 761) @@ -48,7 +48,7 @@ */ public abstract class BaseXmiToModelFileWriter extends BaseModelFileWriter { public static final String PROP_RESOLVER = "resolver"; - public static final String PROP_EXTRACTED_PACKAGES = "extractedPackages"; +// public static final String PROP_EXTRACTED_PACKAGES = "extractedPackages"; public static final String PROP_FULL_PACKAGE_PATH = "fullPackagePath"; /** @@ -97,6 +97,16 @@ return "models"; } + @Override + public String getDefaultTestInputDirectory() { + return "src/test/xmi"; + } + + @Override + public String getDefaultTestOutputDirectory() { + return "test-models"; + } + protected TransformerFactory transformerFactory; protected TransformerFactory getTransformerFactory() { @@ -110,9 +120,9 @@ return getProperty(PROP_FULL_PACKAGE_PATH, String.class); } - public String getExtractedPackages() { - return getProperty(PROP_EXTRACTED_PACKAGES, String.class); - } +// public String getExtractedPackages() { +// return getProperty(PROP_EXTRACTED_PACKAGES, String.class); +// } public String getResolver() { return getProperty(PROP_RESOLVER, String.class); @@ -126,7 +136,7 @@ getLog().info("Processing XSL tranformation on " + inputDirectory + " for " + includePattern); getLog().info(" with fullPackagePath : " + getFullPackagePath()); - getLog().info(" with extractedPackages : " + getExtractedPackages()); +// getLog().info(" with extractedPackages : " + getExtractedPackages()); // getLog().info(" with acceptedXmiTypes : " + getFullPackagePath()); getLog().info(" with resolver : " + getResolver()); Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiToObjectModelFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiToObjectModelFileWriter.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiToObjectModelFileWriter.java 2009-12-16 23:12:41 UTC (rev 761) @@ -44,8 +44,6 @@ public class XmiToObjectModelFileWriter extends BaseXmiToModelFileWriter { - public static final String[] XMI_FILE_FILTER = new String[]{"*.xmi", "**/*.xmi"}; - @Override public <M extends Model> boolean acceptModel(Class<M> modelType) { // accept only state models Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoModelFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoModelFileWriter.java 2009-12-16 20:22:40 UTC (rev 760) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoModelFileWriter.java 2009-12-16 23:12:41 UTC (rev 761) @@ -76,6 +76,16 @@ } @Override + public String getDefaultTestInputDirectory() { + return "src/test/xmi"; + } + + @Override + public String getDefaultTestOutputDirectory() { + return "test-xmi"; + } + + @Override public void generate(File outputDir, File inputDirectory, String includePattern, boolean overwrite) throws IOException { PluginIOContext ioContext = new PluginIOContext();
participants (1)
-
tchemit@users.nuiton.org