Commit 178b9440 authored by Erwan Bousse's avatar Erwan Bousse
Browse files

Beggining maveninsation

parent 5ab9e438
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.externalJavaSearch"/>
<classpathentry kind="output" path=""/>
</classpath>
#
#Mon Mar 10 00:11:51 CET 2014
#Tue Apr 01 09:40:23 CEST 2014
searchablePlugins=org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.pde.ui
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: BenchmarkBase2
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.common
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 0.1.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: fr.inria.diverse.cloning.benchmark.common
Require-Bundle: org.eclipse.emf.ecore,
......
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.inria.diverse.cloning.benchmark</groupId>
<artifactId>fr.inria.diverse.cloning.benchmark.common</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<properties>
<tycho.version>0.20.0</tycho.version>
<!--<tycho-extras.version>[0.19.0,)</tycho-extras.version>-->
<kepler-repo.url>http://download.eclipse.org/releases/kepler</kepler-repo.url>
</properties>
<repositories>
<repository>
<id>kepler</id>
<url>${kepler-repo.url}</url>
<layout>p2</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.inria.diverse.cloning</groupId>
<artifactId>fr.inria.diverse.cloning.runtime</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<properties>
<tycho.version>0.20.0</tycho.version>
<!--<tycho-extras.version>[0.19.0,)</tycho-extras.version>-->
<kepler-repo.url>http://download.eclipse.org/releases/kepler</kepler-repo.url>
</properties>
<repositories>
<repository>
<id>kepler</id>
<url>${kepler-repo.url}</url>
<layout>p2</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
......@@ -3,14 +3,14 @@ Bundle-ManifestVersion: 2
Bundle-Name: BenchmarkGenerator
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.materialgenerator;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.9.0",
org.eclipse.core.resources;bundle-version="3.8.101",
org.eclipse.emf.codegen.ecore;bundle-version="2.9.1",
org.eclipse.emf.ecore.xmi;bundle-version="2.9.1",
org.eclipse.jdt.core;bundle-version="3.9.1",
fr.inria.diverse.cloning.runtime;bundle-version="0.1.0",
fr.inria.diverse.cloning.materialgenerator;bundle-version="1.0.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="1.0.0"
fr.inria.diverse.cloning.materialgenerator;bundle-version="0.1.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="0.1.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: fr.inria.diverse.cloning.benchmark.materialgenerator.generator
Bundle-ClassPath: .,
......
......@@ -22,7 +22,7 @@ import fr.inria.diverse.cloning.runtime.util.EcoreHelper;
public class BenchmarkMaterialGenerator {
private static final String[] cloningNames = { "Deep", "MutClassOnly" };
private static final String[] cloningNames = { "DeepCloning", "ShareAll","ShareFieldsOnly", "ShareObjOnly" };
public static MetamodelMetrics computeMetrics(ResourceSet metamodel) {
int mutableProperties = 0;
......
......@@ -34,8 +34,10 @@ import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.OsgiBundle
import fr.inria.diverse.cloning.materialgenerator.generators.EMFCodeGenerator;
import fr.inria.diverse.cloning.materialgenerator.generators.PImplGenerator;
import fr.inria.diverse.cloning.materialgenerator.tagger.Tagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.MutClassesOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepCloningTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareFieldsOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareAllTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareObjOnlyTagger;
import fr.inria.diverse.cloning.runtime.util.Log;
/**
......@@ -104,7 +106,6 @@ public class Application implements IApplication {
// Problem with spaces?
description.setLocationURI(java.net.URI.create(tmpDir.getAbsolutePath()));
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
project.delete(true, true, null); // to make sure that there is nothing there already
......@@ -133,10 +134,10 @@ public class Application implements IApplication {
// Tagging
Set<Tagger> taggers = new HashSet<Tagger>();
Tagger tagger = new MutClassesOnlyTagger(rs, name);
Tagger tagger2 = new DeepTagger(rs, name);
taggers.add(tagger);
taggers.add(tagger2);
taggers.add(new DeepCloningTagger(rs, name));
taggers.add(new ShareAllTagger(rs, name));
taggers.add(new ShareFieldsOnlyTagger(rs, name));
taggers.add(new ShareObjOnlyTagger(rs, name));
metamodels.add(rs);
......
......@@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="1.7.0",
org.eclipse.gmf.runtime.notation;bundle-version="1.7.0",
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.7.0",
fr.inria.diverse.cloning.materialgenerator;bundle-version="1.0.0"
fr.inria.diverse.cloning.materialgenerator;bundle-version="0.1.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: fr.inria.diverse.cloning.runtime.util
Bundle-ClassPath: lib/jopt-simple-4.6.jar,
......
......@@ -17,8 +17,8 @@ import org.eclipse.equinox.app.IApplicationContext;
import fr.inria.diverse.cloning.materialgenerator.metrics.CloningMetrics;
import fr.inria.diverse.cloning.materialgenerator.tagger.Tagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.MutClassesOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareFieldsOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareAllTagger;
import benchmarkmetamodelsgenerator.diagramgenerator.DiagramGenerator;
import benchmarkmetamodelsgenerator.generator.MetamodelGenerator;
......@@ -100,8 +100,8 @@ public class Application implements IApplication {
resource.save(null);
Tagger t = new MutClassesOnlyTagger(rs, name);
Tagger t2 = new DeepTagger(rs, name);
Tagger t = new ShareAllTagger(rs, name);
Tagger t2 = new ShareFieldsOnlyTagger(rs, name);
double m1 = CloningMetrics.computeShareableClassesRatio(rs, t);
printer1.println(name + "\t" + m1);
......
......@@ -4,7 +4,7 @@ Bundle-Name: BenchmarkTool
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.tool;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
fr.inria.diverse.cloning.benchmark.common;bundle-version="1.0.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="0.1.0",
fr.inria.diverse.cloning.runtime,
org.eclipse.emf.ecore;bundle-version="2.9.1",
org.eclipse.mat.api;bundle-version="1.3.0",
......
!SESSION 2014-03-10 21:15:31.638 -----------------------------------------------
!SESSION 2014-03-31 15:17:24.725 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
Framework arguments: -application fr.inria.diverse.cloning.benchmark.tool.application --benchmarkMetamodels=/home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/big1/bundle9.jar --metamodels=mm8 --nbClones 1000 --nbtries 50 --outputFile=/tmp/results.csv
Command-line arguments: -application fr.inria.diverse.cloning.benchmark.tool.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/BenchmarkTool/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --benchmarkMetamodels=/home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/big1/bundle9.jar --metamodels=mm8 --nbClones 1000 --nbtries 50 --outputFile=/tmp/results.csv
Framework arguments: -application fr.inria.diverse.cloning.benchmark.tool.application --benchmarkMetamodels=/tmp/bundle.jar --metamodels=mm8 --nbClones 100 --nbtries 1 --outputFile=/tmp/results.csv
Command-line arguments: -application fr.inria.diverse.cloning.benchmark.tool.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/BenchmarkTool dummy/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --benchmarkMetamodels=/tmp/bundle.jar --metamodels=mm8 --nbClones 100 --nbtries 1 --outputFile=/tmp/results.csv
!ENTRY org.eclipse.osgi 2 1 2014-03-10 21:15:32.803
!ENTRY org.eclipse.osgi 2 1 2014-03-31 15:17:27.240
!MESSAGE NLS unused message: line_separator_platform_mac_os_9 in: org.eclipse.core.internal.runtime.messages
......@@ -15,8 +15,8 @@ import org.eclipse.emf.ecore.resource.ResourceSet;
import fr.inria.diverse.cloning.benchmark.common.ModelCreator;
import fr.inria.diverse.cloning.runtime.cloner.Cloner;
import fr.inria.diverse.cloning.runtime.cloner.impl.ClonerImpl;
import fr.inria.diverse.cloning.runtime.common.CloningMaterial;
import fr.inria.diverse.cloning.runtime.impl.ClonerImpl;
import fr.inria.diverse.cloning.runtime.util.Log;
public class Benchmark {
......@@ -61,7 +61,7 @@ public class Benchmark {
}
// TODO option to not keep dumps
public BenchmarkResults run(CloningMaterial cloningMaterial, boolean light, int numberOfClones,
public BenchmarkResults run(CloningMaterial cloningMaterial, int numberOfClones,
boolean computeMemory, boolean computePerformance) {
// Creating the cloner
......@@ -74,10 +74,10 @@ public class Benchmark {
tmpFolder.mkdirs();
// Printing the current run
String lightString = "";
if (light)
lightString = "Light";
Log.info("Metamodel / Cloning technique: " + cloningMaterial.getClass().getPackage().getName() + lightString);
//String lightString = "";
//if (light)
// lightString = "Light";
Log.info("Metamodel / Cloning technique: " + cloningMaterial.getClass().getPackage().getName());
// Creating the model to clone
ResourceSet model = modelCreator.createTreeModel();
......@@ -91,7 +91,7 @@ public class Benchmark {
// Echauffement
for (int i = 0; i < 1000; i++)
cloner.clone(model, tmpFolder, light);
cloner.clone(model, tmpFolder);//, light);
// Cloning "numberOfClones" times and computing time
Log.info("Cloning (" + numberOfClones + " clones)...");
......@@ -99,7 +99,7 @@ public class Benchmark {
long timeBegin = System.nanoTime();
for (int i = 0; i < numberOfClones; i++)
clones.add(cloner.clone(model, tmpFolder, light));
clones.add(cloner.clone(model, tmpFolder));//, light));
long timeEnd = System.nanoTime();
long timeSpent = (timeEnd - timeBegin)/1000000;
......
......@@ -9,7 +9,7 @@ import fr.inria.diverse.cloning.runtime.util.Log;
public class CSVFile {
private static final String[] columns = { "NumberOfClones", "MetamodelName", "MemoryUsed", "TimeSpent",
"CloningTechnique", "ModelName", "Light", "OriginalModelPerformance", "CloneModelPerformance",
"CloningTechnique", "ModelName", "OriginalModelPerformance", "CloneModelPerformance",
"ObjShareShareableClassesRatio",
"ObjSharePartShareableClassesRatio",
"ObjShareIsolatedShareablePropertiesRatio",
......
......@@ -159,14 +159,14 @@ public class Application implements IApplication {
for (String cloning : clonings) {
for (boolean light : lightNot) {
//for (boolean light : lightNot) {
boolean computePerformance = true;
for (int number : nbClones) {
String lightString = "";
if (light)
lightString = "Light";
// String lightString = "";
//if (light)
// lightString = "Light";
Log.info("CSV line " + (counter++));
......@@ -175,14 +175,14 @@ public class Application implements IApplication {
CloningMaterial cloningMaterial = material.getCloningMaterial(name, cloning);
// First attempt, to get memory measure at least
BenchmarkResults result = benchmark.run(cloningMaterial, light, number, true,
BenchmarkResults result = benchmark.run(cloningMaterial, number, true,
computePerformance);
multipleResults.add(result);
// Remaining attempts, without memory computing
for (int i = 0; i < nbtries - 1; i++) {
BenchmarkResults result2 = benchmark.run(
material.getCloningMaterial(name, cloning), light, number, false,
material.getCloningMaterial(name, cloning), number, false,
computePerformance);
multipleResults.add(result2);
}
......@@ -194,14 +194,14 @@ public class Application implements IApplication {
Log.info(results.toString());
cloningMaterial = material.getCloningMaterial(name, "MutClassOnly");
CloningMaterial cloningMaterial2 = material.getCloningMaterial(name, "Deep");
cloningMaterial = material.getCloningMaterial(name, "ShareAll");
CloningMaterial cloningMaterial2 = material.getCloningMaterial(name, "ShareFieldsOnly");
MetamodelTags tags = cloningMaterial.getTags();
MetamodelTags tags2 = cloningMaterial2.getTags();
csv.addLine(number, "bundle" + bundleCounter + "-" + name, results.getUsedMemory(),
results.getTimeSpent(), cloning, "default", lightString,
results.getTimeSpent(), cloning, "default",
results.getOriginalModelPerformance(), results.getCloneModelPerformance(),
tags.getShareableClassesRatio(), tags.getPartShareableClassesRatio(),
tags.getIsolatedShareablePropertiesRatio(),
......@@ -221,7 +221,7 @@ public class Application implements IApplication {
}
bundleCounter++;
BundleLoader.uninstallBundle();
}
// }
// csv.writeToFile(outputFile);
Log.info("Exiting benchmark tool");
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: CloningMaterialGenerator
Bundle-SymbolicName: fr.inria.diverse.cloning.materialgenerator;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 0.1.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.gmt.modisco.java.generation;bundle-version="0.11.1",
org.eclipse.emf.common,
......
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.inria.diverse.cloning</groupId>
<artifactId>fr.inria.diverse.cloning.materialgenerator</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<parent>
<groupId>fr.inria.diverse.cloning</groupId>
<artifactId>parent</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.inria.diverse.cloning</groupId>
<artifactId>fr.inria.diverse.cloning.materialgenerator</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<parent>
<groupId>fr.inria.diverse.cloning</groupId>
<artifactId>parent</artifactId>
<version>0.1.0-SNAPSHOT</version>
<relativePath>../fr.inria.diverse.cloning.master/pom.xml</relativePath>
</parent>
</project>
......@@ -5,12 +5,12 @@ import java.io.IOException;
import java.io.PrintStream;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
import fr.inria.diverse.cloning.materialgenerator.tagger.Tagger;
import fr.inria.diverse.cloning.materialgenerator.util.CodeGeneration;
import fr.inria.diverse.cloning.runtime.common.CloningMaterial;
import fr.inria.diverse.cloning.runtime.common.MetamodelTags;
import fr.inria.diverse.cloning.runtime.emfextension.impl.LooseCopier;
public class CloningMaterialClassGenerator {
/**
......@@ -44,8 +44,9 @@ public class CloningMaterialClassGenerator {
// Imports not metamodel dependent
imports += "import " + CloningMaterial.class.getCanonicalName() + ";\n";
imports += "import " + LooseCopier.class.getCanonicalName() + ";\n";
//imports += "import " + LooseCopier.class.getCanonicalName() + ";\n";
imports += "import " + MetamodelTags.class.getCanonicalName() + ";\n";
imports += "import " + Copier.class.getCanonicalName() + ";\n";
// Class declaration
String classdef = "public class " + className + " implements " + CloningMaterial.class.getSimpleName()
......@@ -75,8 +76,11 @@ public class CloningMaterialClassGenerator {
// createLightCopier method declaration
String copierClassName = CodeGeneration.firstCharUp(tagger.getMetamodelName() + tagger.getCloningName()
+ Constants.COPIER_SUFFIX);
classdef += "public " + LooseCopier.class.getSimpleName() + " createLightCopier() {\n";
classdef += "public " + Copier.class.getSimpleName() + " createCopier() {\n";
if (tagger.mayTagClassesPartShareable())
classdef += "return new " + copierClassName + "();";
else
classdef += "return new Copier ();";
// end createLightCopier method declaration
classdef += "}\n";
......
......@@ -2,7 +2,7 @@ package fr.inria.diverse.cloning.materialgenerator.generators;
public class Constants {
public static final String COPIER_SUFFIX = "LightCopier";
public static final String COPIER_SUFFIX = "Copier";
public static final String TAGS_SUFFIX = "Tags";
public static final String CLONING_MATERIAL__SUFFIX = "CloningMaterial";
public static final String METRICS__SUFFIX = "Metrics";
......
......@@ -544,6 +544,7 @@ public class EMFImpl2PImpl {
File outputDir = new File(srcOutputFolder + "/" + generateFullyQualifiedName(pack, "/"));
// Generating the copier
if (tagger.mayTagClassesPartShareable())
LightCopierGenerator.generate(tagger.getMetamodel(),generateFullyQualifiedName(pack), outputDir, tagger);
//generateCopierClass(tagger.getMetamodel(),generateFullyQualifiedName(pack), outputDir, tagger);
......
......@@ -3,6 +3,8 @@ package fr.inria.diverse.cloning.materialgenerator.start;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Set;
import org.eclipse.core.resources.IResource;
......@@ -26,8 +28,10 @@ import fr.inria.diverse.cloning.materialgenerator.generators.EMFCodeGenerator.EM
import fr.inria.diverse.cloning.materialgenerator.generators.EMFImpl2PImpl;
import fr.inria.diverse.cloning.materialgenerator.generators.ManifestEditor;
import fr.inria.diverse.cloning.materialgenerator.tagger.Tagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.MutClassesOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepCloningTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareFieldsOnlyTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareAllTagger;
import fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareObjOnlyTagger;
import fr.inria.diverse.cloning.runtime.util.Log;
public class Start {
......@@ -54,8 +58,9 @@ public class Start {
rs.getResource(URI.createFileURI(f.getAbsolutePath()), true);
// Tagging
Tagger tagger = new MutClassesOnlyTagger(rs, metamodelName);
Tagger tagger2 = new DeepTagger(rs, metamodelName);
Collection<Tagger> taggers = Arrays.asList(new DeepCloningTagger(rs, metamodelName),
new ShareFieldsOnlyTagger(rs, metamodelName), new ShareObjOnlyTagger(rs, metamodelName),
new ShareAllTagger(rs, metamodelName));
// Discovering the model from the project
DiscoverJavaModelFromJavaProject discoverer = new DiscoverJavaModelFromJavaProject();
......@@ -73,21 +78,30 @@ public class Start {
String srcOutputFolder = new File(emfProjectFolder, "src").getAbsolutePath();
// Calling the partial implementations transformer with one tagger
Model originalModel = new EMFImpl2PImpl(javaModel, tagger, true).transform2PImpl(srcOutputFolder);
new EMFImpl2PImpl(originalModel, tagger2, true).transform2PImpl(srcOutputFolder);
// Generating the code from the obtained model
GenerateJavaExtended javaGenerator = new GenerateJavaExtended(javaModel, new File(srcOutputFolder),
Model brandNew;
Model toProcess = javaModel;
for (Tagger t : taggers) {
brandNew = new EMFImpl2PImpl(toProcess, t, true).transform2PImpl(srcOutputFolder);
GenerateJavaExtended javaGenerator = new GenerateJavaExtended(toProcess, new File(srcOutputFolder),
new ArrayList<Object>());
javaGenerator.doGenerate(null);
toProcess = brandNew;
}
// Generating the code from the obtained model
GenerateJavaExtended javaGenerator2 = new GenerateJavaExtended(originalModel, new File(srcOutputFolder),
new ArrayList<Object>());
javaGenerator2.doGenerate(null);
//new EMFImpl2PImpl(originalModel, tagger2, true).transform2PImpl(srcOutputFolder);
// // Generating the code from the obtained model
// GenerateJavaExtended javaGenerator = new GenerateJavaExtended(javaModel, new File(srcOutputFolder),
// new ArrayList<Object>());