Eugene-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
September 2010
- 1 participants
- 13 discussions
Author: tchemit
Date: 2010-09-25 02:00:09 +0200 (Sat, 25 Sep 2010)
New Revision: 965
Url: http://nuiton.org/repositories/revision/eugene/965
Log:
Anomalie #888: Can not merge two models which does not come from same input
Anomalie #889: Too much resources to copy for each writer
Anomalie #890: Relative paths are not respected in zargo writer
Evolution #879: Search for input resources into classpath
Added:
trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterData.java
trunk/maven-eugene-plugin/src/it/evol-879/
trunk/maven-eugene-plugin/src/it/evol-879/model/
trunk/maven-eugene-plugin/src/it/evol-879/model/README.txt
trunk/maven-eugene-plugin/src/it/evol-879/model/invoker.properties
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.objectmodel
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.properties
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models2/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models2/topiatest2.objectmodel
trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/topiatest3.objectmodel
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest.properties
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest4.objectmodel
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/plugin/
trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
trunk/maven-eugene-plugin/src/it/evol-879/model/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/model/verify.groovy
trunk/maven-eugene-plugin/src/it/evol-879/xmi/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/README.txt
trunk/maven-eugene-plugin/src/it/evol-879/xmi/invoker.properties
trunk/maven-eugene-plugin/src/it/evol-879/xmi/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/xmi/verify.groovy
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/topiatest3.xmi
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.properties
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.xmi
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi2/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi2/topiatest2.xmi
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.properties
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.xmi
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/plugin/
trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
trunk/maven-eugene-plugin/src/it/evol-879/zargo/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/README.txt
trunk/maven-eugene-plugin/src/it/evol-879/zargo/invoker.properties
trunk/maven-eugene-plugin/src/it/evol-879/zargo/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/zargo/verify.groovy
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/topiatest3.zargo
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.properties
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.zargo
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi2/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi2/topiatest2.zargo
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/pom.xml
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.properties
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.zargo
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/plugin/
trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
Modified:
trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java
trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java
trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterConfiguration.java
trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedWriterEngine.java
trunk/eugene/src/main/java/org/nuiton/eugene/writer/DefaultChainedWriterEngine.java
trunk/maven-eugene-plugin/pom.xml
trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/invoker.properties
trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties
trunk/maven-eugene-plugin/src/it/smart-generate/all/invoker.properties
trunk/maven-eugene-plugin/src/it/smart-generate/generators/invoker.properties
trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo-xmi/invoker.properties
trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/invoker.properties
trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/pom.xml
trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java
trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriter.java
trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java
trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java
trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java
trunk/pom.xml
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -72,9 +72,27 @@
* #initWriter(ChainedFileWriterConfiguration)} method
*/
protected Map<String, Object> properties;
-
+
private WriterReport writerReport;
+ /**
+ * Generates for all given files ({@code filesByRoot} and then copy
+ * resources given for his file reacted in the {@code resourcesByFile}
+ * dictionnary.
+ *
+ * @param configuration the shared configuration for all writers
+ * @param outputDir where to generate files
+ * @param filesByRoot all files to treate
+ * @param resourcesByFile resources associated to files to treate
+ * @throws IOException for any IO pb.
+ * @since 2.1.3
+ */
+ protected abstract void generate(
+ ChainedFileWriterConfiguration configuration,
+ File outputDir,
+ Map<File, List<File>> filesByRoot,
+ Map<File, List<File>> resourcesByFile) throws IOException;
+
protected AbstractChainedFileWriter(String... propertyNameAndDescriptions) {
if (propertyNameAndDescriptions.length % 2 != 0) {
throw new IllegalArgumentException(
@@ -97,14 +115,16 @@
}
/**
- * Generates some files for a given input, output and include pattern.
+ * Generates some files for a given input, output and include pattern.
*
* @param configuration the shared configuration for all writers
* @param outputDir where to generate files
* @param inputDirectory where to pick up files
* @param includePattern pattern of files to include
* @throws IOException for any IO pb.
+ * @deprecated since 2.1.3, prefer use {@link #generate(ChainedFileWriterConfiguration, ChainedFileWriterData}
*/
+ @Deprecated
protected abstract void generate(
ChainedFileWriterConfiguration configuration,
File outputDir,
@@ -134,15 +154,38 @@
entries.add(entry);
}
+ @SuppressWarnings({"unchecked"})
@Override
public <T> T getProperty(String key, Class<T> type) {
return (T) properties.get(key);
}
@Override
+ public void generate(ChainedFileWriterConfiguration configuration,
+ ChainedFileWriterData data)
+ throws IOException {
+
+ initWriter(configuration);
+
+ try {
+ File outputDir = data.getOutputDirectory();
+ Map<File, List<File>> filesByRoot = data.getFilesByRoot();
+
+ Map<File, List<File>> resourcesByFile = data.getResourcesByFile();
+
+ // launch generation
+ generate(configuration, outputDir, filesByRoot, resourcesByFile);
+
+ } finally {
+ clear();
+ }
+ }
+
+ @Deprecated
+ @Override
public void generate(ChainedFileWriterConfiguration configuration)
throws IOException {
-
+
long t0 = System.nanoTime();
initWriter(configuration);
@@ -173,6 +216,14 @@
clear();
}
}
+
+ /**
+ *
+ * @param entries
+ * @return
+ * @deprecated since 2.1.3, will not be replaced.
+ */
+ @Deprecated
protected Map<File, List<String>> mergeEntries(List<ChainedFileWriterEntry> entries) {
// merge entries if required
Map<File, List<String>> merge = new HashMap<File, List<String>>();
@@ -189,6 +240,16 @@
return merge;
}
+
+ /**
+ *
+ * @param configuration
+ * @param outputDir
+ * @param entries
+ * @throws IOException
+ * @deprecated since 2.1.3, will not be replaced.
+ */
+ @Deprecated
protected void generateEntries(ChainedFileWriterConfiguration configuration,
File outputDir,
Map<File, List<String>> entries) throws IOException {
@@ -211,7 +272,6 @@
}
}
-
@Override
public String getInputProtocol(String modelType) {
// input protocol is the same for all model
@@ -227,10 +287,28 @@
}
@Override
+ public File getExtractDirectory(File outputBasedir, boolean testPhase) {
+ return new File(outputBasedir, testPhase ?
+ "test-" + getInputProtocol() :
+ getInputProtocol()
+ );
+ }
+
+ @Override
public List<ChainedFileWriterEntry> getEntries() {
return entries;
}
+ @Override
+ public WriterReport getWriterReport() {
+ return writerReport;
+ }
+
+ @Override
+ public void setWriterReport(WriterReport writerReport) {
+ this.writerReport = writerReport;
+ }
+
protected ChainedFileWriter getNextWriter() {
return nextWriter;
}
@@ -261,13 +339,4 @@
}
}
- @Override
- public void setWriterReport(WriterReport writerReport) {
- this.writerReport = writerReport;
- }
-
- @Override
- public WriterReport getWriterReport() {
- return writerReport;
- }
}
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -27,6 +27,7 @@
import java.io.File;
import java.io.IOException;
+import java.net.URL;
import java.util.List;
import java.util.Map;
@@ -117,14 +118,69 @@
File getOutputDirectory(File outputBasedir, boolean testPhase);
/**
- * Generates.
+ * Obtain the real directory where to extract files (when using resources
+ * from class-path).
*
+ * @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 extract for this particular
+ * writer
+ * @since 2.1.3
+ */
+ File getExtractDirectory(File outputBasedir, boolean testPhase);
+
+ /**
+ * Launch the generation for this writer.
+ *
* @param configuration the share configuration of all writers.
* @throws IOException if any io pb.
+ * @deprecated since 2.1.3, use now the class-path capable
+ * {@link #generate(ChainedFileWriterConfiguration, ChainedFileWriterData)}
*/
+ @Deprecated
void generate(ChainedFileWriterConfiguration configuration)
throws IOException;
+ /**
+ * Launch the generation for this writer with all pre-computed data to
+ * treate and resources to copy.
+ *
+ * @param configuration the share configuration of all writers.
+ * @param data data to treate (files to react + resources to copy)
+ * @throws IOException if any io pb.
+ * @since 2.1.3
+ */
+ void generate(ChainedFileWriterConfiguration configuration,
+ ChainedFileWriterData data)
+ throws IOException;
+
+ /**
+ * Obtain for a given {@code inputDirectory}, all files to treate.
+ *
+ * @param configuration the shared configuration
+ * @param inputDirectory the input directory
+ * @param includePattern the include pattern separated by comma
+ * @param inClassPath a flag to say if we should search in classp-ath
+ * @return the list of resources detected
+ * @throws IOException if any IO pb while searching resources
+ * @throws IllegalArgumentException if no include pattern given
+ * @since 2.1.3
+ */
+ List<URL> getFiles(ChainedFileWriterConfiguration configuration,
+ File inputDirectory,
+ List<String> includePattern,
+ boolean inClassPath) throws IOException, IllegalArgumentException;
+
+ /**
+ * Obtain the optional resource files associated to the given file to react.
+ *
+ * @param file the file to react
+ * @return the array of resources associated to the file
+ * @throws IOException if could not get resources
+ * @since 2.1.3
+ */
+ List<URL> getResources(URL file) throws IOException;
+
/** Clear all internal states */
void clear();
@@ -165,5 +221,5 @@
WriterReport getWriterReport();
void setWriterReport(WriterReport writerReport);
-
+
}
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterConfiguration.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterConfiguration.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterConfiguration.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -50,6 +50,12 @@
File getOutputDirectory();
/**
+ * @return base directory where to extract files obtain from class-path
+ * @since 2.1.3
+ */
+ File getExtractDirectory();
+
+ /**
* @return {@code true} if must regenerate files even if they are up to
* date
*/
Added: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterData.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterData.java (rev 0)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterData.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,45 @@
+package org.nuiton.eugene.writer;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Contains data to be reacted by a {@link ChainedFileWriter}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.1.3
+ */
+public class ChainedFileWriterData {
+
+ File outputDirectory;
+
+ Map<File, List<File>> filesByRoot;
+
+ Map<File, List<File>> resourcesByFile;
+
+
+ public File getOutputDirectory() {
+ return outputDirectory;
+ }
+
+ public Map<File, List<File>> getFilesByRoot() {
+ return filesByRoot;
+ }
+
+ public Map<File, List<File>> getResourcesByFile() {
+ return resourcesByFile;
+ }
+
+ public void setResourcesByFile(Map<File, List<File>> resourcesByFile) {
+ this.resourcesByFile = resourcesByFile;
+ }
+
+ public void setOutputDirectory(File outputDirectory) {
+ this.outputDirectory = outputDirectory;
+ }
+
+ public void setFilesByRoot(Map<File, List<File>> filesByRoot) {
+ this.filesByRoot = filesByRoot;
+ }
+}
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedWriterEngine.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedWriterEngine.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedWriterEngine.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -25,6 +25,7 @@
package org.nuiton.eugene.writer;
+import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -41,9 +42,7 @@
*
* @author Tony Chemit <chemit(a)codelutin.com> Copyright Code Lutin
* @version $Revision$
- * <p/>
- * Mise a jour: $Date$
- * par : * @since 2.0.0
+ * @since 2.0.0
*/
public interface ChainedWriterEngine {
/**
@@ -132,6 +131,21 @@
String include,
String modelType);
- /** clean internal states */
+ /**
+ * Obtain the universe of files to react by the given {@code writer}
+ * associated with each (distinct).
+ * <p/>
+ * <b>Note:</b> If some files are in class-path (using the classpath:
+ * prefix) then they will be extracted to the
+ * {@link ChainedFileWriterConfiguration#getExtractDirectory()}.
+ *
+ * @param writer the writer to inspect
+ * @return the universe of files to react for the given writer
+ * @throws IOException for any IO pb
+ * @since 2.1.3
+ */
+ ChainedFileWriterData getData(ChainedFileWriter writer) throws IOException;
+
+ /** clean all internal states */
void clear();
}
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/DefaultChainedWriterEngine.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/DefaultChainedWriterEngine.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/DefaultChainedWriterEngine.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -25,11 +25,21 @@
package org.nuiton.eugene.writer;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.File;
-import java.util.*;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -40,28 +50,22 @@
*
* @author Tony Chemit <chemit(a)codelutin.com> Copyright Code Lutin
* @version $Id$
- *
* @plexus.component role="org.nuiton.eugene.writer.ChainedWriterEngine" role-hint="default"
* @since 2.0.0
*/
public class DefaultChainedWriterEngine implements ChainedWriterEngine {
- /**
- * Logger
- */
+ /** Logger */
private static final Log log =
LogFactory.getLog(DefaultChainedWriterEngine.class);
- /**
- * shared configuration
- */
+
+ /** shared configuration */
protected ChainedFileWriterConfiguration configuration;
- /**
- * available writers corresponding to the given configuration
- */
+
+ /** available writers corresponding to the given configuration */
protected Set<ChainedFileWriter> availableWriters;
- /**
- * selected writers obtain while the register phase.
- */
+
+ /** selected writers obtain while the register phase. */
protected List<ChainedFileWriter> selectedWriters;
@Override
@@ -276,6 +280,199 @@
return null;
}
+ @Override
+ public ChainedFileWriterData getData(ChainedFileWriter writer) throws IOException {
+
+ checkConfiguration("getData");
+ File outputDir = writer.getOutputDirectory(
+ configuration.getOutputDirectory(),
+ configuration.isTestPhase()
+ );
+
+ if (!outputDir.exists()) {
+ if (log.isDebugEnabled()) {
+ log.debug("[" + writer.getInputProtocol() +
+ "] Create output directory " + outputDir);
+ }
+ boolean b = outputDir.mkdirs();
+ if (!b) {
+ throw new IOException("Could not create directory " +
+ outputDir);
+ }
+ }
+
+ // first thing is to merge entries (normal ones and classpath ones)
+ Map<File, List<String>> normalEntries = new HashMap<File, List<String>>();
+ Map<File, List<String>> classpathEntries = new HashMap<File, List<String>>();
+
+ for (ChainedFileWriterEntry e : writer.getEntries()) {
+ Map<File, List<String>> currentMap;
+
+ if (e.isUseClassPath()) {
+
+ currentMap = classpathEntries;
+ } else {
+ currentMap = normalEntries;
+ }
+
+ File input = e.getInputDirectory();
+ List<String> includes = currentMap.get(input);
+ if (includes == null) {
+ includes = new ArrayList<String>();
+ currentMap.put(input, includes);
+ }
+ includes.add(e.getIncludePattern());
+ }
+
+ ChainedFileWriterData result = new ChainedFileWriterData();
+ result.setFilesByRoot(new HashMap<File, List<File>>());
+ result.setResourcesByFile(new HashMap<File, List<File>>());
+ result.setOutputDirectory(outputDir);
+
+ // search normal files
+ addFilesToTreate(writer, normalEntries, result, false);
+
+ // search class-path files
+ addFilesToTreate(writer, classpathEntries, result, true);
+
+ return result;
+ }
+
+ protected void addFilesToTreate(ChainedFileWriter writer,
+ Map<File, List<String>> entries,
+ ChainedFileWriterData result,
+ boolean useClassPath) throws IOException {
+
+ File extractDirectory = writer.getExtractDirectory(
+ configuration.getExtractDirectory(),
+ configuration.isTestPhase()
+ );
+
+ Map<File, List<File>> filesByRoot = result.getFilesByRoot();
+ Map<File, List<File>> resourcesByFile = result.getResourcesByFile();
+
+ for (Map.Entry<File, List<String>> entry : entries.entrySet()) {
+ File inputDirectory = entry.getKey();
+
+ // final input directory to use (for class-path entries, we will
+ // replace the class-path path by the extracted path
+
+ File realInputDirectory = inputDirectory;
+
+ if (useClassPath) {
+
+ // use the extracted path as input directory, otherwise there
+ // will have a problem : the incoming inputDirectory will not be
+ // an ancestor of his resources, so prefer to use the extracted
+ // path which fix this problem.
+ String inputPath = inputDirectory.getAbsolutePath();
+ if (inputPath.equals("/")) {
+ realInputDirectory = extractDirectory;
+ } else {
+ realInputDirectory =
+ new File(extractDirectory, inputPath.substring(1));
+ }
+ }
+
+ List<String> includePatterns = entry.getValue();
+
+ List<URL> newUrls = writer.getFiles(configuration,
+ inputDirectory,
+ includePatterns,
+ useClassPath
+ );
+
+ List<File> files = filesByRoot.get(realInputDirectory);
+ if (files == null) {
+ files = new ArrayList<File>();
+ filesByRoot.put(realInputDirectory, files);
+ }
+
+ for (URL url : newUrls) {
+
+ // get the file
+ File file = extractFile(extractDirectory,
+ url,
+ useClassPath
+ );
+
+ // add the file in reactor
+ files.add(file);
+
+ // get resources associated with the file
+ List<URL> newResources = writer.getResources(url);
+
+ if (CollectionUtils.isEmpty(newResources)) {
+
+ // no resource associated with the file
+ if (log.isDebugEnabled()) {
+ log.debug("[" + file + "] No resource associated.");
+ }
+ continue;
+ }
+
+ // get resources for this file
+ List<File> resources = new ArrayList<File>(newResources.size());
+ for (URL resource : newResources) {
+
+ // get the resource file
+ File r = extractFile(
+ extractDirectory,
+ resource,
+ useClassPath
+ );
+ if (log.isDebugEnabled()) {
+ log.debug("[" + file + "] Detected resource " + r);
+ }
+ resources.add(r);
+ }
+
+ resourcesByFile.put(file, resources);
+ }
+
+ if (useClassPath && CollectionUtils.isNotEmpty(files)) {
+
+ // check that extracted direcotry exists
+ // create extractDirectory
+ boolean b = extractDirectory.exists() ||
+ extractDirectory.mkdirs();
+ if (!b) {
+ throw new IOException(
+ "Could not create directory " + extractDirectory);
+ }
+ }
+ }
+ }
+
+ protected File extractFile(File extractDirectory,
+ URL url,
+ boolean useClassPath) throws IOException {
+
+ if (!useClassPath) {
+ return new File(url.getFile());
+ }
+
+ String path = url.getPath();
+ int index = path.indexOf("!");
+ String relativePath = path.substring(index + 1);
+ File f = new File(extractDirectory, relativePath);
+ if (log.isDebugEnabled()) {
+ log.debug("extract " + url + " to " + f);
+ }
+ File parentFile = f.getParentFile();
+ boolean b = parentFile.exists() || parentFile.mkdirs();
+ if (!b) {
+ throw new IOException("Could not create directory " + f);
+ }
+ FileOutputStream out = new FileOutputStream(f);
+ try {
+ IOUtils.copy(url.openStream(), out);
+ } finally {
+ out.close();
+ }
+ return f;
+ }
+
protected void checkConfiguration(String method)
throws IllegalStateException {
if (getConfiguration() == null) {
@@ -342,6 +539,59 @@
}
},
+ NO_PROTOCOL_PATTERN_WITH_CLASSPATH(Pattern.compile("^classpath:([^:]+):([^:]+)$")) {
+ @Override
+ public ChainedFileWriter getWriter(ChainedWriterEngine engine,
+ String include,
+ Matcher matcher) {
+ ChainedFileWriterConfiguration configuration =
+ engine.getConfiguration();
+ Set<ChainedFileWriter> universe = engine.getAvailableWriters();
+
+ String modelType = configuration.getModelType();
+ // with no protocol pattern
+ // pattern is discover from the includes
+
+ // discover the writer from the given pattern
+ ChainedFileWriter writer = engine.getWriterForInclude(
+ universe, include, modelType
+ );
+ if (writer == null) {
+ throw new IllegalArgumentException(
+ "could not find a writer for include " + include);
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("[" + include + "] " + "writer = (" +
+ writer + ")");
+ }
+ return writer;
+ }
+
+ @Override
+ public ChainedFileWriterEntry newEntry(ChainedWriterEngine engine,
+ String include,
+ Matcher matcher,
+ ChainedFileWriter writer) {
+
+ // with no protocol pattern
+ // pattern is discover from the includes
+ if (log.isDebugEnabled()) {
+ log.debug("[" + include + "] " + "detected pattern (" +
+ name() + ")");
+ }
+
+ String inputPath = matcher.group(1);
+ String includes = matcher.group(2);
+
+ ChainedFileWriterEntry writerEntry = new ChainedFileWriterEntry(
+ new File(inputPath),
+ includes,
+ true
+ );
+ return writerEntry;
+ }
+ },
+
NO_PROTOCOL_PATTERN(Pattern.compile("^([^:]+):([^:]+)$")) {
@Override
public ChainedFileWriter getWriter(ChainedWriterEngine engine,
@@ -395,6 +645,57 @@
}
},
+ FULL_PATTERN_WITH_CLASSPATH(Pattern.compile("^classpath:(\\w+):([^:]+):([^:]+)$")) {
+ @Override
+ public ChainedFileWriter getWriter(ChainedWriterEngine engine,
+ String include,
+ Matcher matcher) {
+ // with full pattern to search in class path (protocol + directory + includes)
+ // pattern is discover from the includes
+ ChainedFileWriterConfiguration configuration =
+ engine.getConfiguration();
+ Set<ChainedFileWriter> universe = engine.getAvailableWriters();
+
+ String protocol = matcher.group(1).toLowerCase();
+ ChainedFileWriter writer = engine.getWriterForInputProtocol(
+ universe, protocol, configuration.getModelType());
+
+ if (writer == null) {
+ throw new IllegalArgumentException(
+ "could not find the writer named '" + protocol +
+ "', use one of " + universe);
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("[" + include + "] " + "writer = (" + writer +
+ ")");
+ }
+ return writer;
+ }
+
+ @Override
+ public ChainedFileWriterEntry newEntry(ChainedWriterEngine engine,
+ String include,
+ Matcher matcher,
+ ChainedFileWriter writer) {
+ // with full pattern (protocol + directory + includes)
+ // pattern is discover from the includes
+ if (log.isDebugEnabled()) {
+ log.debug("[" + include + "] " + "detected pattern (" +
+ name() + ")");
+ }
+
+ String inputPath = matcher.group(2);
+ String includes = matcher.group(3);
+
+ //TODO tchemit 2010-09-22 Should be able to do a pattern research
+ ChainedFileWriterEntry writerEntry = new ChainedFileWriterEntry(
+ new File(inputPath),
+ includes,
+ true
+ );
+ return writerEntry;
+ }
+ },
FULL_PATTERN(Pattern.compile("^(\\w+):([^:]+):([^:]+)$")) {
@Override
public ChainedFileWriter getWriter(ChainedWriterEngine engine,
Modified: trunk/maven-eugene-plugin/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/pom.xml 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -143,7 +143,7 @@
</build>
</profile>
-
+
<!-- perform only on a release stage when using the maven-release-plugin -->
<profile>
<id>reporting</id>
@@ -186,18 +186,20 @@
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<pomIncludes>
+ <pomInclude>evol-879/zargo/pom.xml</pomInclude>
+ <pomInclude>evol-879/xmi/pom.xml</pomInclude>
+ <pomInclude>evol-879/model/pom.xml</pomInclude>
<pomInclude>copyVersionFiles/anomalie163/pom.xml</pomInclude>
<pomInclude>smart-generate/only-zargo/pom.xml</pomInclude>
<pomInclude>smart-generate/only-zargo-xmi/pom.xml</pomInclude>
<pomInclude>smart-generate/all/pom.xml</pomInclude>
<pomInclude>smart-generate/generators/pom.xml</pomInclude>
- <!--<pomInclude>**/pom.xml</pomInclude>-->
</pomIncludes>
<postBuildHookScript>verify</postBuildHookScript>
<localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath>
<settingsFile>src/it/settings.xml</settingsFile>
<cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo>
- <!--<debug>true</debug>-->
+ <debug>${maven.verbose}</debug>
</configuration>
<executions>
<execution>
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/README.txt
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/README.txt (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/README.txt 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,45 @@
+On teste ici le goal smart-generate avec un fichier model dans le class-path :
+
+Le résultat désiré est :
+
+maven-eugene-plugin/target/its/evol-879/model/model-impl/target/
+|-- extracted-sources1
+| `-- model
+| `-- models
+| |-- topiatest.objectmodel
+| `-- topiatest.properties
+|-- extracted-sources2
+| `-- model
+| `-- models2
+| `-- topiatest2.objectmodel
+|-- extracted-sources3
+| `-- model
+| `-- topiatest3.objectmodel
+|-- generated-sources1
+| `-- java
+| `-- org
+| `-- nuiton
+| `-- topia
+| `-- test
+| `-- entities
+|-- generated-sources2
+| `-- java
+| `-- org
+| `-- nuiton
+| `-- topia
+| `-- test
+| `-- entities
+|-- generated-sources3
+| `-- java
+| `-- org
+| `-- nuiton
+| `-- topia
+| `-- test
+| `-- entities
+`-- generated-sources4
+ `-- java
+ `-- org
+ `-- nuiton
+ `-- topia
+ `-- test
+ `-- entities
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/invoker.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+# 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 install
+
+# Optionally, a list of goals to run during further invocations of Maven
+#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
+
+# A comma or space separated list of profiles to activate
+#invoker.profiles=run-all run-once
+
+# The value for the environment variable MAVEN_OPTS
+#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
+
+# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
+invoker.failureBehavior=fail-fast
+
+# The expected result of the build, possible values are "success" (default) and "failure"
+#invoker.buildResult=success
+
+# A boolean value controlling the -N flag, defaults to "false"
+#invoker.nonRecursive=false
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-model</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-model-api</artifactId>
+
+ <name>EUGene Test :: testEvol879-model-api</name>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+ <build>
+
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.objectmodel
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.objectmodel (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.objectmodel 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<objectModel xmlns="http://www.codelutin.org/eugene/objectModel" name="xmiTopiaTest" version="1.2">
+ <class name="Person" package="org.nuiton.topia.test.entities">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="firstname" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Pet" package="org.nuiton.topia.test.entities">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="type" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities.Person" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities.Race" reverseAttributeName="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Race" package="org.nuiton.topia.test.entities">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
+ </class>
+</objectModel>
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models/topiatest.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models2/topiatest2.objectmodel
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models2/topiatest2.objectmodel (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/models2/topiatest2.objectmodel 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<objectModel xmlns="http://www.codelutin.org/eugene/objectModel" name="xmiTopiaTest2" version="1.2">
+ <class name="Person" package="org.nuiton.topia.test.entities2">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="firstname" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities2.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Pet" package="org.nuiton.topia.test.entities2">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="type" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities2.Person" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities2.Race" reverseAttributeName="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Race" package="org.nuiton.topia.test.entities2">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities2.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
+ </class>
+</objectModel>
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/topiatest3.objectmodel
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/topiatest3.objectmodel (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-api/src/main/resources/topiatest3.objectmodel 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<objectModel xmlns="http://www.codelutin.org/eugene/objectModel" name="xmiTopiaTest3" version="1.2">
+ <class name="Person" package="org.nuiton.topia.test.entities3">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="firstname" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities3.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Pet" package="org.nuiton.topia.test.entities3">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="type" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities3.Person" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities3.Race" reverseAttributeName="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Race" package="org.nuiton.topia.test.entities3">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities3.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
+ </class>
+</objectModel>
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-model</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-model-impl</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ <version>2.4.3</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ <version>4.8.1</version>
+ </dependency>
+ </dependencies>
+
+ <name>EUGene Test :: testEvol879-model-impl</name>
+
+ <build>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <version>${eugeneVersion}</version>
+ <configuration>
+ <fullPackagePath>org.nuiton.topia</fullPackagePath>
+ <defaultPackage>org.nuiton.topia</defaultPackage>
+ <templates>
+ org.nuiton.topia.generator.TopiaMetaTransformer,
+ org.nuiton.eugene.java.JavaInterfaceTransformer,
+ org.nuiton.eugene.java.JavaBeanTransformer,
+ org.nuiton.topia.generator.BinderHelperTransformer
+ </templates>
+ </configuration>
+ <executions>
+ <execution>
+ <id>Test 1 : from classpath:/models with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:model:/models:topiatest.objectmodel
+ </inputs>
+ <outputDirectory>target/generated-sources1</outputDirectory>
+ <extractDirectory>target/extracted-sources1</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 2 : from classpath:/models2 without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <!--<skipInputs>model</skipInputs>-->
+ <inputs>classpath:model:/models2:topiatest2.objectmodel
+ </inputs>
+ <outputDirectory>target/generated-sources2</outputDirectory>
+ <extractDirectory>target/extracted-sources2</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 3 : from classpath:/ without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <!--<skipInputs>model</skipInputs>-->
+ <inputs>classpath:model:/:topiatest3.objectmodel</inputs>
+ <outputDirectory>target/generated-sources3</outputDirectory>
+ <extractDirectory>target/extracted-sources3</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 4 : from src/main/models with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <!--<skipInputs>model</skipInputs>-->
+ <inputs>src/main/models:topiatest4.objectmodel</inputs>
+ <outputDirectory>target/generated-sources4</outputDirectory>
+ <extractDirectory>target/extracted-sources4</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>testEvol879-model-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-persistence</artifactId>
+ <version>2.4.3</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest4.objectmodel
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest4.objectmodel (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/main/models/topiatest4.objectmodel 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<objectModel xmlns="http://www.codelutin.org/eugene/objectModel" name="xmiTopiaTest4" version="1.2">
+ <class name="Person" package="org.nuiton.topia.test.entities4">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="firstname" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities4.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Pet" package="org.nuiton.topia.test.entities4">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute name="type" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities4.Person" reverseAttributeName="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities4.Race" reverseAttributeName="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
+ </class>
+ <class name="Race" package="org.nuiton.topia.test.entities4">
+ <stereotype name="entity"/>
+ <attribute name="name" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1"/>
+ <attribute visibility="public" type="org.nuiton.topia.test.entities4.Pet" reverseAttributeName="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="false" ordering="unordered"/>
+ </class>
+</objectModel>
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/model-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,160 @@
+package org.nuiton.eugene.plugin;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.io.File;
+
+public class GenerationTest {
+
+ static File target;
+
+ File tmp;
+
+ String extractdDir, generateDir;
+
+ public static File getBaseDir() {
+ // Search basedir from maven environment
+ String basedirPath = System.getenv("basedir");
+ if (basedirPath == null) {
+ basedirPath = new File("").getAbsolutePath();
+ }
+
+ File result = new File(basedirPath);
+ return result;
+ }
+
+ @BeforeClass
+ public static void init() {
+ File basedir = getBaseDir();
+ target = new File(basedir, "target");
+ }
+
+ public void setTestNumber(int i) {
+ extractdDir = "extracted-sources" + i;
+ generateDir = "generated-sources" + i;
+
+ }
+
+ protected void checkExist(File dir, String... files) {
+ for (String file : files) {
+ File f = new File(dir, file);
+ Assert.assertTrue("File " + file + " should exists.", f.exists());
+ }
+ }
+
+// <id>Test 1 : from classpath:/models with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:model:/models:topiatest.objectmodel
+// </inputs>
+// <outputDirectory>target/generated-sources1</outputDirectory>
+// <extractDirectory>target/extracted-sources1</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/model/model-impl/target/
+// |-- extracted-sources1
+// | `-- model
+// | `-- models
+// | |-- topiatest.objectmodel
+// | `-- topiatest.properties
+// `-- generated-sources1
+// `-- java
+// `-- org
+ @Test
+ public void test1() {
+ setTestNumber(1);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "model");
+ checkExist(tmp = new File(tmp, "model"), "models");
+ checkExist(new File(tmp, "models"), "topiatest.objectmodel", "topiatest.properties");
+
+ checkExist(tmp = new File(target, generateDir), "java");
+ checkExist(tmp = new File(tmp, "java"), "org");
+ }
+
+// <id>Test 2 : from classpath:/models2 without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <!--<skipInputs>model</skipInputs>-->
+// <inputs>classpath:model:/models2:topiatest.objectmodel
+// </inputs>
+// <outputDirectory>target/generated-sources2</outputDirectory>
+// <extractDirectory>target/extracted-sources2</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/model/model-impl/target/
+// |-- extracted-sources2
+// | `-- model
+// | `-- models2
+// | `-- topiatest2.objectmodel
+// `-- generated-sources2
+// `-- java
+// `-- org
+ @Test
+ public void test2() {
+ setTestNumber(2);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "model");
+ checkExist(tmp = new File(tmp, "model"), "models2");
+ checkExist(new File(tmp, "models2"), "topiatest2.objectmodel");
+
+ checkExist(tmp = new File(target, generateDir), "java");
+ checkExist(tmp = new File(tmp, "java"), "org");
+ }
+
+
+// <id>Test 3 : from classpath:/ without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <!--<skipInputs>model</skipInputs>-->
+// <inputs>classpath:model:/:topiatest.objectmodel</inputs>
+// <outputDirectory>target/generated-sources3</outputDirectory>
+// <extractDirectory>target/extracted-sources3</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/model/model-impl/target/
+// |-- extracted-sources3
+// | `-- model
+// | `-- topiatest3.objectmodel
+// `-- generated-sources3
+// `-- java
+// `-- org
+ @Test
+ public void test3() {
+ setTestNumber(3);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "model");
+ checkExist(new File(tmp, "model"), "topiatest3.objectmodel");
+
+ checkExist(tmp = new File(target, generateDir), "java");
+ checkExist(tmp = new File(tmp, "java"), "org");
+ }
+
+// <id>Test 4 : from src/main/models with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <!--<skipInputs>model</skipInputs>-->
+// <inputs>src/main/models:topiatest.objectmodel</inputs>
+// <outputDirectory>target/generated-sources4</outputDirectory>
+// <extractDirectory>target/extracted-sources4</extractDirectory>
+// </configuration>
+// maven-eugene-plugin/target/its/evol-879/model/model-impl/target/
+// |-- extracted-sources4
+// `-- generated-sources4
+// `-- java
+// `-- org
+ @Test
+ public void test4() {
+ setTestNumber(4);
+ checkExist(target, generateDir);
+
+ checkExist(tmp = new File(target, generateDir), "java");
+ checkExist(tmp = new File(tmp, "java"), "org");
+ }
+
+}
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-model</artifactId>
+ <version>2.0.0</version>
+
+ <modules>
+ <module>model-api</module>
+ <module>model-impl</module>
+ </modules>
+
+ <name>EUGene Test :: testEvol879-model</name>
+
+ <packaging>pom</packaging>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/model/verify.groovy
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/model/verify.groovy (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/model/verify.groovy 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,48 @@
+/*
+outputDir = new File(basedir, 'model-impl/target/generated-sources');
+outputEDir = new File(basedir, 'model-impl/target/extracted-sources/model');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'models').exists();
+assert new File(outputEDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputEDir, 'models/topiatest.properties').exists();
+
+assert new File(outputDir, 'java').exists();
+
+outputDir = new File(basedir, 'model-impl/target/generated-sources2');
+outputEDir = new File(basedir, 'model-impl/target/extracted-sources2/model');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'models2').exists();
+assert new File(outputEDir, 'models2/topiatest.objectmodel').exists();
+assert !new File(outputEDir, 'models2/topiatest.properties').exists();
+
+assert new File(outputDir, 'java').exists();
+
+outputDir = new File(basedir, 'model-impl/target/generated-sources3');
+outputEDir = new File(basedir, 'model-impl/target/extracted-sources3/model');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'topiatest.objectmodel').exists();
+assert !new File(outputEDir, 'topiatest.properties').exists();
+
+assert new File(outputDir, 'java').exists();
+
+outputDir = new File(basedir, 'model-impl/target/generated-sources4');
+outputEDir = new File(basedir, 'model-impl/target/extracted-sources4/model');
+
+assert outputDir.exists();
+assert !outputEDir.exists();
+
+assert !new File(outputDir, 'models').exists();
+assert new File(outputDir, 'java').exists();
+*/
+
+return true;
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/README.txt
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/README.txt (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/README.txt 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,85 @@
+On teste ici le goal smart-generate avec un fichier xmi dans le class-path :
+
+Le result désiré est :
+
+maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+|-- extracted-sources1
+| `-- xmi
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.xmi
+|-- extracted-sources2
+| `-- xmi
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.xmi
+|-- extracted-sources3
+| `-- xmi
+| `-- xmi2
+| `-- topiatest2.xmi
+|-- extracted-sources4
+| `-- xmi
+| `-- xmi2
+| `-- topiatest2.xmi
+|-- extracted-sources5
+| `-- xmi
+| `-- topiatest3.xmi
+|-- extracted-sources6
+| `-- xmi
+| `-- topiatest3.xmi
+|-- extracted-sources8
+| `-- xmi
+| |-- topiatest3.xmi
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.xmi
+| `-- xmi2
+| `-- topiatest2.xmi
+|-- extracted-sources9
+| `-- xmi
+| |-- topiatest3.xmi
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.xmi
+| `-- xmi2
+| `-- topiatest2.xmi
+|-- generated-sources1
+| `-- models
+| |-- topiatest.objectmodel
+| `-- topiatest.properties
+|-- generated-sources2
+| `-- models
+| |-- topiatest.objectmodel
+| `-- topiatest.properties
+|-- generated-sources3
+| `-- models
+| `-- topiatest2.objectmodel
+|-- generated-sources4
+| `-- models
+| `-- topiatest2.objectmodel
+|-- generated-sources5
+| `-- models
+| `-- topiatest3.objectmodel
+|-- generated-sources6
+| `-- models
+| `-- topiatest3.objectmodel
+|-- generated-sources7
+| `-- models
+| |-- topiatest4.objectmodel
+| `-- topiatest4.properties
+|-- generated-sources8
+| `-- models
+| |-- topiatest3.objectmodel
+| |-- xmi
+| | |-- topiatest.objectmodel
+| | `-- topiatest.properties
+| `-- xmi2
+| `-- topiatest2.objectmodel
+|-- generated-sources9
+| `-- models
+| |-- topiatest3.objectmodel
+| |-- xmi
+| | |-- topiatest.objectmodel
+| | `-- topiatest.properties
+| `-- xmi2
+| `-- topiatest2.objectmodel
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/invoker.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+# 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 install
+
+# Optionally, a list of goals to run during further invocations of Maven
+#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
+
+# A comma or space separated list of profiles to activate
+#invoker.profiles=run-all run-once
+
+# The value for the environment variable MAVEN_OPTS
+#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
+
+# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
+invoker.failureBehavior=fail-fast
+
+# The expected result of the build, possible values are "success" (default) and "failure"
+#invoker.buildResult=success
+
+# A boolean value controlling the -N flag, defaults to "false"
+#invoker.nonRecursive=false
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-xmi</artifactId>
+ <version>2.0.0</version>
+
+ <modules>
+ <module>xmi-api</module>
+ <module>xmi-impl</module>
+ </modules>
+
+ <name>EUGene Test :: testEvol879-xmi</name>
+
+ <packaging>pom</packaging>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/verify.groovy
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/verify.groovy (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/verify.groovy 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,151 @@
+/*
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources_2');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources_2/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources2');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources2/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.xmi').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources2_2');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources2_2/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.xmi').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources3');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources3/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'topiatest3.xmi').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources3_2');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources3_2/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'topiatest3.xmi').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources4');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources4/xmi');
+
+assert outputDir.exists();
+assert !outputEDir.exists();
+
+assert !new File(outputDir, 'xmi').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest4.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest4.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources5');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources5/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.xmi').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputEDir, 'topiatest3.xmi').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+outputDir = new File(basedir, 'xmi-impl/target/generated-sources5_2');
+outputEDir = new File(basedir, 'xmi-impl/target/extracted-sources5_2/xmi');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.xmi').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputEDir, 'topiatest3.xmi').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+*/
+return true;
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-xmi</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-xmi-api</artifactId>
+
+ <name>EUGene Test :: testEvol879-xmi-api</name>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+ <build>
+
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/topiatest3.xmi
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/topiatest3.xmi (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/topiatest3.xmi 2010-09-25 00:00:09 UTC (rev 965)
@@ -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: 2010-04-10 00:56:51 +0200 (sam., 10 avr. 2010) $ </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/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.xmi
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.xmi (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi/topiatest.xmi 2010-09-25 00:00:09 UTC (rev 965)
@@ -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: 2010-04-10 00:56:51 +0200 (sam., 10 avr. 2010) $ </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/evol-879/xmi/xmi-api/src/main/resources/xmi2/topiatest2.xmi
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi2/topiatest2.xmi (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-api/src/main/resources/xmi2/topiatest2.xmi 2010-09-25 00:00:09 UTC (rev 965)
@@ -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: 2010-04-10 00:56:51 +0200 (sam., 10 avr. 2010) $ </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/evol-879/xmi/xmi-impl/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-xmi</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-xmi-impl</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ <version>4.8.1</version>
+ </dependency>
+ </dependencies>
+
+ <name>EUGene Test :: testEvol879-xmi-impl</name>
+
+ <build>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <version>${eugeneVersion}</version>
+ <configuration>
+ <fullPackagePath>org.nuiton.topia.test.entities</fullPackagePath>
+ <skipInputs>model</skipInputs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>Test 1 : from classpath:/xmi with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:xmi:/xmi:topiatest.xmi</inputs>
+ <outputDirectory>target/generated-sources1</outputDirectory>
+ <extractDirectory>target/extracted-sources1</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 2 : from classpath:/xmi with resources (with no protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/xmi:topiatest.xmi</inputs>
+ <outputDirectory>target/generated-sources2</outputDirectory>
+ <extractDirectory>target/extracted-sources2</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 3 : from classpath:/xmi2 without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:xmi:/xmi2:topiatest2.xmi</inputs>
+ <outputDirectory>target/generated-sources3</outputDirectory>
+ <extractDirectory>target/extracted-sources3</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 4 : from classpath:/xmi2 without resources (with no
+ protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/xmi2:topiatest2.xmi</inputs>
+ <outputDirectory>target/generated-sources4</outputDirectory>
+ <extractDirectory>target/extracted-sources4</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 5 : from classpath:/ without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:xmi:/:topiatest3.xmi</inputs>
+ <outputDirectory>target/generated-sources5</outputDirectory>
+ <extractDirectory>target/extracted-sources5</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 6 : from classpath:/ without resources (with no protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/:topiatest3.xmi</inputs>
+ <outputDirectory>target/generated-sources6</outputDirectory>
+ <extractDirectory>target/extracted-sources6</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 7 : from src/main/xmi with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>src/main/xmi:topiatest4.xmi</inputs>
+ <outputDirectory>target/generated-sources7</outputDirectory>
+ <extractDirectory>target/extracted-sources7</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 8 : from classpath:/*.xmi</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:xmi:/:.*topiatest.*\.xmi</inputs>
+ <outputDirectory>target/generated-sources8</outputDirectory>
+ <extractDirectory>target/extracted-sources8</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 9 : from classpath:/*.xmi (with no protocol)</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/:.*topiatest.*\.xmi</inputs>
+ <outputDirectory>target/generated-sources9</outputDirectory>
+ <extractDirectory>target/extracted-sources9</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>testEvol879-xmi-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.xmi
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.xmi (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/main/xmi/topiatest4.xmi 2010-09-25 00:00:09 UTC (rev 965)
@@ -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: 2010-04-10 00:56:51 +0200 (sam., 10 avr. 2010) $ </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/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/xmi/xmi-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,336 @@
+package org.nuiton.eugene.plugin;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.io.File;
+
+public class GenerationTest {
+
+ static File target;
+
+ File tmp;
+
+ String extractdDir, generateDir;
+
+ public static File getBaseDir() {
+ // Search basedir from maven environment
+ String basedirPath = System.getenv("basedir");
+ if (basedirPath == null) {
+ basedirPath = new File("").getAbsolutePath();
+ }
+
+ File result = new File(basedirPath);
+ return result;
+ }
+
+ @BeforeClass
+ public static void init() {
+ File basedir = getBaseDir();
+ target = new File(basedir, "target");
+ }
+
+ public void setTestNumber(int i) {
+ extractdDir = "extracted-sources" + i;
+ generateDir = "generated-sources" + i;
+
+ }
+
+ protected void checkExist(File dir, String... files) {
+ for (String file : files) {
+ File f = new File(dir, file);
+ Assert.assertTrue("File " + file + " should exists.", f.exists());
+ }
+ }
+
+// <id>Test 1 : from classpath:/xmi with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:xmi:/xmi:topiatest.xmi</inputs>
+// <outputDirectory>target/generated-sources1</outputDirectory>
+// <extractDirectory>target/extracted-sources1</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources1
+// | `-- xmi
+// | `-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.xmi
+// `-- generated-sources1
+// `-- models
+// |-- topiatest.objectmodel
+// `-- topiatest.properties
+
+ @Test
+ public void test1() {
+ setTestNumber(1);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.properties");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest.properties", "topiatest.objectmodel");
+ }
+
+// <id>Test 2 : from classpath:/xmi with resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/xmi:topiatest.xmi</inputs>
+// <outputDirectory>target/generated-sources2</outputDirectory>
+// <extractDirectory>target/extracted-sources2</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources2
+// | `-- xmi
+// | `-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.xmi
+// `-- generated-sources2
+// `-- models
+// |-- topiatest.objectmodel
+// `-- topiatest.properties
+
+ @Test
+ public void test2() {
+ setTestNumber(2);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.properties");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest.properties", "topiatest.objectmodel");
+ }
+
+
+// <id>Test 3 : from classpath:/xmi2 without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:xmi:/xmi2:topiatest2.xmi</inputs>
+// <outputDirectory>target/generated-sources3</outputDirectory>
+// <extractDirectory>target/extracted-sources3</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources3
+// | `-- xmi
+// | `-- xmi2
+// | `-- topiatest2.xmi
+// `-- generated-sources3
+// `-- models
+// `-- topiatest2.objectmodel
+
+ @Test
+ public void test3() {
+ setTestNumber(3);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi2");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest2.objectmodel");
+ }
+
+
+// <id>Test 4 : from classpath:/xmi2 without resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/xmi2:topiatest2.xmi</inputs>
+// <outputDirectory>target/generated-sources4</outputDirectory>
+// <extractDirectory>target/extracted-sources4</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources4
+// | `-- xmi
+// | `-- xmi2
+// | `-- topiatest2.xmi
+// `-- generated-sources4
+// `-- models
+// `-- topiatest2.objectmodel
+
+ @Test
+ public void test4() {
+ setTestNumber(4);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi2");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest2.objectmodel");
+ }
+
+// <id>Test 5 : from classpath:/ without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:xmi:/:topiatest3.xmi</inputs>
+// <outputDirectory>target/generated-sources5</outputDirectory>
+// <extractDirectory>target/extracted-sources5</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources5
+// | `-- xmi
+// | `-- topiatest3.xmi
+// `-- generated-sources5
+// `-- models
+// `-- topiatest3.objectmodel
+ @Test
+ public void test5() {
+ setTestNumber(5);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest3.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest3.objectmodel");
+ }
+
+
+// <id>Test 6 : from classpath:/ without resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/:topiatest3.xmi</inputs>
+// <outputDirectory>target/generated-sources6</outputDirectory>
+// <extractDirectory>target/extracted-sources6</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources6
+// | `-- xmi
+// | `-- topiatest3.xmi
+// `-- generated-sources6
+// `-- models
+// `-- topiatest3.objectmodel
+ @Test
+ public void test6() {
+ setTestNumber(6);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest3.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest3.objectmodel");
+ }
+
+// <id>Test 7 : from src/main/xmi with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>src/main/xmi:topiatest4.xmi</inputs>
+// <outputDirectory>target/generated-sources7</outputDirectory>
+// <extractDirectory>target/extracted-sources7</extractDirectory>
+// </configuration>
+
+ // maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// `-- generated-sources7
+// `-- models
+// |-- topiatest4.objectmodel
+// `-- topiatest4.properties
+ @Test
+ public void test7() {
+ setTestNumber(7);
+ checkExist(target, generateDir);
+
+ checkExist(tmp = new File(target, generateDir), "models");
+ checkExist(new File(tmp, "models"), "topiatest4.objectmodel", "topiatest4.properties");
+ }
+
+// <id>Test 8 : from classpath:/*.xmi</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:xmi:/:.*topiatest.*\.xmi</inputs>
+// <outputDirectory>target/generated-sources8</outputDirectory>
+// <extractDirectory>target/extracted-sources8</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources8
+// | `-- xmi
+// | |-- topiatest3.xmi
+// | |-- xmi
+// | | |-- topiatest.properties
+// | | `-- topiatest.xmi
+// | `-- xmi2
+// | `-- topiatest2.xmi
+// `-- generated-sources8
+// `-- models
+// |-- topiatest3.objectmodel
+// |-- xmi
+// | |-- topiatest.objectmodel
+// | `-- topiatest.properties
+// `-- xmi2
+// `-- topiatest2.objectmodel
+
+ @Test
+ public void test8() {
+ setTestNumber(8);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi", "xmi2", "topiatest3.xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.xmi", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+
+ checkExist(tmp = new File(tmp, "models"), "topiatest3.objectmodel", "xmi", "xmi2");
+ checkExist(new File(tmp, "xmi"), "topiatest.objectmodel", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.objectmodel");
+ }
+
+// <id>Test 9 : from classpath:/*.xmi (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/:.*topiatest.*\.xmi</inputs>
+// <outputDirectory>target/generated-sources9</outputDirectory>
+// <extractDirectory>target/extracted-sources9</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/xmi/xmi-impl/target/
+// |-- extracted-sources9
+// | `-- zargo
+// | |-- topiatest3.zargo
+// | |-- xmi
+// | | |-- topiatest.properties
+// | | `-- topiatest.zargo
+// | `-- xmi2
+// | `-- topiatest2.zargo
+// `-- generated-sources9
+// `-- models
+// |-- topiatest3.objectmodel
+// |-- xmi
+// | |-- topiatest.objectmodel
+// | `-- topiatest.properties
+// `-- xmi2
+// `-- topiatest2.objectmodel
+
+ @Test
+ public void test9() {
+ setTestNumber(9);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "xmi");
+ checkExist(tmp = new File(tmp, "xmi"), "xmi", "xmi2", "topiatest3.xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.xmi", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.xmi");
+
+ checkExist(tmp = new File(target, generateDir), "models");
+
+ checkExist(tmp = new File(tmp, "models"), "topiatest3.objectmodel", "xmi", "xmi2");
+ checkExist(new File(tmp, "xmi"), "topiatest.objectmodel", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.objectmodel");
+ }
+
+}
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/README.txt
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/README.txt (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/README.txt 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,116 @@
+On teste ici le goal smart-generate avec un fichier zargo dans le class-path :
+
+Le result doit être
+
+maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+|-- extracted-sources
+| `-- zargo
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.zargo
+|-- extracted-sources1
+| `-- zargo
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.zargo
+|-- extracted-sources3
+| `-- zargo
+| `-- xmi2
+| `-- topiatest2.zargo
+|-- extracted-sources4
+| `-- zargo
+| `-- xmi2
+| `-- topiatest2.zargo
+|-- extracted-sources5
+| `-- zargo
+| `-- topiatest3.zargo
+|-- extracted-sources6
+| `-- zargo
+| `-- topiatest3.zargo
+|-- extracted-sources8
+| `-- zargo
+| |-- topiatest3.zargo
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.zargo
+| `-- xmi2
+| `-- topiatest2.zargo
+|-- extracted-sources9
+| `-- zargo
+| |-- topiatest3.zargo
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.zargo
+| `-- xmi2
+| `-- topiatest2.zargo
+|-- generated-sources1
+| |-- models
+| | |-- topiatest.objectmodel
+| | `-- topiatest.properties
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.xmi
+|-- generated-sources2
+| |-- models
+| | |-- topiatest.objectmodel
+| | `-- topiatest.properties
+| `-- xmi
+| |-- topiatest.properties
+| `-- topiatest.xmi
+|-- generated-sources3
+| |-- models
+| | `-- topiatest2.objectmodel
+| `-- xmi
+| `-- topiatest2.xmi
+|-- generated-sources4
+| |-- models
+| | `-- topiatest2.objectmodel
+| `-- xmi
+| `-- topiatest2.xmi
+|-- generated-sources5
+| |-- models
+| | `-- topiatest3.objectmodel
+| `-- xmi
+| `-- topiatest3.xmi
+|-- generated-sources6
+| |-- models
+| | `-- topiatest3.objectmodel
+| `-- xmi
+| `-- topiatest3.xmi
+|-- generated-sources7
+| |-- models
+| | |-- topiatest4.objectmodel
+| | `-- topiatest4.properties
+| `-- xmi
+| |-- topiatest4.properties
+| `-- topiatest4.xmi
+|-- generated-sources8
+| |-- models
+| | |-- topiatest3.objectmodel
+| | |-- xmi
+| | | |-- topiatest.objectmodel
+| | | `-- topiatest.properties
+| | `-- xmi2
+| | `-- topiatest2.objectmodel
+| `-- xmi
+| |-- topiatest3.xmi
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.xmi
+| `-- xmi2
+| `-- topiatest2.xmi
+|-- generated-sources9
+| |-- models
+| | |-- topiatest3.objectmodel
+| | |-- xmi
+| | | |-- topiatest.objectmodel
+| | | `-- topiatest.properties
+| | `-- xmi2
+| | `-- topiatest2.objectmodel
+| `-- xmi
+| |-- topiatest3.xmi
+| |-- xmi
+| | |-- topiatest.properties
+| | `-- topiatest.xmi
+| `-- xmi2
+| `-- topiatest2.xmi
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/invoker.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,21 @@
+# 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 install
+
+# Optionally, a list of goals to run during further invocations of Maven
+#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
+
+# A comma or space separated list of profiles to activate
+#invoker.profiles=run-all run-once
+
+# The value for the environment variable MAVEN_OPTS
+#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
+
+# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
+invoker.failureBehavior=fail-fast
+
+# The expected result of the build, possible values are "success" (default) and "failure"
+#invoker.buildResult=success
+
+# A boolean value controlling the -N flag, defaults to "false"
+#invoker.nonRecursive=false
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-zargo</artifactId>
+ <version>2.0.0</version>
+
+ <modules>
+ <module>zargo-api</module>
+ <module>zargo-impl</module>
+ </modules>
+
+ <name>EUGene Test :: testEvol879-zargo</name>
+
+ <packaging>pom</packaging>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/verify.groovy
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/verify.groovy (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/verify.groovy 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,197 @@
+/*
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.zargo').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources_2');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources_2/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.zargo').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources2');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources2/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.zargo').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest2.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources2_2');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources2_2/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.zargo').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest2.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources3');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources3/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'topiatest3.zargo').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest3.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources3_2');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources3_2/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'topiatest3.zargo').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest3.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources4');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources4/zargo');
+
+assert outputDir.exists();
+assert !outputEDir.exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest4.xmi').exists();
+assert new File(outputDir, 'xmi/topiatest4.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest4.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest4.properties').exists();
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources5');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources5/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.zargo').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.zargo').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputEDir, 'topiatest3.zargo').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'xmi/topiatest2.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest2.properties').exists();
+
+assert new File(outputDir, 'xmi/topiatest3.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+
+
+outputDir = new File(basedir, 'zargo-impl/target/generated-sources5_2');
+outputEDir = new File(basedir, 'zargo-impl/target/extracted-sources5_2/zargo');
+
+assert outputDir.exists();
+assert outputEDir.exists();
+
+assert new File(outputEDir, 'xmi').exists();
+assert new File(outputEDir, 'xmi/topiatest.zargo').exists();
+assert new File(outputEDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputEDir, 'xmi2').exists();
+assert new File(outputEDir, 'xmi2/topiatest2.zargo').exists();
+assert !new File(outputEDir, 'xmi2/topiatest2.properties').exists();
+
+assert new File(outputEDir, 'topiatest3.zargo').exists();
+assert !new File(outputEDir, 'topiatest3.properties').exists();
+
+assert new File(outputDir, 'xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.xmi').exists();
+assert new File(outputDir, 'xmi/topiatest.properties').exists();
+
+assert new File(outputDir, 'xmi/topiatest2.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest2.properties').exists();
+
+assert new File(outputDir, 'xmi/topiatest3.xmi').exists();
+assert !new File(outputDir, 'xmi/topiatest3.properties').exists();
+
+assert new File(outputDir, 'models').exists();
+assert new File(outputDir, 'models/topiatest.objectmodel').exists();
+assert new File(outputDir, 'models/topiatest.properties').exists();
+
+assert new File(outputDir, 'models/topiatest2.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest2.properties').exists();
+
+assert new File(outputDir, 'models/topiatest3.objectmodel').exists();
+assert !new File(outputDir, 'models/topiatest3.properties').exists();
+*/
+return true;
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-zargo</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-zargo-api</artifactId>
+
+ <name>EUGene Test :: testEvol879-zargo-api</name>
+
+ <properties>
+
+ <eugeneVersion>@pom.version@</eugeneVersion>
+
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ </properties>
+
+ <build>
+
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/topiatest3.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/topiatest3.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi/topiatest.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi2/topiatest2.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-api/src/main/resources/xmi2/topiatest2.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/pom.xml (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testEvol879-zargo</artifactId>
+ <version>2.0.0</version>
+ </parent>
+
+ <artifactId>testEvol879-zargo-impl</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ <version>4.8.1</version>
+ </dependency>
+ </dependencies>
+
+ <name>EUGene Test :: testEvol879-zargo-impl</name>
+
+ <build>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <version>${eugeneVersion}</version>
+ <configuration>
+ <fullPackagePath>org.nuiton.topia.test.entities</fullPackagePath>
+ <skipInputs>model</skipInputs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>Test 1 : from classpath:/xmi with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:zargo:/xmi:topiatest.zargo</inputs>
+ <outputDirectory>target/generated-sources1</outputDirectory>
+ <extractDirectory>target/extracted-sources1</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 2 : from classpath:/xmi with resources (with no protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/xmi:topiatest.zargo</inputs>
+ <outputDirectory>target/generated-sources2</outputDirectory>
+ <extractDirectory>target/extracted-sources2</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 3 : from classpath:/xmi2 without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:zargo:/xmi2:topiatest2.zargo</inputs>
+ <outputDirectory>target/generated-sources3</outputDirectory>
+ <extractDirectory>target/extracted-sources3</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 4 : from classpath:/xmi2 without resources (with no
+ protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/xmi2:topiatest2.zargo</inputs>
+ <outputDirectory>target/generated-sources4</outputDirectory>
+ <extractDirectory>target/extracted-sources4</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 5 : from classpath:/ without resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:zargo:/:topiatest3.zargo</inputs>
+ <outputDirectory>target/generated-sources5</outputDirectory>
+ <extractDirectory>target/extracted-sources5</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 6 : from classpath:/ without resources (with no protocol)
+ </id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/:topiatest3.zargo</inputs>
+ <outputDirectory>target/generated-sources6</outputDirectory>
+ <extractDirectory>target/extracted-sources6</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 7 : from src/main/xmi with resources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>src/main/xmi:topiatest4.zargo</inputs>
+ <outputDirectory>target/generated-sources7</outputDirectory>
+ <extractDirectory>target/extracted-sources7</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 8 : from classpath:/*.zargo</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:zargo:/:.*\.zargo</inputs>
+ <outputDirectory>target/generated-sources8</outputDirectory>
+ <extractDirectory>target/extracted-sources8</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Test 9 : from classpath:/*.zargo (with no protocol)</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>classpath:/:.*\.zargo</inputs>
+ <outputDirectory>target/generated-sources9</outputDirectory>
+ <extractDirectory>target/extracted-sources9</extractDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>testEvol879-zargo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
+
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.properties (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1 @@
+model.tagvalue.generateOperatorForDAOHelper=true
\ No newline at end of file
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/main/xmi/topiatest4.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java
===================================================================
--- trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java (rev 0)
+++ trunk/maven-eugene-plugin/src/it/evol-879/zargo/zargo-impl/src/test/java/org/nuiton/eugne/plugin/GenerationTest.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -0,0 +1,399 @@
+package org.nuiton.eugene.plugin;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.io.File;
+
+public class GenerationTest {
+
+ static File target;
+
+ File tmp;
+
+ String extractdDir, generateDir;
+
+ public static File getBaseDir() {
+ // Search basedir from maven environment
+ String basedirPath = System.getenv("basedir");
+ if (basedirPath == null) {
+ basedirPath = new File("").getAbsolutePath();
+ }
+
+ File result = new File(basedirPath);
+ return result;
+ }
+
+ @BeforeClass
+ public static void init() {
+ File basedir = getBaseDir();
+ target = new File(basedir, "target");
+ }
+
+ public void setTestNumber(int i) {
+ extractdDir = "extracted-sources" + i;
+ generateDir = "generated-sources" + i;
+
+ }
+
+ protected void checkExist(File dir, String... files) {
+ for (String file : files) {
+ File f = new File(dir, file);
+ Assert.assertTrue("File " + file + " should exists.", f.exists());
+ }
+ }
+
+// <id>Test 1 : from classpath:/xmi with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:zargo:/xmi:topiatest.zargo</inputs>
+// <outputDirectory>target/generated-sources1</outputDirectory>
+// <extractDirectory>target/extracted-sources1</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources1
+// | `-- zargo
+// | `-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.zargo
+// `-- generated-sources1
+// |-- models
+// | |-- topiatest.objectmodel
+// | `-- topiatest.properties
+// `-- xmi
+// |-- topiatest.properties
+// `-- topiatest.xmi
+
+
+ @Test
+ public void test1() {
+ setTestNumber(1);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(tmp = new File(tmp, "zargo"), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest.properties", "topiatest.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.xmi");
+
+ }
+
+// <id>Test 2 : from classpath:/xmi with resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/xmi:topiatest.zargo</inputs>
+// <outputDirectory>target/generated-sources2</outputDirectory>
+// <extractDirectory>target/extracted-sources</extractDirectory>
+// </configuration>
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources2
+// | `-- zargo
+// | `-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.zargo
+// `-- generated-sources2
+// |-- models
+// | |-- topiatest.objectmodel
+// | `-- topiatest.properties
+// `-- xmi
+// |-- topiatest.properties
+// `-- topiatest.xmi
+
+
+ @Test
+ public void test2() {
+ setTestNumber(2);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(tmp = new File(tmp, "zargo"), "xmi");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest.properties", "topiatest.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest.properties", "topiatest.xmi");
+ }
+
+// <id>Test 3 : from classpath:/xmi2 without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:zargo:/xmi2:topiatest2.zargo</inputs>
+// <outputDirectory>target/generated-sources2</outputDirectory>
+// <extractDirectory>target/extracted-sources2</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources3
+// | `-- zargo
+// | `-- xmi2
+// | `-- topiatest2.zargo
+// `-- generated-sources3
+// |-- models
+// | `-- topiatest2.objectmodel
+// `-- xmi
+// `-- topiatest2.xmi
+
+
+ @Test
+ public void test3() {
+ setTestNumber(3);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(tmp = new File(tmp, "zargo"), "xmi2");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+
+ checkExist(new File(tmp, "models"), "topiatest2.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest2.xmi");
+ }
+
+// <id>Test 4 : from classpath:/xmi2 without resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/xmi2:topiatest2.zargo</inputs>
+// <outputDirectory>target/generated-sources4</outputDirectory>
+// <extractDirectory>target/extracted-sources4</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources4
+// | `-- zargo
+// | `-- xmi2
+// | `-- topiatest2.zargo
+// `-- generated-sources4
+// |-- models
+// | `-- topiatest2.objectmodel
+// `-- xmi
+// `-- topiatest2.xmi
+
+
+ @Test
+ public void test4() {
+ setTestNumber(4);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(tmp = new File(tmp, "zargo"), "xmi2");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest2.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest2.xmi");
+ }
+
+// <id>Test 5 : from classpath:/ without resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:zargo:/:topiatest3.zargo</inputs>
+// <outputDirectory>target/generated-sources5</outputDirectory>
+// <extractDirectory>target/extracted-sources5</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources5
+// | `-- zargo
+// | `-- topiatest3.zargo
+// `-- generated-sources5
+// |-- models
+// | `-- topiatest3.objectmodel
+// `-- xmi
+// `-- topiatest3.xmi
+
+ @Test
+ public void test5() {
+ setTestNumber(5);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(new File(tmp, "zargo"), "topiatest3.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest3.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest3.xmi");
+ }
+// <id>Test 6 : from classpath:/ without resources (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/:topiatest3.zargo</inputs>
+// <outputDirectory>target/generated-sources6</outputDirectory>
+// <extractDirectory>target/extracted-sources6</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources6
+// | `-- zargo
+// | `-- topiatest3.zargo
+// `-- generated-sources6
+// |-- models
+// | `-- topiatest3.objectmodel
+// `-- xmi
+// `-- topiatest3.xmi
+
+ @Test
+ public void test6() {
+ setTestNumber(6);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(new File(tmp, "zargo"), "topiatest3.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest3.objectmodel");
+ checkExist(new File(tmp, "xmi"), "topiatest3.xmi");
+ }
+
+// <id>Test 7 : from src/main/xmi with resources</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>src/main/xmi:topiatest4.zargo</inputs>
+// <outputDirectory>target/generated-sources7</outputDirectory>
+// <extractDirectory>target/extracted-sources7</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// `-- generated-sources7
+// |-- models
+// | |-- topiatest4.objectmodel
+// | `-- topiatest4.properties
+// `-- xmi
+// |-- topiatest4.properties
+// `-- topiatest4.xmi
+
+ @Test
+ public void test7() {
+ setTestNumber(7);
+ checkExist(target, generateDir);
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ checkExist(new File(tmp, "models"), "topiatest4.objectmodel", "topiatest4.properties");
+ checkExist(new File(tmp, "xmi"), "topiatest4.xmi", "topiatest4.properties");
+ }
+
+// <id>Test 8 : from classpath:/*.zargo</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:zargo:/:.*\.zargo</inputs>
+// <outputDirectory>target/generated-sources8</outputDirectory>
+// <extractDirectory>target/extracted-sources8</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources8
+// | `-- zargo
+// | |-- topiatest3.zargo
+// | |-- xmi
+// | | |-- topiatest.properties
+// | | `-- topiatest.zargo
+// | `-- xmi2
+// | `-- topiatest2.zargo
+// `-- generated-sources8
+// |-- models
+// | |-- topiatest3.objectmodel
+// | |-- xmi
+// | | |-- topiatest.objectmodel
+// | | `-- topiatest.properties
+// | `-- xmi2
+// | `-- topiatest2.objectmodel
+// `-- xmi
+// |-- topiatest3.xmi
+// |-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.xmi
+// `-- xmi2
+// `-- topiatest2.xmi
+
+ @Test
+ public void test8() {
+ setTestNumber(8);
+ checkExist(target, extractdDir, generateDir);
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+ checkExist(tmp = new File(tmp, "zargo"), "xmi", "xmi2", "topiatest3.zargo");
+ checkExist(new File(tmp, "xmi"), "topiatest.zargo", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+ File tmp2;
+
+ checkExist(tmp2 = new File(tmp, "models"), "topiatest3.objectmodel", "xmi", "xmi2");
+ checkExist(new File(tmp2, "xmi"), "topiatest.objectmodel", "topiatest.properties");
+ checkExist(new File(tmp2, "xmi2"), "topiatest2.objectmodel");
+
+ checkExist(tmp2 = new File(tmp, "xmi"), "topiatest3.xmi", "xmi", "xmi2");
+ checkExist(new File(tmp2, "xmi"), "topiatest.xmi", "topiatest.properties");
+ checkExist(new File(tmp2, "xmi2"), "topiatest2.xmi");
+ }
+
+// <id>Test 9 : from classpath:/*.zargo (with no protocol)</id>
+// <phase>generate-sources</phase>
+// <configuration>
+// <inputs>classpath:/:.*\.zargo</inputs>
+// <outputDirectory>target/generated-sources9</outputDirectory>
+// <extractDirectory>target/extracted-sources9</extractDirectory>
+// </configuration>
+
+
+// maven-eugene-plugin/target/its/evol-879/zargo/zargo-impl/target/
+// |-- extracted-sources9
+// | `-- zargo
+// | |-- topiatest3.zargo
+// | |-- xmi
+// | | |-- topiatest.properties
+// | | `-- topiatest.zargo
+// | `-- xmi2
+// | `-- topiatest2.zargo
+// `-- generated-sources9
+// |-- models
+// | |-- topiatest3.objectmodel
+// | |-- xmi
+// | | |-- topiatest.objectmodel
+// | | `-- topiatest.properties
+// | `-- xmi2
+// | `-- topiatest2.objectmodel
+// `-- xmi
+// |-- topiatest3.xmi
+// |-- xmi
+// | |-- topiatest.properties
+// | `-- topiatest.xmi
+// `-- xmi2
+// `-- topiatest2.xmi
+
+ @Test
+ public void test9() {
+ setTestNumber(9);
+ checkExist(target, extractdDir, generateDir);
+
+
+ checkExist(tmp = new File(target, extractdDir), "zargo");
+
+ checkExist(tmp = new File(tmp, "zargo"), "xmi", "xmi2", "topiatest3.zargo");
+
+ checkExist(new File(tmp, "xmi"), "topiatest.zargo", "topiatest.properties");
+ checkExist(new File(tmp, "xmi2"), "topiatest2.zargo");
+
+ checkExist(tmp = new File(target, generateDir), "models", "xmi");
+
+ File tmp2;
+ checkExist(tmp2 = new File(tmp, "models"), "topiatest3.objectmodel", "xmi", "xmi2");
+ checkExist(new File(tmp2, "xmi"), "topiatest.objectmodel", "topiatest.properties");
+ checkExist(new File(tmp2, "xmi2"), "topiatest2.objectmodel");
+
+ checkExist(tmp2 = new File(tmp, "xmi"), "topiatest3.xmi", "xmi", "xmi2");
+ checkExist(new File(tmp2, "xmi"), "topiatest.xmi", "topiatest.properties");
+ checkExist(new File(tmp2, "xmi2"), "topiatest2.xmi");
+ }
+
+}
\ No newline at end of file
Modified: trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/invoker.properties 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithNoProtocol/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
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 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/generate-model-files/testIncludeWithOnlyProtocol/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
Modified: trunk/maven-eugene-plugin/src/it/smart-generate/all/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/smart-generate/all/invoker.properties 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/smart-generate/all/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
Modified: trunk/maven-eugene-plugin/src/it/smart-generate/generators/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/smart-generate/generators/invoker.properties 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/smart-generate/generators/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
Modified: trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/invoker.properties 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
Modified: trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/pom.xml
===================================================================
--- trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/pom.xml 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -1,101 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.0.0</modelVersion>
- <!-- ************************************************************* -->
- <!-- *** POM Relationships *************************************** -->
- <!-- ************************************************************* -->
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
- <groupId>org.nuiton.eugene.test</groupId>
- <artifactId>testIncludeWithOnlyProtocol</artifactId>
- <version>2.0.0</version>
+ <groupId>org.nuiton.eugene.test</groupId>
+ <artifactId>testIncludeWithOnlyProtocol</artifactId>
+ <version>2.0.0</version>
- <dependencies>
- <dependency>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>eugene</artifactId>
- <version>${eugeneVersion}</version>
- <scope>compile</scope>
- </dependency>
+ <dependencies>
+ <dependency>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>eugene</artifactId>
+ <version>${eugeneVersion}</version>
+ <scope>compile</scope>
+ </dependency>
- <dependency>
- <groupId>org.nuiton</groupId>
- <artifactId>nuiton-utils</artifactId>
- <version>1.1.1</version>
- <scope>compile</scope>
- </dependency>
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ <version>1.1.1</version>
+ <scope>compile</scope>
+ </dependency>
- </dependencies>
+ </dependencies>
- <!-- ************************************************************* -->
- <!-- *** Project Information ************************************* -->
- <!-- ************************************************************* -->
+ <!-- ************************************************************* -->
+ <!-- *** Project Information ************************************* -->
+ <!-- ************************************************************* -->
- <name>EUGene Test :: testIncludeWithOnlyProtocol</name>
+ <name>EUGene Test :: testIncludeWithOnlyProtocol</name>
- <!-- ************************************************************* -->
- <!-- *** Build Settings ****************************************** -->
- <!-- ************************************************************* -->
+ <!-- ************************************************************* -->
+ <!-- *** Build Settings ****************************************** -->
+ <!-- ************************************************************* -->
- <packaging>jar</packaging>
+ <packaging>jar</packaging>
- <properties>
+ <properties>
- <eugeneVersion>@pom.version@</eugeneVersion>
+ <eugeneVersion>@pom.version@</eugeneVersion>
- <!-- default encoding -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <!-- default encoding -->
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
+ </properties>
- <build>
+ <build>
- <plugins>
+ <plugins>
- <plugin>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>maven-eugene-plugin</artifactId>
- <version>${eugeneVersion}</version>
- <configuration>
- <skipInputs>xmi,model</skipInputs>
- </configuration>
- <executions>
- <execution>
- <id>Zargo to xmi</id>
- <phase>generate-sources</phase>
- <configuration>
- <inputs>zargo</inputs>
- <outputDirectory>target/generated-sources-xmi</outputDirectory>
- </configuration>
- <goals>
- <goal>smart-generate</goal>
- </goals>
- </execution>
- <execution>
- <id>Zargo to xmi 2</id>
- <phase>generate-sources</phase>
- <configuration>
- <inputs>src/main/zargo:**/*.zargo</inputs>
- <outputDirectory>target/generated-sources-xmi2</outputDirectory>
- </configuration>
- <goals>
- <goal>smart-generate</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
+ <plugin>
+ <groupId>org.nuiton.eugene</groupId>
+ <artifactId>maven-eugene-plugin</artifactId>
+ <version>${eugeneVersion}</version>
+ <configuration>
+ <skipInputs>xmi,model</skipInputs>
+ </configuration>
+ <executions>
+ <execution>
+ <id>Zargo to xmi</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>zargo</inputs>
+ <outputDirectory>target/generated-sources-xmi</outputDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>Zargo to xmi 2</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <inputs>src/main/zargo:**/*.zargo</inputs>
+ <outputDirectory>target/generated-sources-xmi2</outputDirectory>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo-xmi/invoker.properties
===================================================================
--- trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo-xmi/invoker.properties 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/it/smart-generate/only-zargo-xmi/invoker.properties 2010-09-25 00:00:09 UTC (rev 965)
@@ -12,7 +12,7 @@
#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
-invoker.failureBehavior=fail-at-end
+invoker.failureBehavior=fail-fast
# The expected result of the build, possible values are "success" (default) and "failure"
#invoker.buildResult=success
Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java
===================================================================
--- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -40,6 +40,7 @@
import org.nuiton.eugene.plugin.writer.XmiChainedFileWriter;
import org.nuiton.eugene.writer.ChainedFileWriter;
import org.nuiton.eugene.writer.ChainedFileWriterConfiguration;
+import org.nuiton.eugene.writer.ChainedFileWriterData;
import org.nuiton.eugene.writer.ChainedFileWriterEntry;
import org.nuiton.eugene.writer.ChainedWriterEngine;
import org.nuiton.eugene.writer.WriterReport;
@@ -137,6 +138,15 @@
protected File outputDirectory;
/**
+ * Where to copy extracted files (when using class-path data).
+ *
+ * @parameter expression="${eugene.extractDirectory}" default-value="target/extracted-sources"
+ * @required
+ * @since 2.1.3
+ */
+ protected File extractDirectory;
+
+ /**
* Ecrase les fichiers générés.
*
* @parameter expression="${eugene.overwrite}" default-value="false"
@@ -485,7 +495,12 @@
getLog().debug("Generating files and copying resources...");
}
- writer.generate(this);
+ // obtains data to react for this writer
+ ChainedFileWriterData data = engine.getData(writer);
+
+ // launch generation
+ writer.generate(this, data);
+
String message = reportGeneratedFiles(writer, t0);
getLog().info(message);
@@ -549,6 +564,11 @@
}
@Override
+ public File getExtractDirectory() {
+ return extractDirectory;
+ }
+
+ @Override
public Map<String, Object> getProperties() {
return properties;
}
Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriter.java
===================================================================
--- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -25,13 +25,28 @@
package org.nuiton.eugene.plugin.writer;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugin.logging.SystemStreamLog;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.FileUtils;
import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.state.StateModel;
import org.nuiton.eugene.writer.AbstractChainedFileWriter;
import org.nuiton.eugene.writer.ChainedFileWriterConfiguration;
+import org.nuiton.util.FileUtil;
+import org.nuiton.util.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -64,12 +79,142 @@
}
@Override
+ public final List<URL> getFiles(ChainedFileWriterConfiguration configuration,
+ File inputDirectory,
+ List<String> includePattern,
+ boolean inClassPath) throws MalformedURLException, IllegalArgumentException {
+
+ if (CollectionUtils.isEmpty(includePattern)) {
+ throw new IllegalArgumentException("Must have at least one include pattern");
+ }
+
+ List<URL> result = new ArrayList<URL>();
+
+ if (!inClassPath) {
+ DirectoryScanner ds = new DirectoryScanner();
+
+ ds.setBasedir(inputDirectory);
+ ds.setIncludes(includePattern.toArray(new String[includePattern.size()]));
+ ds.setExcludes(null);
+ ds.addDefaultExcludes();
+ ds.scan();
+ for (String file : ds.getIncludedFiles()) {
+ File in = new File(inputDirectory, file);
+ result.add(in.toURI().toURL());
+ }
+ return result;
+ }
+
+ // search in class-path
+
+ ClassLoader loader = configuration.getClassLoader();
+
+ for (String pattern : includePattern) {
+
+ String path = inputDirectory.getAbsolutePath();
+
+ //FIXME must change the file.separator to /
+ if (!path.endsWith("/")) {
+ path += "/";
+ }
+ path += pattern;
+
+ if (path.startsWith("/")) {
+ path = path.substring(1);
+ }
+
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("Try to seek class-path file " + path);
+ }
+
+ if (pattern.contains("*")) {
+
+ // this is a multi-files to search
+ List<URL> urlList = Resource.getURLs(path, (URLClassLoader) loader);
+ if (CollectionUtils.isEmpty(urlList)) {
+
+ getLog().warn("Could not find in class-path files " + path);
+ } else {
+ for (URL url : urlList) {
+
+ if (configuration.isVerbose()) {
+ getLog().info("Detected class-path file " + url);
+ }
+ result.add(url);
+ }
+ }
+ } else {
+
+ // this is a simple unique search, improve performance
+ // by searching directly in classloader the resource
+ URL url = loader.getResource(path);
+ if (url == null) {
+
+ getLog().warn("Could not find in class-path the file " + path);
+ } else {
+
+ if (configuration.isVerbose()) {
+ getLog().info("Detected class-path file " + url);
+ }
+ result.add(url);
+ }
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public final List<URL> getResources(URL file) throws IOException {
+
+ // obtain the properties files associated with the file
+ String path = file.toString();
+
+ String extension = "." + FileUtil.extension(path);
+
+ String filename = FileUtil.basename(path, extension).concat(".properties");
+
+ if (getLog().isDebugEnabled()) {
+ getLog().info("path of file : " + path);
+ getLog().info("path of resource : " + filename);
+ }
+
+ URL propertiesFile = URI.create(filename).toURL();
+
+ if (path.startsWith("file:")) {
+
+ // local file (not from class-path)
+ // can test directly on resource if it exists
+ if (!new File(propertiesFile.getFile()).exists()) {
+ return null;
+ }
+ // resource exist, keep it
+ return Arrays.asList(propertiesFile);
+ }
+ InputStream in = null;
+ try {
+ in = propertiesFile.openStream();
+
+ // resource exist, keep it
+ return Arrays.asList(propertiesFile);
+ } catch (IOException eee) {
+
+ // resource does not exists
+ getLog().warn("Could not find resource " + propertiesFile);
+ return null;
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ }
+ }
+
+ @Override
protected void initWriter(ChainedFileWriterConfiguration configuration) {
super.initWriter(configuration);
if (!configuration.isVerbose()) {
- // nothing else to do
+ // nothing else to do
return;
}
@@ -115,5 +260,46 @@
StateModel.NAME.equals(modelType);
}
+ protected void copyResources(ChainedFileWriterConfiguration configuration,
+ File outputDirectory,
+ File inputDirectory,
+ File file,
+ Map<File, List<File>> resourcesByFile) throws IOException {
+ List<File> resources = resourcesByFile.get(file);
+
+ if (CollectionUtils.isEmpty(resources)) {
+
+ // no resource associated to the xmi file
+ if (configuration.isVerbose()) {
+ getLog().info("No resources to copy for file " + file);
+ }
+ return;
+ }
+
+ if (configuration.isVerbose()) {
+ getLog().info("Copy " + resources.size() + " resource file(s).");
+ }
+
+ boolean overwrite = configuration.isOverwrite();
+
+// String parentPath = inputDirectory.getAbsolutePath();
+ for (File in : resources) {
+
+// String relativePath = in.getAbsolutePath().substring(parentPath.length());
+
+ File out = FileUtil.getRelativeFile(inputDirectory, outputDirectory, in);
+// File out = new File(outputDirectory, relativePath);
+// File out = new File(outputDirectory, in.getName());
+
+ getLog().info("Copy file " + in + " to " + out);
+
+ if (overwrite) {
+ FileUtils.copyFile(in, out);
+ } else {
+ FileUtils.copyFileIfModified(in, out);
+ }
+ }
+ }
+
}
Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java
===================================================================
--- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -39,8 +39,11 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
+import java.util.Set;
/**
* To write model files from zargo files.
@@ -141,6 +144,7 @@
return getProperty(PROP_GENERATED_PACKAGES, String.class);
}
+ @SuppressWarnings({"unchecked"})
public List<Template<Model>> getTemplatesList() {
return getProperty(PROP_TEMPLATES_LIST, List.class);
}
@@ -225,6 +229,9 @@
// init templates
List<Template<?>> templatesList = new ArrayList<Template<?>>();
+ if (StringUtils.isEmpty(getTemplates())) {
+ throw new IllegalArgumentException("No template specified, use the templates parameter");
+ }
String[] templatesNames = getTemplates().split(",");
for (String templateName : templatesNames) {
// remove trailing spaces
@@ -263,6 +270,52 @@
@Override
public void generate(ChainedFileWriterConfiguration configuration,
File outputDir,
+ Map<File, List<File>> filesByRoot,
+ Map<File, List<File>> resourcesByFile) throws IOException {
+
+ Set<File> modelFiles = new HashSet<File>();
+ for (List<File> files : filesByRoot.values()) {
+ modelFiles.addAll(files);
+ }
+ File[] filesToRead = modelFiles.toArray(new File[modelFiles.size()]);
+
+ if (configuration.isVerbose()) {
+ getLog().info("Will read " + filesToRead.length + " model(s).");
+ }
+
+ // read memory model from all files models
+ Model model = getModelReader().read(filesToRead);
+
+ // get the last modified source timestamp from reader
+ long lastModifiedSource = getModelReader().getLastModifiedSource();
+
+ // apply all templates to the model
+
+ for (Template<Model> template : getTemplatesList()) {
+ getLog().info("Apply generator " + template.getClass().getSimpleName());
+
+ // set the lastModified source property
+ template.setProperty(Template.PROP_LAST_MODIFIED_SOURCE, lastModifiedSource);
+
+ template.setProperty(Template.PROP_WRITER_REPORT, getWriterReport());
+
+ if (configuration.isVerbose()) {
+ getLog().info(" overwrite = " + template.isOverwrite());
+ getLog().info(" encoding = " + template.getEncoding());
+ getLog().info(" lastModifiedSource = " + template.getLastModifiedSource());
+ getLog().info(" exclude = " + template.getExcludeTemplates());
+ getLog().info(" output directory = " + outputDir);
+ }
+
+ // apply template
+ template.applyTemplate(model, outputDir);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void generate(ChainedFileWriterConfiguration configuration,
+ File outputDir,
File inputDirectory,
String includePattern) throws IOException {
@@ -297,7 +350,7 @@
getLog().info("No model to use.");
return;
}
-
+
if (currentFiles.size() == 1) {
getLog().info("Using one model :");
} else {
Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java
===================================================================
--- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -53,6 +53,7 @@
import java.lang.reflect.Constructor;
import java.net.URL;
import java.util.List;
+import java.util.Map;
/**
* Implentation pour les writer to type xmi (qui transforme du xmi via xsl
@@ -139,7 +140,7 @@
public String getFullPackagePath() {
return getProperty(PROP_FULL_PACKAGE_PATH, String.class);
}
-
+
public String getExtractedPackages() {
return getProperty(PROP_EXTRACTED_PACKAGES, String.class);
}
@@ -150,6 +151,141 @@
@Override
public void generate(ChainedFileWriterConfiguration configuration,
+ File outputDirectory,
+ Map<File, List<File>> filesByRoot,
+ Map<File, List<File>> resourcesByFile) throws IOException {
+
+ if (configuration.isVerbose()) {
+ getLog().info(" with fullPackagePath : " + getFullPackagePath());
+ getLog().info(" with resolver : " + getResolver());
+ }
+
+ for (Map.Entry<File, List<File>> entry : filesByRoot.entrySet()) {
+ File inputDirectory = entry.getKey();
+ List<File> files = entry.getValue();
+
+ getLog().info("Processing XSL tranformation on " +
+ inputDirectory + " for " + files.size() + " file(s).");
+
+ for (File file : files) {
+
+ // lancement des traitements xsl sur les fichiers trouvés
+ // dans le repertoire
+ boolean reacted = actionXsl(configuration,
+ outputDirectory,
+ inputDirectory,
+ file
+ );
+
+ if (!reacted) {
+
+ // file was not treated, nothing else to do
+ continue;
+ }
+
+ // copy resources associated with the file
+ copyResources(configuration,
+ outputDirectory,
+ inputDirectory,
+ file,
+ resourcesByFile
+ );
+
+ }
+ }
+ }
+
+ protected boolean actionXsl(ChainedFileWriterConfiguration configuration,
+ File outputDirectory,
+ File inputDirectory,
+ File file) throws IOException {
+
+ try {
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("treate file : " + file);
+ }
+ // Prepare resolver, stylesheet
+ URIResolver fileResolver = getUriResolver(configuration, file);
+ String styleSheet =
+ getStyleSheet(configuration.getModelType(), file);
+ URL xsl = Resource.getURL(styleSheet);
+
+ //TC-20090820 : using recursive for xmi
+// File result = new File(destDirModel, FileUtil.basename(file,
+// acceptedSuffixes).concat(".").concat(getExtension()));
+
+ String newExtension = configuration.getModelType();
+
+ // get the mirror file in the ouput root directory
+ File mirrorFile = FileUtil.getRelativeFile(inputDirectory,
+ outputDirectory,
+ file
+ );
+
+ // change the extension name to the modeltype
+ File result = FileUtil.changeExtension(mirrorFile, newExtension);
+
+// String filename = FileUtil.basename(file, extension).
+// concat(".").concat(configuration.getModelType());
+// String relatifPath = file.getParentFile().getAbsolutePath().
+// substring(inputDirectory.getAbsolutePath().length());
+// File dstDir = outputDir;
+// if (!relatifPath.isEmpty()) {
+// dstDir = new File(dstDir, relatifPath);
+// PluginHelper.createDirectoryIfNecessary(dstDir);
+// }
+// File result = new File(dstDir, filename);
+ if (!configuration.isOverwrite() &&
+ file.lastModified() < result.lastModified()) {
+
+ if (configuration.isVerbose()) {
+ getLog().info("Will not generate " + result +
+ " (up-to-date).");
+ }
+ return false;
+ }
+
+ PluginHelper.createDirectoryIfNecessary(result.getParentFile());
+ WriterReport writerReport = getWriterReport();
+ if (writerReport != null) {
+
+ writerReport.addFile(
+ getClass().getName(),
+ result,
+ true
+ );
+ }
+
+ // Create the xsl transformer and set parameters
+ Transformer transformer = getTransformerFactory().
+ newTransformer(new StreamSource(xsl.openStream()));
+
+ transformer.setParameter(PROP_FULL_PACKAGE_PATH,
+ getFullPackagePath()
+ );
+ transformer.setParameter(PROP_EXTRACTED_PACKAGES,
+ getExtractedPackages()
+ );
+
+ transformer.setURIResolver(fileResolver);
+ FileOutputStream output = new FileOutputStream(result);
+ try {
+ transformer.transform(new StreamSource(file),
+ new StreamResult(output));
+ } finally {
+ output.close();
+ }
+ return true;
+ } catch (IOException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new IOException(e.getMessage(), e);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void generate(ChainedFileWriterConfiguration configuration,
File outputDir,
File inputDirectory,
String includePattern) throws IOException {
@@ -187,10 +323,11 @@
);
}
+ @Deprecated
protected void actionXsl(ChainedFileWriterConfiguration configuration,
- File outputDir,
- File dir,
- List<File> files) throws IOException {
+ File outputDir,
+ File dir,
+ List<File> files) throws IOException {
for (File file : files) {
try {
Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java
===================================================================
--- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java 2010-09-25 00:00:09 UTC (rev 965)
@@ -31,12 +31,15 @@
import org.nuiton.eugene.writer.WriterReport;
import org.nuiton.plugin.PluginHelper;
import org.nuiton.plugin.PluginIOContext;
+import org.nuiton.util.FileUtil;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
+import java.util.List;
+import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@@ -102,6 +105,41 @@
@Override
public void generate(ChainedFileWriterConfiguration configuration,
+ File outputDirectory,
+ Map<File, List<File>> filesByRoot,
+ Map<File, List<File>> resourcesByFile) throws IOException {
+
+ for (Map.Entry<File, List<File>> entry : filesByRoot.entrySet()) {
+ File inputDirectory = entry.getKey();
+ List<File> files = entry.getValue();
+
+ getLog().info("Expanding " + files.size() + " xmi file(s) from " + inputDirectory);
+
+ for (File file : files) {
+
+ File mirrorDirectory = FileUtil.getRelativeFile(
+ inputDirectory,
+ outputDirectory,
+ file.getParentFile()
+ );
+
+ expandFile(file, mirrorDirectory, XMI_FILE_FILTER, configuration);
+// expandFile(file, outputDirectory, XMI_FILE_FILTER, configuration);
+
+ // copy resources associated with the file
+ copyResources(configuration,
+ outputDirectory,
+ inputDirectory,
+ file,
+ resourcesByFile
+ );
+ }
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void generate(ChainedFileWriterConfiguration configuration,
File outputDir,
File inputDirectory,
String includePattern) throws IOException {
@@ -132,6 +170,7 @@
);
}
+ @Deprecated
public void expandFiles(PluginIOContext p,
String[] includes,
String[] excludes,
@@ -170,10 +209,10 @@
String name = nextElement.getName();
for (String include : includes) {
if (DirectoryScanner.match(include, name)) {
- if (configuration.isVerbose()) {
+// if (configuration.isVerbose()) {
getLog().info("matching name : " + name +
" with pattern " + include);
- }
+// }
File dstFile = new File(dst, name);
if (configuration.isOverwrite() ||
!dstFile.exists() ||
@@ -188,6 +227,7 @@
writerReport.addFile(getClass().getName(), dstFile, true);
}
+ PluginHelper.createDirectoryIfNecessary(dst);
InputStream inputStream =
zipFile.getInputStream(nextElement);
FileOutputStream outStream =
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-09-24 17:55:00 UTC (rev 964)
+++ trunk/pom.xml 2010-09-25 00:00:09 UTC (rev 965)
@@ -269,7 +269,7 @@
<ant.version>1.7.1</ant.version>
<processor.version>1.0.3</processor.version>
- <nuiton-utils.version>1.4.1</nuiton-utils.version>
+ <nuiton-utils.version>1.4.2-SNAPSHOT</nuiton-utils.version>
<!--Multilanguage maven-site -->
<locales>en,fr</locales>
1
0
24 Sep '10
Author: tchemit
Date: 2010-09-24 19:55:00 +0200 (Fri, 24 Sep 2010)
New Revision: 964
Url: http://nuiton.org/repositories/revision/eugene/964
Log:
chained writer entry can represents a classpath search
Modified:
trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterEntry.java
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterEntry.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterEntry.java 2010-09-09 09:29:51 UTC (rev 963)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriterEntry.java 2010-09-24 17:55:00 UTC (rev 964)
@@ -29,27 +29,38 @@
/**
* Definition of of the chained writer entry.
- *
+ * <p/>
* Created: 04 mars. 2010
*
* @author Tony Chemit <chemit(a)codelutin.com> Copyright Code Lutin
* @version $Revision$
- * <p/>
- * Mise a jour: $Date$
- * par : * @since 2.0.0
- *
+ * @since 2.0.0
*/
public class ChainedFileWriterEntry {
- /**
- * input directory of entry
- */
+ /** input directory of entry */
protected File inputDirectory;
+
+ /** include pattern of entry */
+ protected String includePattern;
+
/**
- * include pattern of entry
+ * Flag to knwon if resources should be searched in classpath.
+ * <p/>
+ * If sets to {@code true}, then the {@link #inputDirectory} is the
+ * absolute path where to seek resources in classpath.
+ *
+ * @since 2.1.3
*/
- protected String includePattern;
+ protected boolean useClassPath;
+ public ChainedFileWriterEntry(File inputDirectory,
+ String includePattern,
+ boolean useClassPath) {
+ this(inputDirectory, includePattern);
+ this.useClassPath = useClassPath;
+ }
+
public ChainedFileWriterEntry(File inputDirectory, String includePattern) {
this.inputDirectory = inputDirectory;
this.includePattern = includePattern;
@@ -63,4 +74,7 @@
return inputDirectory;
}
+ public boolean isUseClassPath() {
+ return useClassPath;
+ }
}
1
0
Author: tchemit
Date: 2010-09-09 11:29:51 +0200 (Thu, 09 Sep 2010)
New Revision: 963
Url: http://nuiton.org/repositories/revision/eugene/963
Log:
Utilisation de mavenpom4redmine 2.2.5
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-29 15:43:36 UTC (rev 962)
+++ trunk/pom.xml 2010-09-09 09:29:51 UTC (rev 963)
@@ -33,7 +33,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.4</version>
+ <version>2.2.5</version>
</parent>
<artifactId>eugene</artifactId>
1
0