diff options
Diffstat (limited to 'examples/headless/org.eclipse.viatra.query.application')
16 files changed, 0 insertions, 1486 deletions
diff --git a/examples/headless/org.eclipse.viatra.query.application/.classpath b/examples/headless/org.eclipse.viatra.query.application/.classpath deleted file mode 100644 index ad32c83a7..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/headless/org.eclipse.viatra.query.application/.project b/examples/headless/org.eclipse.viatra.query.application/.project deleted file mode 100644 index 97ccc2209..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.viatra.query.application</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <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> - </natures> -</projectDescription> diff --git a/examples/headless/org.eclipse.viatra.query.application/.settings/org.eclipse.jdt.core.prefs b/examples/headless/org.eclipse.viatra.query.application/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index c537b6306..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/.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.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/examples/headless/org.eclipse.viatra.query.application/META-INF/MANIFEST.MF b/examples/headless/org.eclipse.viatra.query.application/META-INF/MANIFEST.MF deleted file mode 100644 index 2c1df8291..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/META-INF/MANIFEST.MF +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: VIATRA Headless Application -Bundle-SymbolicName: org.eclipse.viatra.query.application;singleton:=true -Bundle-Version: 1.2.0.qualifier -Bundle-ClassPath: . -Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0", - org.eclipse.viatra.query.application.queries;bundle-version="0.0.2", - org.eclipse.viatra.addon.databinding.runtime;bundle-version="[1.2.0,1.3.0)", - org.eclipse.core.databinding;bundle-version="1.4.0", - org.eclipse.viatra.query.tooling.core;bundle-version="[1.2.0,1.3.0)", - org.eclipse.viatra.query.patternlanguage.emf;bundle-version="[1.2.0,1.3.0)", - org.eclipse.viatra.query.runtime;bundle-version="[1.2.0,1.3.0)", - com.google.inject, - org.eclipse.emf.ecore.xmi;bundle-version="2.11.1" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/examples/headless/org.eclipse.viatra.query.application/build.properties b/examples/headless/org.eclipse.viatra.query.application/build.properties deleted file mode 100644 index ce082b113..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/build.properties +++ /dev/null @@ -1,5 +0,0 @@ -1source.. = src/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
-source.. = src/
diff --git a/examples/headless/org.eclipse.viatra.query.application/incquery-generic.product b/examples/headless/org.eclipse.viatra.query.application/incquery-generic.product deleted file mode 100644 index 2eabd86e4..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/incquery-generic.product +++ /dev/null @@ -1,204 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?pde version="3.5"?> - -<product name="Example Headless VIATRA Query Application (Using Generic API)" uid="org.eclipse.viatra.query.application.generic" id="viatra.query.generic" application="org.eclipse.viatra.query.application.app.generic" version="1.2.0.qualifier" useFeatures="false" includeLaunchers="true"> - - <configIni use="default"> - </configIni> - - <launcherArgs> - <programArgs>--launcher.XX:MaxPermSize=768m ---launcher.XX:+UseParallelGC ---launcher.XX:PermSize=256m --consolelog - </programArgs> - <vmArgs>-Xms200m --Xmx1584m --Declipse.log.backup.max=100 --Declipse.log.size.max=0 - </vmArgs> - <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts - </vmArgsMac> - </launcherArgs> - - <launcher> - <solaris/> - <win useIco="false"> - <bmp/> - </win> - </launcher> - - <vm> - </vm> - - <plugins> - <plugin id="com.google.guava"/> - <plugin id="com.google.inject"/> - <plugin id="com.google.inject.multibindings" fragment="true"/> - <plugin id="com.ibm.icu"/> - <plugin id="javax.annotation"/> - <plugin id="javax.inject"/> - <plugin id="javax.xml"/> - <plugin id="org.antlr.runtime"/> - <plugin id="org.apache.batik.css"/> - <plugin id="org.apache.batik.util"/> - <plugin id="org.apache.batik.util.gui"/> - <plugin id="org.apache.commons.jxpath"/> - <plugin id="org.apache.commons.lang"/> - <plugin id="org.apache.log4j"/> - <plugin id="org.eclipse.ant.core"/> - <plugin id="org.eclipse.compare"/> - <plugin id="org.eclipse.compare.core"/> - <plugin id="org.eclipse.core.commands"/> - <plugin id="org.eclipse.core.contenttype"/> - <plugin id="org.eclipse.core.databinding"/> - <plugin id="org.eclipse.core.databinding.observable"/> - <plugin id="org.eclipse.core.databinding.property"/> - <plugin id="org.eclipse.core.expressions"/> - <plugin id="org.eclipse.core.filebuffers"/> - <plugin id="org.eclipse.core.filesystem"/> - <plugin id="org.eclipse.core.filesystem.java7" fragment="true"/> - <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/> - <plugin id="org.eclipse.core.jobs"/> - <plugin id="org.eclipse.core.resources"/> - <plugin id="org.eclipse.core.runtime"/> - <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> - <plugin id="org.eclipse.core.variables"/> - <plugin id="org.eclipse.debug.core"/> - <plugin id="org.eclipse.debug.ui"/> - <plugin id="org.eclipse.e4.core.commands"/> - <plugin id="org.eclipse.e4.core.contexts"/> - <plugin id="org.eclipse.e4.core.di"/> - <plugin id="org.eclipse.e4.core.di.annotations"/> - <plugin id="org.eclipse.e4.core.di.extensions"/> - <plugin id="org.eclipse.e4.core.services"/> - <plugin id="org.eclipse.e4.emf.xpath"/> - <plugin id="org.eclipse.e4.ui.bindings"/> - <plugin id="org.eclipse.e4.ui.css.core"/> - <plugin id="org.eclipse.e4.ui.css.swt"/> - <plugin id="org.eclipse.e4.ui.css.swt.theme"/> - <plugin id="org.eclipse.e4.ui.di"/> - <plugin id="org.eclipse.e4.ui.model.workbench"/> - <plugin id="org.eclipse.e4.ui.services"/> - <plugin id="org.eclipse.e4.ui.widgets"/> - <plugin id="org.eclipse.e4.ui.workbench"/> - <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/> - <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/> - <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/> - <plugin id="org.eclipse.e4.ui.workbench.swt"/> - <plugin id="org.eclipse.e4.ui.workbench3"/> - <plugin id="org.eclipse.emf.codegen"/> - <plugin id="org.eclipse.emf.codegen.ecore"/> - <plugin id="org.eclipse.emf.common"/> - <plugin id="org.eclipse.emf.common.ui"/> - <plugin id="org.eclipse.emf.databinding"/> - <plugin id="org.eclipse.emf.ecore"/> - <plugin id="org.eclipse.emf.ecore.change"/> - <plugin id="org.eclipse.emf.ecore.xmi"/> - <plugin id="org.eclipse.emf.edit"/> - <plugin id="org.eclipse.emf.edit.ui"/> - <plugin id="org.eclipse.emf.transaction"/> - <plugin id="org.eclipse.emf.validation"/> - <plugin id="org.eclipse.equinox.app"/> - <plugin id="org.eclipse.equinox.bidi"/> - <plugin id="org.eclipse.equinox.common"/> - <plugin id="org.eclipse.equinox.ds"/> - <plugin id="org.eclipse.equinox.frameworkadmin"/> - <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/> - <plugin id="org.eclipse.equinox.p2.artifact.repository"/> - <plugin id="org.eclipse.equinox.p2.core"/> - <plugin id="org.eclipse.equinox.p2.director"/> - <plugin id="org.eclipse.equinox.p2.director.app"/> - <plugin id="org.eclipse.equinox.p2.engine"/> - <plugin id="org.eclipse.equinox.p2.garbagecollector"/> - <plugin id="org.eclipse.equinox.p2.jarprocessor"/> - <plugin id="org.eclipse.equinox.p2.metadata"/> - <plugin id="org.eclipse.equinox.p2.metadata.repository"/> - <plugin id="org.eclipse.equinox.p2.publisher"/> - <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/> - <plugin id="org.eclipse.equinox.p2.repository"/> - <plugin id="org.eclipse.equinox.p2.repository.tools"/> - <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/> - <plugin id="org.eclipse.equinox.preferences"/> - <plugin id="org.eclipse.equinox.registry"/> - <plugin id="org.eclipse.equinox.security"/> - <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/> - <plugin id="org.eclipse.equinox.simpleconfigurator"/> - <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/> - <plugin id="org.eclipse.equinox.util"/> - <plugin id="org.eclipse.help"/> - <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/> - <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/> - <plugin id="org.eclipse.jdt.core"/> - <plugin id="org.eclipse.jdt.core.manipulation"/> - <plugin id="org.eclipse.jdt.debug"/> - <plugin id="org.eclipse.jdt.launching"/> - <plugin id="org.eclipse.jdt.ui"/> - <plugin id="org.eclipse.jface"/> - <plugin id="org.eclipse.jface.databinding"/> - <plugin id="org.eclipse.jface.text"/> - <plugin id="org.eclipse.ltk.core.refactoring"/> - <plugin id="org.eclipse.ltk.ui.refactoring"/> - <plugin id="org.eclipse.osgi"/> - <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/> - <plugin id="org.eclipse.osgi.services"/> - <plugin id="org.eclipse.pde.build"/> - <plugin id="org.eclipse.pde.core"/> - <plugin id="org.eclipse.search"/> - <plugin id="org.eclipse.swt"/> - <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/> - <plugin id="org.eclipse.team.core"/> - <plugin id="org.eclipse.team.ui"/> - <plugin id="org.eclipse.text"/> - <plugin id="org.eclipse.ui"/> - <plugin id="org.eclipse.ui.cocoa" fragment="true"/> - <plugin id="org.eclipse.ui.console"/> - <plugin id="org.eclipse.ui.editors"/> - <plugin id="org.eclipse.ui.forms"/> - <plugin id="org.eclipse.ui.ide"/> - <plugin id="org.eclipse.ui.navigator"/> - <plugin id="org.eclipse.ui.navigator.resources"/> - <plugin id="org.eclipse.ui.views"/> - <plugin id="org.eclipse.ui.views.properties.tabbed"/> - <plugin id="org.eclipse.ui.workbench"/> - <plugin id="org.eclipse.ui.workbench.texteditor"/> - <plugin id="org.eclipse.update.configurator"/> - <plugin id="org.eclipse.viatra.addon.databinding.runtime"/> - <plugin id="org.eclipse.viatra.query.application"/> - <plugin id="org.eclipse.viatra.query.application.queries"/> - <plugin id="org.eclipse.viatra.query.patternlanguage"/> - <plugin id="org.eclipse.viatra.query.patternlanguage.emf"/> - <plugin id="org.eclipse.viatra.query.runtime"/> - <plugin id="org.eclipse.viatra.query.runtime.base"/> - <plugin id="org.eclipse.viatra.query.runtime.base.itc"/> - <plugin id="org.eclipse.viatra.query.runtime.matchers"/> - <plugin id="org.eclipse.viatra.query.runtime.rete"/> - <plugin id="org.eclipse.viatra.query.runtime.rete.recipes"/> - <plugin id="org.eclipse.viatra.query.tooling.core"/> - <plugin id="org.eclipse.viatra.query.tooling.generator.model"/> - <plugin id="org.eclipse.viatra.transformation.evm"/> - <plugin id="org.eclipse.xtend.lib"/> - <plugin id="org.eclipse.xtend.lib.macro"/> - <plugin id="org.eclipse.xtext"/> - <plugin id="org.eclipse.xtext.builder"/> - <plugin id="org.eclipse.xtext.common.types"/> - <plugin id="org.eclipse.xtext.common.types.ui"/> - <plugin id="org.eclipse.xtext.ide"/> - <plugin id="org.eclipse.xtext.logging" fragment="true"/> - <plugin id="org.eclipse.xtext.smap"/> - <plugin id="org.eclipse.xtext.ui"/> - <plugin id="org.eclipse.xtext.util"/> - <plugin id="org.eclipse.xtext.xbase"/> - <plugin id="org.eclipse.xtext.xbase.lib"/> - <plugin id="org.objectweb.asm"/> - <plugin id="org.sat4j.core"/> - <plugin id="org.sat4j.pb"/> - <plugin id="org.tukaani.xz"/> - <plugin id="org.w3c.css.sac"/> - <plugin id="org.w3c.dom.events"/> - <plugin id="org.w3c.dom.smil"/> - <plugin id="org.w3c.dom.svg"/> - </plugins> - - -</product> diff --git a/examples/headless/org.eclipse.viatra.query.application/incquery-specific.product b/examples/headless/org.eclipse.viatra.query.application/incquery-specific.product deleted file mode 100644 index 6bd024932..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/incquery-specific.product +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?pde version="3.5"?> - -<product name="Example Headless VIATRA Query Application (Using Specific Generated API)" uid="org.eclipse.viatra.query.application.specific" id="viatra.query.specific" application="org.eclipse.viatra.query.application.app.patternspecific" version="1.2.0.qualifier" useFeatures="false" includeLaunchers="true"> - - <configIni use="default"> - </configIni> - - <launcherArgs> - <programArgs>--launcher.XX:MaxPermSize=768m ---launcher.XX:+UseParallelGC ---launcher.XX:PermSize=256m --consolelog - </programArgs> - <vmArgs>-Xms200m --Xmx1584m --Declipse.log.backup.max=100 --Declipse.log.size.max=0 - </vmArgs> - <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts - </vmArgsMac> - </launcherArgs> - - <windowImages/> - - <launcher> - <solaris/> - <win useIco="false"> - <bmp/> - </win> - </launcher> - - <vm> - </vm> - - <plugins> - <plugin id="com.google.guava"/> - <plugin id="com.google.inject"/> - <plugin id="com.google.inject.multibindings" fragment="true"/> - <plugin id="com.ibm.icu"/> - <plugin id="javax.annotation"/> - <plugin id="javax.inject"/> - <plugin id="javax.xml"/> - <plugin id="org.antlr.runtime"/> - <plugin id="org.apache.batik.css"/> - <plugin id="org.apache.batik.util"/> - <plugin id="org.apache.batik.util.gui"/> - <plugin id="org.apache.commons.jxpath"/> - <plugin id="org.apache.commons.lang"/> - <plugin id="org.apache.log4j"/> - <plugin id="org.eclipse.ant.core"/> - <plugin id="org.eclipse.compare"/> - <plugin id="org.eclipse.compare.core"/> - <plugin id="org.eclipse.core.commands"/> - <plugin id="org.eclipse.core.contenttype"/> - <plugin id="org.eclipse.core.databinding"/> - <plugin id="org.eclipse.core.databinding.observable"/> - <plugin id="org.eclipse.core.databinding.property"/> - <plugin id="org.eclipse.core.expressions"/> - <plugin id="org.eclipse.core.filebuffers"/> - <plugin id="org.eclipse.core.filesystem"/> - <plugin id="org.eclipse.core.filesystem.java7" fragment="true"/> - <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/> - <plugin id="org.eclipse.core.jobs"/> - <plugin id="org.eclipse.core.resources"/> - <plugin id="org.eclipse.core.runtime"/> - <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> - <plugin id="org.eclipse.core.variables"/> - <plugin id="org.eclipse.debug.core"/> - <plugin id="org.eclipse.debug.ui"/> - <plugin id="org.eclipse.e4.core.commands"/> - <plugin id="org.eclipse.e4.core.contexts"/> - <plugin id="org.eclipse.e4.core.di"/> - <plugin id="org.eclipse.e4.core.di.annotations"/> - <plugin id="org.eclipse.e4.core.di.extensions"/> - <plugin id="org.eclipse.e4.core.services"/> - <plugin id="org.eclipse.e4.emf.xpath"/> - <plugin id="org.eclipse.e4.ui.bindings"/> - <plugin id="org.eclipse.e4.ui.css.core"/> - <plugin id="org.eclipse.e4.ui.css.swt"/> - <plugin id="org.eclipse.e4.ui.css.swt.theme"/> - <plugin id="org.eclipse.e4.ui.di"/> - <plugin id="org.eclipse.e4.ui.model.workbench"/> - <plugin id="org.eclipse.e4.ui.services"/> - <plugin id="org.eclipse.e4.ui.widgets"/> - <plugin id="org.eclipse.e4.ui.workbench"/> - <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/> - <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/> - <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/> - <plugin id="org.eclipse.e4.ui.workbench.swt"/> - <plugin id="org.eclipse.e4.ui.workbench3"/> - <plugin id="org.eclipse.emf.codegen"/> - <plugin id="org.eclipse.emf.codegen.ecore"/> - <plugin id="org.eclipse.emf.common"/> - <plugin id="org.eclipse.emf.common.ui"/> - <plugin id="org.eclipse.emf.databinding"/> - <plugin id="org.eclipse.emf.ecore"/> - <plugin id="org.eclipse.emf.ecore.change"/> - <plugin id="org.eclipse.emf.ecore.xmi"/> - <plugin id="org.eclipse.emf.edit"/> - <plugin id="org.eclipse.emf.edit.ui"/> - <plugin id="org.eclipse.emf.transaction"/> - <plugin id="org.eclipse.emf.validation"/> - <plugin id="org.eclipse.equinox.app"/> - <plugin id="org.eclipse.equinox.bidi"/> - <plugin id="org.eclipse.equinox.common"/> - <plugin id="org.eclipse.equinox.ds"/> - <plugin id="org.eclipse.equinox.frameworkadmin"/> - <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/> - <plugin id="org.eclipse.equinox.p2.artifact.repository"/> - <plugin id="org.eclipse.equinox.p2.core"/> - <plugin id="org.eclipse.equinox.p2.director"/> - <plugin id="org.eclipse.equinox.p2.director.app"/> - <plugin id="org.eclipse.equinox.p2.engine"/> - <plugin id="org.eclipse.equinox.p2.garbagecollector"/> - <plugin id="org.eclipse.equinox.p2.jarprocessor"/> - <plugin id="org.eclipse.equinox.p2.metadata"/> - <plugin id="org.eclipse.equinox.p2.metadata.repository"/> - <plugin id="org.eclipse.equinox.p2.publisher"/> - <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/> - <plugin id="org.eclipse.equinox.p2.repository"/> - <plugin id="org.eclipse.equinox.p2.repository.tools"/> - <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/> - <plugin id="org.eclipse.equinox.preferences"/> - <plugin id="org.eclipse.equinox.registry"/> - <plugin id="org.eclipse.equinox.security"/> - <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/> - <plugin id="org.eclipse.equinox.simpleconfigurator"/> - <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/> - <plugin id="org.eclipse.equinox.util"/> - <plugin id="org.eclipse.help"/> - <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/> - <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/> - <plugin id="org.eclipse.jdt.core"/> - <plugin id="org.eclipse.jdt.core.manipulation"/> - <plugin id="org.eclipse.jdt.debug"/> - <plugin id="org.eclipse.jdt.launching"/> - <plugin id="org.eclipse.jdt.ui"/> - <plugin id="org.eclipse.jface"/> - <plugin id="org.eclipse.jface.databinding"/> - <plugin id="org.eclipse.jface.text"/> - <plugin id="org.eclipse.ltk.core.refactoring"/> - <plugin id="org.eclipse.ltk.ui.refactoring"/> - <plugin id="org.eclipse.osgi"/> - <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/> - <plugin id="org.eclipse.osgi.services"/> - <plugin id="org.eclipse.pde.build"/> - <plugin id="org.eclipse.pde.core"/> - <plugin id="org.eclipse.search"/> - <plugin id="org.eclipse.swt"/> - <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/> - <plugin id="org.eclipse.team.core"/> - <plugin id="org.eclipse.team.ui"/> - <plugin id="org.eclipse.text"/> - <plugin id="org.eclipse.ui"/> - <plugin id="org.eclipse.ui.cocoa" fragment="true"/> - <plugin id="org.eclipse.ui.console"/> - <plugin id="org.eclipse.ui.editors"/> - <plugin id="org.eclipse.ui.forms"/> - <plugin id="org.eclipse.ui.ide"/> - <plugin id="org.eclipse.ui.navigator"/> - <plugin id="org.eclipse.ui.navigator.resources"/> - <plugin id="org.eclipse.ui.views"/> - <plugin id="org.eclipse.ui.views.properties.tabbed"/> - <plugin id="org.eclipse.ui.workbench"/> - <plugin id="org.eclipse.ui.workbench.texteditor"/> - <plugin id="org.eclipse.update.configurator"/> - <plugin id="org.eclipse.viatra.addon.databinding.runtime"/> - <plugin id="org.eclipse.viatra.query.application"/> - <plugin id="org.eclipse.viatra.query.application.queries"/> - <plugin id="org.eclipse.viatra.query.patternlanguage"/> - <plugin id="org.eclipse.viatra.query.patternlanguage.emf"/> - <plugin id="org.eclipse.viatra.query.runtime"/> - <plugin id="org.eclipse.viatra.query.runtime.base"/> - <plugin id="org.eclipse.viatra.query.runtime.base.itc"/> - <plugin id="org.eclipse.viatra.query.runtime.matchers"/> - <plugin id="org.eclipse.viatra.query.runtime.rete"/> - <plugin id="org.eclipse.viatra.query.runtime.rete.recipes"/> - <plugin id="org.eclipse.viatra.query.tooling.core"/> - <plugin id="org.eclipse.viatra.query.tooling.generator.model"/> - <plugin id="org.eclipse.viatra.transformation.evm"/> - <plugin id="org.eclipse.xtend.lib"/> - <plugin id="org.eclipse.xtend.lib.macro"/> - <plugin id="org.eclipse.xtext"/> - <plugin id="org.eclipse.xtext.builder"/> - <plugin id="org.eclipse.xtext.common.types"/> - <plugin id="org.eclipse.xtext.common.types.ui"/> - <plugin id="org.eclipse.xtext.ide"/> - <plugin id="org.eclipse.xtext.logging" fragment="true"/> - <plugin id="org.eclipse.xtext.smap"/> - <plugin id="org.eclipse.xtext.ui"/> - <plugin id="org.eclipse.xtext.util"/> - <plugin id="org.eclipse.xtext.xbase"/> - <plugin id="org.eclipse.xtext.xbase.lib"/> - <plugin id="org.objectweb.asm"/> - <plugin id="org.sat4j.core"/> - <plugin id="org.sat4j.pb"/> - <plugin id="org.tukaani.xz"/> - <plugin id="org.w3c.css.sac"/> - <plugin id="org.w3c.dom.events"/> - <plugin id="org.w3c.dom.smil"/> - <plugin id="org.w3c.dom.svg"/> - </plugins> - - -</product> diff --git a/examples/headless/org.eclipse.viatra.query.application/plugin.xml b/examples/headless/org.eclipse.viatra.query.application/plugin.xml deleted file mode 100644 index 43f5c6948..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/plugin.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- id="org.eclipse.viatra.query.application.app.generic"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="singleton-global"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.viatra.query.application.generic.GenericEclipseViatraQueryApplication">
- </run>
- </application>
- </extension>
- <extension
- id="org.eclipse.viatra.query.application.app.patternspecific"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="singleton-global"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.viatra.query.application.patternspecific.PatternSpecificEclipseViatraQueryApplication">
- </run>
- </application>
- </extension>
- <extension
- id="viatra.query.generic"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.viatra.query.application.app.generic"
- name="Generic VIATRA Query Application">
- <property
- name="appName"
- value="Generic VIATRA Query Application">
- </property>
- </product>
- </extension>
- <extension
- id="viatra.query.specific"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.viatra.query.application.app.patternspecific"
- name="PatternSpecific VIATRA Query Application">
- <property
- name="appName"
- value="PatternSpecific VIATRA Query Application">
- </property>
- </product>
- </extension>
-
-</plugin>
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/DefaultRealm.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/DefaultRealm.java deleted file mode 100644 index 900eace7c..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/DefaultRealm.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.eclipse.viatra.query.application.common; - -import org.eclipse.core.databinding.observable.Realm; - -/** - * Simple realm implementation that will set itself as default when constructed. Invoke - * {@link #dispose()} to remove the realm from being the default. Does not support asyncExec(...). - * - * Original source: http://wiki.eclipse.org/JFace_Data_Binding/Realm - */ -public class DefaultRealm extends Realm { - private Realm previousRealm; - - public DefaultRealm() { - previousRealm = super.setDefault(this); - } - - /** - * @return always returns true - */ - public boolean isCurrent() { - return true; - } - - protected void syncExec(Runnable runnable) { - runnable.run(); - } - - /** - * @throws UnsupportedOperationException - */ - public void asyncExec(Runnable runnable) { - throw new UnsupportedOperationException("asyncExec is unsupported"); - } - - /** - * Removes the realm from being the current and sets the previous realm to the default. - */ - public void dispose() { - if (getDefault() == this) { - setDefault(previousRealm); - } - } -} - diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadless.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadless.java deleted file mode 100644 index a01b0fe02..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadless.java +++ /dev/null @@ -1,259 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 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
- * Istvan Rath - refactorings to accommodate to generic/patternspecific API differences
- *******************************************************************************/
-package org.eclipse.viatra.query.application.common;
-
-
-import java.util.Collection;
-
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.core.databinding.observable.set.ISetChangeListener;
-import org.eclipse.core.databinding.observable.set.SetChangeEvent;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.viatra.addon.databinding.runtime.api.ViatraObservables;
-import org.eclipse.viatra.query.application.queries.EClassNamesMatcher;
-import org.eclipse.viatra.query.application.queries.EObjectMatch;
-import org.eclipse.viatra.query.application.queries.EObjectMatcher;
-import org.eclipse.viatra.query.application.queries.EPackageMatch;
-import org.eclipse.viatra.query.application.queries.EPackageMatcher;
-import org.eclipse.viatra.query.application.queries.HeadlessQueries;
-import org.eclipse.viatra.query.application.queries.util.EClassNamesProcessor;
-import org.eclipse.viatra.query.application.queries.util.EObjectProcessor;
-import org.eclipse.viatra.query.application.queries.util.EPackageProcessor;
-import org.eclipse.viatra.query.runtime.api.IPatternMatch;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
-import org.eclipse.viatra.query.runtime.emf.EMFScope;
-import org.eclipse.viatra.query.runtime.exception.ViatraQueryException;
-
-/**
- * @author Abel Hegedus
- * @author Istvan Rath
- *
- */
-public class ViatraQueryHeadless {
-
- protected Resource loadModel(String modelPath) {
- URI fileURI = URI.createFileURI(modelPath);
- return loadModel(fileURI);
- }
-
- protected Resource loadModel(URI fileURI) {
- // Loads the resource
- ResourceSet resourceSet = new ResourceSetImpl();
- Resource resource = resourceSet.getResource(fileURI, true);
- return resource;
- }
-
- protected void prettyPrintMatches(StringBuilder results, Collection<? extends IPatternMatch> matches) {
- for (IPatternMatch match : matches) {
- results.append(match.prettyPrint()+"; ");
- }
- if(matches.size() == 0) {
- results.append("Empty match set");
- }
- results.append("\n");
- }
-
-
- public String executeDemo(String modelPath) {
- final StringBuilder results = new StringBuilder();
- Resource resource = loadModel(modelPath);
- if (resource != null) {
- try {
- // get all matches of the pattern
- // initialization
- // phase 1: (managed) ViatraQueryEngine
- ViatraQueryEngine engine = ViatraQueryEngine.on(new EMFScope(resource));
- // phase 2: the matcher itself
- EObjectMatcher matcher = EObjectMatcher.on(engine);
- // get all matches of the pattern
- Collection<EObjectMatch> matches = matcher.getAllMatches();
- prettyPrintMatches(results, matches);
- // using a match processor
- matcher.forEachMatch(new EObjectProcessor() {
- @Override
- public void process(EObject o) {
- results.append("\tEObject: " + o.toString() + "\n");
- }
- });
- // matching with partially bound input parameters
- // a new matcher initialization will trigger a new traversal of the model
- // unless you use pattern groups, see executePatternSpecific_PatternGroups below
- EClassNamesMatcher matcher2 = EClassNamesMatcher.on(engine);
- // defining an input mask by binding "name" to "A" ->
- matcher2.forEachMatch( matcher2.newMatch(null, "A") , new EClassNamesProcessor() {
- @Override
- public void process(EClass c, String n) {
- results.append("\tEClass with name A: " + c.toString() + "\n");
- }
- });
- } catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
- public String executeDemo_PatternGroups(String modelPath) {
- final StringBuilder results = new StringBuilder();
- Resource resource = loadModel(modelPath);
- if (resource != null) {
- try {
- // initialization
- // phase 1: (managed) ViatraQueryEngine
- ViatraQueryEngine engine = ViatraQueryEngine.on(new EMFScope(resource));
- // phase 2: the group of pattern matchers
- HeadlessQueries patternGroup = HeadlessQueries.instance();
- patternGroup.prepare(engine);
- // from here on everything is the same
- EObjectMatcher matcher = EObjectMatcher.on(engine);
- // get all matches of the pattern
- Collection<EObjectMatch> matches = matcher.getAllMatches();
- prettyPrintMatches(results, matches);
- // using a match processor
- matcher.forEachMatch(new EObjectProcessor() {
- @Override
- public void process(EObject o) {
- results.append("\tEObject: " + o.toString() + "\n");
- }
- });
- // matching with partially bound input parameters
- // because EClassNamesMatcher is included in the patterngroup, *no new traversal* will be done here
- EClassNamesMatcher matcher2 = EClassNamesMatcher.on(engine);
- // defining an input mask by binding "name" to "A" ->
- matcher2.forEachMatch(null, "A" , new EClassNamesProcessor() {
- @Override
- public void process(EClass c, String n) {
- results.append("\tEClass with name A: " + c.toString() + "\n");
- }
- });
- // projections
- for (EClass ec: matcher2.getAllValuesOfc(matcher2.newMatch(null,"A")))
- {
- results.append("\tEClass with name A: " + ec.toString() + "\n");
- }
- } catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
- // incrementally track changes
-
- protected void performModelModification(Resource res) {
- // somewhat brittle code, assumes there is a root EPackage in the Resource
- EPackage rootPackage = (EPackage)res.getContents().get(0);
- // add a new EPackage
- EPackage newPackage = EcoreFactory.eINSTANCE.createEPackage();
- newPackage.setName("NewPackage");
- rootPackage.getESubpackages().add(newPackage);
- }
-
- public String executeTrackChangesDemo(String modelPath)
- {
- final StringBuilder results = new StringBuilder();
- Resource resource = loadModel(modelPath);
- if (resource != null) {
- try {
- // initialization
- // phase 1: (managed) ViatraQueryEngine
- ViatraQueryEngine engine = ViatraQueryEngine.on(new EMFScope(resource));
- // phase 2: pattern matcher for packages
- EPackageMatcher matcher = EPackageMatcher.on(engine);
- matcher.forEachMatch(new EPackageProcessor() {
- @Override
- public void process(EPackage p) {
- results.append("\tEPackage before modification: " + p.getName()+"\n");
- }
- });
- // phase 3: prepare for change processing
- changeProcessing_databinding(results, matcher);
- // phase 4: modify model, change processor will update results accordingly
- performModelModification(resource);
- }
- catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
-
-
- private void changeProcessing_databinding(final StringBuilder results, ViatraQueryMatcher<?> matcher) {
- // (+) changes can also be tracked using JFace Databinding
- // this approach provides good performance, as the observable callbacks are guaranteed to be called
- // in a consistent state, and only when there is a relevant change; anything
- // can be written into the callback method
- // (-) * the databinding API introduces additional dependencies
- // * is does not support generics, hence typesafe programming is not possible
- // * a "Realm" needs to be set up for headless execution
- DefaultRealm realm = new DefaultRealm();
- IObservableSet set = ViatraObservables.observeMatchesAsSet(matcher);
-
- set.addSetChangeListener(new ISetChangeListener() {
- @Override
- public void handleSetChange(SetChangeEvent event) {
- for (Object _o : event.diff.getAdditions()) {
- if (_o instanceof EPackageMatch) {
- results.append("\tNew EPackage found by changeset databinding: " + ((EPackageMatch)_o).getP().getName()+"\n");
- }
- }
- for (Object _o : event.diff.getRemovals()) {
- // left empty
- }
- }
- });
-
- /* the same could also be done with a list:
- IObservableList list = ViatraObservables.observeMatchesAsList(factory, engine);
- list.addListChangeListener(new IListChangeListener() {
-
- @Override
- public void handleListChange(ListChangeEvent event) {
- for (ListDiffEntry lde : event.diff.getDifferences())
- {
- if (lde.isAddition()) {
- Object _o = lde.getElement();
- if (_o instanceof EPackageMatch) {
- results.append("\tNew EPackage found by changeset databinding: " + ((EPackageMatch)_o).getP().getName()+"\n");
- }
- }
- else {
- // left emptry
- }
- }
- }
- });
- */
- }
-
-
-
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessAdvanced.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessAdvanced.java deleted file mode 100644 index ab7113996..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessAdvanced.java +++ /dev/null @@ -1,179 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 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
- * Istvan Rath - refactorings to accommodate to generic/patternspecific API differences
- *******************************************************************************/
-package org.eclipse.viatra.query.application.common;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup;
-import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel;
-import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder;
-import org.eclipse.viatra.query.patternlanguage.helper.CorePatternLanguageHelper;
-import org.eclipse.viatra.query.patternlanguage.patternLanguage.Pattern;
-import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine;
-import org.eclipse.viatra.query.runtime.api.IMatchProcessor;
-import org.eclipse.viatra.query.runtime.api.IMatchUpdateListener;
-import org.eclipse.viatra.query.runtime.api.IPatternMatch;
-import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
-import org.eclipse.viatra.query.runtime.emf.EMFScope;
-import org.eclipse.viatra.query.runtime.exception.ViatraQueryException;
-import org.eclipse.viatra.query.runtime.extensibility.QuerySpecificationRegistry;
-
-/**
- * @author Abel Hegedus
- * @author Istvan Rath
- *
- */
-public class ViatraQueryHeadlessAdvanced extends ViatraQueryHeadless {
-
- /**
- * Returns the match set for patternFQN over the model in modelPath in pretty printed form
- *
- * @param modelPath
- * @param patternFQN
- * @return
- */
- public String executeDemo_GenericAPI_LoadFromVQL(URI modelURI, URI fileURI, String patternFQN) {
- final StringBuilder results = new StringBuilder();
- Resource resource = loadModel(modelURI);
- if (resource != null) {
- try {
- // get all matches of the pattern
- // create an *unmanaged* engine to ensure that noone else is going
- // to use our engine
- AdvancedViatraQueryEngine engine = AdvancedViatraQueryEngine.createUnmanagedEngine(new EMFScope(resource));
- // instantiate a pattern matcher through the registry, by only knowing its FQN
- // assuming that there is a pattern definition registered matching 'patternFQN'
-
- Pattern p = null;
-
- // Initializing Xtext-based resource parser
- new EMFPatternLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
-
- //Loading pattern resource from file
- ResourceSet resourceSet = new ResourceSetImpl();
-
- Resource patternResource = resourceSet.getResource(fileURI, true);
-
- // navigate to the pattern definition that we want
- if (patternResource != null) {
- if (patternResource.getErrors().size() == 0 && patternResource.getContents().size() >= 1) {
- EObject topElement = patternResource.getContents().get(0);
- if (topElement instanceof PatternModel) {
- for (Pattern _p : ((PatternModel) topElement).getPatterns()) {
- if (patternFQN.equals(CorePatternLanguageHelper.getFullyQualifiedName(_p))) {
- p = _p; break;
- }
- }
- }
- }
- }
- if (p == null) {
- throw new RuntimeException(String.format("Pattern %s not found", patternFQN));
- }
- SpecificationBuilder builder = new SpecificationBuilder();
- final IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> specification = builder.getOrCreateSpecification(p);
- QuerySpecificationRegistry.registerQuerySpecification(specification);
-
- // Initialize matcher from specification
- ViatraQueryMatcher<? extends IPatternMatch> matcher = engine.getMatcher(specification);
-
- if (matcher!=null) {
- Collection<? extends IPatternMatch> matches = matcher.getAllMatches();
- prettyPrintMatches(results, matches);
- }
-
- // wipe the engine
- engine.wipe();
- // after a wipe, new patterns can be rebuilt with much less overhead than
- // complete traversal (as the base indexes will be kept)
-
- // completely dispose of the engine once's it is not needed
- engine.dispose();
- resource.unload();
- } catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
-
- // incrementally track changes
-
-
- public String executeTrackChangesDemo_Advanced(URI modelURI, String patternFQN)
- {
- final StringBuilder results = new StringBuilder();
- Resource resource = loadModel(modelURI);
- if (resource != null) {
- try {
- // initialization
- // phase 1: (managed) ViatraQueryEngine
- AdvancedViatraQueryEngine engine = AdvancedViatraQueryEngine.createUnmanagedEngine(new EMFScope(resource));
- // phase 2: pattern matcher for packages
- ViatraQueryMatcher<? extends IPatternMatch> matcher = QuerySpecificationRegistry.getQuerySpecification(patternFQN).getMatcher(engine);
- matcher.forEachMatch(new IMatchProcessor<IPatternMatch>() {
- @Override
- public void process(IPatternMatch match) {
- results.append("\tMatch before modification: " + match.prettyPrint()+"\n");
- }
- });
- // phase 3: prepare for advanced change processing
- changeProcessing_lowlevel(results, matcher, engine);
- // phase 4: modify model, change processor will update results accordingly
- performModelModification(resource);
- }
- catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
- private void changeProcessing_lowlevel(final StringBuilder results,
- ViatraQueryMatcher<? extends IPatternMatch> matcher,
- AdvancedViatraQueryEngine engine) {
- // (+) these update callbacks are called whenever there is an actual change in the
- // result set of the pattern you are interested in. Hence, they are called fewer times
- // than the "afterUpdates" option, giving better performance.
- // (-) the downside is that the callbacks are *not* guaranteed to be called in a consistent
- // state (i.e. when the update propagation is settled), hence
- // * you must not invoke pattern matching and model manipulation _inside_ the callback method
- // * the callbacks might encounter "hazards", i.e. when an appearance is followed immediately by a disappearance.
- engine.addMatchUpdateListener(matcher, new IMatchUpdateListener<IPatternMatch>() {
- @Override
- public void notifyDisappearance(IPatternMatch match) {
- // left empty
- }
- @Override
- public void notifyAppearance(IPatternMatch match) {
- results.append("\tNew match found by changeset low level callback: " + match.prettyPrint()+"\n");
- }
- }, false);
- }
-
-
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessBenchmark.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessBenchmark.java deleted file mode 100644 index f88dd1ca7..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/common/ViatraQueryHeadlessBenchmark.java +++ /dev/null @@ -1,158 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 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
- * Istvan Rath - refactorings to accommodate to generic/patternspecific API differences
- *******************************************************************************/
-package org.eclipse.viatra.query.application.common;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.viatra.query.application.queries.EObjectMatch;
-import org.eclipse.viatra.query.application.queries.EObjectMatcher;
-import org.eclipse.viatra.query.runtime.api.IPatternMatch;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineManager;
-import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
-import org.eclipse.viatra.query.runtime.emf.EMFScope;
-import org.eclipse.viatra.query.runtime.exception.ViatraQueryException;
-import org.eclipse.viatra.query.runtime.extensibility.QuerySpecificationRegistry;
-
-/**
- * @author Abel Hegedus
- * @author Istvan Rath
- *
- */
-public class ViatraQueryHeadlessBenchmark {
-
- private Resource loadModel(String modelPath) {
- // Loads the resource
- long start = System.nanoTime();
- ResourceSet resourceSet = new ResourceSetImpl();
- URI fileURI = URI.createFileURI(modelPath);
- Resource resource = resourceSet.getResource(fileURI, true);
-
- long resourceInit = System.nanoTime();
- System.out.println("EMF load took: " + (resourceInit - start) / 1000000 + " ms");
-
- return resource;
- }
-
-
- private void prettyPrintMatches(StringBuilder results, Collection<? extends IPatternMatch> matches) {
- System.out.println("Found matches:");
- for (IPatternMatch match : matches) {
- System.out.println(match.prettyPrint());
- results.append(match.prettyPrint());
- }
-
- if(matches.size() == 0) {
- results.append("Empty match set");
- }
- }
-
- private void measureMemory(StringBuilder results) {
- System.gc();
- System.gc();
- System.gc();
- System.gc();
- System.gc();
-
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- long usedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
- System.out.println("Used memory: " + usedMemory + " bytes");
- System.out.println("Used memory: " + (usedMemory / 1024) / 1024 + " megabytes");
-
-
- }
-
- public String executePatternSpecificBenchmark(String modelPath) {
- StringBuilder results = new StringBuilder();
-
- Resource resource = loadModel(modelPath);
-
- if (resource != null) {
- try {
- // get all matches of the pattern
- long startMatching = System.nanoTime();
- ViatraQueryEngine engine = ViatraQueryEngineManager.getInstance().getQueryEngine(new EMFScope(resource));
- EObjectMatcher matcher = EObjectMatcher.on(engine);
- long matcherInit = System.nanoTime();
- Collection<EObjectMatch> matches = matcher.getAllMatches();
- long collectedMatches = System.nanoTime();
- System.out.println(
- "Init took: " + (matcherInit - startMatching) / 1000000 + " Collecting took: "
- + (collectedMatches - matcherInit) / 1000000 + " ms");
- measureMemory(results);
- prettyPrintMatches(results, matches);
-
- } catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
- /**
- * Returns the match set for patternFQN over the model in modelPath in pretty printed form
- *
- * @param modelPath
- * @param patternFQN
- * @return
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public String executeGenericBenchmark(String modelPath, String patternFQN) {
- StringBuilder results = new StringBuilder();
-
- Resource resource = loadModel(modelPath);
-
- if (resource != null) {
- try {
- long startMatching = System.nanoTime();
- ViatraQueryEngine engine = ViatraQueryEngineManager.getInstance().getQueryEngine(new EMFScope(resource));
- ViatraQueryMatcher matcher = QuerySpecificationRegistry.getQuerySpecification(patternFQN).getMatcher(engine);
- long matcherInit = System.nanoTime();
- // assuming that there is a pattern definition registered matching 'patternFQN'
- if (matcher!=null) {
- Collection<IPatternMatch> matches = matcher.getAllMatches();
- prettyPrintMatches(results, matches);
- // get all matches of the pattern
- long collectedMatches = System.nanoTime();
- System.out.println(
- "Init took: " + (matcherInit - startMatching) / 1000000 + " Collecting took: "
- + (collectedMatches - matcherInit) / 1000000 + " ms");
- measureMemory(results);
- prettyPrintMatches(results, matches);
- }
- } catch (ViatraQueryException e) {
- e.printStackTrace();
- results.append(e.getMessage());
- }
- } else {
- results.append("Resource not found");
- }
- return results.toString();
- }
-
-
-
-
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericEclipseViatraQueryApplication.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericEclipseViatraQueryApplication.java deleted file mode 100644 index a7d5ffe65..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericEclipseViatraQueryApplication.java +++ /dev/null @@ -1,86 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 Abel Hegedus 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.query.application.generic;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.viatra.query.application.common.ViatraQueryHeadlessAdvanced;
-
-/**
- * @author Abel Hegedus
- *
- */
-public class GenericEclipseViatraQueryApplication implements IApplication {
-
- private static String modelParam = "-m";
- private static String patternParam = "-p";
-
-
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
-
- Map<String, Object> arguments = context.getArguments();
- String[] args = (String[]) arguments.get("application.args");
- String model = null;
- String patternFQN = null;
- if (args == null || args.length == 0) {
- displayHelp();
- return IApplication.EXIT_OK;
- }
- int i = 0;
- while (i < args.length) {
- if (args[i].equals(modelParam)) {
- model = args[i + 1];
- i += 2;
- continue;
- }
- if (args[i].equals(patternParam)) {
- patternFQN = args[i + 1];
- i += 2;
- continue;
- } else {
- i++;
- continue;
- }
- }
-
- if (model == null) {
- System.out.println("Model parameter not set");
- displayHelp();
- return IApplication.EXIT_OK;
- }
- if (patternFQN == null) {
- System.out.println("PatternFQN parameter not set");
- displayHelp();
- return IApplication.EXIT_OK;
- }
-
- ViatraQueryHeadlessAdvanced hla = new ViatraQueryHeadlessAdvanced();
-// System.out.println(hla.executeDemo_GenericAPI(model, patternFQN));
- URI fileURI = URI.createPlatformPluginURI("org.eclipse.viatra.query.application.queries/src/org/eclipse/viatra/query/application/queries/headlessQueries.vql", false);
- URI modelURI = URI.createFileURI(model);
- System.out.println(hla.executeDemo_GenericAPI_LoadFromVQL(modelURI, fileURI, patternFQN));
- System.out.println(hla.executeTrackChangesDemo_Advanced(modelURI, patternFQN));
-
- return IApplication.EXIT_OK;
- }
-
- @Override
- public void stop() {}
-
- private void displayHelp() {
- System.out.println("Usage:\n<call> -m <modelFilePAth> -p <patternFQN>\n -m : Required, the model to match on.\n -p : Required, the pattern fqn to match");
- }
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericViatraQueryApplication.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericViatraQueryApplication.java deleted file mode 100644 index f93336460..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/generic/GenericViatraQueryApplication.java +++ /dev/null @@ -1,89 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 Abel Hegedus 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.query.application.generic;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
-import org.eclipse.viatra.query.application.common.ViatraQueryHeadlessAdvanced;
-
-/**
- * @author Abel Hegedus
- *
- */
-public class GenericViatraQueryApplication {
-
- private static String modelParam = "-m";
- private static String patternParam = "-p";
- private static String eiqFileParam = "-e";
-
-
- public static void main(String[] args) {
- String model = null;
- String eiqFile = null;
- String patternFQN = null;
- if (args == null || args.length == 0) {
- displayHelp();
- return;
- }
- int i = 0;
- while (i < args.length) {
- if (args[i].equals(modelParam)) {
- model = args[i + 1];
- i += 2;
- continue;
- } else if (args[i].equals(patternParam)) {
- patternFQN = args[i + 1];
- i += 2;
- continue;
- } else if (args[i].equals(eiqFileParam)) {
- eiqFile = args[i + 1];
- i += 2;
- continue;
- } else {
- i++;
- continue;
- }
- }
-
- if (model == null) {
- System.out.println("Model parameter not set");
- displayHelp();
- return;
- }
- if (patternFQN == null) {
- System.out.println("PatternFQN parameter not set");
- displayHelp();
- return;
- }
- if (eiqFile == null) {
- System.out.println("EIQ file parameter not set");
- displayHelp();
- return;
- }
-
- ViatraQueryHeadlessAdvanced hla = new ViatraQueryHeadlessAdvanced();
- // Initializing metamodel
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
- URI fileURI = URI.createFileURI(eiqFile);
- URI modelURI = URI.createFileURI(model);
- System.out.println(hla.executeDemo_GenericAPI_LoadFromVQL(modelURI, fileURI, patternFQN));
- System.out.println(hla.executeTrackChangesDemo_Advanced(modelURI, patternFQN));
-
- }
-
- private static void displayHelp() {
- System.out.println("Usage:\n<call> -m <modelFilePath> -e <eiqFilePath> -p <patternFQN>");
- System.out.println(" -m : Required, the model to match on.");
- System.out.println(" -e : Required, the pattern definition file (.eiq) to match on.");
- System.out.println(" -p : Required, the pattern fqn to match");
- }
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificEclipseViatraQueryApplication.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificEclipseViatraQueryApplication.java deleted file mode 100644 index 09e5dc139..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificEclipseViatraQueryApplication.java +++ /dev/null @@ -1,76 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 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
- * Istvan Rath - modifications for pattern-specific API demonstration
- *******************************************************************************/
-package org.eclipse.viatra.query.application.patternspecific;
-
-import java.util.Map;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.viatra.query.application.common.ViatraQueryHeadless;
-
-/**
- * @author Abel Hegedus
- * @author Istvan Rath
- *
- */
-public class PatternSpecificEclipseViatraQueryApplication implements IApplication {
-
- private static String modelParam = "-m";
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
-
- Map<String, Object> arguments = context.getArguments();
- String[] args = (String[]) arguments.get("application.args");
- String model = null;
- if (args == null || args.length == 0) {
- displayHelp();
- return IApplication.EXIT_OK;
- }
- int i = 0;
- while (i < args.length) {
- if (args[i].equals(modelParam)) {
- model = args[i + 1];
- i += 2;
- continue;
- }
- else {
- i++;
- continue;
- }
- }
-
- if (model == null) {
- System.out.println("Model parameter not set");
- displayHelp();
- return IApplication.EXIT_OK;
- }
-
- ViatraQueryHeadless hl = new ViatraQueryHeadless();
- System.out.println(hl.executeDemo(model));
- System.out.println(hl.executeDemo_PatternGroups(model));
- System.out.println(hl.executeTrackChangesDemo(model));
-
-
-
- return IApplication.EXIT_OK;
- }
-
- @Override
- public void stop() {
-
- }
-
- private void displayHelp() {
- System.out.println("Usage:\n<call> -m <modelFilePAth> \n -m : Required, the model to match on.");
- }
-}
diff --git a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificViatraQueryApplication.java b/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificViatraQueryApplication.java deleted file mode 100644 index b64a51299..000000000 --- a/examples/headless/org.eclipse.viatra.query.application/src/org/eclipse/viatra/query/application/patternspecific/PatternSpecificViatraQueryApplication.java +++ /dev/null @@ -1,68 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2004-2011 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
- * Istvan Rath - modifications for pattern-specific API demonstration
- *******************************************************************************/
-package org.eclipse.viatra.query.application.patternspecific;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
-import org.eclipse.viatra.query.application.common.ViatraQueryHeadless;
-
-/**
- * @author Abel Hegedus
- * @author Istvan Rath
- *
- */
-public class PatternSpecificViatraQueryApplication {
-
- private static String modelParam = "-m";
-
- public static void main(String[] args) {
-
- String model = null;
- if (args == null || args.length == 0) {
- displayHelp();
- return;
- }
- int i = 0;
- while (i < args.length) {
- if (args[i].equals(modelParam)) {
- model = args[i + 1];
- i += 2;
- continue;
- }
- else {
- i++;
- continue;
- }
- }
-
- if (model == null) {
- System.out.println("Model parameter not set");
- displayHelp();
- return;
- }
-
- // Initializing metamodel
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
-
- ViatraQueryHeadless hl = new ViatraQueryHeadless();
- System.out.println(hl.executeDemo(model));
- System.out.println(hl.executeDemo_PatternGroups(model));
- System.out.println(hl.executeTrackChangesDemo(model));
-
-
-
- }
-
- private static void displayHelp() {
- System.out.println("Usage:\n<call> -m <modelFilePAth> \n -m : Required, the model to match on.");
- }
-}
|