Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbrun2015-03-20 14:21:17 +0000
committerPierre-Charles David2015-08-25 09:52:58 +0000
commit33dd0e9a960ec1f73411ee7059c3beb8806fd328 (patch)
treefe6d00db809058dcfdf7c8bc10ea907ea8cd643c
parent7decff7276c865bf5d53401704f4380df9bcfc2b (diff)
downloadorg.eclipse.sirius-33dd0e9a960ec1f73411ee7059c3beb8806fd328.tar.gz
org.eclipse.sirius-33dd0e9a960ec1f73411ee7059c3beb8806fd328.tar.xz
org.eclipse.sirius-33dd0e9a960ec1f73411ee7059c3beb8806fd328.zip
[474334] Systematically declare Dialect Metamodels as available
Make sure all the dialects metamodels are always available to expressions. This avoids the Acceleo compilation cache to be polluted with versions of the service modules with compilation errors when they are compiled in some context A, and then picked up in another context B, where they would be fine but are not recompiled in the new context. Bug: 474334 Change-Id: I6d697637d489e23854b60b41d74e0f77c2d02c1c See-also: 461498 Signed-off-by: Cedric Brun <cedric.brun@obeo.fr> Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence/plugin.xml6
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/metamodel/SequenceDiagramMetamodelsProvider.java43
-rw-r--r--plugins/org.eclipse.sirius.diagram/plugin.xml6
-rw-r--r--plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/DiagramMetamodelsProvider.java44
-rw-r--r--plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/description/DiagramInterpretedExpressionQuery.java18
-rw-r--r--plugins/org.eclipse.sirius.table/plugin.xml6
-rw-r--r--plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/TableMetamodelsProvider.java40
-rw-r--r--plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/description/TableInterpretedExpressionQuery.java10
-rw-r--r--plugins/org.eclipse.sirius.tree/plugin.xml6
-rw-r--r--plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/TreeMetamodelsProvider.java40
-rw-r--r--plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/description/TreeInterpretedExpressionQuery.java10
-rw-r--r--plugins/org.eclipse.sirius/plugin.xml6
-rw-r--r--plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/dialect/description/AbstractInterpretedExpressionQuery.java7
-rw-r--r--plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/internal/dialect/ViewpointMetamodelsProvider.java45
14 files changed, 287 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.sequence/plugin.xml b/plugins/org.eclipse.sirius.diagram.sequence/plugin.xml
index afedb14633..3db8038714 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence/plugin.xml
+++ b/plugins/org.eclipse.sirius.diagram.sequence/plugin.xml
@@ -61,4 +61,10 @@
class="org.eclipse.sirius.diagram.sequence.tool.internal.action.repair.SequenceDiagramRepairParticipant">
</repairParticipant>
</extension>
+ <extension
+ point="org.eclipse.sirius.mmdescriptor">
+ <descriptorprovider
+ class="org.eclipse.sirius.diagram.sequence.business.internal.metamodel.SequenceDiagramMetamodelsProvider">
+ </descriptorprovider>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/metamodel/SequenceDiagramMetamodelsProvider.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/metamodel/SequenceDiagramMetamodelsProvider.java
new file mode 100644
index 0000000000..fb54ebd849
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/metamodel/SequenceDiagramMetamodelsProvider.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2015 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.diagram.sequence.business.internal.metamodel;
+
+import java.util.Collection;
+import java.util.Set;
+
+import org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.EcoreMetamodelDescriptor;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.MetamodelDescriptor;
+import org.eclipse.sirius.viewpoint.description.Viewpoint;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Provides the descriptors for the sequence diagram metamodels of Sirius.
+ *
+ * @author <a href="mailto:cedric.brun@obeo.fr">Cedric Brun</a>
+ *
+ */
+public class SequenceDiagramMetamodelsProvider implements MetamodelDescriptorProvider {
+
+ @Override
+ public Collection<MetamodelDescriptor> provides(Viewpoint vp) {
+ Set<MetamodelDescriptor> result = Sets.newLinkedHashSet();
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.sequence.SequencePackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.sequence.description.DescriptionPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.sequence.description.tool.ToolPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.sequence.ordering.OrderingPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.sequence.template.TemplatePackage.eINSTANCE));
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.diagram/plugin.xml b/plugins/org.eclipse.sirius.diagram/plugin.xml
index afa33335d3..9f45624137 100644
--- a/plugins/org.eclipse.sirius.diagram/plugin.xml
+++ b/plugins/org.eclipse.sirius.diagram/plugin.xml
@@ -530,4 +530,10 @@
<dialect
class="org.eclipse.sirius.diagram.business.internal.dialect.DiagramDialect"></dialect>
</extension>
+ <extension
+ point="org.eclipse.sirius.mmdescriptor">
+ <descriptorprovider
+ class="org.eclipse.sirius.diagram.business.internal.dialect.DiagramMetamodelsProvider">
+ </descriptorprovider>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/DiagramMetamodelsProvider.java b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/DiagramMetamodelsProvider.java
new file mode 100644
index 0000000000..cb4d2eb094
--- /dev/null
+++ b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/DiagramMetamodelsProvider.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2015 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.diagram.business.internal.dialect;
+
+import java.util.Collection;
+import java.util.Set;
+
+import org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.EcoreMetamodelDescriptor;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.MetamodelDescriptor;
+import org.eclipse.sirius.viewpoint.description.Viewpoint;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Provides the descriptors for the diagram metamodels of Sirius.
+ *
+ * @author <a href="mailto:cedric.brun@obeo.fr">Cedric Brun</a>
+ *
+ */
+public class DiagramMetamodelsProvider implements MetamodelDescriptorProvider {
+
+ @Override
+ public Collection<MetamodelDescriptor> provides(Viewpoint vp) {
+ Set<MetamodelDescriptor> result = Sets.newLinkedHashSet();
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.DiagramPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.description.style.StylePackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.description.tool.ToolPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.description.filter.FilterPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.diagram.description.concern.ConcernPackage.eINSTANCE));
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/description/DiagramInterpretedExpressionQuery.java b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/description/DiagramInterpretedExpressionQuery.java
index 256ab990b2..1958722b1d 100644
--- a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/description/DiagramInterpretedExpressionQuery.java
+++ b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/business/internal/dialect/description/DiagramInterpretedExpressionQuery.java
@@ -14,15 +14,21 @@ import java.util.Collection;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery;
import org.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch;
import org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionQuery;
import org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch;
+import org.eclipse.sirius.diagram.DiagramPackage;
import org.eclipse.sirius.diagram.business.api.diagramtype.DiagramTypeDescriptorRegistry;
import org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramTypeDescriptor;
+import org.eclipse.sirius.diagram.description.DescriptionPackage;
import org.eclipse.sirius.diagram.description.DiagramExtensionDescription;
import org.eclipse.sirius.diagram.description.EdgeMappingImport;
+import org.eclipse.sirius.diagram.description.concern.ConcernPackage;
+import org.eclipse.sirius.diagram.description.filter.FilterPackage;
+import org.eclipse.sirius.diagram.description.style.StylePackage;
import org.eclipse.sirius.diagram.description.tool.DirectEditLabel;
import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
import org.eclipse.sirius.ext.base.Option;
@@ -58,6 +64,18 @@ public class DiagramInterpretedExpressionQuery extends AbstractInterpretedExpres
super(target, feature);
}
+ @Override
+ public Collection<EPackage> getPackagesToImport() {
+ Collection<EPackage> superResult = super.getPackagesToImport();
+ superResult.add(DiagramPackage.eINSTANCE);
+ superResult.add(DescriptionPackage.eINSTANCE);
+ superResult.add(StylePackage.eINSTANCE);
+ superResult.add(org.eclipse.sirius.diagram.description.tool.ToolPackage.eINSTANCE);
+ superResult.add(FilterPackage.eINSTANCE);
+ superResult.add(ConcernPackage.eINSTANCE);
+ return superResult;
+ }
+
/**
*
* {@inheritDoc}
diff --git a/plugins/org.eclipse.sirius.table/plugin.xml b/plugins/org.eclipse.sirius.table/plugin.xml
index 8445cfd9b4..87b136a553 100644
--- a/plugins/org.eclipse.sirius.table/plugin.xml
+++ b/plugins/org.eclipse.sirius.table/plugin.xml
@@ -33,5 +33,11 @@
class="org.eclipse.sirius.table.business.internal.dialect.TableDialect">
</dialect>
</extension>
+ <extension
+ point="org.eclipse.sirius.mmdescriptor">
+ <descriptorprovider
+ class="org.eclipse.sirius.table.business.internal.dialect.TableMetamodelsProvider">
+ </descriptorprovider>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/TableMetamodelsProvider.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/TableMetamodelsProvider.java
new file mode 100644
index 0000000000..6c7a33e5d9
--- /dev/null
+++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/TableMetamodelsProvider.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2015 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.table.business.internal.dialect;
+
+import java.util.Collection;
+import java.util.Set;
+
+import org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.EcoreMetamodelDescriptor;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.MetamodelDescriptor;
+import org.eclipse.sirius.viewpoint.description.Viewpoint;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Provides the descriptors for the table metamodels of Sirius.
+ *
+ * @author <a href="mailto:cedric.brun@obeo.fr">Cedric Brun</a>
+ *
+ */
+public class TableMetamodelsProvider implements MetamodelDescriptorProvider {
+
+ @Override
+ public Collection<MetamodelDescriptor> provides(Viewpoint vp) {
+ Set<MetamodelDescriptor> result = Sets.newLinkedHashSet();
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.table.metamodel.table.TablePackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage.eINSTANCE));
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/description/TableInterpretedExpressionQuery.java b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/description/TableInterpretedExpressionQuery.java
index 1eb19d222c..4347c6eb14 100644
--- a/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/description/TableInterpretedExpressionQuery.java
+++ b/plugins/org.eclipse.sirius.table/src/org/eclipse/sirius/table/business/internal/dialect/description/TableInterpretedExpressionQuery.java
@@ -14,6 +14,7 @@ import java.util.Collection;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery;
import org.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch;
@@ -21,6 +22,7 @@ import org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressio
import org.eclipse.sirius.business.api.query.EObjectQuery;
import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.ext.base.Options;
+import org.eclipse.sirius.table.metamodel.table.TablePackage;
import org.eclipse.sirius.table.metamodel.table.description.CreateCellTool;
import org.eclipse.sirius.table.metamodel.table.description.DescriptionPackage;
import org.eclipse.sirius.table.metamodel.table.description.LabelEditTool;
@@ -53,6 +55,14 @@ public class TableInterpretedExpressionQuery extends AbstractInterpretedExpressi
}
@Override
+ public Collection<EPackage> getPackagesToImport() {
+ Collection<EPackage> superResult = super.getPackagesToImport();
+ superResult.add(TablePackage.eINSTANCE);
+ superResult.add(DescriptionPackage.eINSTANCE);
+ return superResult;
+ }
+
+ @Override
protected void initializeTargetSwitch() {
targetSwitch = new TableGlobalInterpretedTargetSwitch();
}
diff --git a/plugins/org.eclipse.sirius.tree/plugin.xml b/plugins/org.eclipse.sirius.tree/plugin.xml
index 27966e9048..b225726e48 100644
--- a/plugins/org.eclipse.sirius.tree/plugin.xml
+++ b/plugins/org.eclipse.sirius.tree/plugin.xml
@@ -32,5 +32,11 @@
class="org.eclipse.sirius.tree.business.internal.dialect.TreeDialect">
</dialect>
</extension>
+ <extension
+ point="org.eclipse.sirius.mmdescriptor">
+ <descriptorprovider
+ class="org.eclipse.sirius.tree.business.internal.dialect.TreeMetamodelsProvider">
+ </descriptorprovider>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/TreeMetamodelsProvider.java b/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/TreeMetamodelsProvider.java
new file mode 100644
index 0000000000..1a77432fd8
--- /dev/null
+++ b/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/TreeMetamodelsProvider.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2015 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.tree.business.internal.dialect;
+
+import java.util.Collection;
+import java.util.Set;
+
+import org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.EcoreMetamodelDescriptor;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.MetamodelDescriptor;
+import org.eclipse.sirius.viewpoint.description.Viewpoint;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Provides the descriptors for the tree metamodels of Sirius.
+ *
+ * @author <a href="mailto:cedric.brun@obeo.fr">Cedric Brun</a>
+ *
+ */
+public class TreeMetamodelsProvider implements MetamodelDescriptorProvider {
+
+ @Override
+ public Collection<MetamodelDescriptor> provides(Viewpoint vp) {
+ Set<MetamodelDescriptor> result = Sets.newLinkedHashSet();
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.tree.TreePackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.tree.description.DescriptionPackage.eINSTANCE));
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/description/TreeInterpretedExpressionQuery.java b/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/description/TreeInterpretedExpressionQuery.java
index 6381391c5a..ba821a7ad2 100644
--- a/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/description/TreeInterpretedExpressionQuery.java
+++ b/plugins/org.eclipse.sirius.tree/src/org/eclipse/sirius/tree/business/internal/dialect/description/TreeInterpretedExpressionQuery.java
@@ -14,7 +14,9 @@ import java.util.Collection;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.tree.TreePackage;
import org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery;
import org.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch;
import org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch;
@@ -60,6 +62,14 @@ public class TreeInterpretedExpressionQuery extends AbstractInterpretedExpressio
protected void initializeTargetSwitch() {
targetSwitch = new TreeGlobalInterpretedTargetSwitch();
}
+
+ @Override
+ public Collection<EPackage> getPackagesToImport() {
+ Collection<EPackage> superResult = super.getPackagesToImport();
+ superResult.add(TreePackage.eINSTANCE);
+ superResult.add(DescriptionPackage.eINSTANCE);
+ return superResult;
+ }
/**
* {@inheritDoc}
diff --git a/plugins/org.eclipse.sirius/plugin.xml b/plugins/org.eclipse.sirius/plugin.xml
index a742ee64dd..c9708f758c 100644
--- a/plugins/org.eclipse.sirius/plugin.xml
+++ b/plugins/org.eclipse.sirius/plugin.xml
@@ -336,5 +336,11 @@
class="org.eclipse.sirius.business.internal.resource.parser.AirDResourceFactory">
</parser>
</extension>
+ <extension
+ point="org.eclipse.sirius.mmdescriptor">
+ <descriptorprovider
+ class="org.eclipse.sirius.business.internal.dialect.ViewpointMetamodelsProvider">
+ </descriptorprovider>
+ </extension>
</plugin>
diff --git a/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/dialect/description/AbstractInterpretedExpressionQuery.java b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/dialect/description/AbstractInterpretedExpressionQuery.java
index 3f0aaa5002..26b03f5cbd 100644
--- a/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/dialect/description/AbstractInterpretedExpressionQuery.java
+++ b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/api/dialect/description/AbstractInterpretedExpressionQuery.java
@@ -25,6 +25,8 @@ import org.eclipse.sirius.business.api.query.EObjectQuery;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.ext.emf.AllContents;
+import org.eclipse.sirius.viewpoint.ViewpointPackage;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
import org.eclipse.sirius.viewpoint.description.JavaExtension;
import org.eclipse.sirius.viewpoint.description.RepresentationDescription;
import org.eclipse.sirius.viewpoint.description.Viewpoint;
@@ -35,6 +37,7 @@ import org.eclipse.sirius.viewpoint.description.tool.EditMaskVariables;
import org.eclipse.sirius.viewpoint.description.tool.For;
import org.eclipse.sirius.viewpoint.description.tool.ToolPackage;
import org.eclipse.sirius.viewpoint.description.tool.VariableContainer;
+import org.eclipse.sirius.viewpoint.description.validation.ValidationPackage;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
@@ -193,6 +196,10 @@ public abstract class AbstractInterpretedExpressionQuery implements IInterpreted
}
}
packagesToImport.add(EcorePackage.eINSTANCE);
+ packagesToImport.add(ViewpointPackage.eINSTANCE);
+ packagesToImport.add(DescriptionPackage.eINSTANCE);
+ packagesToImport.add(ToolPackage.eINSTANCE);
+ packagesToImport.add(ValidationPackage.eINSTANCE);
}
return packagesToImport;
}
diff --git a/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/internal/dialect/ViewpointMetamodelsProvider.java b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/internal/dialect/ViewpointMetamodelsProvider.java
new file mode 100644
index 0000000000..2aa601c4fa
--- /dev/null
+++ b/plugins/org.eclipse.sirius/src/org/eclipse/sirius/business/internal/dialect/ViewpointMetamodelsProvider.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2015 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.business.internal.dialect;
+
+import java.util.Collection;
+import java.util.Set;
+
+import org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.EcoreMetamodelDescriptor;
+import org.eclipse.sirius.ecore.extender.business.api.accessor.MetamodelDescriptor;
+import org.eclipse.sirius.viewpoint.description.Viewpoint;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Provides the descriptors for the core metamodels of Sirius.
+ *
+ * @author <a href="mailto:cedric.brun@obeo.fr">Cedric Brun</a>
+ *
+ */
+public class ViewpointMetamodelsProvider implements MetamodelDescriptorProvider {
+
+ @Override
+ public Collection<MetamodelDescriptor> provides(Viewpoint vp) {
+ Set<MetamodelDescriptor> result = Sets.newLinkedHashSet();
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.ViewpointPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.description.DescriptionPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.description.style.StylePackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.description.tool.ToolPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.description.validation.ValidationPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.viewpoint.description.audit.AuditPackage.eINSTANCE));
+ result.add(new EcoreMetamodelDescriptor(org.eclipse.sirius.description.contribution.ContributionPackage.eINSTANCE));
+ return result;
+ }
+
+}

Back to the top