From e63088a51c44a84d7139ad6183144ba90599bcc0 Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Thu, 7 Mar 2013 12:33:51 +0000
Subject: [PATCH] git-svn-id:
 https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@10666
 9e42b895-fcda-4063-8a3b-11be15eb1bbd

---
 .../.classpath                                |   7 +
 .../.project                                  |  28 ++
 .../META-INF/MANIFEST.MF                      |  19 ++
 .../build.properties                          |  10 +
 ...nceDataRepository_impactHistory_Impact.gif | Bin 0 -> 223 bytes
 ...eDataRepository_metricTypes_MetricType.gif | Bin 0 -> 223 bytes
 ...nceDataRepository_resultHistory_Result.gif | Bin 0 -> 223 bytes
 .../CreateResult_metricValues_MetricValue.gif | Bin 0 -> 223 bytes
 .../icons/full/obj16/Impact.gif               | Bin 0 -> 129 bytes
 .../icons/full/obj16/MetricType.gif           | Bin 0 -> 129 bytes
 .../icons/full/obj16/MetricValue.gif          | Bin 0 -> 129 bytes
 .../full/obj16/PerformanceDataRepository.gif  | Bin 0 -> 129 bytes
 .../icons/full/obj16/Result.gif               | Bin 0 -> 129 bytes
 .../plugin.properties                         |  34 ++
 .../plugin.xml                                |  22 ++
 .../provider/ImpactItemProvider.java          | 174 ++++++++++
 .../provider/MetricTypeItemProvider.java      | 126 ++++++++
 .../provider/MetricValueItemProvider.java     | 182 +++++++++++
 .../provider/PerfdatarepoEditPlugin.java      |  96 ++++++
 ...erfdatarepoItemProviderAdapterFactory.java | 296 ++++++++++++++++++
 ...PerformanceDataRepositoryItemProvider.java | 186 +++++++++++
 .../provider/ResultItemProvider.java          | 200 ++++++++++++
 22 files changed, 1380 insertions(+)
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/.classpath
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/.project
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/META-INF/MANIFEST.MF
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/build.properties
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_impactHistory_Impact.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_metricTypes_MetricType.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_resultHistory_Result.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreateResult_metricValues_MetricValue.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Impact.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricType.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricValue.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/PerformanceDataRepository.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Result.gif
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/plugin.properties
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/plugin.xml
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ImpactItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricTypeItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricValueItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoEditPlugin.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoItemProviderAdapterFactory.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerformanceDataRepositoryItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ResultItemProvider.java

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/.classpath b/edu.kit.ipd.descartes.perfdatarepo.edit/.classpath
new file mode 100644
index 00000000..121e527a
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/.project b/edu.kit.ipd.descartes.perfdatarepo.edit/.project
new file mode 100644
index 00000000..d1c05f59
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.perfdatarepo.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.perfdatarepo.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..36b0a22c
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.perfdatarepo.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.perfdatarepo.provider.PerfdatarepoEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.perfdatarepo.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.perfdatarepo;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/build.properties b/edu.kit.ipd.descartes.perfdatarepo.edit/build.properties
new file mode 100644
index 00000000..f49dbb43
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_impactHistory_Impact.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_impactHistory_Impact.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f420604f4047de6fb03edd17e3cfa3c7b3b2c6c5
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqVFd;b5ApC51k|Gqtt
z`}^zHH%E`&pFjUnW#z8vYCyDglJdGP`K3)#^D4z=mI(j*`yPn?em)OGf1WS?eYY8C
z8U!f*WMKrcbU*~iP6pN(1%<wpNINx#nP(4Axv+Ioe{<iY5>MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}y<IE>f*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%7u;$!mw

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_metricTypes_MetricType.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_metricTypes_MetricType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08f15c5851e003aa21471cc9e59ddd3b43beedce
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?84hI|@9RB~0pC51k|Gs@g
zL&NW{U*8-(dVl`>OO=(ormF$b)=A3iy5yHONzJPin^_|K@9%pc`uq7j5dC?+`1jpr
zplJ}G_>+YZ#L@u~AUhdYV-ytnQX=it7-pV5JmtdHN&U@zlS({|Kb!Pi%buhurrs}=
zoar2>F?;z5c9A}<Ij2s#SuyCS-S>8}5D03R{UYJRqLb}R3lrSrZ?x3h&eb~oGCiLm
Pr=}^ju_;?sk--`OR4ro8

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_resultHistory_Result.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreatePerformanceDataRepository_resultHistory_Result.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b6df378675bf2d7a741c5933395bafc19999544
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tzau*)6JflXVMxDIQ;(~KR@37|9$(0
zhKAo?zrHzo^#1($mntiFO;-b=t&^13b;&PnlA2d3HnT+d-{1E@^!M|5Ao}xs@$b9M
zK+_;V@h1x-h@}G}Kz1^)#waNCr9|4PG0Z%Bc*=#Xllq(cCY5*^e>Um4mOV*ROub(!
zIny~%WA^eB>>_<yb55OfvtrOuyYKB{ArRCs`$fWsMJL;t7ACmK-)O11ovU^FWqLkC
PPEAv4V^g-OB7-#mrgUVI

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreateResult_metricValues_MetricValue.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/ctool16/CreateResult_metricValues_MetricValue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a340d5744ab5325b89ca5706ed316ebf4219ae3
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`^`Oxl@-h6V=*hyVZM=f~Uszi$uZ
zUV5=-)6JflXVMxDIP99P21HvYDX;62U)m%!uTpGgiSWO_?}6y==kq}H=lSB_cbkEx
zL4e{<7Df<D2SkAEWMGX^Q0PmEv{Pf4dG_#>3tK1kH}_2{@ihKy(sM0)lBSq?zf^Lj
zbD+lT<tNxh`n2YpI_YM`prdx*+r>g4sA2Ytgb#~OwlghEaFf5$Qgb_3>-5X?e1@Ew
Nrqsr!Y*j@DYXG?PVblNs

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Impact.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Impact.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;<LW5GR&
zKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^%6nF7
S^6M^V>~uRaQAn7P!5RSBPcTCO

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricType.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c2aaac84ee6ea15757df499505e9aa0de4288f9
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH-5-2OJz6
z6o0ZXGB9v5=zw&B%wS;AGdStFdauRnFW*%79~Qc9H)Xw*lHj#q;a3~IkJHqynw9sg
T)a2J)&e-X8WTKETBZD;nhqo^t

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricValue.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/MetricValue.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-Qgj+8LmfgM)+O
zPZmZ722KVYkWP>p3@myECp}m1wRrvIn+pHKLf7r4thZ7UycR6{YNPjYn%Y&f@}8BN
S{JP5-JKc^<6cT1+um%98?=Oe|

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/PerformanceDataRepository.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/PerformanceDataRepository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..338fb8d9a728b682e398849d2038959d01b4e0f2
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Np<getmQF=>7Tg
zFI845{$ycfVBloX0qF#p!N8(taME-2UW?aXzNzp(EOgy&%6cm$!E3?7uQqxgr>R{v
WEALsU$*;SdvD59yL?K~D25SIvEHXv_

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Result.gif b/edu.kit.ipd.descartes.perfdatarepo.edit/icons/full/obj16/Result.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4bc22dd17e82d9350631bd55ad9671957cdaf50
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Noa>?Adg)XXcr-
zh64_YKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^
W%6nF7^6M^V>~uRaQAn7P!5RPwrZD0F

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.properties b/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.properties
new file mode 100644
index 00000000..8b7c3e42
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.properties
@@ -0,0 +1,34 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Perfdatarepo Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_PerformanceDataRepository_type = Performance Data Repository
+_UI_Result_type = Result
+_UI_MetricType_type = Metric Type
+_UI_MetricValue_type = Metric Value
+_UI_Impact_type = Impact
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_PerformanceDataRepository_resultHistory_feature = Result History
+_UI_PerformanceDataRepository_metricTypes_feature = Metric Types
+_UI_PerformanceDataRepository_impactHistory_feature = Impact History
+_UI_Result_timestamp_feature = Timestamp
+_UI_Result_metricValues_feature = Metric Values
+_UI_MetricValue_metricType_feature = Metric Type
+_UI_MetricValue_value_feature = Value
+_UI_Impact_before_feature = Before
+_UI_Impact_after_feature = After
+_UI_Unknown_feature = Unspecified
+
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.xml b/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.xml
new file mode 100644
index 00000000..5905d653
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/perfdata/0.1"
+            class="edu.kit.ipd.descartes.perfdatarepo.provider.PerfdatarepoItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ImpactItemProvider.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ImpactItemProvider.java
new file mode 100644
index 00000000..c17eb918
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ImpactItemProvider.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.perfdatarepo.Impact;
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.Impact} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ImpactItemProvider
+    extends EntityItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ImpactItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addBeforePropertyDescriptor(object);
+            addAfterPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Before feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addBeforePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Impact_before_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Impact_before_feature", "_UI_Impact_type"),
+                 PerfdatarepoPackage.Literals.IMPACT__BEFORE,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the After feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addAfterPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Impact_after_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Impact_after_feature", "_UI_Impact_type"),
+                 PerfdatarepoPackage.Literals.IMPACT__AFTER,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns Impact.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Impact"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Impact)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Impact_type") :
+            getString("_UI_Impact_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+     * that can be created under this object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return PerfdatarepoEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricTypeItemProvider.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricTypeItemProvider.java
new file mode 100644
index 00000000..f5269396
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricTypeItemProvider.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.perfdatarepo.MetricType;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.MetricType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MetricTypeItemProvider
+    extends EntityItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public MetricTypeItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This returns MetricType.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/MetricType"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((MetricType)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_MetricType_type") :
+            getString("_UI_MetricType_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+     * that can be created under this object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return PerfdatarepoEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricValueItemProvider.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricValueItemProvider.java
new file mode 100644
index 00000000..15464b07
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/MetricValueItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.perfdatarepo.MetricValue;
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.MetricValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class MetricValueItemProvider
+    extends EntityItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public MetricValueItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addMetricTypePropertyDescriptor(object);
+            addValuePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Metric Type feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addMetricTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_MetricValue_metricType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_MetricValue_metricType_feature", "_UI_MetricValue_type"),
+                 PerfdatarepoPackage.Literals.METRIC_VALUE__METRIC_TYPE,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Value feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_MetricValue_value_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_MetricValue_value_feature", "_UI_MetricValue_type"),
+                 PerfdatarepoPackage.Literals.METRIC_VALUE__VALUE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns MetricValue.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/MetricValue"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((MetricValue)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_MetricValue_type") :
+            getString("_UI_MetricValue_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(MetricValue.class)) {
+            case PerfdatarepoPackage.METRIC_VALUE__VALUE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+     * that can be created under this object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return PerfdatarepoEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoEditPlugin.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoEditPlugin.java
new file mode 100644
index 00000000..b4794438
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoEditPlugin.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Perfdatarepo edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class PerfdatarepoEditPlugin extends EMFPlugin {
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public static final PerfdatarepoEditPlugin INSTANCE = new PerfdatarepoEditPlugin();
+
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    private static Implementation plugin;
+
+    /**
+     * Create the instance.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public PerfdatarepoEditPlugin() {
+        super
+          (new ResourceLocator [] {
+             CoreEditPlugin.INSTANCE,
+             IdentifierEditPlugin.INSTANCE,
+           });
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the singleton instance.
+     * @generated
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return plugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @return the singleton instance.
+     * @generated
+     */
+    public static Implementation getPlugin() {
+        return plugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>Plugin</b>.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public static class Implementation extends EclipsePlugin {
+        /**
+         * Creates an instance.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * @generated
+         */
+        public Implementation() {
+            super();
+
+            // Remember the static instance.
+            //
+            plugin = this;
+        }
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoItemProviderAdapterFactory.java
new file mode 100644
index 00000000..89882ab9
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerfdatarepoItemProviderAdapterFactory.java
@@ -0,0 +1,296 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+import edu.kit.ipd.descartes.perfdatarepo.util.PerfdatarepoAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PerfdatarepoItemProviderAdapterFactory extends PerfdatarepoAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+    /**
+     * This keeps track of the root adapter factory that delegates to this adapter factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ComposedAdapterFactory parentAdapterFactory;
+
+    /**
+     * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+    /**
+     * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+    /**
+     * This constructs an instance.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public PerfdatarepoItemProviderAdapterFactory() {
+        supportedTypes.add(IEditingDomainItemProvider.class);
+        supportedTypes.add(IStructuredItemContentProvider.class);
+        supportedTypes.add(ITreeItemContentProvider.class);
+        supportedTypes.add(IItemLabelProvider.class);
+        supportedTypes.add(IItemPropertySource.class);
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected PerformanceDataRepositoryItemProvider performanceDataRepositoryItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createPerformanceDataRepositoryAdapter() {
+        if (performanceDataRepositoryItemProvider == null) {
+            performanceDataRepositoryItemProvider = new PerformanceDataRepositoryItemProvider(this);
+        }
+
+        return performanceDataRepositoryItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.perfdatarepo.Result} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ResultItemProvider resultItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.Result}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createResultAdapter() {
+        if (resultItemProvider == null) {
+            resultItemProvider = new ResultItemProvider(this);
+        }
+
+        return resultItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.perfdatarepo.MetricType} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected MetricTypeItemProvider metricTypeItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.MetricType}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createMetricTypeAdapter() {
+        if (metricTypeItemProvider == null) {
+            metricTypeItemProvider = new MetricTypeItemProvider(this);
+        }
+
+        return metricTypeItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.perfdatarepo.MetricValue} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected MetricValueItemProvider metricValueItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.MetricValue}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createMetricValueAdapter() {
+        if (metricValueItemProvider == null) {
+            metricValueItemProvider = new MetricValueItemProvider(this);
+        }
+
+        return metricValueItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.perfdatarepo.Impact} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ImpactItemProvider impactItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.Impact}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createImpactAdapter() {
+        if (impactItemProvider == null) {
+            impactItemProvider = new ImpactItemProvider(this);
+        }
+
+        return impactItemProvider;
+    }
+
+    /**
+     * This returns the root adapter factory that contains this factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ComposeableAdapterFactory getRootAdapterFactory() {
+        return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+    }
+
+    /**
+     * This sets the composed adapter factory that contains this factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+        this.parentAdapterFactory = parentAdapterFactory;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public boolean isFactoryForType(Object type) {
+        return supportedTypes.contains(type) || super.isFactoryForType(type);
+    }
+
+    /**
+     * This implementation substitutes the factory itself as the key for the adapter.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter adapt(Notifier notifier, Object type) {
+        return super.adapt(notifier, this);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object adapt(Object object, Object type) {
+        if (isFactoryForType(type)) {
+            Object adapter = super.adapt(object, type);
+            if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+                return adapter;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * This adds a listener.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public void addListener(INotifyChangedListener notifyChangedListener) {
+        changeNotifier.addListener(notifyChangedListener);
+    }
+
+    /**
+     * This removes a listener.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public void removeListener(INotifyChangedListener notifyChangedListener) {
+        changeNotifier.removeListener(notifyChangedListener);
+    }
+
+    /**
+     * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public void fireNotifyChanged(Notification notification) {
+        changeNotifier.fireNotifyChanged(notification);
+
+        if (parentAdapterFactory != null) {
+            parentAdapterFactory.fireNotifyChanged(notification);
+        }
+    }
+
+    /**
+     * This disposes all of the item providers created by this factory. 
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public void dispose() {
+        if (performanceDataRepositoryItemProvider != null) performanceDataRepositoryItemProvider.dispose();
+        if (resultItemProvider != null) resultItemProvider.dispose();
+        if (metricTypeItemProvider != null) metricTypeItemProvider.dispose();
+        if (metricValueItemProvider != null) metricValueItemProvider.dispose();
+        if (impactItemProvider != null) impactItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerformanceDataRepositoryItemProvider.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerformanceDataRepositoryItemProvider.java
new file mode 100644
index 00000000..82d6ee95
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/PerformanceDataRepositoryItemProvider.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoFactory;
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
+import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PerformanceDataRepositoryItemProvider
+    extends EntityItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public PerformanceDataRepositoryItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__RESULT_HISTORY);
+            childrenFeatures.add(PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__METRIC_TYPES);
+            childrenFeatures.add(PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__IMPACT_HISTORY);
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns PerformanceDataRepository.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/PerformanceDataRepository"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((PerformanceDataRepository)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PerformanceDataRepository_type") :
+            getString("_UI_PerformanceDataRepository_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(PerformanceDataRepository.class)) {
+            case PerfdatarepoPackage.PERFORMANCE_DATA_REPOSITORY__RESULT_HISTORY:
+            case PerfdatarepoPackage.PERFORMANCE_DATA_REPOSITORY__METRIC_TYPES:
+            case PerfdatarepoPackage.PERFORMANCE_DATA_REPOSITORY__IMPACT_HISTORY:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+     * that can be created under this object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+
+        newChildDescriptors.add
+            (createChildParameter
+                (PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__RESULT_HISTORY,
+                 PerfdatarepoFactory.eINSTANCE.createResult()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__METRIC_TYPES,
+                 PerfdatarepoFactory.eINSTANCE.createMetricType()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (PerfdatarepoPackage.Literals.PERFORMANCE_DATA_REPOSITORY__IMPACT_HISTORY,
+                 PerfdatarepoFactory.eINSTANCE.createImpact()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return PerfdatarepoEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ResultItemProvider.java b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ResultItemProvider.java
new file mode 100644
index 00000000..8b6cb3d1
--- /dev/null
+++ b/edu.kit.ipd.descartes.perfdatarepo.edit/src/edu/kit/ipd/descartes/perfdatarepo/provider/ResultItemProvider.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.perfdatarepo.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoFactory;
+import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
+import edu.kit.ipd.descartes.perfdatarepo.Result;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.perfdatarepo.Result} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResultItemProvider
+    extends EntityItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ResultItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
+
+    /**
+     * This returns the property descriptors for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
+
+            addTimestampPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Timestamp feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addTimestampPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Result_timestamp_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Result_timestamp_feature", "_UI_Result_type"),
+                 PerfdatarepoPackage.Literals.RESULT__TIMESTAMP,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+        if (childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            childrenFeatures.add(PerfdatarepoPackage.Literals.RESULT__METRIC_VALUES);
+        }
+        return childrenFeatures;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
+
+        return super.getChildFeature(object, child);
+    }
+
+    /**
+     * This returns Result.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Result"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Result)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Result_type") :
+            getString("_UI_Result_type") + " " + label;
+    }
+
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached
+     * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
+
+        switch (notification.getFeatureID(Result.class)) {
+            case PerfdatarepoPackage.RESULT__TIMESTAMP:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case PerfdatarepoPackage.RESULT__METRIC_VALUES:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
+
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+     * that can be created under this object.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+
+        newChildDescriptors.add
+            (createChildParameter
+                (PerfdatarepoPackage.Literals.RESULT__METRIC_VALUES,
+                 PerfdatarepoFactory.eINSTANCE.createMetricValue()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return PerfdatarepoEditPlugin.INSTANCE;
+    }
+
+}
-- 
GitLab