Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrançois Rey2013-07-17 22:35:31 +0000
committerFrançois Rey2013-07-17 22:36:46 +0000
commit31340d756860798a657d1ecb3bd48d3afa2bdf46 (patch)
tree55157aa95bc0591e90cd4475af28e36a6f50f1e9
parent9a12fdced2260490e5ed9e061123503652fd2811 (diff)
downloadorg.eclipse.rmf-31340d756860798a657d1ecb3bd48d3afa2bdf46.tar.gz
org.eclipse.rmf-31340d756860798a657d1ecb3bd48d3afa2bdf46.tar.xz
org.eclipse.rmf-31340d756860798a657d1ecb3bd48d3afa2bdf46.zip
Better editing of default values.
Editing simple default values in the Datatype configuration dialog is cumbersome: right-click and create a child using the tree and then set properties of the new child object, including value and the link back to the definition object. Ideally the latter should be set automatically and remain hidden. This change simplify the UI by hiding the AttributeValueSimple object and by showing the default value as a direct property of the AttributeDefinitionSimple. Change-Id: Ife639f61f557a87fbc998ab16e3a7fe2064b1a15 Signed-off-by: François Rey <eclipse.org@francois.rey.name>
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionBooleanItemProvider.java39
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionDateItemProvider.java39
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionIntegerItemProvider.java39
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionRealItemProvider.java39
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionSimpleItemProvider.java150
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionStringItemProvider.java39
-rw-r--r--org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/ReqIF10ItemProviderAdapterFactory.java132
-rw-r--r--org.eclipse.rmf.reqif10.pror/model/reqif10.genmodel22
8 files changed, 193 insertions, 306 deletions
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionBooleanItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionBooleanItemProvider.java
index 50be3932..7b1b2750 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionBooleanItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionBooleanItemProvider.java
@@ -17,7 +17,6 @@ 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;
@@ -27,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.rmf.reqif10.AttributeDefinitionBoolean;
-import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIF10Package;
/**
@@ -93,36 +91,6 @@ public class AttributeDefinitionBooleanItemProvider
}
/**
- * 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(ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE);
- }
- 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);
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -156,7 +124,7 @@ public class AttributeDefinitionBooleanItemProvider
switch (notification.getFeatureID(AttributeDefinitionBoolean.class)) {
case ReqIF10Package.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
@@ -172,11 +140,6 @@ public class AttributeDefinitionBooleanItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE,
- ReqIF10Factory.eINSTANCE.createAttributeValueBoolean()));
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionDateItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionDateItemProvider.java
index e77bde73..7bb3fe07 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionDateItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionDateItemProvider.java
@@ -17,7 +17,6 @@ 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;
@@ -27,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.rmf.reqif10.AttributeDefinitionDate;
-import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIF10Package;
/**
@@ -93,36 +91,6 @@ public class AttributeDefinitionDateItemProvider
}
/**
- * 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(ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_DATE__DEFAULT_VALUE);
- }
- 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);
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -156,7 +124,7 @@ public class AttributeDefinitionDateItemProvider
switch (notification.getFeatureID(AttributeDefinitionDate.class)) {
case ReqIF10Package.ATTRIBUTE_DEFINITION_DATE__DEFAULT_VALUE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
@@ -172,11 +140,6 @@ public class AttributeDefinitionDateItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_DATE__DEFAULT_VALUE,
- ReqIF10Factory.eINSTANCE.createAttributeValueDate()));
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionIntegerItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionIntegerItemProvider.java
index d9451ed5..e2f11909 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionIntegerItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionIntegerItemProvider.java
@@ -17,7 +17,6 @@ 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;
@@ -27,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.rmf.reqif10.AttributeDefinitionInteger;
-import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIF10Package;
/**
@@ -93,36 +91,6 @@ public class AttributeDefinitionIntegerItemProvider
}
/**
- * 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(ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_INTEGER__DEFAULT_VALUE);
- }
- 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);
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -156,7 +124,7 @@ public class AttributeDefinitionIntegerItemProvider
switch (notification.getFeatureID(AttributeDefinitionInteger.class)) {
case ReqIF10Package.ATTRIBUTE_DEFINITION_INTEGER__DEFAULT_VALUE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
@@ -172,11 +140,6 @@ public class AttributeDefinitionIntegerItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_INTEGER__DEFAULT_VALUE,
- ReqIF10Factory.eINSTANCE.createAttributeValueInteger()));
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionRealItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionRealItemProvider.java
index e8289ee8..a70ab97b 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionRealItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionRealItemProvider.java
@@ -17,7 +17,6 @@ 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;
@@ -27,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.rmf.reqif10.AttributeDefinitionReal;
-import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIF10Package;
/**
@@ -93,36 +91,6 @@ public class AttributeDefinitionRealItemProvider
}
/**
- * 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(ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_REAL__DEFAULT_VALUE);
- }
- 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);
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -156,7 +124,7 @@ public class AttributeDefinitionRealItemProvider
switch (notification.getFeatureID(AttributeDefinitionReal.class)) {
case ReqIF10Package.ATTRIBUTE_DEFINITION_REAL__DEFAULT_VALUE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
@@ -172,11 +140,6 @@ public class AttributeDefinitionRealItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_REAL__DEFAULT_VALUE,
- ReqIF10Factory.eINSTANCE.createAttributeValueReal()));
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionSimpleItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionSimpleItemProvider.java
index 012b66bb..69fbdb37 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionSimpleItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionSimpleItemProvider.java
@@ -7,6 +7,7 @@
*
* Contributors:
* Michael Jastram - initial API and implementation
+ * François Rey - default value editable and posing as definition attribute
******************************************************************************/
package org.eclipse.rmf.reqif10.pror.provider;
@@ -15,18 +16,42 @@ package org.eclipse.rmf.reqif10.pror.provider;
import java.util.Collection;
import java.util.List;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.command.CommandParameter;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
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.ItemPropertyDescriptorDecorator;
+import org.eclipse.rmf.reqif10.AttributeDefinition;
+import org.eclipse.rmf.reqif10.AttributeDefinitionSimple;
+import org.eclipse.rmf.reqif10.AttributeValueSimple;
+import org.eclipse.rmf.reqif10.common.util.ReqIF10Util;
/**
* This is the item provider adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionSimple} object.
* <!-- begin-user-doc -->
+ * Stateful Item Provider:
+ * In order to simplify the UI for editing a {@link AttributeDefinitionSimple},
+ * the {@link AttributeValueSimple} containing the default value is kept hidden
+ * and the default value is shown as a direct property of
+ * {@link AttributeDefinitionSimple}. This is initially set up in
+ * {@link #addCustomDefaultValuePropertyDescriptor(Object)} where the
+ * {@link AttributeValueSimple} object containing the default value
+ * is cached.
+ * The other part of implementing this UI simplification is done in the
+ * {@link #createSetCommand} function which also handles the need to update
+ * the relation between the value object and the definition object.
* <!-- end-user-doc -->
* @generated
*/
@@ -38,6 +63,9 @@ public class AttributeDefinitionSimpleItemProvider
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
+
+ protected AttributeValueSimple defaultAttributeValueSimple = null;
+
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
@@ -54,8 +82,7 @@ public class AttributeDefinitionSimpleItemProvider
* <!-- end-user-doc -->
* @generated
*/
- @Override
- public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ public List<IItemPropertyDescriptor> getPropertyDescriptorsGen(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
@@ -64,6 +91,20 @@ public class AttributeDefinitionSimpleItemProvider
}
/**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * Adds the a property descriptor for the Default Value feature.
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ itemPropertyDescriptors = getPropertyDescriptorsGen(object);
+ addCustomDefaultValuePropertyDescriptor(object);
+ return itemPropertyDescriptors;
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -109,4 +150,109 @@ public class AttributeDefinitionSimpleItemProvider
super.collectNewChildDescriptors(newChildDescriptors, object);
}
+ /**
+ * Adds a property descriptor for the Default Value feature.
+ * The default value feature is defined in derived classes, so such
+ * logic would normally belong there. However this method uses reflection
+ * to avoid copying the same custom code in derived classes.
+ */
+ protected void addCustomDefaultValuePropertyDescriptor(Object object) {
+ // Retrieve current defaultAttributeValueSimple, creating it if null
+ AttributeDefinitionSimple attributeDefinitionSimple =
+ (AttributeDefinitionSimple)object;
+ EStructuralFeature defaultValueFeature =
+ ReqIF10Util.getDefaultValueFeature(attributeDefinitionSimple);
+ defaultAttributeValueSimple =
+ (AttributeValueSimple) attributeDefinitionSimple.eGet(defaultValueFeature);
+ if (defaultAttributeValueSimple==null) {
+ defaultAttributeValueSimple = (AttributeValueSimple)
+ ReqIF10Util.createAttributeValue(attributeDefinitionSimple);
+ }
+ // Retrieve the property descriptor for the default value
+ AttributeValueSimpleItemProvider attributeValueSimpleItemProvider = (AttributeValueSimpleItemProvider)
+ adapterFactory.adapt(defaultAttributeValueSimple, AttributeValueSimpleItemProvider.class);
+ EStructuralFeature theValueFeature =
+ ReqIF10Util.getTheValueFeature(defaultAttributeValueSimple);
+ IItemPropertyDescriptor theValueDescriptor =
+ attributeValueSimpleItemProvider.getPropertyDescriptor(
+ defaultAttributeValueSimple,
+ theValueFeature);
+ // Decorate the existing descriptor to make it look like a definition attribute
+ final String attributeDefinitionClassName =
+ attributeDefinitionSimple.eClass().getName();
+ IItemPropertyDescriptor theValueDescriptorDecorator = new ItemPropertyDescriptorDecorator(
+ defaultAttributeValueSimple, theValueDescriptor) {
+ public String getDescription(Object thisObject) {
+ return getString("_UI_PropertyDescriptor_description",
+ "_UI_" + attributeDefinitionClassName + "_defaultValue_feature",
+ "_UI_" + attributeDefinitionClassName + "_type");
+ }
+ public String getDisplayName(Object thisObject) {
+ return getString("_UI_" + attributeDefinitionClassName + "_defaultValue_feature");
+ }
+ };
+ // Add descriptor
+ itemPropertyDescriptors.add(theValueDescriptorDecorator);
+ }
+
+ /**
+ * Creates a {@link org.eclipse.emf.edit.command.SetCommand} that properly
+ * handles the default value that is shown as a direct property of
+ * {@link AttributeDefinitionSimple}. In particular, if the default value
+ * is being set, the {@link AttributeValueSimple} object must be the target
+ * object of the command instead of the {@link AttributeDefinitionSimple},
+ * and the linking between both may need to be set or unset in the same
+ * compound command.
+ */
+ @Override
+ protected Command createSetCommand(EditingDomain domain, EObject owner,
+ EStructuralFeature feature, Object value, int index) {
+ CompoundCommand compoundCommand = new CompoundCommand();
+ if (AttributeValueSimple.class.isAssignableFrom(feature.getContainerClass())) {
+ AttributeDefinition attributeDefinition = (AttributeDefinition)owner;
+ // We're setting the default value
+ EStructuralFeature defaultValueFeature =
+ ReqIF10Util.getDefaultValueFeature(attributeDefinition);
+ if (value==null || value.toString().length()==0)
+ value = SetCommand.UNSET_VALUE;
+ // Create the command for setting the value on the value object
+ compoundCommand.append(
+ super.createSetCommand(domain, defaultAttributeValueSimple,
+ feature, value, CommandParameter.NO_INDEX));
+ // Check linking between default value and definition object
+ // Earlier version of ProR did not set the link back to the definition
+ // Set it now because the user no longer has a way to do it in the GUI
+ EStructuralFeature definitionFeature =
+ ReqIF10Util.getDefinitionFeature(defaultAttributeValueSimple);
+ if (!attributeDefinition.equals(defaultAttributeValueSimple.eGet(definitionFeature))) {
+ Command setDefinitionCommand = super.createSetCommand(domain,
+ defaultAttributeValueSimple, definitionFeature,
+ attributeDefinition, CommandParameter.NO_INDEX);
+ compoundCommand.append(setDefinitionCommand);
+ }
+ // Check linking between definition object and default value
+ if (EcoreUtil.isAncestor(owner, defaultAttributeValueSimple)) {
+ // The value object is already a child of the attribute definition
+ if (SetCommand.UNSET_VALUE.equals(value)) {
+ // Detach value object using another SetCommand
+ Command setChildCommand = super.createSetCommand(domain, owner,
+ defaultValueFeature, SetCommand.UNSET_VALUE,
+ CommandParameter.NO_INDEX);
+ compoundCommand.append(setChildCommand);
+ }
+ } else {
+ // The value object is not a child of the attribute definition
+ if (!SetCommand.UNSET_VALUE.equals(value)) {
+ // Attach value object using another SetCommand
+ Command setChildCommand = super.createSetCommand(domain, owner,
+ defaultValueFeature, defaultAttributeValueSimple,
+ CommandParameter.NO_INDEX);
+ compoundCommand.append(setChildCommand);
+ }
+ }
+ } else // We're setting another feature
+ compoundCommand.append(super.createSetCommand(domain, owner, feature, value, index));
+ Command result = compoundCommand.unwrap();
+ return result;
+ }
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionStringItemProvider.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionStringItemProvider.java
index 1642c9d1..5408ee14 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionStringItemProvider.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/AttributeDefinitionStringItemProvider.java
@@ -17,7 +17,6 @@ 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;
@@ -27,7 +26,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ViewerNotification;
import org.eclipse.rmf.reqif10.AttributeDefinitionString;
-import org.eclipse.rmf.reqif10.ReqIF10Factory;
import org.eclipse.rmf.reqif10.ReqIF10Package;
/**
@@ -93,36 +91,6 @@ public class AttributeDefinitionStringItemProvider
}
/**
- * 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(ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_STRING__DEFAULT_VALUE);
- }
- 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);
- }
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -156,7 +124,7 @@ public class AttributeDefinitionStringItemProvider
switch (notification.getFeatureID(AttributeDefinitionString.class)) {
case ReqIF10Package.ATTRIBUTE_DEFINITION_STRING__DEFAULT_VALUE:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
@@ -172,11 +140,6 @@ public class AttributeDefinitionStringItemProvider
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add
- (createChildParameter
- (ReqIF10Package.Literals.ATTRIBUTE_DEFINITION_STRING__DEFAULT_VALUE,
- ReqIF10Factory.eINSTANCE.createAttributeValueString()));
}
}
diff --git a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/ReqIF10ItemProviderAdapterFactory.java b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/ReqIF10ItemProviderAdapterFactory.java
index 7e06ee66..e04fc145 100644
--- a/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/ReqIF10ItemProviderAdapterFactory.java
+++ b/org.eclipse.rmf.reqif10.pror.edit/src/org/eclipse/rmf/reqif10/pror/provider/ReqIF10ItemProviderAdapterFactory.java
@@ -20,6 +20,7 @@ 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.Disposable;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
@@ -57,6 +58,14 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
+ * This keeps track of all the item providers created, so that they can be {@link #dispose disposed}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Disposable disposable = new Disposable();
+
+ /**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -470,14 +479,6 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.rmf.reqif10.AttributeDefinitionBoolean} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeDefinitionBooleanItemProvider attributeDefinitionBooleanItemProvider;
-
- /**
* This creates an adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionBoolean}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -485,11 +486,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
*/
@Override
public Adapter createAttributeDefinitionBooleanAdapter() {
- if (attributeDefinitionBooleanItemProvider == null) {
- attributeDefinitionBooleanItemProvider = new AttributeDefinitionBooleanItemProvider(this);
- }
-
- return attributeDefinitionBooleanItemProvider;
+ return new AttributeDefinitionBooleanItemProvider(this);
}
/**
@@ -539,14 +536,6 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.rmf.reqif10.AttributeDefinitionDate} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeDefinitionDateItemProvider attributeDefinitionDateItemProvider;
-
- /**
* This creates an adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionDate}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -554,11 +543,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
*/
@Override
public Adapter createAttributeDefinitionDateAdapter() {
- if (attributeDefinitionDateItemProvider == null) {
- attributeDefinitionDateItemProvider = new AttributeDefinitionDateItemProvider(this);
- }
-
- return attributeDefinitionDateItemProvider;
+ return new AttributeDefinitionDateItemProvider(this);
}
/**
@@ -723,14 +708,6 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.rmf.reqif10.AttributeDefinitionInteger} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeDefinitionIntegerItemProvider attributeDefinitionIntegerItemProvider;
-
- /**
* This creates an adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionInteger}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -738,11 +715,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
*/
@Override
public Adapter createAttributeDefinitionIntegerAdapter() {
- if (attributeDefinitionIntegerItemProvider == null) {
- attributeDefinitionIntegerItemProvider = new AttributeDefinitionIntegerItemProvider(this);
- }
-
- return attributeDefinitionIntegerItemProvider;
+ return new AttributeDefinitionIntegerItemProvider(this);
}
/**
@@ -792,14 +765,6 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.rmf.reqif10.AttributeDefinitionReal} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeDefinitionRealItemProvider attributeDefinitionRealItemProvider;
-
- /**
* This creates an adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionReal}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -807,11 +772,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
*/
@Override
public Adapter createAttributeDefinitionRealAdapter() {
- if (attributeDefinitionRealItemProvider == null) {
- attributeDefinitionRealItemProvider = new AttributeDefinitionRealItemProvider(this);
- }
-
- return attributeDefinitionRealItemProvider;
+ return new AttributeDefinitionRealItemProvider(this);
}
/**
@@ -861,14 +822,6 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.rmf.reqif10.AttributeDefinitionString} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected AttributeDefinitionStringItemProvider attributeDefinitionStringItemProvider;
-
- /**
* This creates an adapter for a {@link org.eclipse.rmf.reqif10.AttributeDefinitionString}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -876,11 +829,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
*/
@Override
public Adapter createAttributeDefinitionStringAdapter() {
- if (attributeDefinitionStringItemProvider == null) {
- attributeDefinitionStringItemProvider = new AttributeDefinitionStringItemProvider(this);
- }
-
- return attributeDefinitionStringItemProvider;
+ return new AttributeDefinitionStringItemProvider(this);
}
/**
@@ -1011,6 +960,20 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
}
/**
+ * Associates an adapter with a notifier via the base implementation, then records it to ensure it will be disposed.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void associate(Adapter adapter, Notifier target) {
+ super.associate(adapter, target);
+ if (adapter != null) {
+ disposable.add(adapter);
+ }
+ }
+
+ /**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1051,44 +1014,7 @@ public class ReqIF10ItemProviderAdapterFactory extends ReqIF10AdapterFactory imp
* @generated
*/
public void dispose() {
- if (attributeValueXHTMLItemProvider != null) attributeValueXHTMLItemProvider.dispose();
- if (attributeDefinitionXHTMLItemProvider != null) attributeDefinitionXHTMLItemProvider.dispose();
- if (reqIFContentItemProvider != null) reqIFContentItemProvider.dispose();
- if (reqIFItemProvider != null) reqIFItemProvider.dispose();
- if (reqIFHeaderItemProvider != null) reqIFHeaderItemProvider.dispose();
- if (reqIFToolExtensionItemProvider != null) reqIFToolExtensionItemProvider.dispose();
- if (specObjectItemProvider != null) specObjectItemProvider.dispose();
- if (specObjectTypeItemProvider != null) specObjectTypeItemProvider.dispose();
- if (specificationItemProvider != null) specificationItemProvider.dispose();
- if (specificationTypeItemProvider != null) specificationTypeItemProvider.dispose();
- if (specHierarchyItemProvider != null) specHierarchyItemProvider.dispose();
- if (specRelationItemProvider != null) specRelationItemProvider.dispose();
- if (specRelationTypeItemProvider != null) specRelationTypeItemProvider.dispose();
- if (relationGroupItemProvider != null) relationGroupItemProvider.dispose();
- if (relationGroupTypeItemProvider != null) relationGroupTypeItemProvider.dispose();
- if (datatypeDefinitionXHTMLItemProvider != null) datatypeDefinitionXHTMLItemProvider.dispose();
- if (alternativeIDItemProvider != null) alternativeIDItemProvider.dispose();
- if (attributeDefinitionBooleanItemProvider != null) attributeDefinitionBooleanItemProvider.dispose();
- if (datatypeDefinitionBooleanItemProvider != null) datatypeDefinitionBooleanItemProvider.dispose();
- if (attributeValueBooleanItemProvider != null) attributeValueBooleanItemProvider.dispose();
- if (attributeDefinitionDateItemProvider != null) attributeDefinitionDateItemProvider.dispose();
- if (datatypeDefinitionDateItemProvider != null) datatypeDefinitionDateItemProvider.dispose();
- if (attributeValueDateItemProvider != null) attributeValueDateItemProvider.dispose();
- if (attributeDefinitionEnumerationItemProvider != null) attributeDefinitionEnumerationItemProvider.dispose();
- if (datatypeDefinitionEnumerationItemProvider != null) datatypeDefinitionEnumerationItemProvider.dispose();
- if (enumValueItemProvider != null) enumValueItemProvider.dispose();
- if (embeddedValueItemProvider != null) embeddedValueItemProvider.dispose();
- if (attributeValueEnumerationItemProvider != null) attributeValueEnumerationItemProvider.dispose();
- if (attributeDefinitionIntegerItemProvider != null) attributeDefinitionIntegerItemProvider.dispose();
- if (datatypeDefinitionIntegerItemProvider != null) datatypeDefinitionIntegerItemProvider.dispose();
- if (attributeValueIntegerItemProvider != null) attributeValueIntegerItemProvider.dispose();
- if (attributeDefinitionRealItemProvider != null) attributeDefinitionRealItemProvider.dispose();
- if (datatypeDefinitionRealItemProvider != null) datatypeDefinitionRealItemProvider.dispose();
- if (attributeValueRealItemProvider != null) attributeValueRealItemProvider.dispose();
- if (attributeDefinitionStringItemProvider != null) attributeDefinitionStringItemProvider.dispose();
- if (datatypeDefinitionStringItemProvider != null) datatypeDefinitionStringItemProvider.dispose();
- if (attributeValueStringItemProvider != null) attributeValueStringItemProvider.dispose();
- if (xhtmlContentItemProvider != null) xhtmlContentItemProvider.dispose();
+ disposable.dispose();
}
}
diff --git a/org.eclipse.rmf.reqif10.pror/model/reqif10.genmodel b/org.eclipse.rmf.reqif10.pror/model/reqif10.genmodel
index c70ffd8a..c7c40b67 100644
--- a/org.eclipse.rmf.reqif10.pror/model/reqif10.genmodel
+++ b/org.eclipse.rmf.reqif10.pror/model/reqif10.genmodel
@@ -139,11 +139,11 @@
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AlternativeID">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AlternativeID/identifier"/>
</genClasses>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionBoolean">
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionBoolean">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionBoolean/type"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionBoolean/defaultValue"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionBoolean/defaultValue"/>
</genClasses>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionSimple"/>
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionSimple"/>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionBoolean"/>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionSimple"/>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueBoolean">
@@ -151,9 +151,9 @@
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueBoolean/definition"/>
</genClasses>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueSimple"/>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionDate">
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionDate">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionDate/type"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionDate/defaultValue"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionDate/defaultValue"/>
</genClasses>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionDate"/>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueDate">
@@ -179,9 +179,9 @@
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueEnumeration/values"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueEnumeration/definition"/>
</genClasses>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionInteger">
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionInteger">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionInteger/type"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionInteger/defaultValue"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionInteger/defaultValue"/>
</genClasses>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionInteger">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionInteger/max"/>
@@ -191,9 +191,9 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueInteger/theValue"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueInteger/definition"/>
</genClasses>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionReal">
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionReal">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionReal/type"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionReal/defaultValue"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionReal/defaultValue"/>
</genClasses>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionReal">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionReal/accuracy"/>
@@ -204,9 +204,9 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueReal/theValue"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeValueReal/definition"/>
</genClasses>
- <genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionString">
+ <genClasses provider="Stateful" image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionString">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionString/type"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionString/defaultValue"/>
+ <genFeatures property="None" createChild="false" ecoreFeature="ecore:EReference ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//AttributeDefinitionString/defaultValue"/>
</genClasses>
<genClasses image="false" ecoreClass="../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionString">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute ../../org.eclipse.rmf.reqif10/model/reqif10.ecore#//DatatypeDefinitionString/maxLength"/>

Back to the top