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