From 8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Tue, 28 Apr 2020 20:43:04 +0200 Subject: initial commit --- .../.classpath | 26 ++++++++ .../.gitignore | 1 + .../.project | 34 +++++++++++ .../.settings/org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 +++ .../META-INF/MANIFEST.MF | 15 +++++ .../build.properties | 6 ++ .../tests/SolverLanguageInjectorProvider.java | 69 ++++++++++++++++++++++ .../language/tests/SolverLanguageParsingTest.xtend | 30 ++++++++++ .../viatra/solver/language/tests/.gitignore | 3 + 10 files changed, 193 insertions(+) create mode 100644 Application/org.eclipse.viatra.solver.language.tests/.classpath create mode 100644 Application/org.eclipse.viatra.solver.language.tests/.gitignore create mode 100644 Application/org.eclipse.viatra.solver.language.tests/.project create mode 100644 Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.core.resources.prefs create mode 100644 Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.jdt.core.prefs create mode 100644 Application/org.eclipse.viatra.solver.language.tests/META-INF/MANIFEST.MF create mode 100644 Application/org.eclipse.viatra.solver.language.tests/build.properties create mode 100644 Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java create mode 100644 Application/org.eclipse.viatra.solver.language.tests/src/org/eclipse/viatra/solver/language/tests/SolverLanguageParsingTest.xtend create mode 100644 Application/org.eclipse.viatra.solver.language.tests/xtend-gen/org/eclipse/viatra/solver/language/tests/.gitignore (limited to 'Application/org.eclipse.viatra.solver.language.tests') diff --git a/Application/org.eclipse.viatra.solver.language.tests/.classpath b/Application/org.eclipse.viatra.solver.language.tests/.classpath new file mode 100644 index 00000000..5c07a9f3 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/.classpath @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Application/org.eclipse.viatra.solver.language.tests/.gitignore b/Application/org.eclipse.viatra.solver.language.tests/.gitignore new file mode 100644 index 00000000..e75a396d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/.gitignore @@ -0,0 +1 @@ +/test-bin/ diff --git a/Application/org.eclipse.viatra.solver.language.tests/.project b/Application/org.eclipse.viatra.solver.language.tests/.project new file mode 100644 index 00000000..2b8c0538 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/.project @@ -0,0 +1,34 @@ + + + org.eclipse.viatra.solver.language.tests + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.core.resources.prefs b/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..4824b802 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.jdt.core.prefs b/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..295926d9 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Application/org.eclipse.viatra.solver.language.tests/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..5fff5688 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.eclipse.viatra.solver.language.tests +Bundle-ManifestVersion: 2 +Bundle-Name: org.eclipse.viatra.solver.language.tests +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.eclipse.viatra.solver.language.tests; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.viatra.solver.language, + org.junit.jupiter.api;bundle-version="[5.0.0,6.0.0)", + org.eclipse.xtext.testing, + org.eclipse.xtext.xbase.testing, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.eclipse.viatra.solver.language.tests;x-internal=true diff --git a/Application/org.eclipse.viatra.solver.language.tests/build.properties b/Application/org.eclipse.viatra.solver.language.tests/build.properties new file mode 100644 index 00000000..4c654e9b --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java b/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java new file mode 100644 index 00000000..f6f7cc26 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/src-gen/org/eclipse/viatra/solver/language/tests/SolverLanguageInjectorProvider.java @@ -0,0 +1,69 @@ +/* + * generated by Xtext 2.18.0.M3 + */ +package org.eclipse.viatra.solver.language.tests; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import org.eclipse.viatra.solver.language.SolverLanguageRuntimeModule; +import org.eclipse.viatra.solver.language.SolverLanguageStandaloneSetup; +import org.eclipse.xtext.testing.GlobalRegistries; +import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento; +import org.eclipse.xtext.testing.IInjectorProvider; +import org.eclipse.xtext.testing.IRegistryConfigurator; + +public class SolverLanguageInjectorProvider implements IInjectorProvider, IRegistryConfigurator { + + protected GlobalStateMemento stateBeforeInjectorCreation; + protected GlobalStateMemento stateAfterInjectorCreation; + protected Injector injector; + + static { + GlobalRegistries.initializeDefaults(); + } + + @Override + public Injector getInjector() { + if (injector == null) { + this.injector = internalCreateInjector(); + stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); + } + return injector; + } + + protected Injector internalCreateInjector() { + return new SolverLanguageStandaloneSetup() { + @Override + public Injector createInjector() { + return Guice.createInjector(createRuntimeModule()); + } + }.createInjectorAndDoEMFRegistration(); + } + + protected SolverLanguageRuntimeModule createRuntimeModule() { + // make it work also with Maven/Tycho and OSGI + // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=493672 + return new SolverLanguageRuntimeModule() { + @Override + public ClassLoader bindClassLoaderToInstance() { + return SolverLanguageInjectorProvider.class + .getClassLoader(); + } + }; + } + + @Override + public void restoreRegistry() { + stateBeforeInjectorCreation.restoreGlobalState(); + stateBeforeInjectorCreation = null; + } + + @Override + public void setupRegistry() { + stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState(); + if (injector == null) { + getInjector(); + } + stateAfterInjectorCreation.restoreGlobalState(); + } +} diff --git a/Application/org.eclipse.viatra.solver.language.tests/src/org/eclipse/viatra/solver/language/tests/SolverLanguageParsingTest.xtend b/Application/org.eclipse.viatra.solver.language.tests/src/org/eclipse/viatra/solver/language/tests/SolverLanguageParsingTest.xtend new file mode 100644 index 00000000..eb90bf67 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/src/org/eclipse/viatra/solver/language/tests/SolverLanguageParsingTest.xtend @@ -0,0 +1,30 @@ +/* + * generated by Xtext 2.18.0.M3 + */ +package org.eclipse.viatra.solver.language.tests + +import com.google.inject.Inject +import org.eclipse.viatra.solver.language.solverLanguage.Problem +import org.eclipse.xtext.testing.InjectWith +import org.eclipse.xtext.testing.extensions.InjectionExtension +import org.eclipse.xtext.testing.util.ParseHelper +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.^extension.ExtendWith + +@ExtendWith(InjectionExtension) +@InjectWith(SolverLanguageInjectorProvider) +class SolverLanguageParsingTest { + @Inject + ParseHelper parseHelper + + @Test + def void loadModel() { + val result = parseHelper.parse(''' + Hello Xtext! + ''') + Assertions.assertNotNull(result) + val errors = result.eResource.errors + Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') + } +} diff --git a/Application/org.eclipse.viatra.solver.language.tests/xtend-gen/org/eclipse/viatra/solver/language/tests/.gitignore b/Application/org.eclipse.viatra.solver.language.tests/xtend-gen/org/eclipse/viatra/solver/language/tests/.gitignore new file mode 100644 index 00000000..57fc9539 --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.tests/xtend-gen/org/eclipse/viatra/solver/language/tests/.gitignore @@ -0,0 +1,3 @@ +/.SolverLanguageParsingTest.java._trace +/.SolverLanguageParsingTest.xtendbin +/SolverLanguageParsingTest.java -- cgit v1.2.3-54-g00ecf