diff options
| author | pguilet | 2017-03-17 09:36:02 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2017-04-11 12:35:09 +0000 |
| commit | 5f3839d69589b9a0eb799b42d7e585e6dbf7759e (patch) | |
| tree | 541abd3a68c6414ca914afa622da0c7b1fd3848e | |
| parent | aa3fa74c927f79618798cbd449c9bc36e01f4859 (diff) | |
| download | org.eclipse.sirius-5f3839d69589b9a0eb799b42d7e585e6dbf7759e.tar.gz org.eclipse.sirius-5f3839d69589b9a0eb799b42d7e585e6dbf7759e.tar.xz org.eclipse.sirius-5f3839d69589b9a0eb799b42d7e585e6dbf7759e.zip | |
[466412] Add variables for table
The variables 'line' and 'table have been added to the label edit tool
context of simple and cross tables as well as the 'Feature Parent
Expression' of simple table to handle more cases.
Bug: 466412
Change-Id: I09b63a4bdf13d2faaf51bdd1df18bd0520b63a64
Signed-off-by: pguilet <pierre.guilet@obeo.fr>
18 files changed, 569 insertions, 314 deletions
diff --git a/plugins/org.eclipse.sirius.table.ui/plugin.properties b/plugins/org.eclipse.sirius.table.ui/plugin.properties index d73d8a2b17..6c65873785 100644 --- a/plugins/org.eclipse.sirius.table.ui/plugin.properties +++ b/plugins/org.eclipse.sirius.table.ui/plugin.properties @@ -352,3 +352,5 @@ Table_SemanticColumnElement = The semantic element corresponding to the column ( Table_SemanticLineElement = The semantic element corresponding to the line. Table_SemanticRootElement = The semantic root element of the table. Table_CurrentSemanticElement = The semantic currently edited element. +Table_TableElement=The current DTable. +Table_LineElement=The DLine of the current DCell. diff --git a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/FeatureColumnMappingItemProvider.java b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/FeatureColumnMappingItemProvider.java index af8963f069..6d3eb0db9b 100644 --- a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/FeatureColumnMappingItemProvider.java +++ b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/FeatureColumnMappingItemProvider.java @@ -244,6 +244,8 @@ public class FeatureColumnMappingItemProvider extends ColumnMappingItemProvider LabelEditTool labelEditTool = DescriptionFactory.eINSTANCE.createLabelEditTool(); labelEditTool.setMask(ToolFactory.eINSTANCE.createEditMaskVariables()); addVariableDescriptor(labelEditTool, IInterpreterSiriusVariables.ELEMENT, Messages.Table_CurrentSemanticElement); + addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.TABLE, Messages.Table_TableElement); + addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.LINE, Messages.Table_LineElement); addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.LINE_SEMANTIC, Messages.Table_SemanticLineElement); addVariableDescriptor(labelEditTool, IInterpreterSiriusVariables.ROOT, Messages.Table_SemanticRootElement); diff --git a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/IntersectionMappingItemProvider.java b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/IntersectionMappingItemProvider.java index 55b3e93cbc..328d4da276 100644 --- a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/IntersectionMappingItemProvider.java +++ b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/description/provider/IntersectionMappingItemProvider.java @@ -354,6 +354,8 @@ public class IntersectionMappingItemProvider extends TableMappingItemProvider { LabelEditTool labelEditTool = DescriptionFactory.eINSTANCE.createLabelEditTool(); labelEditTool.setMask(ToolFactory.eINSTANCE.createEditMaskVariables()); addVariableDescriptor(labelEditTool, IInterpreterSiriusVariables.ELEMENT, Messages.Table_CurrentSemanticElement); + addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.TABLE, Messages.Table_TableElement); + addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.LINE, Messages.Table_LineElement); addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.LINE_SEMANTIC, Messages.Table_SemanticLineElement); addVariableDescriptor(labelEditTool, IInterpreterSiriusTableVariables.COLUMN_SEMANTIC, Messages.Table_SemanticColumnElement); addVariableDescriptor(labelEditTool, IInterpreterSiriusVariables.ROOT, Messages.Table_SemanticRootElement); diff --git a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/provider/Messages.java b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/provider/Messages.java index 4bdcfa5641..431ea81818 100644 --- a/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/provider/Messages.java +++ b/plugins/org.eclipse.sirius.table.ui/src-gen/org/eclipse/sirius/table/metamodel/table/provider/Messages.java @@ -246,6 +246,12 @@ public final class Messages { @TranslatableMessage public static String TableUIHelper_unsupportedColor; + @TranslatableMessage + public static String Table_TableElement; + + @TranslatableMessage + public static String Table_LineElement; + // CHECKSTYLE:ON private Messages() { diff --git a/plugins/org.eclipse.sirius.table/model/table.ecore b/plugins/org.eclipse.sirius.table/model/table.ecore index 70072a60ca..80ed167c9a 100644 --- a/plugins/org.eclipse.sirius.table/model/table.ecore +++ b/plugins/org.eclipse.sirius.table/model/table.ecore @@ -375,6 +375,8 @@ <eAnnotations source="http://www.eclipse.org/sirius/interpreted/expression/variables"> <details key="root" value="ecore.EObject | semantic target of the current DTable."/> <details key="container" value="ecore.EObject | semantic target of the current DLine."/> + <details key="line" value="table.DLine | DLine of the current DCell."/> + <details key="table" value="table.DTable | current DTable."/> </eAnnotations> </eStructuralFeatures> </eClassifiers> diff --git a/plugins/org.eclipse.sirius.table/plugin.properties b/plugins/org.eclipse.sirius.table/plugin.properties index fe415b7559..983c8e9eff 100644 --- a/plugins/org.eclipse.sirius.table/plugin.properties +++ b/plugins/org.eclipse.sirius.table/plugin.properties @@ -32,5 +32,7 @@ TableToolVariables_SemanticColumnElement = The semantic element corresponding to TableToolVariables_SemanticElementOfContainerView = The semantic element corresponding to the view container. TableToolVariables_SemanticLineElement = The semantic element corresponding to the line. TableToolVariables_SemanticRootElement = The semantic root element of the table. +TableToolVariables_TableElement=The current DTable. +TableToolVariables_LineElement=The DLine of the current DCell. Table_WrongStyleAttribute = The style attribute must be a ForegroundStyleDescription or a BackgroundStyleDescription. Table_UnexpectedExceptionMessage = Should not happen. diff --git a/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/description/impl/DescriptionPackageImpl.java b/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/description/impl/DescriptionPackageImpl.java index 0e3a1c0116..474fec9c97 100644 --- a/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/description/impl/DescriptionPackageImpl.java +++ b/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/description/impl/DescriptionPackageImpl.java @@ -1623,10 +1623,11 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP // Initialize classes and features; add operations and parameters initEClass(tableDescriptionEClass, TableDescription.class, "TableDescription", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getTableDescription_PreconditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "preconditionExpression", "", 0, 1, TableDescription.class, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); - initEAttribute(getTableDescription_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEAttribute(getTableDescription_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getTableDescription_OwnedRepresentationCreationDescriptions(), theToolPackage.getRepresentationCreationDescription(), null, "ownedRepresentationCreationDescriptions", null, 0, //$NON-NLS-1$ -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); @@ -1652,126 +1653,144 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getTableDescription_AllRepresentationNavigationDescriptions().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getTableDescription_OwnedLineMappings(), this.getLineMapping(), null, "ownedLineMappings", null, 1, -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getTableDescription_OwnedLineMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getTableDescription_ReusedLineMappings(), this.getLineMapping(), null, "reusedLineMappings", null, 0, -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getTableDescription_ReusedLineMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getTableDescription_AllLineMappings(), this.getLineMapping(), null, "allLineMappings", null, 1, -1, TableDescription.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getTableDescription_AllLineMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getTableDescription_OwnedCreateLine(), this.getCreateLineTool(), null, "ownedCreateLine", null, 0, -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getTableDescription_ReusedCreateLine(), this.getCreateLineTool(), null, "reusedCreateLine", null, 0, -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getTableDescription_AllCreateLine(), this.getCreateLineTool(), null, "allCreateLine", null, 0, -1, TableDescription.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getTableDescription_InitialHeaderColumnWidth(), theEcorePackage.getEInt(), "initialHeaderColumnWidth", null, 0, 1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getTableDescription_ImportedElements(), theEcorePackage.getEObject(), null, "importedElements", null, 0, -1, TableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(editionTableDescriptionEClass, EditionTableDescription.class, "EditionTableDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); initEReference(getEditionTableDescription_OwnedColumnMappings(), this.getFeatureColumnMapping(), null, "ownedColumnMappings", null, 1, -1, EditionTableDescription.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, - EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_TRANSIENT, + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, + !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getEditionTableDescription_OwnedColumnMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getEditionTableDescription_ReusedColumnMappings(), this.getFeatureColumnMapping(), null, "reusedColumnMappings", null, 0, -1, EditionTableDescription.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, - EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_TRANSIENT, + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, + !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getEditionTableDescription_ReusedColumnMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getEditionTableDescription_AllColumnMappings(), this.getFeatureColumnMapping(), null, "allColumnMappings", null, 1, -1, EditionTableDescription.class, EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - EPackageImpl.IS_VOLATILE, !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_VOLATILE, + !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); getEditionTableDescription_AllColumnMappings().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEClass(crossTableDescriptionEClass, CrossTableDescription.class, "CrossTableDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCrossTableDescription_OwnedColumnMappings(), this.getElementColumnMapping(), null, "ownedColumnMappings", null, 1, -1, CrossTableDescription.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, - EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getCrossTableDescription_Intersection(), this.getIntersectionMapping(), null, "intersection", null, 0, -1, CrossTableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getCrossTableDescription_Intersection(), this.getIntersectionMapping(), null, "intersection", null, 0, -1, CrossTableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEReference(getCrossTableDescription_CreateColumn(), this.getCreateCrossColumnTool(), null, "createColumn", null, 0, -1, CrossTableDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(tableMappingEClass, TableMapping.class, "TableMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getTableMapping_SemanticElements(), theDescriptionPackage_1.getInterpretedExpression(), "semanticElements", null, 0, 1, TableMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(lineMappingEClass, LineMapping.class, "LineMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getLineMapping_OwnedSubLines(), this.getLineMapping(), null, "ownedSubLines", null, 0, -1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getLineMapping_OwnedSubLines().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getLineMapping_ReusedSubLines(), this.getLineMapping(), this.getLineMapping_ReusedInMappings(), "reusedSubLines", null, 0, -1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getLineMapping_AllSubLines(), this.getLineMapping(), null, "allSubLines", null, 0, -1, LineMapping.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getLineMapping_AllSubLines(), this.getLineMapping(), null, "allSubLines", null, 0, -1, LineMapping.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ + !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getLineMapping_ReusedInMappings(), this.getLineMapping(), this.getLineMapping_ReusedSubLines(), "reusedInMappings", null, 0, -1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEAttribute(getLineMapping_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, + !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getLineMapping_Create(), this.getCreateLineTool(), null, "create", null, 0, -1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getLineMapping_Delete(), this.getDeleteLineTool(), this.getDeleteLineTool_Mapping(), "delete", null, 0, 1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getLineMapping_SemanticCandidatesExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticCandidatesExpression", null, 0, 1, LineMapping.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); - initEAttribute(getLineMapping_HeaderLabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "headerLabelExpression", null, 0, 1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEAttribute(getLineMapping_HeaderLabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "headerLabelExpression", null, 0, 1, LineMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(columnMappingEClass, ColumnMapping.class, "ColumnMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getColumnMapping_HeaderLabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "headerLabelExpression", null, 0, 1, ColumnMapping.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_TRANSIENT, + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getColumnMapping_InitialWidth(), theEcorePackage.getEInt(), "initialWidth", null, 0, 1, ColumnMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, + EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(elementColumnMappingEClass, ElementColumnMapping.class, "ElementColumnMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getElementColumnMapping_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 1, 1, ElementColumnMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getElementColumnMapping_SemanticCandidatesExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticCandidatesExpression", null, 0, 1, //$NON-NLS-1$ ElementColumnMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getElementColumnMapping_Create(), this.getCreateColumnTool(), this.getCreateColumnTool_Mapping(), "create", null, 0, -1, ElementColumnMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEReference(getElementColumnMapping_Delete(), this.getDeleteColumnTool(), this.getDeleteColumnTool_Mapping(), "delete", null, 0, 1, ElementColumnMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(featureColumnMappingEClass, FeatureColumnMapping.class, "FeatureColumnMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getFeatureColumnMapping_FeatureName(), theEcorePackage.getEString(), "featureName", null, 1, 1, FeatureColumnMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getFeatureColumnMapping_LabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "labelExpression", null, 0, 1, FeatureColumnMapping.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_TRANSIENT, + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getFeatureColumnMapping_FeatureParentExpression(), theDescriptionPackage_1.getInterpretedExpression(), "featureParentExpression", null, 0, 1, FeatureColumnMapping.class, //$NON-NLS-1$ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(cellUpdaterEClass, CellUpdater.class, "CellUpdater", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCellUpdater_DirectEdit(), this.getLabelEditTool(), null, "directEdit", null, 0, 1, CellUpdater.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getCellUpdater_CanEdit(), theDescriptionPackage_1.getInterpretedExpression(), "canEdit", null, 0, 1, CellUpdater.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); addEOperation(cellUpdaterEClass, theDescriptionPackage_1.getInterpretedExpression(), "getLabelComputationExpression", 1, 1, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_ORDERED); //$NON-NLS-1$ @@ -1779,105 +1798,115 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP initEClass(styleUpdaterEClass, StyleUpdater.class, "StyleUpdater", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getStyleUpdater_DefaultForeground(), this.getForegroundStyleDescription(), null, "defaultForeground", null, 0, 1, StyleUpdater.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getStyleUpdater_ForegroundConditionalStyle(), this.getForegroundConditionalStyle(), null, "foregroundConditionalStyle", null, 0, -1, StyleUpdater.class, //$NON-NLS-1$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getStyleUpdater_ForegroundConditionalStyle(), this.getForegroundConditionalStyle(), null, "foregroundConditionalStyle", null, 0, -1, StyleUpdater.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, - EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getStyleUpdater_DefaultBackground(), this.getBackgroundStyleDescription(), null, "defaultBackground", null, 0, 1, StyleUpdater.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getStyleUpdater_BackgroundConditionalStyle(), this.getBackgroundConditionalStyle(), null, "backgroundConditionalStyle", null, 0, -1, StyleUpdater.class, //$NON-NLS-1$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getStyleUpdater_BackgroundConditionalStyle(), this.getBackgroundConditionalStyle(), null, "backgroundConditionalStyle", null, 0, -1, StyleUpdater.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, - EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(intersectionMappingEClass, IntersectionMapping.class, "IntersectionMapping", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getIntersectionMapping_LineMapping(), this.getLineMapping(), null, "lineMapping", null, 1, -1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); getIntersectionMapping_LineMapping().getEKeys().add(theDescriptionPackage_1.getIdentifiedElement_Name()); initEReference(getIntersectionMapping_ColumnMapping(), this.getColumnMapping(), null, "columnMapping", null, 1, 1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_LabelExpression(), theDescriptionPackage_1.getInterpretedExpression(), "labelExpression", null, 0, 1, IntersectionMapping.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); - initEAttribute(getIntersectionMapping_UseDomainClass(), theEcorePackage.getEBoolean(), "useDomainClass", "false", 1, 1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ + !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEAttribute(getIntersectionMapping_UseDomainClass(), theEcorePackage.getEBoolean(), "useDomainClass", "false", 1, 1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_ColumnFinderExpression(), theDescriptionPackage_1.getInterpretedExpression(), "columnFinderExpression", null, 1, 1, IntersectionMapping.class, //$NON-NLS-1$ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_LineFinderExpression(), theDescriptionPackage_1.getInterpretedExpression(), "lineFinderExpression", null, 0, 1, IntersectionMapping.class, //$NON-NLS-1$ - !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_TRANSIENT, + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_SemanticCandidatesExpression(), theDescriptionPackage_1.getInterpretedExpression(), "semanticCandidatesExpression", null, 0, 1, IntersectionMapping.class, //$NON-NLS-1$ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_DomainClass(), theDescriptionPackage_1.getTypeName(), "domainClass", null, 0, 1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getIntersectionMapping_PreconditionExpression(), theDescriptionPackage_1.getInterpretedExpression(), "preconditionExpression", null, 0, 1, IntersectionMapping.class, //$NON-NLS-1$ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getIntersectionMapping_Create(), this.getCreateCellTool(), this.getCreateCellTool_Mapping(), "create", null, 0, 1, IntersectionMapping.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(tableToolEClass, TableTool.class, "TableTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getTableTool_Variables(), this.getTableVariable(), null, "variables", null, 0, -1, TableTool.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getTableTool_FirstModelOperation(), theToolPackage.getModelOperation(), null, "firstModelOperation", null, 1, 1, TableTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(labelEditToolEClass, LabelEditTool.class, "LabelEditTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getLabelEditTool_Mask(), theToolPackage.getEditMaskVariables(), null, "mask", null, 1, 1, LabelEditTool.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(createToolEClass, CreateTool.class, "CreateTool", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEClass(createColumnToolEClass, CreateColumnTool.class, "CreateColumnTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCreateColumnTool_Mapping(), this.getElementColumnMapping(), this.getElementColumnMapping_Create(), "mapping", null, 1, 1, CreateColumnTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(createCrossColumnToolEClass, CreateCrossColumnTool.class, "CreateCrossColumnTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCreateCrossColumnTool_Mapping(), this.getElementColumnMapping(), null, "mapping", null, 1, 1, CreateCrossColumnTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(createLineToolEClass, CreateLineTool.class, "CreateLineTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCreateLineTool_Mapping(), this.getLineMapping(), null, "mapping", null, 0, 1, CreateLineTool.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(createCellToolEClass, CreateCellTool.class, "CreateCellTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getCreateCellTool_Mask(), theToolPackage.getEditMaskVariables(), null, "mask", null, 1, 1, CreateCellTool.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getCreateCellTool_Mapping(), this.getIntersectionMapping(), this.getIntersectionMapping_Create(), "mapping", null, 1, 1, CreateCellTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(deleteToolEClass, DeleteTool.class, "DeleteTool", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEClass(deleteColumnToolEClass, DeleteColumnTool.class, "DeleteColumnTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getDeleteColumnTool_Mapping(), this.getElementColumnMapping(), this.getElementColumnMapping_Delete(), "mapping", null, 1, 1, DeleteColumnTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(deleteLineToolEClass, DeleteLineTool.class, "DeleteLineTool", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getDeleteLineTool_Mapping(), this.getLineMapping(), this.getLineMapping_Delete(), "mapping", null, 1, 1, DeleteLineTool.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(foregroundStyleDescriptionEClass, ForegroundStyleDescription.class, "ForegroundStyleDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); initEAttribute(getForegroundStyleDescription_LabelSize(), theEcorePackage.getEInt(), "labelSize", "12", 0, 1, ForegroundStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getForegroundStyleDescription_LabelFormat(), theViewpointPackage.getFontFormat(), "labelFormat", null, 0, 4, ForegroundStyleDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getForegroundStyleDescription_ForeGroundColor(), theDescriptionPackage_1.getColorDescription(), null, "foreGroundColor", null, 1, 1, ForegroundStyleDescription.class, //$NON-NLS-1$ !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); @@ -1894,8 +1923,9 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getForegroundConditionalStyle_Style(), this.getForegroundStyleDescription(), null, "style", null, 0, 1, ForegroundConditionalStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(backgroundConditionalStyleEClass, BackgroundConditionalStyle.class, "BackgroundConditionalStyle", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); @@ -1903,18 +1933,21 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getBackgroundConditionalStyle_Style(), this.getBackgroundStyleDescription(), null, "style", null, 0, 1, BackgroundConditionalStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(tableVariableEClass, TableVariable.class, "TableVariable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getTableVariable_Documentation(), theEcorePackage.getEString(), "documentation", null, 0, 1, TableVariable.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, + !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(tableCreationDescriptionEClass, TableCreationDescription.class, "TableCreationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); initEReference(getTableCreationDescription_TableDescription(), this.getTableDescription(), null, "tableDescription", null, 1, 1, TableCreationDescription.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(tableNavigationDescriptionEClass, TableNavigationDescription.class, "TableNavigationDescription", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); @@ -2008,9 +2041,12 @@ public class DescriptionPackageImpl extends EPackageImpl implements DescriptionP "column", "table.DColumn | DColumn of the current DCell.", //$NON-NLS-1$ //$NON-NLS-2$ "columnSemantic", "ecore.EObject | semantic target of $column" //$NON-NLS-1$ //$NON-NLS-2$ }); - addAnnotation(getFeatureColumnMapping_FeatureParentExpression(), source, new String[] { "root", "ecore.EObject | semantic target of the current DTable.", //$NON-NLS-1$ //$NON-NLS-2$ - "container", "ecore.EObject | semantic target of the current DLine." //$NON-NLS-1$ //$NON-NLS-2$ - }); + addAnnotation(getFeatureColumnMapping_FeatureParentExpression(), source, + new String[] { "root", "ecore.EObject | semantic target of the current DTable.", //$NON-NLS-1$ //$NON-NLS-2$ + "container", "ecore.EObject | semantic target of the current DLine.", //$NON-NLS-1$ //$NON-NLS-2$ + "line", "table.DLine | DLine of the current DCell.", //$NON-NLS-1$ //$NON-NLS-2$ + "table", "table.DTable | current DTable." //$NON-NLS-1$ //$NON-NLS-2$ + }); addAnnotation(getCellUpdater_CanEdit(), source, new String[] {}); addAnnotation(getIntersectionMapping_LabelExpression(), source, new String[] { "root", "ecore.EObject | semantic target of the current DTable.", //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/impl/TablePackageImpl.java b/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/impl/TablePackageImpl.java index 61e24524df..f2efa367f4 100644 --- a/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/impl/TablePackageImpl.java +++ b/plugins/org.eclipse.sirius.table/src-gen/org/eclipse/sirius/table/metamodel/table/impl/TablePackageImpl.java @@ -802,97 +802,114 @@ public class TablePackageImpl extends EPackageImpl implements TablePackage { // Initialize classes and features; add operations and parameters initEClass(dTableEClass, DTable.class, "DTable", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getDTable_Columns(), this.getDColumn(), this.getDColumn_Table(), "columns", null, 0, -1, DTable.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTable_HeaderColumnWidth(), theEcorePackage.getEInt(), "headerColumnWidth", null, 0, 1, DTable.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, + EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDTable_Description(), theDescriptionPackage.getTableDescription(), null, "description", null, 0, 1, DTable.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dTableElementEClass, DTableElement.class, "DTableElement", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getDTableElement_TableElementMapping(), theDescriptionPackage.getTableMapping(), null, "tableElementMapping", null, 0, 1, DTableElement.class, EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - EPackageImpl.IS_VOLATILE, !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_VOLATILE, + !EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(lineContainerEClass, LineContainer.class, "LineContainer", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getLineContainer_Lines(), this.getDLine(), this.getDLine_Container(), "lines", null, 0, -1, LineContainer.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dLineEClass, DLine.class, "DLine", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getDLine_Label(), theEcorePackage.getEString(), "label", null, 0, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getDLine_OriginMapping(), theDescriptionPackage.getLineMapping(), null, "originMapping", null, 1, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getDLine_OriginMapping(), theDescriptionPackage.getLineMapping(), null, "originMapping", null, 1, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDLine_Visible(), theEcorePackage.getEBoolean(), "visible", "true", 1, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, + !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDLine_Collapsed(), theEcorePackage.getEBoolean(), "collapsed", "false", 1, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, + !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDLine_Cells(), this.getDCell(), this.getDCell_Line(), "cells", null, 0, -1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDLine_Container(), this.getLineContainer(), this.getLineContainer_Lines(), "container", null, 0, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDLine_OrderedCells(), this.getDCell(), null, "orderedCells", null, 0, -1, DLine.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, !EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDLine_CurrentStyle(), this.getDTableElementStyle(), null, "currentStyle", null, 0, 1, DLine.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dCellEClass, DCell.class, "DCell", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getDCell_Label(), theEcorePackage.getEString(), "label", null, 0, 1, DCell.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEReference(getDCell_Line(), this.getDLine(), this.getDLine_Cells(), "line", null, 0, 1, DCell.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDCell_Column(), this.getDColumn(), this.getDColumn_Cells(), "column", null, 0, 1, DCell.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDCell_CurrentStyle(), this.getDCellStyle(), null, "currentStyle", null, 0, 1, DCell.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDCell_Updater(), theDescriptionPackage.getCellUpdater(), null, "updater", null, 0, 1, DCell.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDCell_IntersectionMapping(), theDescriptionPackage.getIntersectionMapping(), null, "intersectionMapping", null, 0, 1, DCell.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dCellStyleEClass, DCellStyle.class, "DCellStyle", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEReference(getDCellStyle_ForegroundStyleOrigin(), theDescriptionPackage.getTableMapping(), null, "foregroundStyleOrigin", null, 0, 1, DCellStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEReference(getDCellStyle_BackgroundStyleOrigin(), theDescriptionPackage.getTableMapping(), null, "backgroundStyleOrigin", null, 0, 1, DCellStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, - !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + EPackageImpl.IS_ORDERED); initEClass(dColumnEClass, DColumn.class, "DColumn", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getDColumn_Label(), theEcorePackage.getEString(), "label", null, 0, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getDColumn_Cells(), this.getDCell(), this.getDCell_Column(), "cells", null, 0, -1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getDColumn_Cells(), this.getDCell(), this.getDCell_Column(), "cells", null, 0, -1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDColumn_OriginMapping(), theDescriptionPackage.getColumnMapping(), null, "originMapping", null, 1, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDColumn_Table(), this.getDTable(), this.getDTable_Columns(), "table", null, 0, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, - EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEReference(getDColumn_OrderedCells(), this.getDCell(), null, "orderedCells", null, 0, -1, DColumn.class, EPackageImpl.IS_TRANSIENT, EPackageImpl.IS_VOLATILE, !EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_COMPOSITE, EPackageImpl.IS_RESOLVE_PROXIES, + !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDColumn_Visible(), theEcorePackage.getEBoolean(), "visible", "true", 1, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, + !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDColumn_Width(), theEcorePackage.getEInt(), "width", null, 0, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, //$NON-NLS-1$ - !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); - initEReference(getDColumn_CurrentStyle(), this.getDTableElementStyle(), null, "currentStyle", null, 0, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + initEReference(getDColumn_CurrentStyle(), this.getDTableElementStyle(), null, "currentStyle", null, 0, 1, DColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ + EPackageImpl.IS_CHANGEABLE, EPackageImpl.IS_COMPOSITE, + !EPackageImpl.IS_RESOLVE_PROXIES, !EPackageImpl.IS_UNSETTABLE, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dTargetColumnEClass, DTargetColumn.class, "DTargetColumn", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEClass(dFeatureColumnEClass, DFeatureColumn.class, "DFeatureColumn", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getDFeatureColumn_FeatureName(), theEcorePackage.getEString(), "featureName", null, 1, 1, DFeatureColumn.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, + !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEClass(dTableElementSynchronizerEClass, DTableElementSynchronizer.class, "DTableElementSynchronizer", EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, //$NON-NLS-1$ EPackageImpl.IS_GENERATED_INSTANCE_CLASS); @@ -908,17 +925,23 @@ public class TablePackageImpl extends EPackageImpl implements TablePackage { initEClass(dTableElementStyleEClass, DTableElementStyle.class, "DTableElementStyle", !EPackageImpl.IS_ABSTRACT, !EPackageImpl.IS_INTERFACE, EPackageImpl.IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getDTableElementStyle_LabelSize(), theEcorePackage.getEInt(), "labelSize", "8", 0, 1, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, !EPackageImpl.IS_VOLATILE, //$NON-NLS-1$//$NON-NLS-2$ - EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, + !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTableElementStyle_LabelFormat(), theViewpointPackage.getFontFormat(), "labelFormat", null, 0, 4, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, + !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTableElementStyle_DefaultForegroundStyle(), theEcorePackage.getEBoolean(), "defaultForegroundStyle", "false", 0, 1, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTableElementStyle_DefaultBackgroundStyle(), theEcorePackage.getEBoolean(), "defaultBackgroundStyle", "false", 0, 1, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTableElementStyle_ForegroundColor(), theViewpointPackage.getRGBValues(), "foregroundColor", "0,0,0", 0, 1, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); initEAttribute(getDTableElementStyle_BackgroundColor(), theViewpointPackage.getRGBValues(), "backgroundColor", "255,255,255", 0, 1, DTableElementStyle.class, !EPackageImpl.IS_TRANSIENT, //$NON-NLS-1$//$NON-NLS-2$ - !EPackageImpl.IS_VOLATILE, EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); + !EPackageImpl.IS_VOLATILE, + EPackageImpl.IS_CHANGEABLE, !EPackageImpl.IS_UNSETTABLE, !EPackageImpl.IS_ID, EPackageImpl.IS_UNIQUE, !EPackageImpl.IS_DERIVED, EPackageImpl.IS_ORDERED); // Create resource createResource(TablePackage.eNS_URI); diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/metamodel/TableToolVariables.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/metamodel/TableToolVariables.java index a9e97d151a..3c1f0be58b 100644 --- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/metamodel/TableToolVariables.java +++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/metamodel/TableToolVariables.java @@ -32,8 +32,7 @@ import org.eclipse.sirius.viewpoint.description.tool.NameVariable; import org.eclipse.sirius.viewpoint.description.tool.ToolFactory; /** - * This processing switch will add the needed variable description in the table - * tools. + * This processing switch will add the needed variable description in the table tools. * * @author cbrun */ @@ -66,6 +65,8 @@ public class TableToolVariables extends DescriptionSwitch<Object> { @Override public Object caseLabelEditTool(LabelEditTool object) { addVariableDescriptor(object, IInterpreterSiriusVariables.ELEMENT, Messages.TableToolVariables_CurrentSemanticElement); + addVariableDescriptor(object, IInterpreterSiriusTableVariables.TABLE, Messages.TableToolVariables_TableElement); + addVariableDescriptor(object, IInterpreterSiriusTableVariables.LINE, Messages.TableToolVariables_LineElement); addVariableDescriptor(object, IInterpreterSiriusTableVariables.LINE_SEMANTIC, Messages.TableToolVariables_SemanticLineElement); addVariableDescriptor(object, IInterpreterSiriusTableVariables.COLUMN_SEMANTIC, Messages.TableToolVariables_SemanticColumnElement); addVariableDescriptor(object, IInterpreterSiriusVariables.ROOT, Messages.TableToolVariables_SemanticRootElement); diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableElementSynchronizerSpec.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableElementSynchronizerSpec.java index 33c3a480fd..933c489eeb 100644 --- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableElementSynchronizerSpec.java +++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableElementSynchronizerSpec.java @@ -84,8 +84,7 @@ import com.google.common.collect.Lists; public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl { /** - * '*' as feature name allows to skip the feature name validation for cell - * creation. + * '*' as feature name allows to skip the feature name validation for cell creation. */ protected static final String SKIP_FEATURENAME_VALIDATION = "*"; //$NON-NLS-1$ @@ -235,17 +234,14 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * Refresh the target of the cell (only for the FeatureColumn). The target - * can be change if the featureParentExpression is changed in the odesign - * file.<BR> - * If this cell now corresponds to an invalid feature, it is removed from - * its line. + * Refresh the target of the cell (only for the FeatureColumn). The target can be change if the + * featureParentExpression is changed in the odesign file.<BR> + * If this cell now corresponds to an invalid feature, it is removed from its line. * * @param cell * cell to refresh. - * @return true if the cell still exists after this refresh, false otherwise - * (if the cell is deleted because of an invalid featureName for - * featureParent). + * @return true if the cell still exists after this refresh, false otherwise (if the cell is deleted because of an + * invalid featureName for featureParent). */ public boolean refreshTarget(final DCell cell) { boolean deletedCell = false; @@ -258,6 +254,8 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl final DTable table = TableHelper.getTable(cell); this.interpreter.setVariable(IInterpreterSiriusVariables.CONTAINER, cell.getLine().getTarget()); + this.interpreter.setVariable(IInterpreterSiriusTableVariables.LINE, cell.getLine()); + this.interpreter.setVariable(IInterpreterSiriusTableVariables.TABLE, table); if (table != null) { this.interpreter.setVariable(IInterpreterSiriusVariables.ROOT, table.getTarget()); } @@ -272,6 +270,8 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } } this.interpreter.unSetVariable(IInterpreterSiriusVariables.CONTAINER); + this.interpreter.unSetVariable(IInterpreterSiriusTableVariables.LINE); + this.interpreter.unSetVariable(IInterpreterSiriusTableVariables.TABLE); if (table != null) { this.interpreter.unSetVariable(IInterpreterSiriusVariables.ROOT); } @@ -299,8 +299,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl * * @param cell * cell to refresh. - * @return true if the cell still exists after this refresh, false - * otherwise. + * @return true if the cell still exists after this refresh, false otherwise. */ public boolean refreshLabel(final DCell cell) { boolean cellStillExists = false; @@ -385,16 +384,13 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * Search the column candidates for this line semantic element and this - * intersection mapping. + * Search the column candidates for this line semantic element and this intersection mapping. * * @param cell * the cell * @param iMapping - * The intersection mapping that contains the expression to - * evaluate - * @return List of column candidates for this cell and this intersection - * mapping. + * The intersection mapping that contains the expression to evaluate + * @return List of column candidates for this cell and this intersection mapping. */ private Collection<EObject> evaluateColumnFinderExpression(DCell cell, IntersectionMapping iMapping) { EObject preconditionContext; @@ -658,10 +654,10 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl /** * Compute the best styles for this line. This rules are applied : * <UL> - * <LI>the first conditional foreground style (with predicate expression - * that returns true), otherwise the default foreground style</LI> - * <LI>the first conditional background style (with predicate expression - * that returns true), otherwise the default background style</LI> + * <LI>the first conditional foreground style (with predicate expression that returns true), otherwise the default + * foreground style</LI> + * <LI>the first conditional background style (with predicate expression that returns true), otherwise the default + * background style</LI> * <UL> * * @param line @@ -731,10 +727,10 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl /** * Compute the best styles for this column. This rules are applied : * <UL> - * <LI>the default foreground style (and only if the color use for it is not - * with variable parts: ComputedColor or InterpolatedColor)</LI> - * <LI>the default background style (and only if the color use for it is not - * with variable parts: ComputedColor or InterpolatedColor)</LI> + * <LI>the default foreground style (and only if the color use for it is not with variable parts: ComputedColor or + * InterpolatedColor)</LI> + * <LI>the default background style (and only if the color use for it is not with variable parts: ComputedColor or + * InterpolatedColor)</LI> * <UL> * * @param column @@ -797,21 +793,14 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl /** * TODO : TBD <BR> - * The first conditional background style of the cell (with predicate - * expression that returns true). In this case the backgroundStyleOrigin - * references the intersection mapping and the defaultStyle is equal false. - * <BR> - * Otherwise the first conditional background style of the column (with - * predicate expression that returns true). In this case the - * backgroundStyleOrigin references the column mapping and the defaultStyle - * is equal false. <BR> - * Otherwise, if it exists, the default background style of the cell. In - * this case the backgroundStyleOrigin references the intersection mapping - * and the defaultStyle is equal true. <BR> - * Otherwise, if the default background style of the column uses variable - * color, the default background style of the column. In this case the - * backgroundStyleOrigin references the column mapping and the defaultStyle - * is equal true. + * The first conditional background style of the cell (with predicate expression that returns true). In this case + * the backgroundStyleOrigin references the intersection mapping and the defaultStyle is equal false. <BR> + * Otherwise the first conditional background style of the column (with predicate expression that returns true). In + * this case the backgroundStyleOrigin references the column mapping and the defaultStyle is equal false. <BR> + * Otherwise, if it exists, the default background style of the cell. In this case the backgroundStyleOrigin + * references the intersection mapping and the defaultStyle is equal true. <BR> + * Otherwise, if the default background style of the column uses variable color, the default background style of the + * column. In this case the backgroundStyleOrigin references the column mapping and the defaultStyle is equal true. * * @param cell * The current Cell @@ -878,8 +867,8 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * Return a value only if the current background color is the default - * background color or one of the conditional background colors. + * Return a value only if the current background color is the default background color or one of the conditional + * background colors. * * @param line * The current DLine @@ -908,13 +897,11 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * The best background color is the default background color if it uses a - * FixedColor. + * The best background color is the default background color if it uses a FixedColor. * * @param column * The current DLine - * @return The default background color if it uses a FixedColor for this - * column, or null otherwise + * @return The default background color if it uses a FixedColor for this column, or null otherwise */ private ColorDescription getBestBackgroundColor(final DColumn column, final StyleUpdater styleUpdater) { ColorDescription bestBackgroundColor = null; @@ -925,8 +912,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * TODO : TBD The priority of the StyleUpdater is (the highest priority to - * lowest priority) : + * TODO : TBD The priority of the StyleUpdater is (the highest priority to lowest priority) : * <UL> * <LI>Intersection mapping (conditional style)</LI> * <LI>Line mapping (conditional style)</LI> @@ -938,8 +924,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl * * @param cell * The current Cell - * @return The best ForegroundStyleDescription for this cell, or null - * otherwise + * @return The best ForegroundStyleDescription for this cell, or null otherwise */ private StyleWithDefaultStatus getBestForegroundStyle(final DCell cell, final StyleUpdater cellStyleUpdater, final StyleUpdater columnStyleUpdater) { ForegroundStyleDescription bestForegroundStyleDesc = null; @@ -1000,8 +985,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl /** * TODO: Doc to review. * - * The priority of the StyleUpdater is (the highest priority to lowest - * priority) : + * The priority of the StyleUpdater is (the highest priority to lowest priority) : * <UL> * <LI>Intersection mapping (conditional style)</LI> * <LI>Line mapping (conditional style)</LI> @@ -1013,8 +997,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl * * @param line * The current DLine - * @return The best ForegroundStyleDescription for this cell, or null - * otherwise + * @return The best ForegroundStyleDescription for this cell, or null otherwise */ private ForegroundStyleDescription getBestForegroundStyle(final DLine line, final StyleUpdater styleUpdater) { ForegroundStyleDescription bestForegroundStyleDescription = null; @@ -1039,13 +1022,11 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * The best foreground style is the default foreground style if it uses a - * FixedColor. + * The best foreground style is the default foreground style if it uses a FixedColor. * * @param column * The current DLine - * @return The default foreground style if it uses a FixedColor for this - * column, or null otherwise + * @return The default foreground style if it uses a FixedColor for this column, or null otherwise */ private ForegroundStyleDescription getBestForegroundStyle(final DColumn column, final StyleUpdater styleUpdater) { ForegroundStyleDescription bestForegroundStyleDescription = null; @@ -1103,8 +1084,7 @@ public class DTableElementSynchronizerSpec extends DTableElementSynchronizerImpl } /** - * Evaluate the semantic elements feature of the mapping and affect them to - * the given table element. + * Evaluate the semantic elements feature of the mapping and affect them to the given table element. * * @param tableElement * table element to affect. diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableSynchronizerImpl.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableSynchronizerImpl.java index a842a9d3fd..728df7d0a2 100644 --- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableSynchronizerImpl.java +++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/refresh/DTableSynchronizerImpl.java @@ -197,8 +197,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * @param monitor * The progress monitor * @param mappingToElements - * A map that list the DTableElement (line or column) for each - * mapping + * A map that list the DTableElement (line or column) for each mapping * @param xref * the cross referencer to use */ @@ -223,8 +222,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { /** * Refresh all the cells of a crossTable : * <UL> - * <LI>Remove the cells that have no corresponding intersection mapping, - * </LI> + * <LI>Remove the cells that have no corresponding intersection mapping,</LI> * <LI>Refresh the existing one</LI> * <LI>Create the new one</LI> * <UL> @@ -232,8 +230,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * @param monitor * The progress monitor * @param mappingToElements - * A map that list the DTableElement (line or column) for each - * mapping + * A map that list the DTableElement (line or column) for each mapping * @param xref * the cross reference to use */ @@ -317,8 +314,8 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { final DCell cell = toRemove.getOriginalElement(); if (cell != null) { /* - * we should never reach a case were cells are deleted without - * having been deleted by their line or column. ! + * we should never reach a case were cells are deleted without having been deleted by their line or + * column. ! */ final DLine parentLine = cell.getLine(); final DColumn parentColumn = cell.getColumn(); @@ -364,9 +361,11 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { if (line != null) { this.interpreter.setVariable(IInterpreterSiriusVariables.CONTAINER, line.getTarget()); + this.interpreter.setVariable(IInterpreterSiriusTableVariables.LINE, line); } if (table != null) { this.interpreter.setVariable(IInterpreterSiriusVariables.ROOT, table.getTarget()); + this.interpreter.setVariable(IInterpreterSiriusTableVariables.TABLE, table); } featureParent = RuntimeLoggerManager.INSTANCE.decorate(interpreter).evaluateEObject(line.getTarget(), cMapping, @@ -374,11 +373,12 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { if (line != null) { this.interpreter.unSetVariable(IInterpreterSiriusVariables.CONTAINER); + this.interpreter.unSetVariable(IInterpreterSiriusTableVariables.LINE); } if (table != null) { this.interpreter.unSetVariable(IInterpreterSiriusVariables.ROOT); + this.interpreter.unSetVariable(IInterpreterSiriusTableVariables.TABLE); } - } newCell.setTarget(featureParent); String featureName = cMapping.getFeatureName(); @@ -672,11 +672,9 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * Refresh all cells corresponding to the <code>iMapping</code>. * * @param iMapping - * The intersection mapping for which we want to refresh the - * corresponding cells. + * The intersection mapping for which we want to refresh the corresponding cells. * @param mappingToElements - * A map that list the DTableElement (line or column) for each - * mapping + * A map that list the DTableElement (line or column) for each mapping * @param xref * the cross referencer to use */ @@ -692,11 +690,9 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * Refresh all cells corresponding to the <code>iMapping</code>. * * @param iMapping - * The intersection mapping with domain class for which we want - * to refresh the corresponding cells. + * The intersection mapping with domain class for which we want to refresh the corresponding cells. * @param mappingToElements - * A map that list the DTableElement (line or column) for each - * mapping + * A map that list the DTableElement (line or column) for each mapping * @param xref * the cross referencer to use */ @@ -791,8 +787,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * @param iMapping * the intersection mapping that is being refreshed * @param cellsToUpdate - * the {@link SetIntersection} containing new, kept and deleted - * elements + * the {@link SetIntersection} containing new, kept and deleted elements * @param xref * the cross referencer to use */ @@ -855,11 +850,9 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * Refresh all cells corresponding to the <code>iMapping</code>. * * @param iMapping - * The intersection mapping without domain class for which we - * want to refresh the corresponding cells. + * The intersection mapping without domain class for which we want to refresh the corresponding cells. * @param mappingToElements - * A map that list the DTableElement (line or column) for each - * mapping + * A map that list the DTableElement (line or column) for each mapping * @param xref * the cross reference to use */ @@ -981,14 +974,13 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { } /** - * Deletes the given lines, the contained subLines and cells and removes all - * references to deleted elements. + * Deletes the given lines, the contained subLines and cells and removes all references to deleted elements. * * @param lineToDelete * the line to delete * @param xref - * the cross reference to use to get the elements referencing the - * deleted line (or its sublines and cells) + * the cross reference to use to get the elements referencing the deleted line (or its sublines and + * cells) */ private void doDeleteLine(DLine lineToDelete, ECrossReferenceAdapter xref) { // Step 1: delete all sublines (and all references to these sublines) @@ -1008,14 +1000,12 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { } /** - * Deletes the given column, and the contained cells and removes all - * references to deleted elements. + * Deletes the given column, and the contained cells and removes all references to deleted elements. * * @param columnToDelete * the column to delete * @param xref - * the cross reference to use to get the elements referencing the - * deleted column (or its cells) + * the cross reference to use to get the elements referencing the deleted column (or its cells) */ private void doDeleteColumn(DColumn columnToDelete, ECrossReferenceAdapter xref) { // Step 1: delete all cells contained in this column (and all references @@ -1036,8 +1026,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { * @param cell * the cell to delete * @param xref - * the cross reference to use to get the elements referencing the - * deleted cell + * the cross reference to use to get the elements referencing the deleted cell */ private void doDeleteCell(DCell cell, ECrossReferenceAdapter xref) { // Delegate to the DTable elements synchronize, @@ -1046,8 +1035,7 @@ public class DTableSynchronizerImpl implements DTableSynchronizer { } /** - * Compute the current status of a given line container for a given - * LineMapping. + * Compute the current status of a given line container for a given LineMapping. * * @param container * current line container. diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/Messages.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/Messages.java index 44cd4826ca..dddd751d84 100644 --- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/Messages.java +++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/Messages.java @@ -91,6 +91,12 @@ public final class Messages { @TranslatableMessage public static String Table_WrongStyleAttribute; + @TranslatableMessage + public static String TableToolVariables_TableElement; + + @TranslatableMessage + public static String TableToolVariables_LineElement; + // CHECKSTYLE:ON private Messages() { diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/command/TableCommandFactory.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/command/TableCommandFactory.java index 43baec9ede..db8accc67c 100644 --- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/command/TableCommandFactory.java +++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/tools/internal/command/TableCommandFactory.java @@ -115,8 +115,7 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * Returns a command that can delete the specified element. * * @param element - * the element to delete (a {@link DLine} or a - * {@link DTargetColumn}). + * the element to delete (a {@link DLine} or a {@link DTargetColumn}). * @return a command that can delete the specified element. */ @Override @@ -156,14 +155,13 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * Create a command that creates a line. * * @param lineContainer - * container element in which the command should put the created - * line. + * container element in which the command should put the created line. * @param semanticCurrentElement * the semantic current element * @param tool * {@link CreateTool} used to build the command. - * @return a command able to create the line and putting it in the - * container, corresponding to the {@link CreateTool}. + * @return a command able to create the line and putting it in the container, corresponding to the + * {@link CreateTool}. */ @Override public Command buildCreateLineCommandFromTool(final LineContainer lineContainer, final EObject semanticCurrentElement, final CreateTool tool) { @@ -186,14 +184,13 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * Create a command that creates a column. * * @param containerView - * container element in which the command should put the created - * line. + * container element in which the command should put the created line. * @param semanticCurrentElement * the semantic current element * @param tool * {@link CreateTool} used to build the command. - * @return a command able to create the line and putting it in the - * container, corresponding to the {@link CreateTool}. + * @return a command able to create the line and putting it in the container, corresponding to the + * {@link CreateTool}. */ @Override public Command buildCreateColumnCommandFromTool(final DTable containerView, final EObject semanticCurrentElement, final CreateTool tool) { @@ -229,8 +226,7 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl } /** - * Check the delete availability from tool, based on its condition - * expression. + * Check the delete availability from tool, based on its condition expression. * * @param element * the DTableElement @@ -286,16 +282,13 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl } /** - * Build a command that covers all the model operations corresponding to a - * the semantic container and a + * Build a command that covers all the model operations corresponding to a the semantic container and a * {@link org.eclipse.sirius.viewpoint.description.tool.ToolDescription}. * * @param semanticCurrentElement * the semantic current Element. * @param tool - * the - * {@link org.eclipse.sirius.viewpoint.description.tool.ToolDescription} - * . + * the {@link org.eclipse.sirius.viewpoint.description.tool.ToolDescription} . * @param containerView * the container View * @return a command able to execute the tool. @@ -349,12 +342,9 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl } /** - * Build a command that covers all the model operations corresponding to a - * the {@link DCell currentCell} and the corresponding - * {@link org.eclipse.sirius.table.metamodel.table.description.LabelEditTool - * directEdit tool} or - * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool - * createCell tool}. + * Build a command that covers all the model operations corresponding to a the {@link DCell currentCell} and the + * corresponding {@link org.eclipse.sirius.table.metamodel.table.description.LabelEditTool directEdit tool} or + * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool createCell tool}. * * @param currentCell * the current edited cell. @@ -377,6 +367,8 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl final Map<AbstractVariable, Object> variables = new HashMap<AbstractVariable, Object>(); variables.put(TableHelper.getVariable(tool, IInterpreterSiriusVariables.ROOT), TableHelper.getTable(currentCell).getTarget()); variables.put(TableHelper.getVariable(tool, IInterpreterSiriusTableVariables.LINE_SEMANTIC), currentCell.getLine().getTarget()); + variables.put(TableHelper.getVariable(tool, IInterpreterSiriusTableVariables.LINE), currentCell.getLine()); + variables.put(TableHelper.getVariable(tool, IInterpreterSiriusTableVariables.TABLE), TableHelper.getTable(currentCell)); if (currentCell.getColumn() instanceof DTargetColumn) { variables.put(TableHelper.getVariable(tool, IInterpreterSiriusTableVariables.COLUMN_SEMANTIC), ((DTargetColumn) currentCell.getColumn()).getTarget()); } @@ -413,16 +405,13 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl /** * Build a command that covers all the model operations corresponding to a - * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool - * createCell tool} for the current {@link DLine line} and - * {@link org.eclipse.sirius.table.metamodel.table.DColumn column}. + * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool createCell tool} for the current + * {@link DLine line} and {@link org.eclipse.sirius.table.metamodel.table.DColumn column}. * * @param currentLine - * the line corresponding to the intersection that need a - * creation of a new cell. + * the line corresponding to the intersection that need a creation of a new cell. * @param currentColumn - * the column corresponding to the intersection that need a - * creation of a new cell. + * the column corresponding to the intersection that need a creation of a new cell. * @param tool * The create tool * @param newValue @@ -496,10 +485,8 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * @param newValue * the new value for this cell * @return a command able to set the content of a cell, corresponding to the - * {@link org.eclipse.sirius.table.metamodel.table.description.LabelEditTool - * LabelEditTool} or - * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool - * CreateCellTool}. + * {@link org.eclipse.sirius.table.metamodel.table.description.LabelEditTool LabelEditTool} or + * {@link org.eclipse.sirius.table.metamodel.table.description.CreateCellTool CreateCellTool}. */ @Override public Command buildSetCellValueFromTool(final DCell editedCell, final Object newValue) { @@ -522,8 +509,7 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * {@inheritDoc} * * @see org.eclipse.sirius.table.tools.api.command.ITableCommandFactory#buildCreateCellFromTool(org.eclipse.sirius.table.metamodel.table.DLine, - * org.eclipse.sirius.table.metamodel.table.DTargetColumn, - * java.lang.Object) + * org.eclipse.sirius.table.metamodel.table.DTargetColumn, java.lang.Object) */ @Override public Command buildCreateCellFromTool(DLine line, DTargetColumn column, Object newValue) { @@ -555,8 +541,7 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * @param semanticElement * the element from which the table will be created. * @param monitor - * a {@link IProgressMonitor} to show progression of - * {@link DTable} creation + * a {@link IProgressMonitor} to show progression of {@link DTable} creation * @return a command that is able to create a table. */ public DCommand buildCreateTableFromDescription(final TableDescription description, final EObject semanticElement, IProgressMonitor monitor) { @@ -688,8 +673,7 @@ public class TableCommandFactory extends AbstractCommandFactory implements ITabl * {@inheritDoc} * * @see org.eclipse.sirius.table.tools.api.command.ITableCommandFactory#buildDoExecuteDetailsOperation(org.eclipse.sirius.viewpoint.DSemanticDecorator, - * org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription, - * java.lang.String) + * org.eclipse.sirius.viewpoint.description.tool.RepresentationCreationDescription, java.lang.String) */ @Override public AbstractCommand buildDoExecuteDetailsOperation(final DSemanticDecorator target, final RepresentationCreationDescription desc, final String newRepresentationName) { diff --git a/plugins/org.eclipse.sirius.tests.junit/data/table/unit/refresh/tables.odesign b/plugins/org.eclipse.sirius.tests.junit/data/table/unit/refresh/tables.odesign index 0afeed0237..54c74a519c 100644 --- a/plugins/org.eclipse.sirius.tests.junit/data/table/unit/refresh/tables.odesign +++ b/plugins/org.eclipse.sirius.tests.junit/data/table/unit/refresh/tables.odesign @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ASCII"?> -<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/table/description/1.1.0" xmlns:description_2="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" name="UML2 Tables tests" version="10.1.0.201507271600"> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/table/description/1.1.0" xmlns:description_2="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" name="UML2 Tables tests" version="12.0.0.201702091400"> <ownedViewpoints documentation="Sample of some UML tables " name="UML2 tables for tests" modelFileExtension="uml"> <ownedRepresentations xsi:type="description_1:EditionTableDescription" name="Colored Classes Table" domainClass="Model"> <metamodel href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#/"/> @@ -31,11 +31,13 @@ </ownedLineMappings> <ownedColumnMappings name="name" headerLabelExpression="name" featureName="name" labelExpression="aql:self.name"> <directEdit> - <variables name="element" documentation="The currently edited element."/> + <variables name="element" documentation="The semantic currently edited element."/> + <variables name="table" documentation="Current DTable."/> + <variables name="line" documentation="DLine of the current DCell."/> <variables name="lineSemantic" documentation="The semantic element corresponding to the line."/> - <variables name="root" documentation="The semantic element of the table."/> + <variables name="root" documentation="The semantic root element of the table."/> <firstModelOperation xsi:type="tool:ChangeContext" browseExpression="var:element"> - <subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'AA' + arg0"/> + <subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:'AA'+arg0"/> </firstModelOperation> <mask mask="{0}"/> </directEdit> @@ -512,6 +514,42 @@ <ownedColumnMappings name="computedColumn" headerLabelExpression="ComputedLabel_featureName*" featureName="*" labelExpression="ComputedLabel"/> <ownedColumnMappings name="colWithInvalidFeatureName" headerLabelExpression="NonExistingFeature" featureName="invalidFeatureName" labelExpression="ComputedLabel"/> </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:EditionTableDescription" name="SimpleTableVariables" domainClass="Model"> + <metamodel href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#/"/> + <ownedLineMappings name="Class lines" domainClass="Class" semanticCandidatesExpression="aql:self.eAllContents(uml::Class)->select( e | e.name='Class3')->first()" headerLabelExpression=""/> + <ownedColumnMappings name="Class name" headerLabelExpression="Name" initialWidth="200" featureName="name" labelExpression="aql:self.name" featureParentExpression="aql:if table<>null then line.target else line.target endif"> + <directEdit> + <variables name="element" documentation="The semantic currently edited element."/> + <variables name="table" documentation="Current DTable."/> + <variables name="line" documentation="DLine of the current DCell."/> + <variables name="lineSemantic" documentation="The semantic element corresponding to the line."/> + <variables name="root" documentation="The semantic root element of the table."/> + <firstModelOperation xsi:type="tool:ChangeContext" browseExpression="var:element"> + <subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:if table<>null then line.target.name+'working' else line.target.name+'working' endif"/> + </firstModelOperation> + <mask mask="{0}"/> + </directEdit> + </ownedColumnMappings> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_1:CrossTableDescription" name="CrossTableVariables" domainClass="Model"> + <metamodel href="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#/"/> + <ownedLineMappings name="CTV_LineClasses" domainClass="Class" semanticCandidatesExpression="aql:self.eAllContents(uml::Class)->select( e | e.name='Class3')->first()" headerLabelExpression="aql:self.name"/> + <ownedColumnMappings name="CTV_ColumnClasses" headerLabelExpression="aql:self.name" domainClass="Class" semanticCandidatesExpression="aql:self.eAllContents(uml::Class)->select( e | e.name='Class3')->first()"/> + <intersection name="Generalization" lineMapping="//@ownedViewpoints[name='UML2%20tables%20for%20tests']/@ownedRepresentations[name='CrossTableVariables']/@ownedLineMappings[name='CTV_LineClasses']" columnMapping="//@ownedViewpoints[name='UML2%20tables%20for%20tests']/@ownedRepresentations[name='CrossTableVariables']/@ownedColumnMappings.0" labelExpression="aql:line.target.name" columnFinderExpression="aql:self"> + <directEdit> + <variables name="element" documentation="The semantic currently edited element."/> + <variables name="table" documentation="Current DTable."/> + <variables name="line" documentation="DLine of the current DCell."/> + <variables name="lineSemantic" documentation="The semantic element corresponding to the line."/> + <variables name="columnSemantic" documentation="The semantic element corresponding to the column (only available for Intersection Mapping)."/> + <variables name="root" documentation="The semantic root element of the table."/> + <firstModelOperation xsi:type="tool:ChangeContext" browseExpression="var:element"> + <subModelOperations xsi:type="tool:SetValue" featureName="name" valueExpression="aql:if table<>null then line.target.name+'working' else line.target.name+'working' endif"/> + </firstModelOperation> + <mask mask="{0}"/> + </directEdit> + </intersection> + </ownedRepresentations> <ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.common.tools.api.interpreter.StandardServices"/> </ownedViewpoints> </description:Group> diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerTest.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerTest.java index 193113c123..440128f395 100644 --- a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerTest.java +++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerTest.java @@ -79,7 +79,7 @@ public class DTableSynchronizerTest extends TableTestCase { assertEquals("A refresh without semantic changes modified the table.", expectedInverseHtml, newInverseHTML); } } - + public void testVirtualFeatureColumns() throws Exception { final TableDescription desc = find("Virtual columns"); assertNotNull("Unit test data is not correct", desc); @@ -101,7 +101,7 @@ public class DTableSynchronizerTest extends TableTestCase { TableUIHelper.addLineToTable(expected, new String[] { "AbstractClass2", "AbstractClass2", "ComputedLabel", "_" }); TableUIHelper.addLineToTable(expected, new String[] { "Class4", "Class4", "ComputedLabel", "_" }); String expectedHtml = TableUIHelper.toHTML(expected); - + for (int i = 0; i < 10; i++) { sync.refresh(new NullProgressMonitor()); assertEquals("We have 6 classes so we should get 6 lines", 6, newTable.getLines().size()); @@ -146,6 +146,7 @@ public class DTableSynchronizerTest extends TableTestCase { */ final TransactionalEditingDomain domain = session.getTransactionalEditingDomain(); domain.getCommandStack().execute(new RecordingCommand(domain) { + @Override protected void doExecute() { final org.eclipse.uml2.uml.Class claz = (Class) ((Model) semanticModel).getPackagedElement("Class1"); assertNotNull("Unit test data is not correct", claz); @@ -573,7 +574,7 @@ public class DTableSynchronizerTest extends TableTestCase { @SuppressWarnings("rawtypes") private void checkStyle(DTableElementStyle style, boolean isStyle, int labelSize, List fontFormat) { if (!isStyle) - assertEquals(RGBValues.create(0,0,0), style.getForegroundColor()); + assertEquals(RGBValues.create(0, 0, 0), style.getForegroundColor()); assertEquals(labelSize, style.getLabelSize()); assertEquals(fontFormat, style.getLabelFormat()); } @@ -592,4 +593,30 @@ public class DTableSynchronizerTest extends TableTestCase { } } + /** + * Tests that the variables line(DLine) and table(DTable) are handled + * correctly in the Feature Parent Expression (DescriptionPackage.eINSTANCE. + * getFeatureColumnMapping_FeatureParentExpression()). The tested expression + * is : aql:if table<>null then line.target else line.target endif + * + */ + public void testVariablesForCellInSimpleTable() { + final TableDescription desc = find("SimpleTableVariables"); + assertNotNull("Unit test data is not correct", desc); + + final DTableSynchronizer sync = new DTableSynchronizerImpl(desc, accessor, interpreter); + + final DTable newTable = TableFactory.eINSTANCE.createDTable(); + newTable.setDescription(desc); + newTable.setTarget(semanticModel); + sync.setTable(newTable); + + final List<List<String>> expected = new ArrayList<List<String>>(); + TableUIHelper.addLineToTable(expected, new String[] { "______________", "Name__" }); + TableUIHelper.addLineToTable(expected, new String[] { "<Class> Class3", "Class3" }); + for (int i = 0; i < 10; i++) { + sync.refresh(new NullProgressMonitor()); + assertEquals("Variables table and line seem to not be interpreted correctly.", TableUIHelper.toHTML(expected), TableUIHelper.toContentHTMl(newTable, false)); + } + } } diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerWithEditorTest.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerWithEditorTest.java index ba2020501f..a9b4e65cd0 100644 --- a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerWithEditorTest.java +++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/refresh/DTableSynchronizerWithEditorTest.java @@ -48,7 +48,7 @@ public class DTableSynchronizerWithEditorTest extends SiriusDiagramTestCase impl private static final String THE_TABLE_HAVE_CHANGED_EVEN_IF_NOTHING_HAS_BEEN_MODIFIED_IN_THE_SEMANTIC_MODEL = "the table have changed even if nothing has been modified in the semantic model"; private static final String THE_EDITOR_HAS_NOT_THE_CORRECT_TYPE = "The editor has not the correct type"; - + @Override protected void setUp() throws Exception { super.setUp(); @@ -125,6 +125,7 @@ public class DTableSynchronizerWithEditorTest extends SiriusDiagramTestCase impl * not. */ session.getTransactionalEditingDomain().getCommandStack().execute(new RecordingCommand(session.getTransactionalEditingDomain()) { + @Override protected void doExecute() { final org.eclipse.uml2.uml.Class claz = (Class) umlModel.getPackagedElement("Class1"); assertNotNull("Unit test data is not correct", claz); @@ -743,7 +744,8 @@ public class DTableSynchronizerWithEditorTest extends SiriusDiagramTestCase impl TableUIHelper.addLineToTable(expectedWithTwoClassLess, new String[] { "Class3", "_", "_", "_", "_", "_", }); String expectedWithTwoClassLessHtml = TableUIHelper.toHTML(expectedWithTwoClassLess); - assertEquals("A refresh after semantic change (remove elements) in another representation (diagram) don't modified the table.", expectedWithTwoClassLessHtml, TableUIHelper.toContentHTMl(tree)); + assertEquals("A refresh after semantic change (remove elements) in another representation (diagram) don't modified the table.", expectedWithTwoClassLessHtml, + TableUIHelper.toContentHTMl(tree)); // Close of the editor DialectUIManager.INSTANCE.closeEditor(diagramEditor, false); @@ -794,4 +796,31 @@ public class DTableSynchronizerWithEditorTest extends SiriusDiagramTestCase impl TestsUtil.synchronizationWithUIThread(); } + + /** + * Tests that the variables line(DLine) and table(DTable) are handled + * correctly in the Feature Parent Expression (DescriptionPackage.eINSTANCE. + * getFeatureColumnMapping_FeatureParentExpression()). The tested expression + * is : aql:if table<>null then line.target else line.target endif + * + */ + public void testVariablesForFeatureParentExpressionInSimpleTable() { + DTable dTable = (DTable) createRepresentation("SimpleTableVariables", semanticModel); + IEditorPart openedEditor = DialectUIManager.INSTANCE.openEditor(session, dTable, new NullProgressMonitor()); + TestsUtil.synchronizationWithUIThread(); + + assertTrue(THE_EDITOR_HAS_NOT_THE_CORRECT_TYPE, openedEditor instanceof AbstractDTableEditor); + AbstractDTableEditor tableEditor = (AbstractDTableEditor) openedEditor; + Tree tree = tableEditor.getTableViewer().getTreeViewer().getTree(); + + final List<List<String>> expected = new ArrayList<List<String>>(); + TableUIHelper.addLineToTable(expected, new String[] { "______________", "Name__" }); + TableUIHelper.addLineToTable(expected, new String[] { "<Class> Class3", "Class3" }); + + assertEquals("Variables table and line seem to not be interpreted correctly.", TableUIHelper.toHTML(expected), TableUIHelper.toContentHTMl(tree)); + + // Close of the editor + DialectUIManager.INSTANCE.closeEditor(openedEditor, false); + TestsUtil.synchronizationWithUIThread(); + } } diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/tools/NoVariableDuplicationTest.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/tools/NoVariableDuplicationTest.java index 9186699333..1b537c1d08 100644 --- a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/tools/NoVariableDuplicationTest.java +++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/tools/NoVariableDuplicationTest.java @@ -10,8 +10,6 @@ *******************************************************************************/ package org.eclipse.sirius.tests.unit.table.unit.tools; -import junit.framework.TestCase; - import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.sirius.table.business.internal.metamodel.TableToolVariables; @@ -25,6 +23,8 @@ import org.eclipse.sirius.table.metamodel.table.description.DescriptionFactory; import org.eclipse.sirius.table.metamodel.table.description.LabelEditTool; import org.eclipse.sirius.table.metamodel.table.description.TableVariable; +import junit.framework.TestCase; + /** * Test copy paste tool not duplicates variables * @@ -218,9 +218,10 @@ public class NoVariableDuplicationTest extends TestCase { // Add variables. new TableToolVariables().doSwitch(createLabelEditTool); - assertEquals("The number of variable of createLabelEditTool must be 4", 4, createLabelEditTool.getVariables().size()); + assertEquals("The number of variable of createLabelEditTool must be 6", 6, createLabelEditTool.getVariables().size()); for (TableVariable variable : createLabelEditTool.getVariables()) { - if (!"root".equals(variable.getName()) && !"lineSemantic".equals(variable.getName()) && !"columnSemantic".equals(variable.getName()) && !"element".equals(variable.getName())) { + if (!"root".equals(variable.getName()) && !"lineSemantic".equals(variable.getName()) && !"columnSemantic".equals(variable.getName()) && !"element".equals(variable.getName()) + && !"line".equals(variable.getName()) && !"table".equals(variable.getName())) { fail("The createLabelEditTool variables' must be naming root, element, lineSemantic and columnSemantic not " + variable.getName()); } } @@ -228,7 +229,8 @@ public class NoVariableDuplicationTest extends TestCase { // Name customization. for (TableVariable variable : createLabelEditTool.getVariables()) { variable.setName(variable.getName() + "1"); - if (!"root1".equals(variable.getName()) && !"lineSemantic1".equals(variable.getName()) && !"columnSemantic1".equals(variable.getName()) && !"element1".equals(variable.getName())) { + if (!"root1".equals(variable.getName()) && !"lineSemantic1".equals(variable.getName()) && !"columnSemantic1".equals(variable.getName()) && !"line1".equals(variable.getName()) + && !"table1".equals(variable.getName()) && !"element1".equals(variable.getName())) { fail("The createLineTool variables' must be naming root1, element1, lineSemantic1 and columnSemantic1 not " + variable.getName()); } } diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/vsm/interpreted/expression/variables/VariableOnTableLabelEditToolsTest.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/vsm/interpreted/expression/variables/VariableOnTableLabelEditToolsTest.java new file mode 100644 index 0000000000..208ed7a9bd --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/table/unit/vsm/interpreted/expression/variables/VariableOnTableLabelEditToolsTest.java @@ -0,0 +1,125 @@ +/******************************************************************************* + * Copyright (c) 2017 Obeo. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.tests.unit.table.unit.vsm.interpreted.expression.variables; + +import java.util.Optional; + +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.emf.common.command.Command; +import org.eclipse.sirius.table.metamodel.table.DTable; +import org.eclipse.sirius.table.tools.api.command.ITableCommandFactory; +import org.eclipse.sirius.table.tools.api.command.TableCommandFactoryService; +import org.eclipse.sirius.tests.SiriusTestsPlugin; +import org.eclipse.sirius.tests.support.api.TestsUtil; +import org.eclipse.sirius.tests.unit.table.unit.common.TableTestCase; +import org.eclipse.sirius.ui.business.api.dialect.DialectEditor; +import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager; +import org.eclipse.uml2.uml.Class; +import org.eclipse.uml2.uml.Model; + +/** + * Tests table's direct edit tools. + * + * @author <a href="mailto:pierre.guilet@obeo.fr">Pierre Guilet</a> + * + */ +public class VariableOnTableLabelEditToolsTest extends TableTestCase { + private static final String TEST_DIR = "/" + SiriusTestsPlugin.PLUGIN_ID + "/data/table/unit/refresh/"; + + private static final String SEMANTIC_MODEL_PATH = TEST_DIR + "tables.uml"; + + private static final String SESSION_NAME = "tables.aird"; + + private static final String SESSION_PATH = TEST_DIR + SESSION_NAME; + + private static final String MODELER_PATH = TEST_DIR + "tables.odesign"; + + private DialectEditor tableEditor; + + private DTable tableRepresentation; + + private ITableCommandFactory tableCommandFactory; + + /** + * {@inheritDoc} + */ + @Override + protected void setUp() throws Exception { + super.setUp(); + genericSetUp(SEMANTIC_MODEL_PATH, MODELER_PATH, SESSION_PATH); + tableCommandFactory = TableCommandFactoryService.getInstance().getNewProvider().getCommandFactory(session.getTransactionalEditingDomain()); + tableCommandFactory.setModelAccessor(session.getModelAccessor()); + } + + /** + * {@inheritDoc} + */ + @Override + protected void tearDown() throws Exception { + DialectUIManager.INSTANCE.closeEditor(tableEditor, false); + TestsUtil.synchronizationWithUIThread(); + super.tearDown(); + } + + /** + * Checks that the given direct edit command does update the semantic + * element. + * + * @param directEditCommand + * the command to test. + */ + protected void checkVariablesInterpretations(Command directEditCommand) { + DialectUIManager.INSTANCE.openEditor(session, tableRepresentation, new NullProgressMonitor()); + TestsUtil.synchronizationWithUIThread(); + + Model model = (Model) semanticModel; + + Optional<Class> testClass = model.getOwnedElements().stream().map(element -> (org.eclipse.uml2.uml.Class) element).filter(element -> "Class3".equals(element.getName())).findFirst(); + assertTrue("Test setup is wrong.", testClass.isPresent()); + assertEquals("Test setup is wrong.", "Class3", testClass.get().getName()); + + session.getTransactionalEditingDomain().getCommandStack().execute(directEditCommand); + + assertEquals("Tool was not correctly applied", "Class3working", testClass.get().getName()); + } + + /** + * Tests that variables line and table are interpreted correctly in the + * expression of a direct tool of a simple table. The expression is + * <code>aql:if + * table<>null then line.target.name+'working' + * else + * line.target.name+'working' endif</code> + */ + public void testDirectEditVariablesExpressionForSimpleTable() { + tableRepresentation = (DTable) createRepresentation("SimpleTableVariables"); + // Direct edit command using line and table variables + Command directEditCommand = tableCommandFactory.buildSetCellValueFromTool(tableRepresentation.getLines().get(0).getCells().get(0), "test"); + + checkVariablesInterpretations(directEditCommand); + } + + /** + * Tests that variables line and table are interpreted correctly in the + * expression of a direct tool of a cross table. The expression is + * <code>aql:if + * table<>null then line.target.name+'working' + * else + * line.target.name+'working' endif</code> + */ + public void testDirectEditVariablesExpressionForCrossTable() { + tableRepresentation = (DTable) createRepresentation("CrossTableVariables"); + // Direct edit command using line and table variables + Command directEditCommand = tableCommandFactory.buildSetCellValueFromTool(tableRepresentation.getLines().get(0).getCells().get(0), "test"); + + checkVariablesInterpretations(directEditCommand); + } +} |
