diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_importDeclaration_ImportDeclaration.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_importDeclaration_ImportDeclaration.gif new file mode 100644 index 0000000000000000000000000000000000000000..e206651033fb95bef54b4531656c6e8bbce64d46 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_importDeclaration_ImportDeclaration.gif differ diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ImportDeclaration.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ImportDeclaration.gif new file mode 100644 index 0000000000000000000000000000000000000000..05dc74ad5da0d7b040b29537d5b24f2b120b11d5 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ImportDeclaration.gif differ diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties index 56c5b9656d7335d0144e5c28fa943948aaf8be77..57fc9e13e5f8fda7ef4c350146669af763be56c2 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties @@ -161,3 +161,6 @@ _UI_WeightingFunction_WeightingFunction_feature = Weighting Function _UI_WeightingFunction_WeightingFunctionImplementation_feature = Weighting Function Implementation _UI_WeightingFunction_weightingFunctionImplementation_feature = Weighting Function Implementation _UI_Parameter_value_feature = Value +_UI_ImportDeclaration_type = Import Declaration +_UI_AdaptationProcess_importDeclaration_feature = Import Declaration +_UI_ImportDeclaration_importURI_feature = Import URI diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java index c7fbb4cdb6a3571681d9245dc08ef899dcaa7c3d..75cacd4765065016bc0fbe1102958daeb820dd0e 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java @@ -4,19 +4,12 @@ package edu.kit.ipd.descartes.mm.adaptation.provider; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationDirection; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope; - 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; @@ -28,6 +21,10 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope; + /** * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation} object. * <!-- begin-user-doc --> diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java index 1d085648518d7984947f4412a754d2391eee26a0..812e43906bd8beae6bd82681367bc3088ae61d26 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java @@ -509,6 +509,29 @@ public class AdaptationItemProviderAdapterFactory extends AdaptationAdapterFacto return parameterItemProvider; } + /** + * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.ImportDeclaration} instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ImportDeclarationItemProvider importDeclarationItemProvider; + + /** + * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.ImportDeclaration}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Adapter createImportDeclarationAdapter() { + if (importDeclarationItemProvider == null) { + importDeclarationItemProvider = new ImportDeclarationItemProvider(this); + } + + return importDeclarationItemProvider; + } + /** * This returns the root adapter factory that contains this factory. * <!-- begin-user-doc --> @@ -627,6 +650,7 @@ public class AdaptationItemProviderAdapterFactory extends AdaptationAdapterFacto if (actionItemProvider != null) actionItemProvider.dispose(); if (adaptationActionOperationItemProvider != null) adaptationActionOperationItemProvider.dispose(); if (parameterItemProvider != null) parameterItemProvider.dispose(); + if (importDeclarationItemProvider != null) importDeclarationItemProvider.dispose(); } } diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java index 9c1a0597ee1c7d575fd6e62c1c63a976954cc0b8..83fe451a79b2d0a86770a8fa8dabcb1136fca3b8 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java @@ -84,6 +84,7 @@ public class AdaptationProcessItemProvider childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__STRATEGIES); childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__PARAMETERS); childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__GOAL); + childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__IMPORT_DECLARATION); } return childrenFeatures; } @@ -143,6 +144,7 @@ public class AdaptationProcessItemProvider case AdaptationPackage.ADAPTATION_PROCESS__STRATEGIES: case AdaptationPackage.ADAPTATION_PROCESS__PARAMETERS: case AdaptationPackage.ADAPTATION_PROCESS__GOAL: + case AdaptationPackage.ADAPTATION_PROCESS__IMPORT_DECLARATION: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } @@ -184,6 +186,11 @@ public class AdaptationProcessItemProvider (createChildParameter (AdaptationPackage.Literals.ADAPTATION_PROCESS__GOAL, AdaptationFactory.eINSTANCE.createOverallGoal())); + + newChildDescriptors.add + (createChildParameter + (AdaptationPackage.Literals.ADAPTATION_PROCESS__IMPORT_DECLARATION, + AdaptationFactory.eINSTANCE.createImportDeclaration())); } /** diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ImportDeclarationItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ImportDeclarationItemProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..2bbd53f91180d84d85c5aaf28e07128f37765caa --- /dev/null +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ImportDeclarationItemProvider.java @@ -0,0 +1,158 @@ +/** + * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT + */ +package edu.kit.ipd.descartes.mm.adaptation.provider; + + +import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; +import edu.kit.ipd.descartes.mm.adaptation.ImportDeclaration; + +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.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.ImportDeclaration} object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ +public class ImportDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ImportDeclarationItemProvider(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); + + addImportURIPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Import URI feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addImportURIPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ImportDeclaration_importURI_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ImportDeclaration_importURI_feature", "_UI_ImportDeclaration_type"), + AdaptationPackage.Literals.IMPORT_DECLARATION__IMPORT_URI, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns ImportDeclaration.gif. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ImportDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ImportDeclaration)object).getImportURI(); + return label == null || label.length() == 0 ? + getString("_UI_ImportDeclaration_type") : + getString("_UI_ImportDeclaration_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(ImportDeclaration.class)) { + case AdaptationPackage.IMPORT_DECLARATION__IMPORT_URI: + 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 AdaptationEditPlugin.INSTANCE; + } + +} diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java index c3748e91a66bfdca4cbad075f0a5432789cf1fe3..d9c4da2fa458acfde8345276d9848d2cbb2a0a68 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java @@ -4,18 +4,12 @@ package edu.kit.ipd.descartes.mm.adaptation.provider; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; -import edu.kit.ipd.descartes.mm.adaptation.LoopAction; - 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.ecore.EStructuralFeature; - import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; import org.eclipse.emf.edit.provider.IItemLabelProvider; @@ -23,9 +17,12 @@ 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; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; +import edu.kit.ipd.descartes.mm.adaptation.LoopAction; + /** * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.LoopAction} object. * <!-- begin-user-doc --> diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java index 68f06b32e560a8982c16907f772dde86eb754de1..20810db97576ab436dacd077c5e5e341595a8a55 100644 --- a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java +++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java @@ -4,31 +4,26 @@ package edu.kit.ipd.descartes.mm.adaptation.provider; -import edu.kit.ipd.descartes.core.provider.EntityItemProvider; - -import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory; -import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; -import edu.kit.ipd.descartes.mm.adaptation.Objective; - 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; +import edu.kit.ipd.descartes.core.provider.EntityItemProvider; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; +import edu.kit.ipd.descartes.mm.adaptation.Objective; + /** * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Objective} object. * <!-- begin-user-doc -->