From 5ab9e438e07733fe08a77a0ea8d3d03368b7c6fd Mon Sep 17 00:00:00 2001
From: Erwan Bousse
Date: Mon, 31 Mar 2014 11:37:20 +0200
Subject: [PATCH] Working version for the paper, and working plugin UI
---
AB/src/somemmdeep/ADeepPImpl.java | 278 ---
AB/src/somemmdeep/BDeepPImpl.java | 157 --
.../somemmdeep/SomeMMDeepCloningMaterial.java | 28 -
AB/src/somemmdeep/SomeMMDeepLightCopier.java | 18 -
AB/src/somemmdeep/SomeMMDeepTags.java | 52 -
.../AMutClassOnlyPImpl.java | 264 ---
.../SomeMMMutClassOnlyCloningMaterial.java | 29 -
.../SomeMMMutClassOnlyLightCopier.java | 18 -
.../SomeMMMutClassOnlyTags.java | 52 -
AB/src/yayabdeep/ADeepPImpl.java | 278 ---
AB/src/yayabdeep/BDeepPImpl.java | 157 --
.../yayabdeep/YayABDeepCloningMaterial.java | 22 -
AB/src/yayabdeep/YayABDeepLightCopier.java | 19 -
AB/src/yayabdeep/YayABDeepTags.java | 49 -
.../yayabmutclassonly/AMutClassOnlyPImpl.java | 264 ---
.../YayABMutClassOnlyCloningMaterial.java | 22 -
.../YayABMutClassOnlyLightCopier.java | 19 -
.../YayABMutClassOnlyTags.java | 49 -
.../main.product | 6 +-
.../materialgenerator/main/Application.java | 61 +-
.../META-INF/MANIFEST.MF | 4 +-
.../main.product | 217 +++
.../plugin.xml | 13 +
.../runtime-BenchmarkTool/.metadata/.log | 10 +
.../.root/.indexes/properties.version | 0
.../org.eclipse.core.resources.prefs | 0
.../runtime-data/.metadata/.log | 10 -
.../src/benchmark/Benchmark.java | 44 +-
.../src/benchmark/BenchmarkResults.java | 9 -
.../src/benchmark/Performance.java | 8 +-
.../src/main/Application.java | 87 +-
.../src/main/BundleLoader.java | 9 +-
.../src/memoryanalysis/MemoryAnalyzer.java | 3 +
.../target/classes/benchmark/Benchmark.class | Bin 4897 -> 5386 bytes
.../classes/benchmark/BenchmarkResults.class | Bin 2433 -> 2433 bytes
.../target/classes/main/Application.class | Bin 8635 -> 11266 bytes
.../target/classes/main/BundleLoader.class | Bin 1789 -> 1864 bytes
.../memoryanalysis/MemoryAnalyzer.class | Bin 2538 -> 2628 bytes
.../META-INF/MANIFEST.MF | 10 +-
.../materialgenerator/main/Application.class | Bin 8516 -> 0 bytes
.../metrics/CloningMetrics.class | Bin 3664 -> 3664 bytes
.../tagger/impl/MutClassesOnlyTagger.class | Bin 7412 -> 7279 bytes
.../plugin.xml | 24 +-
.../runtime-data/.metadata/.log | 33 +-
.../.location | Bin 0 -> 227 bytes
.../.markers.snap | Bin 0 -> 16 bytes
.../.syncinfo.snap | Bin 0 -> 16 bytes
.../.projects/AB/.location | Bin 0 -> 95 bytes
.../.projects/AB/.markers.snap | Bin 0 -> 2286 bytes
.../.projects/AB/.syncinfo.snap | Bin 0 -> 16 bytes
.../.root/.indexes/properties.index | Bin 0 -> 61 bytes
.../.root/.indexes/properties.version | 1 -
.../.root/.markers.snap | Bin 0 -> 32 bytes
.../.safetable/org.eclipse.core.resources | Bin 0 -> 348 bytes
.../.plugins/org.eclipse.core.resources/.snap | Bin 0 -> 8497 bytes
.../.settings/org.eclipse.jdt.core.prefs | 7 +
.../.settings/org.eclipse.jdt.launching.prefs | 2 +
.../.settings/org.eclipse.pde.core.prefs | 2 +
.../.project | 23 +
.../org.eclipse.jdt.core/2369791033.index | Bin 0 -> 25 bytes
.../org.eclipse.jdt.core/3185608247.index | Bin 0 -> 10230 bytes
.../org.eclipse.jdt.core/3765020915.index | Bin 0 -> 12000 bytes
.../externalLibsTimeStamps | Bin 0 -> 2453 bytes
.../org.eclipse.jdt.core/javaLikeNames.txt | 1 +
.../org.eclipse.jdt.core/savedIndexNames.txt | 3 +
.../variablesAndContainers.dat | Bin 0 -> 32982 bytes
.../org.eclipse.jdt.launching/.install.xml | 4 +
.../libraryInfos.xml | 25 +
.../-1355312039518.target/.lazy | Bin 0 -> 1708039 bytes
.../-1355312039518.target/.pluginInfo | 1702 +++++++++++++++++
.../-1355312039518.target/.state | Bin 0 -> 143620 bytes
.../-1746579760.workspace/.lazy | Bin 0 -> 723 bytes
.../-1746579760.workspace/.pluginInfo | 6 +
.../-1746579760.workspace/.state | Bin 0 -> 586 bytes
.../.extensions/.manager/.fileTableLock | 0
.../.local_targets/1395999341423.target | 15 +
.../application/Application.java | 95 +
.../generators}/EMFCodeGenerator.java | 2 +-
.../generators/ManifestEditor.java | 139 ++
.../materialgenerator/main/Application.java | 146 --
.../materialgenerator/main/TestTagger.java | 57 -
.../metrics/CloningMetrics.java | 1 -
.../materialgenerator/plugin/Activator.java | 61 +
.../CloningMaterialGenerationLaunch.java | 39 +
.../CloningMaterialGenerationLaunchTab.java | 252 +++
...oningMaterialGenerationLaunchTabGroup.java | 20 +
.../plugin/EcoreFileFilter.java | 12 +
.../materialgenerator/start/Start.java | 113 ++
.../tagger/impl/MutClassesOnlyTagger.java | 67 +-
.../META-INF/MANIFEST.MF | 6 +-
.../diverse/cloning/runtime/util/Log.java | 80 +-
91 files changed, 3061 insertions(+), 2143 deletions(-)
delete mode 100644 AB/src/somemmdeep/ADeepPImpl.java
delete mode 100644 AB/src/somemmdeep/BDeepPImpl.java
delete mode 100644 AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
delete mode 100644 AB/src/somemmdeep/SomeMMDeepLightCopier.java
delete mode 100644 AB/src/somemmdeep/SomeMMDeepTags.java
delete mode 100644 AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
delete mode 100644 AB/src/somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java
delete mode 100644 AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java
delete mode 100644 AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java
delete mode 100644 AB/src/yayabdeep/ADeepPImpl.java
delete mode 100644 AB/src/yayabdeep/BDeepPImpl.java
delete mode 100644 AB/src/yayabdeep/YayABDeepCloningMaterial.java
delete mode 100644 AB/src/yayabdeep/YayABDeepLightCopier.java
delete mode 100644 AB/src/yayabdeep/YayABDeepTags.java
delete mode 100644 AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java
delete mode 100644 AB/src/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java
delete mode 100644 AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java
delete mode 100644 AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java
create mode 100644 fr.inria.diverse.cloning.benchmark.tool/main.product
create mode 100644 fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
rename fr.inria.diverse.cloning.benchmark.tool/{runtime-data => runtime-BenchmarkTool}/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version (100%)
rename fr.inria.diverse.cloning.benchmark.tool/{runtime-data => runtime-BenchmarkTool}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs (100%)
delete mode 100644 fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.log
delete mode 100644 fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/main/Application.class
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.location
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.markers.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.syncinfo.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.location
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.markers.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.syncinfo.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
delete mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.snap
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.project
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/2369791033.index
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3185608247.index
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3765020915.index
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.lazy
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.pluginInfo
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1355312039518.target/.state
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.lazy
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.pluginInfo
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/-1746579760.workspace/.state
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTableLock
create mode 100644 fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.pde.core/.local_targets/1395999341423.target
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/application/Application.java
rename {fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/generator => fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/generators}/EMFCodeGenerator.java (98%)
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/generators/ManifestEditor.java
delete mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/main/Application.java
delete mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/main/TestTagger.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/Activator.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunch.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunchTab.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/CloningMaterialGenerationLaunchTabGroup.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/plugin/EcoreFileFilter.java
create mode 100644 fr.inria.diverse.cloning.materialgenerator/src/fr/inria/diverse/cloning/materialgenerator/start/Start.java
diff --git a/AB/src/somemmdeep/ADeepPImpl.java b/AB/src/somemmdeep/ADeepPImpl.java
deleted file mode 100644
index 35081eb..0000000
--- a/AB/src/somemmdeep/ADeepPImpl.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/**
- */
-
-package somemmdeep;
-
-import ab.A;
-import ab.AbPackage;
-import ab.B;
-import java.util.Collection;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- *
- * An implementation of the model object 'A'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.ADeepPImpl#getI I}
- *
- * -
- * { @link ab.impl.ADeepPImpl#getJ_m Jm}
- *
- * -
- * { @link ab.impl.ADeepPImpl#getB B}
- *
- *
- *
- * @generated
- */
-public class ADeepPImpl extends MinimalEObjectImpl.Container implements A {
- protected A cloned;
- /**
- * The default value of the '
- * { @link #getI() I}
- * ' attribute.
- *
- *
- * @see #getI()
- * @generated
- * @ordered
- */
- protected static final int I_EDEFAULT = 0;
- /**
- * The default value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected static final int JM_EDEFAULT = 0;
- /**
- * The cached value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected int j_m = JM_EDEFAULT;
- /**
- * The cached value of the '
- * { @link #getB() B}
- * ' containment reference list.
- *
- *
- * @see #getB()
- * @generated
- * @ordered
- */
- protected EList b;
-
- /**
- *
- *
- * @generated
- */
- protected ADeepPImpl(A clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.A;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getI() {
- return cloned.getI();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setI(int newI) {
- System.out
- .println("[Info] ADeepPImpl: i is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- public int getJ_m() {
- return j_m;
- }
-
- /**
- *
- *
- * @generated
- */
- public void setJ_m(int newJ_m) {
- int oldJ_m = j_m;
- j_m = newJ_m;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- AbPackage.A__JM, oldJ_m, j_m));
-
- }
-
- /**
- *
- *
- * @generated
- */
- public EList getB() {
- if (b == null) {
- b = new EObjectContainmentEList(B.class, this, AbPackage.A__B);
- }
-
- return b;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd,
- int featureID, NotificationChain msgs) {
- switch (featureID) {
- case AbPackage.A__B:
- return ((InternalEList>) getB()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.A__I:
- return getI();
- case AbPackage.A__JM:
- return getJ_m();
- case AbPackage.A__B:
- return getB();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.A__I:
- setI((Integer) newValue);
- return;
- case AbPackage.A__JM:
- setJ_m((Integer) newValue);
- return;
- case AbPackage.A__B:
- getB().clear();
- getB().addAll((Collection extends B>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- setI(I_EDEFAULT);
- return;
- case AbPackage.A__JM:
- setJ_m(JM_EDEFAULT);
- return;
- case AbPackage.A__B:
- getB().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- return cloned.getI() != I_EDEFAULT;
- case AbPackage.A__JM:
- return j_m != JM_EDEFAULT;
- case AbPackage.A__B:
- return b != null && !b.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (i: ");
- result.append(cloned.getI());
- result.append(", j_m: ");
- result.append(j_m);
- result.append(')');
- return result.toString();
- }
-
-}
-//AImpl
-
diff --git a/AB/src/somemmdeep/BDeepPImpl.java b/AB/src/somemmdeep/BDeepPImpl.java
deleted file mode 100644
index 4b42c8e..0000000
--- a/AB/src/somemmdeep/BDeepPImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- */
-
-package somemmdeep;
-
-import ab.AbPackage;
-import ab.B;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- *
- * An implementation of the model object 'B'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.BDeepPImpl#getX X}
- *
- *
- *
- * @generated
- */
-public class BDeepPImpl extends MinimalEObjectImpl.Container implements B {
- protected B cloned;
- /**
- * The default value of the '
- * { @link #getX() X}
- * ' attribute.
- *
- *
- * @see #getX()
- * @generated
- * @ordered
- */
- protected static final int X_EDEFAULT = 0;
-
- /**
- *
- *
- * @generated
- */
- protected BDeepPImpl(B clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.B;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getX() {
- return cloned.getX();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setX(int newX) {
- System.out
- .println("[Info] BDeepPImpl: x is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.B__X:
- return getX();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.B__X:
- setX((Integer) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.B__X:
- setX(X_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.B__X:
- return cloned.getX() != X_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (x: ");
- result.append(cloned.getX());
- result.append(')');
- return result.toString();
- }
-
-}
-//BImpl
-
diff --git a/AB/src/somemmdeep/SomeMMDeepCloningMaterial.java b/AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
deleted file mode 100644
index 072e1e2..0000000
--- a/AB/src/somemmdeep/SomeMMDeepCloningMaterial.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package somemmdeep;
-
-import fr.inria.diverse.cloning.cloner.common.CloningMaterial;
-import fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier;
-import fr.inria.diverse.cloning.cloner.common.MetamodelTags;
-
-public class SomeMMDeepCloningMaterial implements CloningMaterial {
- private static SomeMMDeepCloningMaterial instance;
- private SomeMMDeepTags tags;
-
- private SomeMMDeepCloningMaterial(SomeMMDeepTags tags) {
- this.tags = tags;
- };
-
- public static SomeMMDeepCloningMaterial getInstance() {
- if (instance == null)
- instance = new SomeMMDeepCloningMaterial(new SomeMMDeepTags());
- return instance;
- }
-
- public MetamodelTags getTags() {
- return tags;
- }
-
- public LooseCopier createLightCopier() {
- return new SomeMMDeepLightCopier();
- }
-}
diff --git a/AB/src/somemmdeep/SomeMMDeepLightCopier.java b/AB/src/somemmdeep/SomeMMDeepLightCopier.java
deleted file mode 100644
index c682adf..0000000
--- a/AB/src/somemmdeep/SomeMMDeepLightCopier.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package somemmdeep;
-
-import org.eclipse.emf.ecore.EObject;
-import fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier;
-import ab.B;
-import ab.A;
-
-@SuppressWarnings("serial")
-public class SomeMMDeepLightCopier extends LooseCopier {
- protected EObject createCopy(EObject eObject) {
- if (eObject instanceof B)
- return new BDeepPImpl((B) eObject);
- if (eObject instanceof A)
- return new ADeepPImpl((A) eObject);
- else
- return super.createCopy(eObject);
- }
-}
diff --git a/AB/src/somemmdeep/SomeMMDeepTags.java b/AB/src/somemmdeep/SomeMMDeepTags.java
deleted file mode 100644
index d5e5bc9..0000000
--- a/AB/src/somemmdeep/SomeMMDeepTags.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package somemmdeep;
-
-import org.eclipse.emf.ecore.EClass;
-import fr.inria.diverse.cloning.cloner.common.ClassTag;
-import fr.inria.diverse.cloning.cloner.common.MetamodelTags;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import ab.B;
-import ab.A;
-
-public class SomeMMDeepTags implements MetamodelTags {
- public ClassTag getTagOf(EClass eClass) {
- if (eClass.equals(ab.AbPackage.eINSTANCE.getB()))
- return ClassTag.PARTIALLY_SHAREABLE;
- if (eClass.equals(ab.AbPackage.eINSTANCE.getA()))
- return ClassTag.PARTIALLY_SHAREABLE;
- else
- return null;
- }
-
- public boolean mayTagClassesShareable() {
- return false;
- }
-
- public boolean isPropertyShareable(EStructuralFeature prop) {
- if (prop.equals(ab.AbPackage.eINSTANCE.getB_X()))
- return true;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_I()))
- return true;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_J_m()))
- return false;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_B()))
- return false;
- else
- return false;
- }
-
- public double getCompShareableClassesRatio() {
- return 0.0;
- }
-
- public double getPartShareableClassesRatio() {
- return 1.0;
- }
-
- public double getShareablePropertiesInShareableClassesRatio() {
- return 0.5;
- }
-
- public double getMeanShareablePropertiesInShareableClasses() {
- return 1.0;
- }
-}
diff --git a/AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java b/AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
deleted file mode 100644
index 07ebee2..0000000
--- a/AB/src/somemmmutclassonly/AMutClassOnlyPImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- */
-
-package somemmmutclassonly;
-
-import ab.A;
-import ab.AbPackage;
-import ab.B;
-import java.util.Collection;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- *
- * An implementation of the model object 'A'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getI I}
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getJ_m Jm}
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getB B}
- *
- *
- *
- * @generated
- */
-public class AMutClassOnlyPImpl extends MinimalEObjectImpl.Container implements
- A {
- protected A cloned;
- /**
- * The default value of the '
- * { @link #getI() I}
- * ' attribute.
- *
- *
- * @see #getI()
- * @generated
- * @ordered
- */
- protected static final int I_EDEFAULT = 0;
- /**
- * The default value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected static final int JM_EDEFAULT = 0;
- /**
- * The cached value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected int j_m = JM_EDEFAULT;
-
- /**
- *
- *
- * @generated
- */
- protected AMutClassOnlyPImpl(A clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.A;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getI() {
- return cloned.getI();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setI(int newI) {
- System.out
- .println("[Info] AMutClassOnlyPImpl: i is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- public int getJ_m() {
- return j_m;
- }
-
- /**
- *
- *
- * @generated
- */
- public void setJ_m(int newJ_m) {
- int oldJ_m = j_m;
- j_m = newJ_m;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- AbPackage.A__JM, oldJ_m, j_m));
-
- }
-
- /**
- *
- *
- * @generated
- */
- public EList getB() {
- return cloned.getB();
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd,
- int featureID, NotificationChain msgs) {
- switch (featureID) {
- case AbPackage.A__B:
- return ((InternalEList>) getB()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.A__I:
- return getI();
- case AbPackage.A__JM:
- return getJ_m();
- case AbPackage.A__B:
- return getB();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.A__I:
- setI((Integer) newValue);
- return;
- case AbPackage.A__JM:
- setJ_m((Integer) newValue);
- return;
- case AbPackage.A__B:
- getB().clear();
- getB().addAll((Collection extends B>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- setI(I_EDEFAULT);
- return;
- case AbPackage.A__JM:
- setJ_m(JM_EDEFAULT);
- return;
- case AbPackage.A__B:
- getB().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- return cloned.getI() != I_EDEFAULT;
- case AbPackage.A__JM:
- return j_m != JM_EDEFAULT;
- case AbPackage.A__B:
- return cloned.getB() != null && !cloned.getB().isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (i: ");
- result.append(cloned.getI());
- result.append(", j_m: ");
- result.append(j_m);
- result.append(')');
- return result.toString();
- }
-
-}
-//AImpl
-
diff --git a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java b/AB/src/somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java
deleted file mode 100644
index 051c0a9..0000000
--- a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyCloningMaterial.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package somemmmutclassonly;
-
-import fr.inria.diverse.cloning.cloner.common.CloningMaterial;
-import fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier;
-import fr.inria.diverse.cloning.cloner.common.MetamodelTags;
-
-public class SomeMMMutClassOnlyCloningMaterial implements CloningMaterial {
- private static SomeMMMutClassOnlyCloningMaterial instance;
- private SomeMMMutClassOnlyTags tags;
-
- private SomeMMMutClassOnlyCloningMaterial(SomeMMMutClassOnlyTags tags) {
- this.tags = tags;
- };
-
- public static SomeMMMutClassOnlyCloningMaterial getInstance() {
- if (instance == null)
- instance = new SomeMMMutClassOnlyCloningMaterial(
- new SomeMMMutClassOnlyTags());
- return instance;
- }
-
- public MetamodelTags getTags() {
- return tags;
- }
-
- public LooseCopier createLightCopier() {
- return new SomeMMMutClassOnlyLightCopier();
- }
-}
diff --git a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java b/AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java
deleted file mode 100644
index c428889..0000000
--- a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyLightCopier.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package somemmmutclassonly;
-
-import org.eclipse.emf.ecore.EObject;
-import fr.inria.diverse.cloning.cloner.emfextension.impl.LooseCopier;
-import ab.B;
-import ab.A;
-
-@SuppressWarnings("serial")
-public class SomeMMMutClassOnlyLightCopier extends LooseCopier {
- protected EObject createCopy(EObject eObject) {
- if (eObject instanceof B)
- return eObject;
- if (eObject instanceof A)
- return new AMutClassOnlyPImpl((A) eObject);
- else
- return super.createCopy(eObject);
- }
-}
diff --git a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java b/AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java
deleted file mode 100644
index 1add411..0000000
--- a/AB/src/somemmmutclassonly/SomeMMMutClassOnlyTags.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package somemmmutclassonly;
-
-import org.eclipse.emf.ecore.EClass;
-import fr.inria.diverse.cloning.cloner.common.ClassTag;
-import fr.inria.diverse.cloning.cloner.common.MetamodelTags;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import ab.B;
-import ab.A;
-
-public class SomeMMMutClassOnlyTags implements MetamodelTags {
- public ClassTag getTagOf(EClass eClass) {
- if (eClass.equals(ab.AbPackage.eINSTANCE.getB()))
- return ClassTag.COMPLETELY_SHAREABLE;
- if (eClass.equals(ab.AbPackage.eINSTANCE.getA()))
- return ClassTag.PARTIALLY_SHAREABLE;
- else
- return null;
- }
-
- public boolean mayTagClassesShareable() {
- return true;
- }
-
- public boolean isPropertyShareable(EStructuralFeature prop) {
- if (prop.equals(ab.AbPackage.eINSTANCE.getB_X()))
- return true;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_I()))
- return true;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_J_m()))
- return false;
- if (prop.equals(ab.AbPackage.eINSTANCE.getA_B()))
- return true;
- else
- return false;
- }
-
- public double getCompShareableClassesRatio() {
- return 0.5;
- }
-
- public double getPartShareableClassesRatio() {
- return 0.5;
- }
-
- public double getShareablePropertiesInShareableClassesRatio() {
- return 0.25;
- }
-
- public double getMeanShareablePropertiesInShareableClasses() {
- return 1.0;
- }
-}
diff --git a/AB/src/yayabdeep/ADeepPImpl.java b/AB/src/yayabdeep/ADeepPImpl.java
deleted file mode 100644
index 5597512..0000000
--- a/AB/src/yayabdeep/ADeepPImpl.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/**
- */
-
-package yayabdeep;
-
-import ab.A;
-import ab.AbPackage;
-import ab.B;
-import java.util.Collection;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- *
- * An implementation of the model object 'A'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.ADeepPImpl#getI I}
- *
- * -
- * { @link ab.impl.ADeepPImpl#getJ_m Jm}
- *
- * -
- * { @link ab.impl.ADeepPImpl#getB B}
- *
- *
- *
- * @generated
- */
-public class ADeepPImpl extends MinimalEObjectImpl.Container implements A {
- protected A cloned;
- /**
- * The default value of the '
- * { @link #getI() I}
- * ' attribute.
- *
- *
- * @see #getI()
- * @generated
- * @ordered
- */
- protected static final int I_EDEFAULT = 0;
- /**
- * The default value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected static final int JM_EDEFAULT = 0;
- /**
- * The cached value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected int j_m = JM_EDEFAULT;
- /**
- * The cached value of the '
- * { @link #getB() B}
- * ' containment reference list.
- *
- *
- * @see #getB()
- * @generated
- * @ordered
- */
- protected EList b;
-
- /**
- *
- *
- * @generated
- */
- protected ADeepPImpl(A clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.A;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getI() {
- return cloned.getI();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setI(int newI) {
- System.out
- .println("[Info] ADeepPImpl: i is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- public int getJ_m() {
- return j_m;
- }
-
- /**
- *
- *
- * @generated
- */
- public void setJ_m(int newJ_m) {
- int oldJ_m = j_m;
- j_m = newJ_m;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- AbPackage.A__JM, oldJ_m, j_m));
-
- }
-
- /**
- *
- *
- * @generated
- */
- public EList getB() {
- if (b == null) {
- b = new EObjectContainmentEList(B.class, this, AbPackage.A__B);
- }
-
- return b;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd,
- int featureID, NotificationChain msgs) {
- switch (featureID) {
- case AbPackage.A__B:
- return ((InternalEList>) getB()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.A__I:
- return getI();
- case AbPackage.A__JM:
- return getJ_m();
- case AbPackage.A__B:
- return getB();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.A__I:
- setI((Integer) newValue);
- return;
- case AbPackage.A__JM:
- setJ_m((Integer) newValue);
- return;
- case AbPackage.A__B:
- getB().clear();
- getB().addAll((Collection extends B>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- setI(I_EDEFAULT);
- return;
- case AbPackage.A__JM:
- setJ_m(JM_EDEFAULT);
- return;
- case AbPackage.A__B:
- getB().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- return cloned.getI() != I_EDEFAULT;
- case AbPackage.A__JM:
- return j_m != JM_EDEFAULT;
- case AbPackage.A__B:
- return b != null && !b.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (i: ");
- result.append(cloned.getI());
- result.append(", j_m: ");
- result.append(j_m);
- result.append(')');
- return result.toString();
- }
-
-}
-//AImpl
-
diff --git a/AB/src/yayabdeep/BDeepPImpl.java b/AB/src/yayabdeep/BDeepPImpl.java
deleted file mode 100644
index e14c765..0000000
--- a/AB/src/yayabdeep/BDeepPImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- */
-
-package yayabdeep;
-
-import ab.AbPackage;
-import ab.B;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- *
- * An implementation of the model object 'B'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.BDeepPImpl#getX X}
- *
- *
- *
- * @generated
- */
-public class BDeepPImpl extends MinimalEObjectImpl.Container implements B {
- protected B cloned;
- /**
- * The default value of the '
- * { @link #getX() X}
- * ' attribute.
- *
- *
- * @see #getX()
- * @generated
- * @ordered
- */
- protected static final int X_EDEFAULT = 0;
-
- /**
- *
- *
- * @generated
- */
- protected BDeepPImpl(B clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.B;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getX() {
- return cloned.getX();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setX(int newX) {
- System.out
- .println("[Info] BDeepPImpl: x is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.B__X:
- return getX();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.B__X:
- setX((Integer) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.B__X:
- setX(X_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.B__X:
- return cloned.getX() != X_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (x: ");
- result.append(cloned.getX());
- result.append(')');
- return result.toString();
- }
-
-}
-//BImpl
-
diff --git a/AB/src/yayabdeep/YayABDeepCloningMaterial.java b/AB/src/yayabdeep/YayABDeepCloningMaterial.java
deleted file mode 100644
index 7440b01..0000000
--- a/AB/src/yayabdeep/YayABDeepCloningMaterial.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package yayabdeep;
-
-import fr.inria.diverse.cloning.runtime.common.CloningMaterial;
-import fr.inria.diverse.cloning.runtime.emfextension.impl.LooseCopier;
-import fr.inria.diverse.cloning.runtime.common.MetamodelTags;
-
-public class YayABDeepCloningMaterial implements CloningMaterial {
-private static YayABDeepCloningMaterial instance;
-private YayABDeepTags tags;
-private YayABDeepCloningMaterial(YayABDeepTags tags){this.tags = tags;
-};
-public static YayABDeepCloningMaterial getInstance() {
-if (instance == null)
-instance = new YayABDeepCloningMaterial(new YayABDeepTags());
-return instance;
-}
-public MetamodelTags getTags() {
-return tags;}
-public LooseCopier createLightCopier() {
-return new YayABDeepLightCopier();}
-}
-
diff --git a/AB/src/yayabdeep/YayABDeepLightCopier.java b/AB/src/yayabdeep/YayABDeepLightCopier.java
deleted file mode 100644
index 3758eb7..0000000
--- a/AB/src/yayabdeep/YayABDeepLightCopier.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package yayabdeep;
-
-import org.eclipse.emf.ecore.EObject;
-import fr.inria.diverse.cloning.runtime.emfextension.impl.LooseCopier;
-import ab.A;
-import ab.B;
-
-@SuppressWarnings("serial")
-public class YayABDeepLightCopier extends LooseCopier {
-protected EObject createCopy(EObject eObject) {
-if (eObject instanceof A)
-return new ADeepPImpl((A)eObject);
-if (eObject instanceof B)
-return new BDeepPImpl((B)eObject);
-else
-return super.createCopy(eObject);
-}
-}
-
diff --git a/AB/src/yayabdeep/YayABDeepTags.java b/AB/src/yayabdeep/YayABDeepTags.java
deleted file mode 100644
index ffc230b..0000000
--- a/AB/src/yayabdeep/YayABDeepTags.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package yayabdeep;
-
-import org.eclipse.emf.ecore.EClass;
-import fr.inria.diverse.cloning.runtime.common.ClassTag;
-import fr.inria.diverse.cloning.runtime.common.MetamodelTags;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import ab.A;
-import ab.B;
-
-public class YayABDeepTags implements MetamodelTags {
-public ClassTag getTagOf(EClass eClass) {
-if (eClass.equals(ab.AbPackage.eINSTANCE.getA()))
-return ClassTag.PARTIALLY_SHAREABLE;
-if (eClass.equals(ab.AbPackage.eINSTANCE.getB()))
-return ClassTag.PARTIALLY_SHAREABLE;
-else
-return null;
-}
-public boolean mayTagClassesShareable() {
-return false;}
-public boolean isPropertyShareable(EStructuralFeature prop) {
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_I()))
-return true;
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_J_m()))
-return false;
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_B()))
-return false;
-if (prop.equals(ab.AbPackage.eINSTANCE.getB_X()))
-return true;
-else
-return false;
-}
-public double getShareableClassesRatio() {
-return 0.0;
-}
-public double getPartShareableClassesRatio() {
-return 1.0;
-}
-public double getIsolatedShareablePropertiesRatio() {
-return 0.5;
-}
-public double getShareablePropertiesInPartShareableClassesDensity() {
-return 1.0;
-}
-public double getShareablePropertiesInShareableClassesDensity() {
-return 0.0;
-}
-}
-
diff --git a/AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java b/AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java
deleted file mode 100644
index 8262639..0000000
--- a/AB/src/yayabmutclassonly/AMutClassOnlyPImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- */
-
-package yayabmutclassonly;
-
-import ab.A;
-import ab.AbPackage;
-import ab.B;
-import java.util.Collection;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- *
- * An implementation of the model object 'A'.
- *
- *
- * The following features are implemented:
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getI I}
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getJ_m Jm}
- *
- * -
- * { @link ab.impl.AMutClassOnlyPImpl#getB B}
- *
- *
- *
- * @generated
- */
-public class AMutClassOnlyPImpl extends MinimalEObjectImpl.Container implements
- A {
- protected A cloned;
- /**
- * The default value of the '
- * { @link #getI() I}
- * ' attribute.
- *
- *
- * @see #getI()
- * @generated
- * @ordered
- */
- protected static final int I_EDEFAULT = 0;
- /**
- * The default value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected static final int JM_EDEFAULT = 0;
- /**
- * The cached value of the '
- * { @link #getJ_m() Jm}
- * ' attribute.
- *
- *
- * @see #getJ_m()
- * @generated
- * @ordered
- */
- protected int j_m = JM_EDEFAULT;
-
- /**
- *
- *
- * @generated
- */
- protected AMutClassOnlyPImpl(A clonedParam) {
- super();
- cloned = clonedParam;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return AbPackage.Literals.A;
- }
-
- /**
- *
- *
- * @generated
- */
- public int getI() {
- return cloned.getI();
- }
-
- /**
- *
- *
- * @generated
- */
- public void setI(int newI) {
- System.out
- .println("[Info] AMutClassOnlyPImpl: i is readonly and cannot be set.");
- }
-
- /**
- *
- *
- * @generated
- */
- public int getJ_m() {
- return j_m;
- }
-
- /**
- *
- *
- * @generated
- */
- public void setJ_m(int newJ_m) {
- int oldJ_m = j_m;
- j_m = newJ_m;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- AbPackage.A__JM, oldJ_m, j_m));
-
- }
-
- /**
- *
- *
- * @generated
- */
- public EList getB() {
- return cloned.getB();
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd,
- int featureID, NotificationChain msgs) {
- switch (featureID) {
- case AbPackage.A__B:
- return ((InternalEList>) getB()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case AbPackage.A__I:
- return getI();
- case AbPackage.A__JM:
- return getJ_m();
- case AbPackage.A__B:
- return getB();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- *
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case AbPackage.A__I:
- setI((Integer) newValue);
- return;
- case AbPackage.A__JM:
- setJ_m((Integer) newValue);
- return;
- case AbPackage.A__B:
- getB().clear();
- getB().addAll((Collection extends B>) newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- setI(I_EDEFAULT);
- return;
- case AbPackage.A__JM:
- setJ_m(JM_EDEFAULT);
- return;
- case AbPackage.A__B:
- getB().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case AbPackage.A__I:
- return cloned.getI() != I_EDEFAULT;
- case AbPackage.A__JM:
- return j_m != JM_EDEFAULT;
- case AbPackage.A__B:
- return cloned.getB() != null && !cloned.getB().isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (i: ");
- result.append(cloned.getI());
- result.append(", j_m: ");
- result.append(j_m);
- result.append(')');
- return result.toString();
- }
-
-}
-//AImpl
-
diff --git a/AB/src/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java b/AB/src/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java
deleted file mode 100644
index d99e479..0000000
--- a/AB/src/yayabmutclassonly/YayABMutClassOnlyCloningMaterial.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package yayabmutclassonly;
-
-import fr.inria.diverse.cloning.runtime.common.CloningMaterial;
-import fr.inria.diverse.cloning.runtime.emfextension.impl.LooseCopier;
-import fr.inria.diverse.cloning.runtime.common.MetamodelTags;
-
-public class YayABMutClassOnlyCloningMaterial implements CloningMaterial {
-private static YayABMutClassOnlyCloningMaterial instance;
-private YayABMutClassOnlyTags tags;
-private YayABMutClassOnlyCloningMaterial(YayABMutClassOnlyTags tags){this.tags = tags;
-};
-public static YayABMutClassOnlyCloningMaterial getInstance() {
-if (instance == null)
-instance = new YayABMutClassOnlyCloningMaterial(new YayABMutClassOnlyTags());
-return instance;
-}
-public MetamodelTags getTags() {
-return tags;}
-public LooseCopier createLightCopier() {
-return new YayABMutClassOnlyLightCopier();}
-}
-
diff --git a/AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java b/AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java
deleted file mode 100644
index 0f3ef33..0000000
--- a/AB/src/yayabmutclassonly/YayABMutClassOnlyLightCopier.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package yayabmutclassonly;
-
-import org.eclipse.emf.ecore.EObject;
-import fr.inria.diverse.cloning.runtime.emfextension.impl.LooseCopier;
-import ab.A;
-import ab.B;
-
-@SuppressWarnings("serial")
-public class YayABMutClassOnlyLightCopier extends LooseCopier {
-protected EObject createCopy(EObject eObject) {
-if (eObject instanceof A)
-return new AMutClassOnlyPImpl((A)eObject);
-if (eObject instanceof B)
-return eObject;
-else
-return super.createCopy(eObject);
-}
-}
-
diff --git a/AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java b/AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java
deleted file mode 100644
index 27e7b32..0000000
--- a/AB/src/yayabmutclassonly/YayABMutClassOnlyTags.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package yayabmutclassonly;
-
-import org.eclipse.emf.ecore.EClass;
-import fr.inria.diverse.cloning.runtime.common.ClassTag;
-import fr.inria.diverse.cloning.runtime.common.MetamodelTags;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import ab.A;
-import ab.B;
-
-public class YayABMutClassOnlyTags implements MetamodelTags {
-public ClassTag getTagOf(EClass eClass) {
-if (eClass.equals(ab.AbPackage.eINSTANCE.getA()))
-return ClassTag.PARTIALLY_SHAREABLE;
-if (eClass.equals(ab.AbPackage.eINSTANCE.getB()))
-return ClassTag.COMPLETELY_SHAREABLE;
-else
-return null;
-}
-public boolean mayTagClassesShareable() {
-return true;}
-public boolean isPropertyShareable(EStructuralFeature prop) {
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_I()))
-return true;
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_J_m()))
-return false;
-if (prop.equals(ab.AbPackage.eINSTANCE.getA_B()))
-return true;
-if (prop.equals(ab.AbPackage.eINSTANCE.getB_X()))
-return true;
-else
-return false;
-}
-public double getShareableClassesRatio() {
-return 0.5;
-}
-public double getPartShareableClassesRatio() {
-return 0.5;
-}
-public double getIsolatedShareablePropertiesRatio() {
-return 0.5;
-}
-public double getShareablePropertiesInPartShareableClassesDensity() {
-return 2.0;
-}
-public double getShareablePropertiesInShareableClassesDensity() {
-return 1.0;
-}
-}
-
diff --git a/fr.inria.diverse.cloning.benchmark.materialgenerator/main.product b/fr.inria.diverse.cloning.benchmark.materialgenerator/main.product
index 79d24d2..c100783 100644
--- a/fr.inria.diverse.cloning.benchmark.materialgenerator/main.product
+++ b/fr.inria.diverse.cloning.benchmark.materialgenerator/main.product
@@ -3,18 +3,16 @@
-
- -Xms128m -Xmx3072m
+ -Xms128m -Xmx4096m
-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
-
@@ -22,12 +20,10 @@
-
org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7
-
diff --git a/fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java b/fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java
index 91a6b54..46b23dd 100644
--- a/fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java
+++ b/fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java
@@ -29,9 +29,9 @@ import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.internal.core.ClasspathEntry;
import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.BenchmarkMaterialGenerator;
-import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.EMFCodeGenerator;
import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.ModelCreatorGenerator;
import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.OsgiBundleGenerator;
+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;
@@ -50,7 +50,7 @@ public class Application implements IApplication {
* @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
*/
public Object start(IApplicationContext context) throws Exception {
-
+
Log.info("Starting cloning benchmark material generator.");
String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
@@ -62,6 +62,10 @@ public class Application implements IApplication {
.required().describedAs("path").ofType(File.class).required();
OptionSpec outputFileOption = parser.accepts("outputFile", "The OSGI jar bundle to create.")
.withRequiredArg().required().describedAs("path").ofType(File.class).required();
+ OptionSpec outputProjectFolderOption = parser
+ .accepts("outputProjectFolder",
+ "The folder in which all the code is generated, as a complete eclipse project. NO SPACE CHARACTERS /!\\.")
+ .withRequiredArg().describedAs("path").ofType(File.class);
try {
@@ -69,57 +73,64 @@ public class Application implements IApplication {
OptionSet options = parser.parse(args);
File metamodelsFolder = options.valueOf(metamodelsFolderOption);
File outputFile = options.valueOf(outputFileOption);
-
-
+ File outputProjectFolder;
+
+ // Creating the java project in which we put everything
+ if (options.has(outputProjectFolderOption)) {
+ outputProjectFolder = options.valueOf(outputProjectFolderOption);
+ } else {
+ outputProjectFolder = File.createTempFile("cloningBenchmarkMaterial", "");
+ }
+
+ File tmpDir = outputProjectFolder;
+
// Getting ecore files
List> metamodelsFiles = new ArrayList<>();
List names = new ArrayList();
- for (File file : metamodelsFolder.listFiles()){
+ for (File file : metamodelsFolder.listFiles()) {
if (file.getName().endsWith(".ecore")) {
- Log.info("Found "+file.getAbsolutePath());
+ Log.info("Found " + file.getAbsolutePath());
Set files = new HashSet();
files.add(file);
metamodelsFiles.add(files);
names.add(file.getName().replace(".ecore", ""));
}
}
-
-
-
- // Creating the java project in which we put everything
- File tmpDir = File.createTempFile("cloningBenchmarkMaterial", "");
- Log.info("Creating temporary project folder: "+tmpDir.getAbsolutePath());
+ Log.info("Creating temporary project folder: " + tmpDir.getAbsolutePath());
tmpDir.delete();
tmpDir.mkdir();
IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription("yayProject");
+
+ // 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
project.create(description, null);
project.open(null);
-
List metamodels = new ArrayList();
File srcFolder = new File(tmpDir, "src");
File binFolder = new File(tmpDir, "bin");
Log.enableProgress(metamodelsFiles.size());
-
+
// Iterating through metamodels an generating everything
Iterator namesIt = names.iterator();
for (Set metamodel : metamodelsFiles) {
-
+
String name = namesIt.next();
-
- Log.info("Generating material for metamodel \""+name+"\"");
+
+ Log.info("Generating material for metamodel \"" + name + "\"");
Log.plusLevel();
Log.plusLevel();
-
+
Log.info("Calling EMF code generator...");
ResourceSet rs = EMFCodeGenerator.generate(metamodel, name, project);
-
+
// Tagging
Set taggers = new HashSet();
Tagger tagger = new MutClassesOnlyTagger(rs, name);
@@ -128,17 +139,17 @@ public class Application implements IApplication {
taggers.add(tagger2);
metamodels.add(rs);
-
+
PImplGenerator.generate(name, project, taggers, false);
ModelCreatorGenerator.generateModelCreator(rs, name, srcFolder.getAbsolutePath());
Log.minusLevel();
Log.minusLevel();
-
+
Log.incProgress();
-
+
}
Log.info("All metamodels have been processed.");
-
+
Log.disableProgress();
Log.info("Generating benchmark material class.");
@@ -165,12 +176,12 @@ public class Application implements IApplication {
project.refreshLocal(IResource.DEPTH_INFINITE, null);
project.build(IncrementalProjectBuilder.FULL_BUILD, null);
- // Generating files a second time, in order to use the bin folder a a basis for the jar
+ // Generating files a second time, in order to use the bin folder as a basis for the jar
OsgiBundleGenerator.generateComponentConf(binFolder);
OsgiBundleGenerator.generateManifest(binFolder);
// Creating the jar using the content of the bin folder
- Log.info("Creating OSGI jar bundle: "+outputFile.getAbsolutePath());
+ Log.info("Creating OSGI jar bundle: " + outputFile.getAbsolutePath());
OsgiBundleGenerator.createJar(binFolder, outputFile);
Log.info("Done!");
diff --git a/fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF b/fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
index 4c27f51..e92a3e5 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
+++ b/fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
@@ -10,9 +10,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.mat.api;bundle-version="1.3.0",
org.eclipse.mat.parser;bundle-version="1.3.0",
org.eclipse.mat.hprof;bundle-version="1.3.0",
- org.eclipse.mat.jdt;bundle-version="1.3.0",
- org.eclipse.equinox.launcher;bundle-version="1.3.0"
+ org.eclipse.mat.jdt;bundle-version="1.3.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ClassPath: .,
lib/jopt-simple-4.6.jar
-Bundle-ActivationPolicy: lazy
diff --git a/fr.inria.diverse.cloning.benchmark.tool/main.product b/fr.inria.diverse.cloning.benchmark.tool/main.product
new file mode 100644
index 0000000..7d6a9f3
--- /dev/null
+++ b/fr.inria.diverse.cloning.benchmark.tool/main.product
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+ -Xms128m -Xmx2048m
+-agentlib:jdwp=transport=dt_socket,server=y,suspend=n
+ -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr.inria.diverse.cloning.benchmark.tool/plugin.xml b/fr.inria.diverse.cloning.benchmark.tool/plugin.xml
index 4b0cdeb..a99cb2c 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/plugin.xml
+++ b/fr.inria.diverse.cloning.benchmark.tool/plugin.xml
@@ -11,5 +11,18 @@
+
+
+
+
+
+
+
diff --git a/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log b/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
new file mode 100644
index 0000000..44ceab4
--- /dev/null
+++ b/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
@@ -0,0 +1,10 @@
+!SESSION 2014-03-10 21:15:31.638 -----------------------------------------------
+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
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-10 21:15:32.803
+!MESSAGE NLS unused message: line_separator_platform_mac_os_9 in: org.eclipse.core.internal.runtime.messages
diff --git a/fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
similarity index 100%
rename from fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
rename to fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
diff --git a/fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
rename to fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
diff --git a/fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.log b/fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.log
deleted file mode 100644
index fb0e17d..0000000
--- a/fr.inria.diverse.cloning.benchmark.tool/runtime-data/.metadata/.log
+++ /dev/null
@@ -1,10 +0,0 @@
-!SESSION 2014-03-10 08:42:50.380 -----------------------------------------------
-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/4/bundle.jar --outputFile=/home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/4/results.csv --nbtries=5 --nbClones=1,10,100
-Command-line arguments: -application fr.inria.diverse.cloning.benchmark.tool.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.benchmark.tool/runtime-data -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/Run BenchmarkTool/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --benchmarkMetamodels=/home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/4/bundle.jar --outputFile=/home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/4/results.csv --nbtries=5 --nbClones=1,10,100
-
-!ENTRY org.eclipse.osgi 2 1 2014-03-10 08:42:53.234
-!MESSAGE NLS unused message: line_separator_platform_mac_os_9 in: org.eclipse.core.internal.runtime.messages
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java
index ec8c846..accc243 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java
@@ -1,6 +1,7 @@
package benchmark;
import java.io.File;
+import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -24,14 +25,31 @@ public class Benchmark {
private static int counter = 2; // starts at two to match the CSV lines
private double originalModelPerformance;
+ private File dumpsfolder;
+ private boolean keepDumps;
ModelCreator modelCreator;
+
+ /**
+ * https://stackoverflow.com/a/779529
+ * @param f
+ * @throws IOException
+ */
+ private static void delete(File f){
+ if (f.isDirectory()) {
+ for (File c : f.listFiles())
+ delete(c);
+ }
+ f.delete();
+ }
- public Benchmark(ModelCreator modelCreator) {
+ public Benchmark(ModelCreator modelCreator, File dumpsfolder, boolean keepDumps) {
originalModelPerformance = -1;
this.modelCreator = modelCreator;
+ this.dumpsfolder = dumpsfolder;
+ this.keepDumps = keepDumps;
}
- private static int computeSizeModels(File folder) {
+ private static int computeSizeModels(File folder, boolean keepDumps) {
Log.info("Dumping memory...");
File dumpFile = new File(folder, "dump_" + dateFormat.format(new Date()) + ".bin");
dumpFile.delete();
@@ -50,8 +68,8 @@ public class Benchmark {
Cloner cloner = new ClonerImpl(cloningMaterial);
// Preparing "output folder", just for the URI of the clones
- File tmpFolder = new File("/tmp/bleh");
- tmpFolder = new File("/tmp2/clone" + (counter++)); // TODO change this hardcoded path!!
+// File tmpFolder = new File("/tmp/bleh");
+ File tmpFolder = new File(dumpsfolder,"clone" + (counter++)); // TODO change this hardcoded path!!
tmpFolder.delete();
tmpFolder.mkdirs();
@@ -72,17 +90,19 @@ public class Benchmark {
}
// Echauffement
- // for (int i = 0; i < numberOfClones; i++)
- // cloner.clone(model, tmpFolder, light);
+ for (int i = 0; i < 1000; i++)
+ cloner.clone(model, tmpFolder, light);
// Cloning "numberOfClones" times and computing time
Log.info("Cloning (" + numberOfClones + " clones)...");
List clones = new ArrayList<>();
- long timeBegin = System.currentTimeMillis();
+
+ long timeBegin = System.nanoTime();
for (int i = 0; i < numberOfClones; i++)
clones.add(cloner.clone(model, tmpFolder, light));
- long timeEnd = System.currentTimeMillis();
-
+ long timeEnd = System.nanoTime();
+ long timeSpent = (timeEnd - timeBegin)/1000000;
+
// Computing read performance for a clone
long cloneModelPerformance = -1;
if (computePerformance) {
@@ -95,14 +115,16 @@ public class Benchmark {
int size = -1;
if (computeMemory) {
//Log.info("Computing memory footprint... ");
- size = computeSizeModels(tmpFolder);
+ size = computeSizeModels(tmpFolder, keepDumps);
}
// Preparing results object
- long timeSpent = (timeEnd - timeBegin);
BenchmarkResults benchmarkResults = new BenchmarkResults(size, timeSpent, originalModelPerformance,
cloneModelPerformance);
+ if (!keepDumps)
+ delete(tmpFolder);
+
return benchmarkResults;
}
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/BenchmarkResults.java b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/BenchmarkResults.java
index e4463b2..4cc611a 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/BenchmarkResults.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/BenchmarkResults.java
@@ -5,21 +5,18 @@ import java.util.Collection;
public class BenchmarkResults {
private int usedMemory;
- // private double originalModelSize;
private double timeSpent;
private double originalModelPerformance;
private double cloneModelPerformance;
public static BenchmarkResults combineResults(Collection results) {
int memory = 0;
- // double originalModelMemory = 0;
double meanTime = 0;
int nbPerformanceMeasures = 0;
double meanOriginPerformance = 0;
double meanClonePerformance = 0;
for (BenchmarkResults aResult : results) {
memory = Math.max(memory, aResult.getUsedMemory());
- // originalModelMemory = Math.max(originalModelMemory,aResult.getOriginalModelSize());
meanTime += aResult.getTimeSpent();
if (aResult.getOriginalModelPerformance() != -1) {
nbPerformanceMeasures++;
@@ -28,8 +25,6 @@ public class BenchmarkResults {
}
}
-
-
if (nbPerformanceMeasures == 0)
nbPerformanceMeasures = 1;
@@ -42,7 +37,6 @@ public class BenchmarkResults {
super();
this.usedMemory = usedMemory;
this.timeSpent = timeSpent2;
- // this.originalModelSize = originalModelSize;
this.originalModelPerformance = originalModelPerformance;
this.cloneModelPerformance = cloneModelPerformance;
}
@@ -51,9 +45,6 @@ public class BenchmarkResults {
return usedMemory;
}
- // public double getOriginalModelSize() {
- // return originalModelSize;
- // }
public double getTimeSpent() {
return timeSpent;
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Performance.java b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Performance.java
index d65706f..750fa31 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Performance.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Performance.java
@@ -22,17 +22,17 @@ public class Performance {
}
- long timeBegin = System.currentTimeMillis();
+ long timeBegin = System.nanoTime();
// We find each "root" of each resource, and start the read operation
- for (int i = 0; i < 10000; i++) {
+ for (int i = 0; i < 20000; i++) {
for (Resource r : model.getResources()) {
for (EObject o : r.getContents()) {
readAllAndPropagate(o);
}
}
}
- long timeEnd = System.currentTimeMillis();
- long timeSpent = (timeEnd - timeBegin);
+ long timeEnd = System.nanoTime();
+ long timeSpent = (timeEnd - timeBegin)/1000000;
return timeSpent;
}
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java b/fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java
index 3557e88..88e5950 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java
@@ -12,6 +12,7 @@ import joptsimple.OptionSpec;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
+import org.osgi.framework.BundleException;
import benchmark.Benchmark;
import benchmark.BenchmarkResults;
@@ -49,35 +50,76 @@ public class Application implements IApplication {
.withValuesSeparatedBy(",").required();
OptionSpec outputFileOption = parser.accepts("outputFile", "The CSV file to write.").withRequiredArg()
.required().describedAs("path").ofType(File.class).required();
+ OptionSpec> keepDumpsOption = parser.accepts("keepDumps", "To keep memory dumps.");
+ OptionSpec dumpsFolderOption = parser
+ .accepts("dumpsFolder", "A folder in which memory dumps will be written.").withRequiredArg()
+ .describedAs("path").ofType(File.class);
OptionSpec nbtriesOption = parser
.accepts("nbtries", "The number of tries, for better time/performance results").withRequiredArg()
.required().ofType(Integer.class).required();
OptionSpec nbClonesOption = parser.accepts("nbClones", "Series of numbers of clones to create.")
.withRequiredArg().required().describedAs("1,10,100...").ofType(Integer.class)
.withValuesSeparatedBy(",").required();
+ OptionSpec metamodelsOption = parser.accepts("metamodels", "Specific metamodels to use.")
+ .withRequiredArg().ofType(String.class).withValuesSeparatedBy(",");
+ OptionSpec shareFieldsOption = parser.accepts("shareFields", "Enforces shareFields.")
+ .withRequiredArg().ofType(Boolean.class);
+ OptionSpec shareObjectsOption = parser.accepts("shareObjects", "Enforces shareObjects.")
+ .withRequiredArg().ofType(Boolean.class);
try {
// Parsing arguments (throws an error if problem)
OptionSet options = parser.parse(args);
- // In both cases, we need the benchmark material
List bundles = options.valuesOf(benchmarkMetamodelsOption);
File outputFile = options.valueOf(outputFileOption);
List nbClones = options.valuesOf(nbClonesOption);
Integer nbtries = options.valueOf(nbtriesOption);
+
+ boolean enforceMetamodels = options.has(metamodelsOption);
+ List enforcedMetamodels = null;
+ if (enforceMetamodels)
+ enforcedMetamodels = options.valuesOf(metamodelsOption);
+
+ boolean enforceShareFields = options.has(shareFieldsOption);
+ boolean shareFields = true;
+ if (enforceShareFields)
+ shareFields = options.valueOf(shareFieldsOption);
+
+ boolean enforceShareObjects = options.has(shareObjectsOption);
+ boolean shareObjects = true;
+ if (enforceShareObjects)
+ shareObjects = options.valueOf(shareObjectsOption);
+
+ File dumpsFolder;
+ if (options.has(dumpsFolderOption)) {
+ dumpsFolder = options.valueOf(dumpsFolderOption);
+ } else {
+ dumpsFolder = File.createTempFile("cloneDumps", "");
+ dumpsFolder.delete();
+ dumpsFolder.mkdirs();
+ }
+
+ boolean keepDumps = options.has(keepDumpsOption);
Log.info("Starting benchmark tool");
CSVFile csv = new CSVFile(outputFile);
boolean[] lightNot = { false, true }; // ne pas toucher à l'ordre pour le plot R
+
+ if (enforceShareFields) {
+ lightNot = new boolean[1];
+ lightNot[0] = shareFields;
+ }
// To display numbers consistently with CSV line numbers
int counter = 2;
boolean progressSetUp = false;
+ int bundleCounter = 1;
for (File bundle : bundles) {
BenchmarkMaterial material = BundleLoader.loadBundle(bundle);
@@ -90,12 +132,33 @@ public class Application implements IApplication {
progressSetUp = true;
}
- for (String name : material.getMetamodelsName()) {
+ //Processing argument that enforces specific metamodels
+ List metamodels = new ArrayList();
+ metamodels.addAll(material.getMetamodelsName());
+ if(enforceMetamodels)
+ metamodels.retainAll(enforcedMetamodels);
+
+
+ for (String name : metamodels) {
- Benchmark benchmark = new Benchmark(material.getModelCreator(name));
+ Benchmark benchmark = new Benchmark(material.getModelCreator(name), dumpsFolder, keepDumps);
benchmark.computeOriginalModelPerformance(material.getCloningMaterial(name, "Deep"), nbtries);
- for (String cloning : material.getCloningNames()) {
+
+
+ //Processing argument that enforces specific clonings (shareobject)
+ List clonings = new ArrayList();
+ clonings.addAll(material.getCloningNames());
+ if(enforceShareObjects) {
+ clonings.clear();
+ if (shareObjects)
+ clonings.add("MutClassOnly");
+ else
+ clonings.add("Deep");
+ }
+
+
+ for (String cloning : clonings) {
for (boolean light : lightNot) {
boolean computePerformance = true;
@@ -137,10 +200,10 @@ public class Application implements IApplication {
MetamodelTags tags = cloningMaterial.getTags();
MetamodelTags tags2 = cloningMaterial2.getTags();
- csv.addLine(number, name, results.getUsedMemory(), results.getTimeSpent(), cloning,
- "default", lightString, results.getOriginalModelPerformance(),
- results.getCloneModelPerformance(), tags.getShareableClassesRatio(),
- tags.getPartShareableClassesRatio(),
+ csv.addLine(number, "bundle" + bundleCounter + "-" + name, results.getUsedMemory(),
+ results.getTimeSpent(), cloning, "default", lightString,
+ results.getOriginalModelPerformance(), results.getCloneModelPerformance(),
+ tags.getShareableClassesRatio(), tags.getPartShareableClassesRatio(),
tags.getIsolatedShareablePropertiesRatio(),
tags.getShareablePropertiesInPartShareableClassesDensity(),
tags.getShareablePropertiesInShareableClassesDensity(),
@@ -156,6 +219,8 @@ public class Application implements IApplication {
}
}
}
+ bundleCounter++;
+ BundleLoader.uninstallBundle();
}
// csv.writeToFile(outputFile);
Log.info("Exiting benchmark tool");
@@ -174,6 +239,12 @@ public class Application implements IApplication {
* @see org.eclipse.equinox.app.IApplication#stop()
*/
public void stop() {
+ try {
+ BundleLoader.uninstallBundle();
+ } catch (BundleException e) {
+ // TODO Bloc catch généré automatiquement
+ e.printStackTrace();
+ }
// nothing to do
}
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/main/BundleLoader.java b/fr.inria.diverse.cloning.benchmark.tool/src/main/BundleLoader.java
index 6292c4a..897b2e6 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/main/BundleLoader.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/main/BundleLoader.java
@@ -18,9 +18,7 @@ public class BundleLoader {
public static BenchmarkMaterial loadBundle(File bundleJar) throws BundleException {
- if (currentBundle != null)
- currentBundle.uninstall();
-
+
// Getting bundlecontext, to install other bundles
BundleContext bundleContext = InternalPlatform.getDefault().getBundleContext();
@@ -35,4 +33,9 @@ public class BundleLoader {
return material;
}
+ public static void uninstallBundle() throws BundleException {
+ if (currentBundle != null)
+ currentBundle.uninstall();
+ }
+
}
diff --git a/fr.inria.diverse.cloning.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java b/fr.inria.diverse.cloning.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java
index 33c6c9f..fe169ef 100644
--- a/fr.inria.diverse.cloning.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java
+++ b/fr.inria.diverse.cloning.benchmark.tool/src/memoryanalysis/MemoryAnalyzer.java
@@ -39,6 +39,9 @@ public class MemoryAnalyzer {
// estimations
}
}
+
+ SnapshotFactory.dispose(snapshot);
+
} catch (SnapshotException e) {
System.err.println("Error while computing memory consumption!");
e.printStackTrace();
diff --git a/fr.inria.diverse.cloning.benchmark.tool/target/classes/benchmark/Benchmark.class b/fr.inria.diverse.cloning.benchmark.tool/target/classes/benchmark/Benchmark.class
index 11836e6e94afe59666c7c8f6fd6ceb19e374adfc..394e594f1677c3bd00a9d3c08909b3664b7d9eab 100644
GIT binary patch
literal 5386
zcmbVQ30Pd!89kR7c*Eln!myZ$U}-dwnUI+n70iHW0!E+^Vu*?0`WPPYl38$OP!reM
z)FoDJ?P6osw6^JDTbBfgw8rk$E?>Vc+S+~5+G<;CH`_+(xp&?$OcK-xAMf3Fm;e6D
z`Op0?kH7NpBLGenLPLQ-#h?|BjK<95w$R#aOM_cr;a2ksGZZ!BBca~GtyUy0pbwd8
zYh5B4Gx<^7ttO&%b=oDC#NZKQI+>G`lhOFoYD>*FJ$0HVp
z+XYI7#$#it;Y4&uE?AI}X(vMK?5IUq#oH`vtX)pw^Z@}QCZ)6`Ei;|q{4=_TlOa2v
zw9U|veT9`wS)oWY5x1#x&a6lx7E8oKYJX=XC3{*TQ9Ev@TLoP8{>=jJHj36zC9pVW
zSf3pmi&{DJJUEU^J33axVk=T99hLAISd8NZidr0LRrMJol;`@=Nh;Iq-&_oVS_6eB
zlC3ux(BKg$>$c<8`tjJHmE2?wM(Go8cOqg&H=8tx-%e){ZMM=JEq7#R9pvAvV<}G7
zu#B!zT00{K>fxt%?Nqy+Wb6{j?aIypIe)o<2CSfSqjoAS9Zlz!*ZVKbcfL+NLk5=M
zM7ib^*`h=-%)f|0XTXgUR!k0hN
zk!Kow>9Tc}fif(Vtu+QpV8~XRfl@4BXw#!MZLI3ffnpZxghDwHGB%#J`s^K+LJ8-3
z5A*bZztaQ4xm<#gA+3v9F*-FE4C;6bdNgzk_~!*z>%((6N
za6-cdf#Y(?mVwOLaa*Q@2O9+nWsY2`qZd96=QB&xWF<=?Q^zK()^Py_H1rEp=FpqN
zt$_=15kabwkI8$IW8SQgX8)0>l{;Qy;8I-1mFC!(6(15|DM*r9>BS$mjr
zJqliHq^>)xq=Bn(4T;GC>P9PVk~oGWV0(w#qGpPS%{po>@8qYEpZFyLGE}R~mC4We
zq$r2!1urY>zoM&tJ7<5sv%64?6;+>Q4WYQ(4$
zwTe9atIlQ}_uzvXK0q+%Xh97b_z*tKbC~Nlkbcb(hOH`3g40bIAH~Ns>>*?2WH^Hc
zJ}xswqm=b#jK25;_G|l5rlgf&QGp;;V^)NmtOzkH
z*k)FQvRM(DlMp0}&+^D=Q)DbNY%EtS)Fp;h!extzI^}7m9{u_`d_lwK>4=rBLB^86QB4rEbV@4+Li9qLr3r2O=_1%Vg|l}ZxZlvGoIMQ6HpZ)T_t!7-`4PW-ccsS8Tbyq%Q@x{Pnx_!
zDpP_s`v(fu*?zUN?;)TLs{Q*Pz!P+=|4)v1~EkdYEo4$6{wI&%poW=ZU%@X!xH%(`&QD
zQPIJ}$BB8Cua0!UnQ#2y?37^E;)7IF;!W>U^-QL8STLIkLCFqyGjqnp3@u_Z@UFv_
zE^j(~7sx_gy;+>AH%oKAAyesA?87CnTT!iR9e0~{Y(MBL3DNfr%(37oVWOZW=(hux2~y3X8-GM~FBG*%CO7W3_P2
zpbCW=YX^DDJ{>5T;S4sHa+p+tCP&FDxt*JR#|I{HMxYYm{b&g+-;dTn!+x9{sNIjX
zIg2wot>A(nZ#W^kZ6&ukh2mBzodOwAXvaAeNukQMLbasRrH77}HzIDTOI~x7c#u{~
zCAz#FQ|Ow;(*D3Sdi%ZSO``8X)J$Vj|0Fg~V9Nw9_L_W5ATo)Oo(AbMKDN525c8(E
z);r!Xg)3WY@1wL#l$J5wDoyUfNo=y*_Y#`Vvqz`&Tk&W7g{`Nt6Mw}EOwniQBRN`1J1)ZC*jGwx&clmrmC>ed{GF|G
zT6CI%bp`Dx!$0s({$J@|v_cX}M()2US5nJX6u%)C{xQ55vG`)I;Au5}HirY;O9D-LILY>BnM)2e1Op4)g`b3gxH-R9bzh1%J
z)#%=f%0NGXvO?lMLg4Roiz;``o|)%Wcg@X-d6OYWwoB+E;3htAVao4f>~3Qecaaco
zC!+4)KUnTmQ9UiALpG}PpA%KKUg7Ej{i_@%
literal 4897
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%0AM2#%IwHR9tZpHMsr(^ad92
diff --git a/fr.inria.diverse.cloning.benchmark.tool/target/classes/main/Application.class b/fr.inria.diverse.cloning.benchmark.tool/target/classes/main/Application.class
index 64d50f218bbe67af2e137aa7d0eb089cb5e0544d..aedc901cb15fa26716db301242ed5e7eb8fd54f3 100644
GIT binary patch
literal 11266
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
VGw~75wNjVIc@HCBV%H^4{T1JA^85e*
literal 8635
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
diff --git a/fr.inria.diverse.cloning.benchmark.tool/target/classes/main/BundleLoader.class b/fr.inria.diverse.cloning.benchmark.tool/target/classes/main/BundleLoader.class
index a27990f027668be27e8a29b460e52e7c478b3373..80c907548be0083e00bc53df6500731e47389612 100644
GIT binary patch
delta 612
zcmX|-%T7~K6o$WjdO5vpT0;XBP%a7udWy$Vtkt4IK?E(;Vo^sXO>CN)V@Ygr$}^DT
zGdLDW8tcF~GRCPR6Q96|PvB)yke%$c*8cy0t@UUB?)wr6ef{&{Baq?AL8z?4AqF{X
z5?9Q-ztp@>GsLj_L#+n}Ij1?#sGBkt%i~-ynNaBG)mK%!v16|_oSNn$lL}vZXM1Zy
zab{+=*rS`Zwk=3LM1mQU>HlpfxMr55+chSGDK44JDaKvpjqN}6yMK+K$L6vd_7nz!
zh$oE?f0zZbCRY?gC&HNKDgjyDYFA&jO|B{O`#?NaqcEli3f%`ye|o2L>;v8uVv+M(^Ot3-6S*=WjS$0_VKpE)94;Gw2+v@v+f
zxvzbz%Hw|bRrcOs;FV9!y=S1qNYP4m80#?A#WFY~{f=~(jKb>Ab-3Q;mcgc#>at?+
ziCk&!t@L`(5{L0ijAKd_XM{0Eu_R`hpih|O@gDB5E-#Zb8{FNKpR$C$M^TJqlJjWyA*(HP@DG5!RNFB5ffPu`sKew>{9HTi2a{_XdNPe74JZ{rO$7DF+vaTrN(
zk_nfz$=K5qr-&+I&$^v%ukQyzoGDJbOe+dzUlklph8go(ZA7P-)6BDAeyWwmS(aQD
z75cIN-1jTeOPXs(ULEoIwC}QFYW8aW2CFVN701F$f!}R=Yk}YE
zX>O5Mxb0TI?muZIB!)H3I=9V7yBRHVN3+4^K|0b_=8aQPmigf{Uw+0SBAHd+k@`YH
zaL5V8dnO0W*0Re3&I~v=q+oGCDwMA(vSZ}|*N0RrwzHyEEef)<=5Dwtw~
zagwB^nq)ze&Plo@X2jPVqtK85!}Hu_D;&sEV_QD1Byyd5VsBmEed)B>kq-S|dmwyM
O7#o!oa#u==hkpQ)99(n&
diff --git a/fr.inria.diverse.cloning.benchmark.tool/target/classes/memoryanalysis/MemoryAnalyzer.class b/fr.inria.diverse.cloning.benchmark.tool/target/classes/memoryanalysis/MemoryAnalyzer.class
index 5be8032c4bcda6de079ede202bf9d401453e5729..72ed8e23020c50c1cf141a69777087dd1bc4825f 100644
GIT binary patch
delta 396
zcmY+9J1>J_7>2L6{l32as!m1X7^y@Mr4bv^K@1EcAt5n2w3MRNQs-l_7{5s(5(@(c
zBqAav3zHw<7x)paM>?6_JlAtS*PZvL?7iIcnSFT!Iyt%bgw0A1wM==LCalomxl|&a
ziYS_z?Mqj6{lLi5WFi%fuXMMJS~N4`WtM=#8A&GH%-IKKyA@+mv!L+XUoOAX%hKbw
znNjM%p3oI4W2g0p^@yGM=NC+@L8;F-y5d|k!^5nuF)P?hn-eBCVy2WOlU
z!=O}-dMU9@E4bGxw2ceexgy979r$G1pBED+A(K?FOi~=BoRVTiTn@>ulEz65yR5M;
z-ffE6U=ve(g>1=eup`%Axy+|_h3p9#L}v+U8itgnuQ5jfTC=Y?6!wRte;BHBSeXA8
Ud27^FKbZCfzoPwHbXuhT0G_$&ym09)z^#LwHG)0R9
zExq8-P>V}_ls<%Zz^23bo!|4E_Rw!E_|y6L1g5!s3Fdq;lO$^))=4S6dB+KmcfWjT
z)25)=R3zL1o$!VzzQz4lYWP$!ShT8Ereu}v%u2;6lx+_1y0cs$bG!@2ve&9faw5qr{tj8qxY8`l
hOmyi(YwDV_|4jZbL%b`j(L0Dk%JzWFb1`_h_yZS&Kj8oX
diff --git a/fr.inria.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF b/fr.inria.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF
index b632d48..97ad9ff 100644
--- a/fr.inria.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF
+++ b/fr.inria.diverse.cloning.materialgenerator/META-INF/MANIFEST.MF
@@ -18,7 +18,15 @@ Require-Bundle: org.eclipse.core.runtime,
fr.inria.diverse.cloning.runtime;bundle-version="0.1.0",
org.eclipse.emf.codegen;bundle-version="2.9.0",
org.eclipse.emf.codegen.ecore;bundle-version="2.9.1",
- org.eclipse.jface.text;bundle-version="3.8.101"
+ org.eclipse.jface.text;bundle-version="3.8.101",
+ org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.core.variables;bundle-version="3.2.700",
+ org.eclipse.debug.core;bundle-version="3.8.0",
+ org.eclipse.jdt.launching;bundle-version="3.7.0",
+ org.eclipse.debug.ui;bundle-version="3.9.0",
+ org.eclipse.jdt.debug.ui;bundle-version="3.6.200",
+ org.eclipse.ui.ide;bundle-version="3.9.1",
+ org.eclipse.ui.console
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: fr.inria.diverse.cloning.materialgenerator.generators,
fr.inria.diverse.cloning.materialgenerator.metrics,
diff --git a/fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/main/Application.class b/fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/main/Application.class
deleted file mode 100644
index 1862cbb45c616bbd3bdb82f06152eb557024ba01..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 8516
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
Lf1qdRIr{q_tF0`h
diff --git a/fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/tagger/impl/MutClassesOnlyTagger.class b/fr.inria.diverse.cloning.materialgenerator/bin/fr/inria/diverse/cloning/materialgenerator/tagger/impl/MutClassesOnlyTagger.class
index 3b53e2aca4f8605e18208c23cab8f9c8870f38a6..c1f76fe02c2258388c42dc4d0debf04a27347867 100644
GIT binary patch
delta 2065
zcmZuy2~d<}7=GS=mp%UlmgQPN*#I#V!Lbn(5?T?{T7{5A#l%%sW@}-IL#i3wN~@{S
zDdw+9%p7wj858LKWmsP8=onU;?KHHw^vR9O)j&!?S4ts?T+ptr_E))>N89ls-
zc2})K2f}UfX4A2!reG
zW@)e?qK_7xI3nUGju8yw^9oBQjIkEvT1VP)2}7iIiejzEQd#R;5hr9VQ@*vJaIDp4
zn|xnamY))FT9$|A?BDA}&aVpo0Q#
zN@s%-b-0B;)%b&u)RU*CZ*7g!m1=XBiTDf42uf$gEVmw`aa+V4+?DczEl;9bL@X>C
zBJN3!yS%ct#!+f1udT7qaJrmw+cVfPDMV5tku#`t)mGaavmGuqsiXz^D4h=Vq~WHL
zR@$wKi=R+a<*X>n)KLKGMTB6Ph71HD!yqna@Jb=6NJwB2rLEh03Yi+j*4Mv4=?_=rKU2+{Zio&+pKCYB=$D`3S+jKV6|u?B9e#XN?>
z+YEwt83qgZ!@rLfe2mRlj4fD#t*qI~nr&!CJ8!n_ID;Ly%AN1VE)vkev$&f=v4`hm
zFU4XX#bG}U!2ueIL-aHb(=#|Sm25alQ+c_R-~^T8B*XO-)!{U~hI0(p3-mfJ(L7ux
z39IN+T%qN-N~`c2HQ_pS;0AT#CSBmsyMd*27q14{Neqxm1EmX
z0h0&%@E+@ux|wt)5}PPcwqP!gMiYfJQ5gGS6B$6=yS(I#l<}hQFQP=Q6r=<1Mud>a
zeKH`L0y$6+rt|G2Bd?ke|00pACkxQJ=MZ3;sk@GLQQC1Ia5!-jqFoi1G9YTg(4#Qy*a~P@Eir
S;)5xHAM$_iXPj6+2>$>GdE~hO
delta 2207
zcmZuydr*{B6#xCcUH16_3(JBF7G#QO7HT6BOxULM&{ce3rdGD(O5_3tC{r`d_I{1M
z<~9|kGv-V&HJYJ@yV^r5AKAOC%+j>9vMeg?X=3N@vX#~M$GzvCbM86!ocp`Kuc!Rz
zIi4N88(si#Hiz0_5EIl*?g?G9_qk4Wf>>i>Eo_AQsz|7{HQZVos&BR9Sz`DDA-@V{
zI#g47rp1o+>dnmj0S?3oMgwu6DL6e4;DJSkThEAl%Z{kSby?k#$XIQK&Q$YN{_izqvUQ
z4mG*32m4Iy$5g_sOX@BOMHYr#(u~hd9Kb=f$($73gD*{7j<1N^l37E7|A|xS#5#O!
z;v2k8q))1;oipvCz|`u%`N3*!`PRgD+TxuYm|A;rAQ+r^vi*A#KWKZ-*qVuxgVnXw
z|8$Ugl_$fNf7HZJ*hx5B!i~*~!huLccj6ZlzpCLG?-+C_OJ=d1E}C|_)$q(S$1oks
z32Q^syk<8pV5UhArMtHI;p?V_+oT^QeWfgHYlxJJs#40P*F+(T9Q3KBa>o)c&tyLo
zOX3BQg{{HxqHx582beDnVF6LBZtx6pR=ULT6qBc_ZJsg?P`#eP9JIDLYcpA+zRJGB
zWhp`$>;Si|o$M_oJJgLi6QgIw@MIjLi8#(BHeqZ<+R%0A@~6eoZpeCFg>4PgMs&~2
zj;+TAt-qTBoaeGP$>6tjBgg70%00DKCRlmj^%cWu>KBOcxl9;hoqH4-844j#nj@MUvl)*D$>t775>u
z*YSo(voT*QVU^HjcvGY_Nl=Wp@HT9?L}Hq$aB7KfE*Gg2zCnCP4azOQ;(gu1`9y`;
z$$;PNYv-;Cx3qJ&-yKJ_A%&ivS|yshryHMkz-cXWb~4>s=IEr|?~dWK4iw1BT9tIR
z#PEgMm|HZj%b(sCrao~;vXU@cG4mfQePbE^j5Rp)INW+Z{KS8P#WBZ%8J&n~d(RVS
zmjfhIS#_#Fo-g>LKJ32_k=i%fXYGLhq)jPPe@mIG6S*hZ)QY@e(JsH>=y1yIET5wT
z`99|o_!4Iq+o6;#JEiGKYW(&%YKSGhqlRhp9WgM&T4o&<$In`6{*Akzajx9ZlW^cE
zc(DpTJT0*3LV>*h=s>JTB{rf8FCu`KFb-P~5>zw`9&Qmt+%6Y?m%w1LT>E`OZ4YB7
zmf(FX#Rpi453w2_Nrc^aS@`Nx>_v}^C$NtO_S1^bn1j!mhXX9cK@Pwd9En35g~PlM
z-*P;@i!z8FUWV^E2S+#;M+MA3v0ZAo9={8ikMl-?w~$oW!ez8`1sz-|Pr93KZl}q2
zna%^uIH>lDG$B
znI?}UBk@RbC08=-43QEU)DC}R)-JoWA8CchQDetgJJzX-^4p`d$qN(amAl&|N3+P>
z=%qbI=TMD=I5Q|EXM33=su*+sQYL6?Vkbrk7Lwc*)I4=Yf}vvc3tc5hN^cOQJe4F_
zNf_CoA$4MVjM4rYL6!t_6(
+ class="fr.inria.diverse.cloning.materialgenerator.application.Application">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.log b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.log
index faa8d7a..2f39d8c 100644
--- a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.log
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.log
@@ -1,10 +1,37 @@
-!SESSION 2014-03-10 00:10:36.072 -----------------------------------------------
+!SESSION 2014-03-28 10:35:37.216 -----------------------------------------------
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.materialgenerator.application --ecoreFiles=/home/ebousse/Dev/modelCloning/emf/AB/model/AB.ecore --emfProjectFolder=/home/ebousse/Dev/modelCloning/emf/AB --metamodelName=yayAB
-Command-line arguments: -application fr.inria.diverse.cloning.materialgenerator.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.materialgenerator/runtime-data -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/Run CloningMaterialGenerator/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --ecoreFiles=/home/ebousse/Dev/modelCloning/emf/AB/model/AB.ecore --emfProjectFolder=/home/ebousse/Dev/modelCloning/emf/AB --metamodelName=yayAB
+Command-line arguments: -application fr.inria.diverse.cloning.materialgenerator.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.materialgenerator/runtime-data -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/Run CloningMaterialGenerator AB/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --ecoreFiles=/home/ebousse/Dev/modelCloning/emf/AB/model/AB.ecore --emfProjectFolder=/home/ebousse/Dev/modelCloning/emf/AB --metamodelName=yayAB
-!ENTRY org.eclipse.osgi 2 1 2014-03-10 00:10:37.078
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:39.977
!MESSAGE NLS unused message: line_separator_platform_mac_os_9 in: org.eclipse.core.internal.runtime.messages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.259
+!MESSAGE NLS unused message: LaunchConfigurationWorkingCopy_6 in: org.eclipse.debug.internal.core.DebugCoreMessages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.259
+!MESSAGE NLS unused message: LaunchConfigurationWorkingCopy_7 in: org.eclipse.debug.internal.core.DebugCoreMessages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.260
+!MESSAGE NLS unused message: LaunchConfigurationWorkingCopy_8 in: org.eclipse.debug.internal.core.DebugCoreMessages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.260
+!MESSAGE NLS unused message: LaunchConfigurationType_0 in: org.eclipse.debug.internal.core.DebugCoreMessages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.260
+!MESSAGE NLS unused message: LaunchConfigurationType_1 in: org.eclipse.debug.internal.core.DebugCoreMessages
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.401
+!MESSAGE NLS unused message: TargetPlatformResetJob_resetTarget in: org.eclipse.pde.internal.core.pderesources
+
+!ENTRY org.eclipse.osgi 2 1 2014-03-28 10:35:40.595
+!MESSAGE NLS unused message: StandardVMType_Standard_VM_not_supported_on_MacOS__1 in: org.eclipse.jdt.internal.launching.LaunchingMessages
+
+!ENTRY org.apache.ivyde.eclipse 1 0 2014-03-28 10:35:43.052
+!MESSAGE starting IvyDE plugin
+
+!ENTRY org.apache.ivyde.eclipse 1 0 2014-03-28 10:35:43.100
+!MESSAGE IvyDE plugin started
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.location b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.location
new file mode 100644
index 0000000000000000000000000000000000000000..2d206690093ceb5d54ee30e3d770aefbabb64cd6
GIT binary patch
literal 227
zcmZvXzYYOG7{u=(R0@qKeP6GV&?reH+I2g3R`!qV?IBUA=_Fpj6Nr+C%By&QD>W{z
zl9*~Tll&&rJ@2;7TU4vJj<3_<-iR*a(SSKo8XcZF1IEg%Uv=A>HbXXNLm>Zc~bsF4IB
lq~eL_vo~iDLI#@17fX4;oqP+oaNQ53<6$8f^;-FRxK%7wLOG?s%&RXo+z?h1ui(g1
zUGy-}X~r8CI35WESWQ=24&z`2oYg(>Q5G4*HO5eC9c6qF0yiLyF3#nMA22SlB#fH4
zZWT?M10l^O_AwD=D2YeJ)&`&~=8ez?Dn%L%7bf*oH0odp4aQq#*HBwnMOo)Q=8F<@
zso%e#QIAllhJGEm{*XZ<0#<+%+0w5ml+p8T8d-l;KUv5fD7$Hto}I3#3HHd*M?cj}
zJyNOYHlQD+!Tl)p^W#_CkC6mF)He6`!?D={V9680P#DwZ#+jB%E!vHBUQJ6gV!hOJ}KE%NvO9KCUfADKp
zBkd)qb%b;)wL
zwPCuL3e!`+?}JaM>8dAv2mrCeFuB1zpfh
zHwUX*8;+{?DnE0xmly5vf^{Vq2b7Hi>ge@pWPmyl?3^s3-amG{-K`&QzPMX
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.syncinfo.snap b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.projects/AB/.syncinfo.snap
new file mode 100644
index 0000000000000000000000000000000000000000..91d6c541512db06197e1b732473d567ce4b92d6a
GIT binary patch
literal 16
YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
new file mode 100644
index 0000000000000000000000000000000000000000..79c168abc074267d242f416d381a1df47c46316f
GIT binary patch
literal 61
zcmV~$(FuSs3NOe
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
deleted file mode 100644
index 6b2aaa7..0000000
--- a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap
new file mode 100644
index 0000000000000000000000000000000000000000..0b368ce14fbcdffc79d020bc00b88646cda52674
GIT binary patch
literal 32
acmZ?R*xjhShe1S2b=vdAllRFvpz#6ORtR=88Jk*}
z7$`WqhA0>r7@BY$i1_^(tT*s;PxbEdV-BR6WsEQ@IVUx-$R#zWBr!g}C|xhHATc>3
zRWGxwG9^_nH904!+GbR9wwdUyZ;!(4x-
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.snap b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.resources/.snap
new file mode 100644
index 0000000000000000000000000000000000000000..34f057a48572d2f1570fb98f4770dc7cef5cec72
GIT binary patch
literal 8497
zcmb`NU2GKB701th_zMRxF%Xgp%SjE1C|OL~wB(Ile>84vW3baeVhFRlRdXLojH
z*G>N~Mw;LM+%sop?z#6a+uuBK{PXY9>f1J){l|qf?{`Ea;V_jHRe#I=gor|+5QXCj
z3Q=1WY^Zm3{H|sN+1}89ltR=T%NNW8dddP!p-MO+B1h@k?oX~ene4oN^5{E<|G3>h
zv-gD2{--m#lUbNH#>_${rl+z-zNp6zq^(%WEa)-)h@}^DS~fOeX4871h=e+$?MSMx
zx%JqBiq|jWMyN5CHF5{Lfrjj&gnB>yP-|1j4+Z)J>M>EUZ_$H2A+RSy)L`TahE|n)
zQjkxDs3~n6LYjJ2_9?-h0GrC1IU|>;%AOGHNw9_KoMlW^k9$(EPd8Ab9ak^AvGfgv
zJT1^?LUdD)gT_)>t!US_t@N-z{g4f_!f=KV+nky*b24Q{pAqP@5n9n>2OZNg0nrhW
z^&_G+b~>oYkcOvj;HmrP1)B9^qV^%((x%L`p2dL003TS^S)!ZtsR{cX%M}fuyLy&!
zqElg7J36TqbS;_H`*tMlPb6S0#AnSBMUAO^wrb^Yk#(+tV)10rDrhOIa;&ahx|TL`
z*_j?QXCdu?vCnfrqMs6V_=OAz0UPTjqE&;YS=4*XyrCBYTp(FLBiiV=cIicPx{%Vl
zR19RFvx7CV!vG#rK=gCM^cW&A5>P~Wtvvs
zk(8dd@S+FAf}iyw9=eDX-~!3|2~o?SS>>zeNf-nR?`dhi-ij|n&DXELeQ&n{?qiT>
zpqZAHa>#4e9LlkXpPAYGk-~tm?ngfoZBNaFXFpDC
zQwRXoAmE|CvH0Bs!~Oh4_dNEOJ3ded0M<~5T8HAp1O0uYW3eHdSHb5N`ae?CPNs==
z5k-G3Tqklat*zp?uYp-DU1^2H<1iHVT
z{$&Wmf#CkNU!Yoj{RJxzVq4o7woL>E}?&cWqmKG?n%aoQuX#PQ<(BW{VOHF^pg4)
z!m=K%-M@ga3ZJom!Otqz-M>JxteX7`1Z$e8Ejevu({}Gb!?g@uETp$w-rJ_oVYU$M
zzzkn3q_}hRZkT`0-E!a>Youa^-!Q+~?R29I5si6gctP$KdO5|rSVU0{|C%ELUeQa_N3f)sVn?f1p{Tx_|EQg
z^E}Q3<3yP-t*P8G#L9=7oBzH0J|aBpo1RH#)A-0g)n!~{9gWa>-DAqC5N3OYjO#oTn!gADJa+kxG
z?mzJ_g#ciovo>RQS)7z>%$~p9e6?F4Ba9O5jL^znUC&qh3VW`8{HR;aG2wZD=+>cW
z%lW$W;tqSeS~_JYORwh-7jHbSTyU_yLA3rsT{~DugoV?8cXNe{g(aGTRuc})zuC_A#8;OCcbu&AZ*?e@t;Li5IB78piyLgO=N;jBk7!*yIijTwY8jko7&xiYvWq89Ui0sS8G~a$We!O4
zx59(Ln-T%6{nXtX!dN`xd8%{?psQD-)EX~4=+DdbP
z^_RkmWLLzKqlXPEH5p)eQ&=!^%ZxUoCDWLI?HoKe_Og3d_uk9tKwYIYkytXkxe_>%MN_K
zzAM6q6jnJEotn0sMD4TGs+GL}m#defcxBvnWVf?g6@Cp)_mx4~8=X{TfclGeS%ku!
z+~EmTU-5n+!XUfPdBW5v;;X`slmd1G>cBfD_g(CnX5)DA&(GC-^~m{(xP=s7nV=K04kFs!v`#tu^S8u&7g68;I{GAkzfo#!TTk+mgC%S!#uH-+sC6UDLNC~tSZHlVD8W0T#^*9Mf;
zgXdprcD^_eRV)a)xEA^3gMD{CY9kbXU
zG+-UH*mrzK=oX%>SUZVc<$6kMOYy>jV|@{u31_ae$Euul-3XxP5%WxNpVcIH^u=1ChU>mI*8rHZ=#lT(Vll|AUFQM#o{pYk0Mqp-e0w87I9>Mj`E
ftgjN??uk@a;oxL#a~BA*Z3Y(*7S_F<|CaDy(qqOc
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..c8547b9
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_VM_XML=\n\n\n\n\n\n
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..1720dc5
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+platform_path=/usr/lib64/eclipse
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.project b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.project
new file mode 100644
index 0000000..b3223cb
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/.org.eclipse.jdt.core.external.folders/.project
@@ -0,0 +1,23 @@
+
+
+ .org.eclipse.jdt.core.external.folders
+
+
+
+
+
+
+
+
+
+ .link0
+ 2
+ /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.runtime/bin
+
+
+ .link1
+ 2
+ /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.runtime
+
+
+
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/2369791033.index b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/2369791033.index
new file mode 100644
index 0000000000000000000000000000000000000000..5fe1ed0fed44f6c6328d6b8534d7fee6f502e60d
GIT binary patch
literal 25
ecmZP&_VjacjZg@44GQ-3_fs&`Gc+>$4+H>G^$6ww
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3185608247.index b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3185608247.index
new file mode 100644
index 0000000000000000000000000000000000000000..5a305c27afc386a4b7eaa7b3b19a2a69566e8e5d
GIT binary patch
literal 10230
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
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3765020915.index b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/3765020915.index
new file mode 100644
index 0000000000000000000000000000000000000000..c388b3a19d65becdb5104019ca2381be068020ec
GIT binary patch
literal 12000
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
Zl`)DZ0ZUSnr0FIn$`_^4F}Zwu=`U}x0gnIx
literal 0
HcmV?d00001
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
new file mode 100644
index 0000000..8586397
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
@@ -0,0 +1 @@
+java
\ No newline at end of file
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
new file mode 100644
index 0000000..2530855
--- /dev/null
+++ b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
@@ -0,0 +1,3 @@
+INDEX VERSION 1.126+/home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core
+3185608247.index
+3765020915.index
diff --git a/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/fr.inria.diverse.cloning.materialgenerator/runtime-data/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
new file mode 100644
index 0000000000000000000000000000000000000000..74a12777ad5d00817b2ba7f161dd7ba128bd7414
GIT binary patch
literal 32982
zcmeHQ2YB4Zl^$5KrC3()U9!3??y{-6N)&BVmPAF8?aQ5G8oLXUpmu>ZfTbwkCD)Qm
zu2-k`UR~3B?}=M_?>(;R{S5~Hlm(WQEhXRS`+zSIe`DUfdGqGYy!U1XBxCF>#+XI_
zC$xJH|Cd9Ht@VSUf>W-#_0TEQD^8*82TmbyZfv-LQ#n*^47pxNlruOvJ(A5?Y=5y4
z2F0pd+SXl6I27xmLQ&@`I5xbu=*i0ex8$r2sYgVj@$riH~@g^s;0tqZT!38e5UgQLxT`krFXV3{8
zuk3`ysxxGlPZT$!;@NCX>xzNsa&a^Ib`D#TqLxIHnAODzr?APJH;X!4$f<1Bh&^go
z{PIB6FWZspd-V2kEFzul8g#49uE(INdex2w{h(GLwgopF9q2A}Wsb_~qU?OpuDjGS
zmr2^dxomGn>sdD7heK{W_8k+9{WNxM2Fr=Yp0n4-JgXHk=Dj3;{G7)Y>4U*J6rEAW
zi_~~ck7tK8ic|*`Wo&ht
zd*lc9kW;fg`d72Y!{IQ~8s4Lk#&ZTLp$nLIUOEZd_EqS#N
zyNSuL?;i_`rG{70)qTEDcP6bIQQ7_)c78_tf-|f}60aSH__$+_x}G*c*0B{CoIP4B
z!n#c}P;y<*R%Q@}ksU-;S|c=lZ^%^EaW^m;-pJ-ke!Ron@2S={31cy)1(`{u?gTZv
zQgdl0!Iy1j%OoS{LM>lX{tMWG6q#WHTeJ>>52@f7nOo8#jK57&u%slx+>p=lCgK8H
zo@zHsYsC!tXeKF@v_y>J}!3I&lX|c1T)n5^1Z+JVhwx5Dy*{^KBWvPG>IWh?He}
zhOg7ftG->)Rk|aCy)v#;4|bX(5cfclSA=hZUUp?H>WWxuGaeb)feX!$uc-xDsUG-|
zU-rp-(Aq_8mp*b6RusynWjWB|#*5j-kAaDr-Vo*zw&PLpQPG_2&!w#MWLN}F)#Z-P
zw3^E@9E?)Ea37F$cSb}Y^{m^D6m3t2k;ximzgG7{H_~jlC&OwaeX~XG&G5X<#HB{1
zqK#Vbc>HUArJ+x#%QNBt$)C*1ROA&I^FvZAKL%Z1X)Zdk5lZr8DGi(