diff options
Diffstat (limited to 'examples/bpm/org.eclipse.viatra.examples.bpm.tests')
16 files changed, 0 insertions, 762 deletions
diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.classpath b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.classpath deleted file mode 100644 index b51a74a28..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.classpath +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="xtend-gen"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="src" path="src-gen"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.project b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.project deleted file mode 100644 index fb13aa1b8..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.project +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.viatra.examples.bpm.tests</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.viatra.query.tooling.core.projectbuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> - <nature>org.eclipse.viatra.query.projectnature</nature> - </natures> -</projectDescription> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.jdt.core.prefs b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f42de363a..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.xtend.core.Xtend.prefs deleted file mode 100644 index 851d44bfb..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/.settings/org.eclipse.xtend.core.Xtend.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.xtend.core.Xtend.useProjectSettings=true diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/META-INF/MANIFEST.MF b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/META-INF/MANIFEST.MF deleted file mode 100644 index 45408c5a1..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: BPM Related Runtime Tests -Bundle-SymbolicName: org.eclipse.viatra.examples.bpm.tests;singleton:=true -Bundle-Version: 1.2.0.qualifier -Bundle-Vendor: Budapest University of Technology and Economics -Export-Package: org.eclipse.viatra.examples.bpm.tests, - org.eclipse.viatra.examples.bpm.tests.queries, - org.eclipse.viatra.examples.bpm.tests.queries.util -Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime;bundle-version="0.7.0", - org.eclipse.xtend.lib, - com.google.guava, - org.eclipse.xtext.xbase.lib, - org.eclipse.viatra.examples.bpm, - org.junit, - org.eclipse.xtext.junit4, - org.eclipse.viatra.examples.bpm.queries;bundle-version="0.7.0", - com.google.inject, - org.eclipse.viatra.query.runtime;bundle-version="[1.2.0,2.0.0)", - org.eclipse.viatra.query.testing.core;bundle-version="[1.2.0,2.0.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 -Import-Package: org.apache.log4j diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/build.properties b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/build.properties deleted file mode 100644 index 6fde8ddfc..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/build.properties +++ /dev/null @@ -1,9 +0,0 @@ -bin.includes = META-INF/,\ - .,\ - model/,\ - plugin.xml -source.. = src/,\ - src-gen/,\ - xtend-gen/ -output.. = bin/ -jars.extra.classpath = platform:/fragment/com.google.inject.multibindings
\ No newline at end of file diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.operation b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.operation deleted file mode 100644 index b5a95b608..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.operation +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<operation:Checklist xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:operation="http://operation/1.0" id="chl1" name="First Checklist" processId="rootProcess"> - <entries id="cle1" name="First CLE" taskId="st1"> - <info id="" name="Info1"/> - <jobPaths>Simple/Job1</jobPaths> - </entries> -</operation:Checklist> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.process b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.process deleted file mode 100644 index f0f1142c9..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.process +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<process:Process xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:process="http://process/1.0" id="rootProcess" name="Root"> - <contents xsi:type="process:Task" id="st2" name="Other Service Task" kind="service"/> - <contents xsi:type="process:Task" id="st1" name="First Service Task" kind="service"/> -</process:Process> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.system b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.system deleted file mode 100644 index bc4ed31a4..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/model/Simple.system +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<system:System xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:system="http://system/1.0" name="Simple"> - <contains name="Job1" runsOn="/"> - <taskIds>st1</taskIds> - </contains> - <contains name="Job2" runsOn="/"> - <taskIds>st2</taskIds> - </contains> - <data name="Data"> - <readingTaskIds>st1</readingTaskIds> - <writingTaskIds>st2</writingTaskIds> - </data> -</system:System> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/plugin.xml b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/plugin.xml deleted file mode 100644 index 760a7933b..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><plugin> - <extension id="org.eclipse.viatra.examples.bpm.tests.queries.BpmTestQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> - <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:org.eclipse.viatra.examples.bpm.tests.queries.BpmTestQueries" id="org.eclipse.viatra.examples.bpm.tests.queries.BpmTestQueries"/> - </extension> -</plugin> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/pom.xml b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/pom.xml deleted file mode 100644 index b993fb6f9..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/pom.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>org.eclipse.viatra.examples.bpm.parent</artifactId> - <groupId>org.eclipse.viatra</groupId> - <version>1.2.0-SNAPSHOT</version> - <relativePath>../org.eclipse.viatra.examples.bpm.parent/pom.xml</relativePath> - </parent> - <artifactId>org.eclipse.viatra.examples.bpm.tests</artifactId> - <packaging>eclipse-test-plugin</packaging> - <build> - <plugins> - <plugin> - <groupId>org.eclipse.viatra</groupId> - <artifactId>viatra-maven-plugin</artifactId> - <version>${viatra.main.version}</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - <configuration> - <outputDirectory>src-gen</outputDirectory> - <metamodels> - <metamodel> - <packageClass>org.eclipse.viatra.examples.bpm.operation.OperationPackage</packageClass> - </metamodel> - <metamodel> - <packageClass>org.eclipse.viatra.examples.bpm.process.ProcessPackage</packageClass> - </metamodel> - <metamodel> - <packageClass>org.eclipse.viatra.examples.bpm.system.SystemPackage</packageClass> - </metamodel> - </metamodels> - </configuration> - <dependencies> - <dependency> - <groupId>org.eclipse.viatra</groupId> - <artifactId>org.eclipse.viatra.examples.bpm</artifactId> - <version>${viatra.main.version}</version> - </dependency> - </dependencies> - </plugin> - <plugin> - <groupId>org.eclipse.xtend</groupId> - <artifactId>xtend-maven-plugin</artifactId> - <version>${xtend.compiler.version}</version> - <executions> - <execution> - <goals> - <goal>compile</goal> - <goal>testCompile</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src-gen/.gitignore b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src-gen/.gitignore deleted file mode 100644 index ce4a58f9f..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src-gen/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -#This file is needed to prevent git from omitting this folder that would cause build issues/compile errors.
-# Ignore everything in this directory
-*
-# Except this file
-!.gitignore
\ No newline at end of file diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/BPMTestsAll.java b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/BPMTestsAll.java deleted file mode 100644 index 85bfdaf50..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/BPMTestsAll.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010-2013, Abel Hegedus, Istvan Rath and Daniel Varro - * 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: - * Abel Hegedus - initial API and implementation - *******************************************************************************/ -package org.eclipse.viatra.examples.bpm.tests; - -import org.eclipse.viatra.examples.bpm.tests.QueryBasedFeatureTest; -import org.eclipse.viatra.examples.bpm.tests.RuntimeListenerTest; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -/** - * @author Abel Hegedus - * - */ -@RunWith(value = Suite.class) -@SuiteClasses({ - RuntimeListenerTest.class, - QueryBasedFeatureTest.class -}) -public class BPMTestsAll { - -} diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/QueryBasedFeatureTest.xtend b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/QueryBasedFeatureTest.xtend deleted file mode 100644 index 82dafe088..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/QueryBasedFeatureTest.xtend +++ /dev/null @@ -1,248 +0,0 @@ -package org.eclipse.viatra.examples.bpm.tests - -import com.google.inject.Inject -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl -import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureHelper -import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureKind -import org.eclipse.viatra.examples.bpm.operation.Checklist -import org.eclipse.viatra.examples.bpm.operation.OperationPackage -import org.eclipse.viatra.examples.bpm.process.Task -import org.eclipse.viatra.examples.bpm.system.Job -import org.eclipse.viatra.examples.bpm.system.System -import org.eclipse.viatra.examples.bpm.system.Data -import org.eclipse.viatra.examples.bpm.process.Process -import org.eclipse.viatra.examples.bpm.tests.queries.JobTasksMatcher -import org.eclipse.viatra.examples.bpm.tests.queries.ProcessTasksMatcher -import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine -import org.eclipse.viatra.query.runtime.emf.EMFScope -import org.eclipse.viatra.query.runtime.extensibility.QuerySpecificationRegistry -import org.eclipse.viatra.query.testing.core.ModelLoadHelper -import org.eclipse.viatra.query.testing.core.TestExecutor -import org.eclipse.viatra.query.testing.core.injector.EMFPatternLanguageInjectorProvider -import org.eclipse.xtext.junit4.InjectWith -import org.eclipse.xtext.junit4.XtextRunner -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith - -import static org.junit.Assert.* - -@RunWith(typeof(XtextRunner)) -@InjectWith(typeof(EMFPatternLanguageInjectorProvider)) -class QueryBasedFeatureTest { - - @Inject extension TestExecutor - @Inject extension ModelLoadHelper - - @Before - def prepareQueries(){ - - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.system.JobTaskCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.system.DataTaskReadCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.system.DataTaskWriteCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.system.JobInfoCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.operation.ChecklistEntryJobCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.operation.ChecklistEntryTaskCorrespondence")) - assertNotNull(QuerySpecificationRegistry::getQuerySpecification("org.eclipse.viatra.examples.bpm.queries.operation.ChecklistProcessCorrespondence")) - - } - - @Test - def simpleGetterTest(){ - - val rs = new ResourceSetImpl - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.system") - - val sys = resource.contents.get(0) as System - sys.contains.forEach[ - assertTrue(it.tasks.empty) - ] - sys.data.forEach[ - assertTrue(it.readingTask.empty) - assertTrue(it.writingTask.empty) - ] - - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - sys.contains.forEach[ - val job = it as Job - assertTrue(job.taskIds.size == job.tasks.size) - // all elements resolved - assertTrue(job.taskIds.filter[tid | - job.tasks.filter[ - val task = it as Task - task.id == tid - ].empty - ].empty) - assertTrue(job.tasks.filter[ - val task = it as Task - !job.taskIds.contains(task.id) - ].empty) - ] - sys.data.forEach[ - val data = it as Data - assertTrue(data.readingTaskIds.size == data.readingTask.size) - // all elements resolved - assertTrue(data.readingTask.filter[ - val task = it as Task - !data.readingTaskIds.contains(task.id) - ].empty) - assertTrue(data.writingTaskIds.size == data.writingTask.size) - // all elements resolved - assertTrue(data.writingTask.filter[ - val task = it as Task - !data.writingTaskIds.contains(task.id) - ].empty) - ] - - } - - @Test - def simpleModifyTest(){ - val rs = new ResourceSetImpl - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.system") - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - - val sys = resource.contents.get(0) as System - sys.contains.forEach[ - assertTrue(it.tasks.size == it.taskIds.size) - ] - - val job = sys.contains.get(0) - - val engine = AdvancedViatraQueryEngine::on(new EMFScope(rs)) - val matcher = ProcessTasksMatcher::on(engine) - matcher.forEachMatch[ - if(!job.tasks.contains(task)){ - job.taskIds += task.id - } - assertTrue(job.tasks.contains(task)) - ] - - val data = sys.data.get(0) - data.readingTaskIds.clear - assertTrue(data.readingTask.empty) - } - - @Test - def singleFeatureTest(){ - val rs = new ResourceSetImpl - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.operation") - - val checklist = resource.contents.get(0) as Checklist - - checklist.entries.forEach[ - assertNull(it.task) - ] - - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - val engine = AdvancedViatraQueryEngine::on(new EMFScope(rs)) - val procMatcher = ProcessTasksMatcher::on(engine) - - checklist.entries.forEach[ - if(it.taskId != null){ - assertTrue(it.task.id == it.taskId) - } - - val t = it.task - t.id = "changedID" - assertNull(it.task) - - it.taskId = "changedID" - assertTrue(it.task == t) - - it.taskId = null - assertNull(it.task) - - val entry = it - - procMatcher.forEachMatch[ - entry.taskId = task.id - ] - ] - } - - @Test - def violateSingleFeatureTest(){ - - val rs = new ResourceSetImpl - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.operation") - val resource2 = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - - val checklist = resource.contents.get(0) as Checklist - val proc = resource2.contents.get(0) as Process - val entry = checklist.entries.get(0) - val tid = entry.taskId - proc.contents.forEach[ - it.id = tid - ] - - val engine = ViatraQueryEngine::on(new EMFScope(rs)) - engine.registerLogger - - entry.task - - val logOut = engine.retrieveLoggerOutput - assertTrue(logOut.contains("[QueryBasedFeature] Space-time continuum breached (should never happen): multiple values for single feature!")); - } - - @Test - def initDuringMatcherBuilding(){ - - val rs = new ResourceSetImpl - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.system") - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - - val engine = AdvancedViatraQueryEngine::on(new EMFScope(rs)) - engine.registerLogger - - val matcher = JobTasksMatcher::on(engine) - - assertTrue(matcher.countMatches > 0); - matcher.forEachMatch[ - job.taskIds.clear - assertTrue(job.tasks.empty) - ] - } - - @Test - def uncachedSingleFeatureTest() { - - val rs = new ResourceSetImpl - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.system") - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.operation") - - val singleqbf = QueryBasedFeatureHelper::getQueryBasedFeatureHandler(rs, - OperationPackage::eINSTANCE.checklistEntry_Task, - "org.eclipse.viatra.examples.bpm.queries.operation.ChecklistEntryTaskCorrespondence", - "CLE", "Task", - QueryBasedFeatureKind::SINGLE_REFERENCE, false); - - - val checklist = resource.contents.get(0) as Checklist - - checklist.entries.forEach[ - assertEquals(singleqbf.getValue(it),it.task) - ] - } - - @Test - def uncachedManyFeatureTest() { - val rs = new ResourceSetImpl - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.system") - loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - val resource = loadAdditionalResourceFromUri(rs,"org.eclipse.viatra.examples.bpm.tests/model/Simple.operation") - - val manyqbf = QueryBasedFeatureHelper::getQueryBasedFeatureHandler( - rs, OperationPackage::eINSTANCE.checklistEntry_Jobs, - "org.eclipse.viatra.examples.bpm.queries.operation.ChecklistEntryJobCorrespondence", "CLE", - "Job", QueryBasedFeatureKind::MANY_REFERENCE, false); - - val checklist = resource.contents.get(0) as Checklist - - checklist.entries.forEach[ - assertEquals(manyqbf.getValue(it),it.jobs) - ] - } -} diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/RuntimeListenerTest.xtend b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/RuntimeListenerTest.xtend deleted file mode 100644 index f0fa863e3..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/RuntimeListenerTest.xtend +++ /dev/null @@ -1,275 +0,0 @@ -package org.eclipse.viatra.examples.bpm.tests - -import com.google.inject.Inject -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl -import org.eclipse.viatra.examples.bpm.tests.queries.NextActivityMatcher -import org.eclipse.viatra.examples.bpm.tests.queries.ProcessTasksMatcher -import org.eclipse.viatra.query.runtime.api.IPatternMatch -import org.eclipse.viatra.query.runtime.api.ViatraQueryModelUpdateListener.ChangeLevel -import org.eclipse.viatra.query.testing.core.ModelLoadHelper -import org.eclipse.viatra.query.testing.core.injector.EMFPatternLanguageInjectorProvider -import org.eclipse.xtext.junit4.InjectWith -import org.eclipse.xtext.junit4.XtextRunner -import org.junit.Test -import org.junit.runner.RunWith -import org.eclipse.viatra.examples.bpm.process.ProcessFactory - -import static org.junit.Assert.* -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineManager -import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine -import org.eclipse.viatra.query.runtime.emf.EMFScope -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine -import org.eclipse.viatra.query.runtime.api.ViatraQueryModelUpdateListener -import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineLifecycleListener -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineInitializationListener -import org.eclipse.xtend.lib.annotations.Accessors - -@RunWith(typeof(XtextRunner)) -@InjectWith(typeof(EMFPatternLanguageInjectorProvider)) -class RuntimeListenerTest { - @Inject extension ModelLoadHelper - - @Test - def engineInitializationListenerTest(){ - - val rs = new ResourceSetImpl - val manager = ViatraQueryEngineManager::instance - val listener = new InitListener - - manager.addQueryEngineInitializationListener(listener) - - AdvancedViatraQueryEngine::createUnmanagedEngine(new EMFScope(rs)) - assertTrue(listener.engines.empty) - - val e2 = ViatraQueryEngine::on(new EMFScope(rs)) - assertArrayEquals(newArrayList(e2), listener.engines) - - manager.removeQueryEngineInitializationListener(listener) - val e3 = AdvancedViatraQueryEngine::createUnmanagedEngine(new EMFScope(rs)) - - assertTrue(!listener.engines.contains(e3)) - } - - @Test - def engineLifecycleListenerTest(){ - - val resource = loadModelFromUri("org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - val engine = AdvancedViatraQueryEngine::createUnmanagedEngine(new EMFScope(resource)) - val listener = new LifycycleListener - - engine.addLifecycleListener(listener) - - val matcher = ProcessTasksMatcher::on(engine) - assertArrayEquals(newArrayList(matcher), listener.matchers) - - //Cannot externally taint the engine; turning check off - //engine.logger.fatal("Tainting in progress") - //assertTrue(listener.tainted) - - engine.wipe - assertTrue(listener.wiped) - - listener.wiped = false - engine.dispose - assertTrue(listener.wiped) - assertTrue(listener.disposed) - - engine.removeLifecycleListener(listener) - listener.disposed = false - engine.dispose - assertFalse(listener.disposed) - - } - - @Test - def modelUpdateListenerTest(){ - - val resource = loadModelFromUri("org.eclipse.viatra.examples.bpm.tests/model/Simple.process") - val engine = AdvancedViatraQueryEngine::createUnmanagedEngine(new EMFScope(resource)) - val model = new ModelUpdateListener(ChangeLevel::MODEL) - - engine.addModelUpdateListener(model) - - val matcher = ProcessTasksMatcher::on(engine) - model.changes.clear - - matcher.forOneArbitraryMatch[ - task.name = "changedName" - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - ] - /* NOTE: the second change is actually MATCHSET, - * but since no listener is registered with that level, - * it will be considered as INDEX */ - assertArrayEquals(newArrayList(ChangeLevel::MODEL,ChangeLevel::INDEX), model.changes) - - val index = new ModelUpdateListener(ChangeLevel::INDEX) - engine.addModelUpdateListener(index) - matcher.forOneArbitraryMatch[ - task.name = "changedName2" - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - ] - /* NOTE: the change is actually MATCHSET, - * but since no listener is registered with that level, - * it will be considered as INDEX */ - assertArrayEquals(newArrayList(ChangeLevel::INDEX), index.changes) - index.changes.clear - - val matchset = new ModelUpdateListener(ChangeLevel::MATCHSET) - engine.addModelUpdateListener(matchset) - matcher.forOneArbitraryMatch[ - task.name = "changedName3" - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - ] - assertArrayEquals(newArrayList(ChangeLevel::MATCHSET), matchset.changes) - assertArrayEquals(newArrayList(ChangeLevel::MATCHSET), index.changes) - - matchset.changes.clear - // test new matcher added - val nextMatcher = NextActivityMatcher::on(engine) - matcher.forOneArbitraryMatch[ - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - task.next += task2 - ] - assertArrayEquals(newArrayList(ChangeLevel::MATCHSET,ChangeLevel::MATCHSET), matchset.changes) - - // test removal - engine.removeModelUpdateListener(model) - model.changes.clear - - nextMatcher.forOneArbitraryMatch[ - next.name = "changedName4" - next.previous.remove(act) - ] - engine.removeModelUpdateListener(matchset) - - index.changes.clear - matcher.forOneArbitraryMatch[ - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - ] - assertArrayEquals(newArrayList(ChangeLevel::INDEX), index.changes) - assertTrue(model.changes.empty) - - //test wipe - engine.wipe - - //test unsuccesful remove - index.myLevel = ChangeLevel::MATCHSET - val model2 = new ModelUpdateListener(ChangeLevel::MODEL) - engine.addModelUpdateListener(model2) - engine.removeModelUpdateListener(index) - engine.removeModelUpdateListener(model) - engine.removeModelUpdateListener(model2) - - // test all listeners removed - val matcher2 = ProcessTasksMatcher::on(engine) - matcher2.forOneArbitraryMatch[ - val task2 = ProcessFactory::eINSTANCE.createTask// => [name = "newName"] - task.parent.contents += task2 - ] - - // test multi add - engine.addModelUpdateListener(model) - engine.addModelUpdateListener(model) - engine.removeModelUpdateListener(index) - // test dispose - engine.dispose - engine.removeModelUpdateListener(model) - - } - -} - -class InitListener implements ViatraQueryEngineInitializationListener{ - - @Property val engines = newArrayList() - - override engineInitialized(AdvancedViatraQueryEngine engine) { - assertTrue(AdvancedViatraQueryEngine::from(engine).managed) - engines += engine - } - -} - -class LifycycleListener implements ViatraQueryEngineLifecycleListener{ - -// @Property - var tainted = false -// @Property - var disposed = false -// @Property - var wiped = false -// @Property - var matchers = newArrayList - - def isTainted() { - tainted - } - - def setTainted(boolean tainted) { - this.tainted = tainted - } - - def isDisposed() { - disposed - } - - def setDisposed(boolean disposed) { - this.disposed = disposed - } - - def isWiped() { - wiped - } - - def setWiped(boolean wiped) { - this.wiped = wiped - } - - def getMatchers() { - matchers - } - - override engineBecameTainted(String description, Throwable t) { - tainted = true - } - - override engineDisposed() { - disposed = true - } - - override engineWiped() { - wiped = true - } - - override matcherInstantiated(ViatraQueryMatcher<? extends IPatternMatch> matcher) { - matchers += matcher - } - -} - -class ModelUpdateListener implements ViatraQueryModelUpdateListener{ - - @Accessors ChangeLevel myLevel - - @Accessors val changes = newArrayList - - new(ChangeLevel level) { - myLevel = level - } - - override getLevel() { - myLevel - } - - override notifyChanged(ChangeLevel changeLevel) { - assertFalse(changeLevel.compareTo(myLevel) < 0) - changes += changeLevel - } - -}
\ No newline at end of file diff --git a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/queries/bpmTestQueries.vql b/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/queries/bpmTestQueries.vql deleted file mode 100644 index 21f4d9528..000000000 --- a/examples/bpm/org.eclipse.viatra.examples.bpm.tests/src/org/eclipse/viatra/examples/bpm/tests/queries/bpmTestQueries.vql +++ /dev/null @@ -1,21 +0,0 @@ -package org.eclipse.viatra.examples.bpm.tests.queries - -import "http://operation/1.0" -import "http://process/1.0" -import "http://system/1.0" - -pattern processTasks(Proc : Process , Task : Activity){ - Process.contents(Proc, Task); -} - -pattern nextActivity(Act : Activity,Next : Activity){ - Activity.next(Act,Next); -} - -pattern jobTasks(Job : Job,Task : Task) { - Job.tasks(Job, Task); -} - -pattern entryTask(Entry : ChecklistEntry, Task : Task) { - ChecklistEntry.task(Entry, Task); -}
\ No newline at end of file |