diff --git a/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore b/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore index 68fa2fb074f7ff0203912969468a29834206c797..e6bbf4857063d91b92db58af0df0aeb83ebd5c96 100644 --- a/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore +++ b/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore @@ -162,7 +162,7 @@ class AlternativeDependencySet extends AlternativeDependency { contains AdaptableDependency[] alternative } -class AdaptableDependency extends ICostable { +class AdaptableDependency extends ICostable, tools.descartes.dni.dnimm3.Identifier { contains tools.descartes.dni.dnimm3.Dependency[1] parameter } @@ -173,7 +173,7 @@ class AlternativeVariableSet extends AlternativeVariable { contains AdaptableVariable[] alternative } -class AdaptableVariable extends ICostable { +class AdaptableVariable extends ICostable, tools.descartes.dni.dnimm3.Identifier { contains tools.descartes.dni.dnimm3.Variable[1] parameter } diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableDependency.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableDependency.java index c78ea0f0d50cba789bf2af64f03c0def32773206..da97ca185d318b22cfd00332a74eb4055d6b5c56 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableDependency.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableDependency.java @@ -3,6 +3,7 @@ package tools.descartes.dni.dnimm3ap; import tools.descartes.dni.dnimm3.Dependency; +import tools.descartes.dni.dnimm3.Identifier; /** * <!-- begin-user-doc --> @@ -20,7 +21,7 @@ import tools.descartes.dni.dnimm3.Dependency; * @model * @generated */ -public interface AdaptableDependency extends ICostable { +public interface AdaptableDependency extends ICostable, Identifier { /** * Returns the value of the '<em><b>Parameter</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableVariable.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableVariable.java index 222be734fea2512585fdd87b7953cdbd9d90be85..8bf48271c819e4eb9f16da3525de225ff2d85b7d 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableVariable.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableVariable.java @@ -2,6 +2,7 @@ */ package tools.descartes.dni.dnimm3ap; +import tools.descartes.dni.dnimm3.Identifier; import tools.descartes.dni.dnimm3.Variable; /** @@ -20,7 +21,7 @@ import tools.descartes.dni.dnimm3.Variable; * @model * @generated */ -public interface AdaptableVariable extends ICostable { +public interface AdaptableVariable extends ICostable, Identifier { /** * Returns the value of the '<em><b>Parameter</b></em>' containment reference. * <!-- begin-user-doc --> diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/DNIAPPackage.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/DNIAPPackage.java index 3c088a27322660142291e4eaa90f3f5230320ec0..5f6ecd01926a9f464b4c4c80c972776f452e1848 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/DNIAPPackage.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/DNIAPPackage.java @@ -1276,6 +1276,24 @@ public interface DNIAPPackage extends EPackage { */ int ADAPTABLE_DEPENDENCY__COST = ICOSTABLE__COST; + /** + * The feature id for the '<em><b>Uid</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADAPTABLE_DEPENDENCY__UID = ICOSTABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Uid generated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADAPTABLE_DEPENDENCY__UID_GENERATED = ICOSTABLE_FEATURE_COUNT + 1; + /** * The feature id for the '<em><b>Parameter</b></em>' containment reference. * <!-- begin-user-doc --> @@ -1283,7 +1301,7 @@ public interface DNIAPPackage extends EPackage { * @generated * @ordered */ - int ADAPTABLE_DEPENDENCY__PARAMETER = ICOSTABLE_FEATURE_COUNT + 0; + int ADAPTABLE_DEPENDENCY__PARAMETER = ICOSTABLE_FEATURE_COUNT + 2; /** * The number of structural features of the '<em>Adaptable Dependency</em>' class. @@ -1292,7 +1310,7 @@ public interface DNIAPPackage extends EPackage { * @generated * @ordered */ - int ADAPTABLE_DEPENDENCY_FEATURE_COUNT = ICOSTABLE_FEATURE_COUNT + 1; + int ADAPTABLE_DEPENDENCY_FEATURE_COUNT = ICOSTABLE_FEATURE_COUNT + 3; /** * The number of operations of the '<em>Adaptable Dependency</em>' class. @@ -1387,6 +1405,24 @@ public interface DNIAPPackage extends EPackage { */ int ADAPTABLE_VARIABLE__COST = ICOSTABLE__COST; + /** + * The feature id for the '<em><b>Uid</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADAPTABLE_VARIABLE__UID = ICOSTABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Uid generated</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ADAPTABLE_VARIABLE__UID_GENERATED = ICOSTABLE_FEATURE_COUNT + 1; + /** * The feature id for the '<em><b>Parameter</b></em>' containment reference. * <!-- begin-user-doc --> @@ -1394,7 +1430,7 @@ public interface DNIAPPackage extends EPackage { * @generated * @ordered */ - int ADAPTABLE_VARIABLE__PARAMETER = ICOSTABLE_FEATURE_COUNT + 0; + int ADAPTABLE_VARIABLE__PARAMETER = ICOSTABLE_FEATURE_COUNT + 2; /** * The number of structural features of the '<em>Adaptable Variable</em>' class. @@ -1403,7 +1439,7 @@ public interface DNIAPPackage extends EPackage { * @generated * @ordered */ - int ADAPTABLE_VARIABLE_FEATURE_COUNT = ICOSTABLE_FEATURE_COUNT + 1; + int ADAPTABLE_VARIABLE_FEATURE_COUNT = ICOSTABLE_FEATURE_COUNT + 3; /** * The number of operations of the '<em>Adaptable Variable</em>' class. diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableDependencyImpl.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableDependencyImpl.java index 8ad9b6068a05b0aefc80127bbfde056002793710..38977fac4df90fc40fa637bffcf938dacbc56f3f 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableDependencyImpl.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableDependencyImpl.java @@ -17,10 +17,13 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; +import tools.descartes.dni.dnimm3.DNIPackage; import tools.descartes.dni.dnimm3.Dependency; +import tools.descartes.dni.dnimm3.Identifier; import tools.descartes.dni.dnimm3ap.AdaptableDependency; import tools.descartes.dni.dnimm3ap.Cost; import tools.descartes.dni.dnimm3ap.DNIAPPackage; @@ -34,6 +37,8 @@ import tools.descartes.dni.dnimm3ap.DNIAPPackage; * </p> * <ul> * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableDependencyImpl#getCost <em>Cost</em>}</li> + * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableDependencyImpl#getUid <em>Uid</em>}</li> + * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableDependencyImpl#getUid_generated <em>Uid generated</em>}</li> * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableDependencyImpl#getParameter <em>Parameter</em>}</li> * </ul> * @@ -50,6 +55,45 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem */ protected EList<Cost> cost; + /** + * The default value of the '{@link #getUid() <em>Uid</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid() + * @generated + * @ordered + */ + protected static final String UID_EDEFAULT = null; + + /** + * The cached value of the '{@link #getUid() <em>Uid</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid() + * @generated + * @ordered + */ + protected String uid = UID_EDEFAULT; + + /** + * This is true if the Uid attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean uidESet; + + /** + * The default value of the '{@link #getUid_generated() <em>Uid generated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid_generated() + * @generated + * @ordered + */ + protected static final String UID_GENERATED_EDEFAULT = null; + /** * The cached value of the '{@link #getParameter() <em>Parameter</em>}' containment reference. * <!-- begin-user-doc --> @@ -91,6 +135,64 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem return cost; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getUid() { + return uid; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setUid(String newUid) { + String oldUid = uid; + uid = newUid; + boolean oldUidESet = uidESet; + uidESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, DNIAPPackage.ADAPTABLE_DEPENDENCY__UID, oldUid, uid, !oldUidESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetUid() { + String oldUid = uid; + boolean oldUidESet = uidESet; + uid = UID_EDEFAULT; + uidESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, DNIAPPackage.ADAPTABLE_DEPENDENCY__UID, oldUid, UID_EDEFAULT, oldUidESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetUid() { + return uidESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getUid_generated() { + if (((this.getUid() == null) || this.getUid().isEmpty())) { + this.setUid(EcoreUtil.generateUUID().toString()); + } + return this.getUid(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -160,6 +262,10 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem switch (featureID) { case DNIAPPackage.ADAPTABLE_DEPENDENCY__COST: return getCost(); + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: + return getUid(); + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID_GENERATED: + return getUid_generated(); case DNIAPPackage.ADAPTABLE_DEPENDENCY__PARAMETER: return getParameter(); } @@ -179,6 +285,9 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem getCost().clear(); getCost().addAll((Collection<? extends Cost>)newValue); return; + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: + setUid((String)newValue); + return; case DNIAPPackage.ADAPTABLE_DEPENDENCY__PARAMETER: setParameter((Dependency)newValue); return; @@ -197,6 +306,9 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem case DNIAPPackage.ADAPTABLE_DEPENDENCY__COST: getCost().clear(); return; + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: + unsetUid(); + return; case DNIAPPackage.ADAPTABLE_DEPENDENCY__PARAMETER: setParameter((Dependency)null); return; @@ -214,10 +326,64 @@ public class AdaptableDependencyImpl extends MinimalEObjectImpl.Container implem switch (featureID) { case DNIAPPackage.ADAPTABLE_DEPENDENCY__COST: return cost != null && !cost.isEmpty(); + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: + return isSetUid(); + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID_GENERATED: + return UID_GENERATED_EDEFAULT == null ? getUid_generated() != null : !UID_GENERATED_EDEFAULT.equals(getUid_generated()); case DNIAPPackage.ADAPTABLE_DEPENDENCY__PARAMETER: return parameter != null; } return super.eIsSet(featureID); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { + if (baseClass == Identifier.class) { + switch (derivedFeatureID) { + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: return DNIPackage.IDENTIFIER__UID; + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID_GENERATED: return DNIPackage.IDENTIFIER__UID_GENERATED; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { + if (baseClass == Identifier.class) { + switch (baseFeatureID) { + case DNIPackage.IDENTIFIER__UID: return DNIAPPackage.ADAPTABLE_DEPENDENCY__UID; + case DNIPackage.IDENTIFIER__UID_GENERATED: return DNIAPPackage.ADAPTABLE_DEPENDENCY__UID_GENERATED; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (uid: "); + if (uidESet) result.append(uid); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + } //AdaptableDependencyImpl diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableVariableImpl.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableVariableImpl.java index e79b96eb4b3e26059a22fc4b28f1792521ca0cd8..b2b71582a3f7c4044ee7a5c845d0719a7b43b4bb 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableVariableImpl.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableVariableImpl.java @@ -17,8 +17,11 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; +import tools.descartes.dni.dnimm3.DNIPackage; +import tools.descartes.dni.dnimm3.Identifier; import tools.descartes.dni.dnimm3.Variable; import tools.descartes.dni.dnimm3ap.AdaptableVariable; @@ -34,6 +37,8 @@ import tools.descartes.dni.dnimm3ap.DNIAPPackage; * </p> * <ul> * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableVariableImpl#getCost <em>Cost</em>}</li> + * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableVariableImpl#getUid <em>Uid</em>}</li> + * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableVariableImpl#getUid_generated <em>Uid generated</em>}</li> * <li>{@link tools.descartes.dni.dnimm3ap.impl.AdaptableVariableImpl#getParameter <em>Parameter</em>}</li> * </ul> * @@ -50,6 +55,45 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen */ protected EList<Cost> cost; + /** + * The default value of the '{@link #getUid() <em>Uid</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid() + * @generated + * @ordered + */ + protected static final String UID_EDEFAULT = null; + + /** + * The cached value of the '{@link #getUid() <em>Uid</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid() + * @generated + * @ordered + */ + protected String uid = UID_EDEFAULT; + + /** + * This is true if the Uid attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean uidESet; + + /** + * The default value of the '{@link #getUid_generated() <em>Uid generated</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUid_generated() + * @generated + * @ordered + */ + protected static final String UID_GENERATED_EDEFAULT = null; + /** * The cached value of the '{@link #getParameter() <em>Parameter</em>}' containment reference. * <!-- begin-user-doc --> @@ -91,6 +135,64 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen return cost; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getUid() { + return uid; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setUid(String newUid) { + String oldUid = uid; + uid = newUid; + boolean oldUidESet = uidESet; + uidESet = true; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, DNIAPPackage.ADAPTABLE_VARIABLE__UID, oldUid, uid, !oldUidESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void unsetUid() { + String oldUid = uid; + boolean oldUidESet = uidESet; + uid = UID_EDEFAULT; + uidESet = false; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.UNSET, DNIAPPackage.ADAPTABLE_VARIABLE__UID, oldUid, UID_EDEFAULT, oldUidESet)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public boolean isSetUid() { + return uidESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getUid_generated() { + if (((this.getUid() == null) || this.getUid().isEmpty())) { + this.setUid(EcoreUtil.generateUUID().toString()); + } + return this.getUid(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -160,6 +262,10 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen switch (featureID) { case DNIAPPackage.ADAPTABLE_VARIABLE__COST: return getCost(); + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: + return getUid(); + case DNIAPPackage.ADAPTABLE_VARIABLE__UID_GENERATED: + return getUid_generated(); case DNIAPPackage.ADAPTABLE_VARIABLE__PARAMETER: return getParameter(); } @@ -179,6 +285,9 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen getCost().clear(); getCost().addAll((Collection<? extends Cost>)newValue); return; + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: + setUid((String)newValue); + return; case DNIAPPackage.ADAPTABLE_VARIABLE__PARAMETER: setParameter((Variable)newValue); return; @@ -197,6 +306,9 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen case DNIAPPackage.ADAPTABLE_VARIABLE__COST: getCost().clear(); return; + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: + unsetUid(); + return; case DNIAPPackage.ADAPTABLE_VARIABLE__PARAMETER: setParameter((Variable)null); return; @@ -214,10 +326,64 @@ public class AdaptableVariableImpl extends MinimalEObjectImpl.Container implemen switch (featureID) { case DNIAPPackage.ADAPTABLE_VARIABLE__COST: return cost != null && !cost.isEmpty(); + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: + return isSetUid(); + case DNIAPPackage.ADAPTABLE_VARIABLE__UID_GENERATED: + return UID_GENERATED_EDEFAULT == null ? getUid_generated() != null : !UID_GENERATED_EDEFAULT.equals(getUid_generated()); case DNIAPPackage.ADAPTABLE_VARIABLE__PARAMETER: return parameter != null; } return super.eIsSet(featureID); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { + if (baseClass == Identifier.class) { + switch (derivedFeatureID) { + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: return DNIPackage.IDENTIFIER__UID; + case DNIAPPackage.ADAPTABLE_VARIABLE__UID_GENERATED: return DNIPackage.IDENTIFIER__UID_GENERATED; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { + if (baseClass == Identifier.class) { + switch (baseFeatureID) { + case DNIPackage.IDENTIFIER__UID: return DNIAPPackage.ADAPTABLE_VARIABLE__UID; + case DNIPackage.IDENTIFIER__UID_GENERATED: return DNIAPPackage.ADAPTABLE_VARIABLE__UID_GENERATED; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (uid: "); + if (uidESet) result.append(uid); else result.append("<unset>"); + result.append(')'); + return result.toString(); + } + } //AdaptableVariableImpl diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java index b520acd197eb06b4c870d47af21f5a62d7035453..6b257f913fb400433561db97f328df413ba85495 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java @@ -1228,8 +1228,10 @@ public class DNIAPPackageImpl extends EPackageImpl implements DNIAPPackage { linkAdaptationGroupEClass.getESuperTypes().add(this.getIAdaptationGroup()); alternativeDependencySetEClass.getESuperTypes().add(this.getAlternativeDependency()); adaptableDependencyEClass.getESuperTypes().add(this.getICostable()); + adaptableDependencyEClass.getESuperTypes().add(theDNIPackage.getIdentifier()); alternativeVariableSetEClass.getESuperTypes().add(this.getAlternativeVariable()); adaptableVariableEClass.getESuperTypes().add(this.getICostable()); + adaptableVariableEClass.getESuperTypes().add(theDNIPackage.getIdentifier()); investmentEClass.getESuperTypes().add(this.getCost()); handlingTimeEClass.getESuperTypes().add(this.getCost()); fixedCostFunctionEClass.getESuperTypes().add(this.getICostFunction()); diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableDependencyItemProvider.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableDependencyItemProvider.java index 8f091176334e46684807b847827d52763b640f14..dab142f356aef3dc23fa0e4d13e52244715eadb5 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableDependencyItemProvider.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableDependencyItemProvider.java @@ -13,17 +13,20 @@ 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.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; import tools.descartes.dni.dnimm3.DNIFactory; +import tools.descartes.dni.dnimm3.DNIPackage; import tools.descartes.dni.dnimm3ap.AdaptableDependency; import tools.descartes.dni.dnimm3ap.DNIAPFactory; import tools.descartes.dni.dnimm3ap.DNIAPPackage; @@ -63,10 +66,56 @@ public class AdaptableDependencyItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); + addUidPropertyDescriptor(object); + addUid_generatedPropertyDescriptor(object); } return itemPropertyDescriptors; } + /** + * This adds a property descriptor for the Uid feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUidPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Identifier_uid_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Identifier_uid_feature", "_UI_Identifier_type"), + DNIPackage.Literals.IDENTIFIER__UID, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Uid generated feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUid_generatedPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Identifier_uid_generated_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Identifier_uid_generated_feature", "_UI_Identifier_type"), + DNIPackage.Literals.IDENTIFIER__UID_GENERATED, + false, + 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 @@ -117,7 +166,10 @@ public class AdaptableDependencyItemProvider */ @Override public String getText(Object object) { - return getString("_UI_AdaptableDependency_type"); + String label = ((AdaptableDependency)object).getUid(); + return label == null || label.length() == 0 ? + getString("_UI_AdaptableDependency_type") : + getString("_UI_AdaptableDependency_type") + " " + label; } @@ -133,6 +185,10 @@ public class AdaptableDependencyItemProvider updateChildren(notification); switch (notification.getFeatureID(AdaptableDependency.class)) { + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID: + case DNIAPPackage.ADAPTABLE_DEPENDENCY__UID_GENERATED: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; case DNIAPPackage.ADAPTABLE_DEPENDENCY__COST: case DNIAPPackage.ADAPTABLE_DEPENDENCY__PARAMETER: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableVariableItemProvider.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableVariableItemProvider.java index d8c91cbeb9b11cbad47a79240a33cb1eb2e33a28..0f044a93580e97fe20eaf825f4c3da43c49055cb 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableVariableItemProvider.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableVariableItemProvider.java @@ -13,17 +13,20 @@ 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.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; import tools.descartes.dni.dnimm3.DNIFactory; +import tools.descartes.dni.dnimm3.DNIPackage; import tools.descartes.dni.dnimm3ap.AdaptableVariable; import tools.descartes.dni.dnimm3ap.DNIAPFactory; import tools.descartes.dni.dnimm3ap.DNIAPPackage; @@ -63,10 +66,56 @@ public class AdaptableVariableItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); + addUidPropertyDescriptor(object); + addUid_generatedPropertyDescriptor(object); } return itemPropertyDescriptors; } + /** + * This adds a property descriptor for the Uid feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUidPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Identifier_uid_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Identifier_uid_feature", "_UI_Identifier_type"), + DNIPackage.Literals.IDENTIFIER__UID, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Uid generated feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addUid_generatedPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Identifier_uid_generated_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Identifier_uid_generated_feature", "_UI_Identifier_type"), + DNIPackage.Literals.IDENTIFIER__UID_GENERATED, + false, + 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 @@ -117,7 +166,10 @@ public class AdaptableVariableItemProvider */ @Override public String getText(Object object) { - return getString("_UI_AdaptableVariable_type"); + String label = ((AdaptableVariable)object).getUid(); + return label == null || label.length() == 0 ? + getString("_UI_AdaptableVariable_type") : + getString("_UI_AdaptableVariable_type") + " " + label; } @@ -133,6 +185,10 @@ public class AdaptableVariableItemProvider updateChildren(notification); switch (notification.getFeatureID(AdaptableVariable.class)) { + case DNIAPPackage.ADAPTABLE_VARIABLE__UID: + case DNIAPPackage.ADAPTABLE_VARIABLE__UID_GENERATED: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; case DNIAPPackage.ADAPTABLE_VARIABLE__COST: case DNIAPPackage.ADAPTABLE_VARIABLE__PARAMETER: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/util/DNIAPSwitch.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/util/DNIAPSwitch.java index d014dde17c3525f95bc37561a2d434cd47b39c86..81a94baca6976cbcf247f4459d38070ce6eca562 100644 --- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/util/DNIAPSwitch.java +++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/util/DNIAPSwitch.java @@ -210,6 +210,7 @@ public class DNIAPSwitch<T1> extends Switch<T1> { AdaptableDependency adaptableDependency = (AdaptableDependency)theEObject; T1 result = caseAdaptableDependency(adaptableDependency); if (result == null) result = caseICostable(adaptableDependency); + if (result == null) result = caseIdentifier(adaptableDependency); if (result == null) result = defaultCase(theEObject); return result; } @@ -230,6 +231,7 @@ public class DNIAPSwitch<T1> extends Switch<T1> { AdaptableVariable adaptableVariable = (AdaptableVariable)theEObject; T1 result = caseAdaptableVariable(adaptableVariable); if (result == null) result = caseICostable(adaptableVariable); + if (result == null) result = caseIdentifier(adaptableVariable); if (result == null) result = defaultCase(theEObject); return result; }