Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvlorenzo2012-05-21 14:57:40 +0000
committervlorenzo2012-05-21 14:57:40 +0000
commit40b18e38f5a653870feb8eea4c6a91f8611dc3b2 (patch)
tree142d734121b64b0ef84c8e37046d8b00937110e2 /incoming
parentc8506a06ba9385918728d6c695cac171a1b1e830 (diff)
downloadorg.eclipse.papyrus-40b18e38f5a653870feb8eea4c6a91f8611dc3b2.tar.gz
org.eclipse.papyrus-40b18e38f5a653870feb8eea4c6a91f8611dc3b2.tar.xz
org.eclipse.papyrus-40b18e38f5a653870feb8eea4c6a91f8611dc3b2.zip
379107: [Table Editor] Papyrus should provide a new metamodel for its tabular editor
https://bugs.eclipse.org/bugs/show_bug.cgi?id=379107 Correct the multiplicity for queries
Diffstat (limited to 'incoming')
-rw-r--r--incoming/org.eclipse.papyrus.infra.table.metamodel/model/papyrustable.ecore3
-rw-r--r--incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrusTable.java19
-rw-r--r--incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrustablePackage.java8
-rw-r--r--incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrusTableImpl.java50
-rw-r--r--incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrustablePackageImpl.java2
5 files changed, 26 insertions, 56 deletions
diff --git a/incoming/org.eclipse.papyrus.infra.table.metamodel/model/papyrustable.ecore b/incoming/org.eclipse.papyrus.infra.table.metamodel/model/papyrustable.ecore
index 26647d7fe7e..0c14c78d9e8 100644
--- a/incoming/org.eclipse.papyrus.infra.table.metamodel/model/papyrustable.ecore
+++ b/incoming/org.eclipse.papyrus.infra.table.metamodel/model/papyrustable.ecore
@@ -35,7 +35,8 @@
<details key="documentation" value="This field references the EStructuralFeature to listen when the table is in Feature Mode."/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="queries" eType="ecore:EClass ../../org.eclipse.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore#//extensible/Query">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="queries" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.emf.facet.efacet.metamodel/model/efacet-0.2.0.ecore#//extensible/Query">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This field references the queries used to fill table when the table is in queries mode."/>
</eAnnotations>
diff --git a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrusTable.java b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrusTable.java
index 649c961a4bc..04697de0cb1 100644
--- a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrusTable.java
+++ b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrusTable.java
@@ -12,6 +12,7 @@
*/
package org.eclipse.papyrus.infra.table.metamodel.papyrustable;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EModelElement;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -180,29 +181,19 @@ public interface PapyrusTable extends EModelElement {
void setFeature(EStructuralFeature value);
/**
- * Returns the value of the '<em><b>Queries</b></em>' reference.
+ * Returns the value of the '<em><b>Queries</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* This field references the queries used to fill table when the table is in queries mode.
* <!-- end-model-doc -->
- * @return the value of the '<em>Queries</em>' reference.
- * @see #setQueries(Query)
+ * @return the value of the '<em>Queries</em>' reference list.
* @see org.eclipse.papyrus.infra.table.metamodel.papyrustable.PapyrustablePackage#getPapyrusTable_Queries()
* @model
* @generated
*/
- Query getQueries();
-
- /**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.table.metamodel.papyrustable.PapyrusTable#getQueries <em>Queries</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Queries</em>' reference.
- * @see #getQueries()
- * @generated
- */
- void setQueries(Query value);
+ EList<Query> getQueries();
/**
* Returns the value of the '<em><b>Using User</b></em>' attribute.
diff --git a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrustablePackage.java b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrustablePackage.java
index 8e6170d4448..ce7c3feee08 100644
--- a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrustablePackage.java
+++ b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/PapyrustablePackage.java
@@ -135,7 +135,7 @@ public interface PapyrustablePackage extends EPackage {
int PAPYRUS_TABLE__FEATURE = EcorePackage.EMODEL_ELEMENT_FEATURE_COUNT + 4;
/**
- * The feature id for the '<em><b>Queries</b></em>' reference.
+ * The feature id for the '<em><b>Queries</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -256,10 +256,10 @@ public interface PapyrustablePackage extends EPackage {
EReference getPapyrusTable_Feature();
/**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.infra.table.metamodel.papyrustable.PapyrusTable#getQueries <em>Queries</em>}'.
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.infra.table.metamodel.papyrustable.PapyrusTable#getQueries <em>Queries</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Queries</em>'.
+ * @return the meta object for the reference list '<em>Queries</em>'.
* @see org.eclipse.papyrus.infra.table.metamodel.papyrustable.PapyrusTable#getQueries()
* @see #getPapyrusTable()
* @generated
@@ -382,7 +382,7 @@ public interface PapyrustablePackage extends EPackage {
EReference PAPYRUS_TABLE__FEATURE = eINSTANCE.getPapyrusTable_Feature();
/**
- * The meta object literal for the '<em><b>Queries</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Queries</b></em>' reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
diff --git a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrusTableImpl.java b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrusTableImpl.java
index bae62f52524..e268e7f7c0e 100644
--- a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrusTableImpl.java
+++ b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrusTableImpl.java
@@ -12,9 +12,11 @@
*/
package org.eclipse.papyrus.infra.table.metamodel.papyrustable.impl;
+import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
@@ -22,6 +24,7 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.EModelElementImpl;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
import org.eclipse.emf.facet.widgets.table.metamodel.v0_2_0.table.Table;
@@ -133,14 +136,14 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
protected EStructuralFeature feature;
/**
- * The cached value of the '{@link #getQueries() <em>Queries</em>}' reference.
+ * The cached value of the '{@link #getQueries() <em>Queries</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getQueries()
* @generated
* @ordered
*/
- protected Query queries;
+ protected EList<Query> queries;
/**
* The default value of the '{@link #isUsingUser() <em>Using User</em>}' attribute.
@@ -340,14 +343,9 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
* <!-- end-user-doc -->
* @generated
*/
- public Query getQueries() {
- if (queries != null && queries.eIsProxy()) {
- InternalEObject oldQueries = (InternalEObject)queries;
- queries = (Query)eResolveProxy(oldQueries);
- if (queries != oldQueries) {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, PapyrustablePackage.PAPYRUS_TABLE__QUERIES, oldQueries, queries));
- }
+ public EList<Query> getQueries() {
+ if (queries == null) {
+ queries = new EObjectResolvingEList<Query>(Query.class, this, PapyrustablePackage.PAPYRUS_TABLE__QUERIES);
}
return queries;
}
@@ -355,27 +353,6 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
- */
- public Query basicGetQueries() {
- return queries;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setQueries(Query newQueries) {
- Query oldQueries = queries;
- queries = newQueries;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PapyrustablePackage.PAPYRUS_TABLE__QUERIES, oldQueries, queries));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
* @generated NOT
*/
public boolean isUsingUser() {
@@ -437,8 +414,7 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
if (resolve) return getFeature();
return basicGetFeature();
case PapyrustablePackage.PAPYRUS_TABLE__QUERIES:
- if (resolve) return getQueries();
- return basicGetQueries();
+ return getQueries();
case PapyrustablePackage.PAPYRUS_TABLE__USING_USER:
return isUsingUser();
case PapyrustablePackage.PAPYRUS_TABLE__USING_FEATURE:
@@ -454,6 +430,7 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
@@ -473,7 +450,8 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
setFeature((EStructuralFeature)newValue);
return;
case PapyrustablePackage.PAPYRUS_TABLE__QUERIES:
- setQueries((Query)newValue);
+ getQueries().clear();
+ getQueries().addAll((Collection<? extends Query>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -503,7 +481,7 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
setFeature((EStructuralFeature)null);
return;
case PapyrustablePackage.PAPYRUS_TABLE__QUERIES:
- setQueries((Query)null);
+ getQueries().clear();
return;
}
super.eUnset(featureID);
@@ -528,7 +506,7 @@ public class PapyrusTableImpl extends EModelElementImpl implements PapyrusTable
case PapyrustablePackage.PAPYRUS_TABLE__FEATURE:
return feature != null;
case PapyrustablePackage.PAPYRUS_TABLE__QUERIES:
- return queries != null;
+ return queries != null && !queries.isEmpty();
case PapyrustablePackage.PAPYRUS_TABLE__USING_USER:
return isUsingUser() != USING_USER_EDEFAULT;
case PapyrustablePackage.PAPYRUS_TABLE__USING_FEATURE:
diff --git a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrustablePackageImpl.java b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrustablePackageImpl.java
index 78bce2c5372..775d8ab095d 100644
--- a/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrustablePackageImpl.java
+++ b/incoming/org.eclipse.papyrus.infra.table.metamodel/src/org/eclipse/papyrus/infra/table/metamodel/papyrustable/impl/PapyrustablePackageImpl.java
@@ -299,7 +299,7 @@ public class PapyrustablePackageImpl extends EPackageImpl implements Papyrustabl
initEReference(getPapyrusTable_Table(), theTablePackage.getTable(), null, "table", null, 0, 1, PapyrusTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getPapyrusTable_FillingMode(), this.getFillingMode(), "fillingMode", null, 0, 1, PapyrusTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(getPapyrusTable_Feature(), theEcorePackage.getEStructuralFeature(), null, "feature", null, 0, 1, PapyrusTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getPapyrusTable_Queries(), theExtensiblePackage.getQuery(), null, "queries", null, 0, 1, PapyrusTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getPapyrusTable_Queries(), theExtensiblePackage.getQuery(), null, "queries", null, 0, -1, PapyrusTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(getPapyrusTable_UsingUser(), ecorePackage.getEBoolean(), "usingUser", null, 0, 1, PapyrusTable.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEAttribute(getPapyrusTable_UsingFeature(), ecorePackage.getEBoolean(), "usingFeature", null, 0, 1, PapyrusTable.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEAttribute(getPapyrusTable_UsingQueries(), ecorePackage.getEBoolean(), "usingQueries", null, 0, 1, PapyrusTable.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$

Back to the top