Skip to content
This repository was archived by the owner on Jan 12, 2022. It is now read-only.

Commit 094e7c8

Browse files
committed
migrated derivedModels example to 0.7
1 parent 63683de commit 094e7c8

File tree

15 files changed

+444
-330
lines changed

15 files changed

+444
-330
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
/**
2+
*/
3+
package operation.provider;
4+
5+
import org.eclipse.emf.common.EMFPlugin;
6+
7+
import org.eclipse.emf.common.util.ResourceLocator;
8+
9+
/**
10+
* This is the central singleton for the DerivedModel edit plugin.
11+
* <!-- begin-user-doc -->
12+
* <!-- end-user-doc -->
13+
* @generated
14+
*/
15+
public final class DerivedModelEditPlugin extends EMFPlugin {
16+
/**
17+
* Keep track of the singleton.
18+
* <!-- begin-user-doc -->
19+
* <!-- end-user-doc -->
20+
* @generated
21+
*/
22+
public static final DerivedModelEditPlugin INSTANCE = new DerivedModelEditPlugin();
23+
24+
/**
25+
* Keep track of the singleton.
26+
* <!-- begin-user-doc -->
27+
* <!-- end-user-doc -->
28+
* @generated
29+
*/
30+
private static Implementation plugin;
31+
32+
/**
33+
* Create the instance.
34+
* <!-- begin-user-doc -->
35+
* <!-- end-user-doc -->
36+
* @generated
37+
*/
38+
public DerivedModelEditPlugin() {
39+
super
40+
(new ResourceLocator [] {
41+
});
42+
}
43+
44+
/**
45+
* Returns the singleton instance of the Eclipse plugin.
46+
* <!-- begin-user-doc -->
47+
* <!-- end-user-doc -->
48+
* @return the singleton instance.
49+
* @generated
50+
*/
51+
public ResourceLocator getPluginResourceLocator() {
52+
return plugin;
53+
}
54+
55+
/**
56+
* Returns the singleton instance of the Eclipse plugin.
57+
* <!-- begin-user-doc -->
58+
* <!-- end-user-doc -->
59+
* @return the singleton instance.
60+
* @generated
61+
*/
62+
public static Implementation getPlugin() {
63+
return plugin;
64+
}
65+
66+
/**
67+
* The actual implementation of the Eclipse <b>Plugin</b>.
68+
* <!-- begin-user-doc -->
69+
* <!-- end-user-doc -->
70+
* @generated
71+
*/
72+
public static class Implementation extends EclipsePlugin {
73+
/**
74+
* Creates an instance.
75+
* <!-- begin-user-doc -->
76+
* <!-- end-user-doc -->
77+
* @generated
78+
*/
79+
public Implementation() {
80+
super();
81+
82+
// Remember the static instance.
83+
//
84+
plugin = this;
85+
}
86+
}
87+
88+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
/**
2+
*/
3+
package operation.presentation;
4+
5+
import org.eclipse.emf.common.EMFPlugin;
6+
7+
import org.eclipse.emf.common.ui.EclipseUIPlugin;
8+
9+
import org.eclipse.emf.common.util.ResourceLocator;
10+
11+
/**
12+
* This is the central singleton for the DerivedModel editor plugin.
13+
* <!-- begin-user-doc -->
14+
* <!-- end-user-doc -->
15+
* @generated
16+
*/
17+
public final class DerivedModelEditorPlugin extends EMFPlugin {
18+
/**
19+
* Keep track of the singleton.
20+
* <!-- begin-user-doc -->
21+
* <!-- end-user-doc -->
22+
* @generated
23+
*/
24+
public static final DerivedModelEditorPlugin INSTANCE = new DerivedModelEditorPlugin();
25+
26+
/**
27+
* Keep track of the singleton.
28+
* <!-- begin-user-doc -->
29+
* <!-- end-user-doc -->
30+
* @generated
31+
*/
32+
private static Implementation plugin;
33+
34+
/**
35+
* Create the instance.
36+
* <!-- begin-user-doc -->
37+
* <!-- end-user-doc -->
38+
* @generated
39+
*/
40+
public DerivedModelEditorPlugin() {
41+
super
42+
(new ResourceLocator [] {
43+
});
44+
}
45+
46+
/**
47+
* Returns the singleton instance of the Eclipse plugin.
48+
* <!-- begin-user-doc -->
49+
* <!-- end-user-doc -->
50+
* @return the singleton instance.
51+
* @generated
52+
*/
53+
public ResourceLocator getPluginResourceLocator() {
54+
return plugin;
55+
}
56+
57+
/**
58+
* Returns the singleton instance of the Eclipse plugin.
59+
* <!-- begin-user-doc -->
60+
* <!-- end-user-doc -->
61+
* @return the singleton instance.
62+
* @generated
63+
*/
64+
public static Implementation getPlugin() {
65+
return plugin;
66+
}
67+
68+
/**
69+
* The actual implementation of the Eclipse <b>Plugin</b>.
70+
* <!-- begin-user-doc -->
71+
* <!-- end-user-doc -->
72+
* @generated
73+
*/
74+
public static class Implementation extends EclipseUIPlugin {
75+
/**
76+
* Creates an instance.
77+
* <!-- begin-user-doc -->
78+
* <!-- end-user-doc -->
79+
* @generated
80+
*/
81+
public Implementation() {
82+
super();
83+
84+
// Remember the static instance.
85+
//
86+
plugin = this;
87+
}
88+
}
89+
90+
}

query-driven-soft-interconnections/derivedModels/META-INF/MANIFEST.MF

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ Export-Package: operation,
1717
system.util
1818
Require-Bundle: org.eclipse.core.runtime,
1919
org.eclipse.emf.ecore;visibility:=reexport,
20-
org.eclipse.viatra2.emf.incquery.runtime;bundle-version="0.6.0"
20+
org.eclipse.incquery.runtime;bundle-version="0.7.0",
21+
org.eclipse.incquery.runtime,
22+
org.eclipse.incquery.querybasedfeatures.runtime
2123
Bundle-ActivationPolicy: lazy
2224
Eclipse-LazyStart: true

query-driven-soft-interconnections/derivedModels/model/operation.ecore

+17-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<ecore:EPackage xmi:version="2.0"
3-
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="operation"
5-
nsURI="http://operation/1.0" nsPrefix="operation">
2+
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="operation" nsURI="http://operation/1.0" nsPrefix="operation">
64
<eClassifiers xsi:type="ecore:EClass" name="MenuItem" eSuperTypes="#//OperationElement">
75
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
86
<eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -20,9 +18,17 @@
2018
<eStructuralFeatures xsi:type="ecore:EAttribute" name="jobPaths" upperBound="-1"
2119
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
2220
<eStructuralFeatures xsi:type="ecore:EReference" name="task" lowerBound="1" eType="ecore:EClass process.ecore#//Task"
23-
changeable="false" volatile="true" transient="true" derived="true"/>
21+
changeable="false" volatile="true" transient="true" derived="true">
22+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
23+
<details key="patternFQN" value="operation.queries.ChecklistEntryTaskCorrespondence"/>
24+
</eAnnotations>
25+
</eStructuralFeatures>
2426
<eStructuralFeatures xsi:type="ecore:EReference" name="jobs" upperBound="-1" eType="ecore:EClass system.ecore#//Job"
25-
changeable="false" volatile="true" transient="true" derived="true"/>
27+
changeable="false" volatile="true" transient="true" derived="true">
28+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
29+
<details key="patternFQN" value="operation.queries.ChecklistEntryJobCorrespondence"/>
30+
</eAnnotations>
31+
</eStructuralFeatures>
2632
</eClassifiers>
2733
<eClassifiers xsi:type="ecore:EClass" name="Checklist" eSuperTypes="#//OperationElement">
2834
<eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
@@ -31,7 +37,11 @@
3137
containment="true"/>
3238
<eStructuralFeatures xsi:type="ecore:EReference" name="process" lowerBound="1"
3339
eType="ecore:EClass process.ecore#//Process" changeable="false" volatile="true"
34-
transient="true" derived="true"/>
40+
transient="true" derived="true">
41+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
42+
<details key="patternFQN" value="operation.queries.ChecklistProcessCorrespondence"/>
43+
</eAnnotations>
44+
</eStructuralFeatures>
3545
<eStructuralFeatures xsi:type="ecore:EAttribute" name="processId" lowerBound="1"
3646
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
3747
</eClassifiers>

query-driven-soft-interconnections/derivedModels/model/system.ecore

+22-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<ecore:EPackage xmi:version="2.0"
3-
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="system"
5-
nsURI="http://system/1.0" nsPrefix="system">
2+
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="system" nsURI="http://system/1.0" nsPrefix="system">
64
<eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="#//ResourceElement">
75
<eStructuralFeatures xsi:type="ecore:EReference" name="provides" upperBound="-1"
86
eType="#//Interface" containment="true" eOpposite="#//Interface/provider"/>
@@ -28,9 +26,17 @@
2826
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
2927
<eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1"
3028
eType="ecore:EClass process.ecore#//Task" changeable="false" volatile="true"
31-
transient="true" derived="true"/>
29+
transient="true" derived="true">
30+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
31+
<details key="patternFQN" value="system.queries.JobTaskCorrespondence"/>
32+
</eAnnotations>
33+
</eStructuralFeatures>
3234
<eStructuralFeatures xsi:type="ecore:EReference" name="info" upperBound="-1" eType="ecore:EClass operation.ecore#//RuntimeInformation"
33-
changeable="false" volatile="true" transient="true" derived="true"/>
35+
changeable="false" volatile="true" transient="true" derived="true">
36+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
37+
<details key="patternFQN" value="system.queries.JobInfoCorrespondence"/>
38+
</eAnnotations>
39+
</eStructuralFeatures>
3440
</eClassifiers>
3541
<eClassifiers xsi:type="ecore:EClass" name="Data" eSuperTypes="#//ResourceElement">
3642
<eStructuralFeatures xsi:type="ecore:EAttribute" name="readingTaskIds" upperBound="-1"
@@ -39,10 +45,18 @@
3945
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
4046
<eStructuralFeatures xsi:type="ecore:EReference" name="writingTask" upperBound="-1"
4147
eType="ecore:EClass process.ecore#//Task" changeable="false" volatile="true"
42-
transient="true" derived="true"/>
48+
transient="true" derived="true">
49+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
50+
<details key="patternFQN" value="system.queries.DataTaskWriteCorrespondence"/>
51+
</eAnnotations>
52+
</eStructuralFeatures>
4353
<eStructuralFeatures xsi:type="ecore:EReference" name="readingTask" upperBound="-1"
4454
eType="ecore:EClass process.ecore#//Task" changeable="false" volatile="true"
45-
transient="true" derived="true"/>
55+
transient="true" derived="true">
56+
<eAnnotations source="org.eclipse.incquery.querybasedfeature">
57+
<details key="patternFQN" value="system.queries.DataTaskReadCorrespondence"/>
58+
</eAnnotations>
59+
</eStructuralFeatures>
4660
</eClassifiers>
4761
<eClassifiers xsi:type="ecore:EClass" name="ResourceElement">
4862
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

query-driven-soft-interconnections/derivedModels/src/operation/impl/ChecklistEntryImpl.java

+16-16
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@
2020
import org.eclipse.emf.ecore.InternalEObject;
2121
import org.eclipse.emf.ecore.impl.ENotificationImpl;
2222
import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
23-
import org.eclipse.viatra2.emf.incquery.runtime.derived.FeatureKind;
24-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryFeatureHandler;
25-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryFeatureHelper;
2623

2724
import process.Task;
28-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryDerivedFeature;
25+
import org.eclipse.incquery.querybasedfeatures.runtime.IQueryBasedFeatureHandler;
26+
import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureKind;
27+
import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureHelper;
2928

3029
/**
3130
* <!-- begin-user-doc -->
@@ -389,39 +388,40 @@ public String toString() {
389388
}
390389

391390
/**
392-
* EMF-IncQuery handler for derived feature jobs
391+
* EMF-IncQuery handler for query-based feature jobs
393392
*/
394-
private IncqueryDerivedFeature jobsHandler;
393+
private IQueryBasedFeatureHandler jobsHandler;
395394

396395
/**
397396
* <!-- begin-user-doc --> <!-- end-user-doc -->
398-
* @derived getter created by EMF-IncQuery for derived feature jobs
397+
* @query-based getter created by EMF-IncQuery for query-based feature jobs
399398
*/
400399
public EList getJobs() {
401400
if (jobsHandler == null) {
402-
jobsHandler = IncqueryFeatureHelper.getIncqueryDerivedFeature(this,
403-
OperationPackageImpl.Literals.CHECKLIST_ENTRY__JOBS,
401+
jobsHandler = QueryBasedFeatureHelper.getQueryBasedFeatureHandler(
402+
this, OperationPackageImpl.Literals.CHECKLIST_ENTRY__JOBS,
404403
"operation.queries.ChecklistEntryJobCorrespondence", "CLE",
405-
"Job", FeatureKind.MANY_REFERENCE, true, false);
404+
"Job", QueryBasedFeatureKind.MANY_REFERENCE, true, false);
406405
}
407406
return jobsHandler.getManyReferenceValueAsEList(this);
408407
}
409408

410409
/**
411-
* EMF-IncQuery handler for derived feature task
410+
* EMF-IncQuery handler for query-based feature task
412411
*/
413-
private IncqueryDerivedFeature taskHandler;
412+
private IQueryBasedFeatureHandler taskHandler;
414413

415414
/**
416415
* <!-- begin-user-doc --> <!-- end-user-doc -->
417-
* @derived getter created by EMF-IncQuery for derived feature task
416+
* @query-based getter created by EMF-IncQuery for query-based feature task
418417
*/
419418
public Task basicGetTask() {
420419
if (taskHandler == null) {
421-
taskHandler = IncqueryFeatureHelper.getIncqueryDerivedFeature(this,
422-
OperationPackageImpl.Literals.CHECKLIST_ENTRY__TASK,
420+
taskHandler = QueryBasedFeatureHelper.getQueryBasedFeatureHandler(
421+
this, OperationPackageImpl.Literals.CHECKLIST_ENTRY__TASK,
423422
"operation.queries.ChecklistEntryTaskCorrespondence",
424-
"CLE", "Task", FeatureKind.SINGLE_REFERENCE, true, false);
423+
"CLE", "Task", QueryBasedFeatureKind.SINGLE_REFERENCE,
424+
true, false);
425425
}
426426
return (process.Task) taskHandler.getSingleReferenceValue(this);
427427
}

query-driven-soft-interconnections/derivedModels/src/operation/impl/ChecklistImpl.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@
2121
import org.eclipse.emf.ecore.impl.ENotificationImpl;
2222
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
2323
import org.eclipse.emf.ecore.util.InternalEList;
24-
import org.eclipse.viatra2.emf.incquery.runtime.derived.FeatureKind;
25-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryFeatureHandler;
26-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryFeatureHelper;
27-
import org.eclipse.viatra2.emf.incquery.runtime.derived.IncqueryDerivedFeature;
24+
import org.eclipse.incquery.querybasedfeatures.runtime.IQueryBasedFeatureHandler;
25+
import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureKind;
26+
import org.eclipse.incquery.querybasedfeatures.runtime.QueryBasedFeatureHelper;
2827

2928
/**
3029
* <!-- begin-user-doc -->
@@ -280,21 +279,22 @@ public String toString() {
280279
}
281280

282281
/**
283-
* EMF-IncQuery handler for derived feature process
282+
* EMF-IncQuery handler for query-based feature process
284283
*/
285-
private IncqueryDerivedFeature processHandler;
284+
private IQueryBasedFeatureHandler processHandler;
286285

287286
/**
288287
* <!-- begin-user-doc --> <!-- end-user-doc -->
289-
* @derived getter created by EMF-IncQuery for derived feature process
288+
* @query-based getter created by EMF-IncQuery for query-based feature process
290289
*/
291290
public process.Process basicGetProcess() {
292291
if (processHandler == null) {
293-
processHandler = IncqueryFeatureHelper.getIncqueryDerivedFeature(
294-
this, OperationPackageImpl.Literals.CHECKLIST__PROCESS,
295-
"operation.queries.ChecklistProcessCorrespondence",
296-
"Checklist", "Process", FeatureKind.SINGLE_REFERENCE, true,
297-
false);
292+
processHandler = QueryBasedFeatureHelper
293+
.getQueryBasedFeatureHandler(this,
294+
OperationPackageImpl.Literals.CHECKLIST__PROCESS,
295+
"operation.queries.ChecklistProcessCorrespondence",
296+
"Checklist", "Process",
297+
QueryBasedFeatureKind.SINGLE_REFERENCE, true, false);
298298
}
299299
return (process.Process) processHandler.getSingleReferenceValue(this);
300300
}

0 commit comments

Comments
 (0)