From 73bb29a6893e606378e6dba9e0be11cbb3259b49 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Wed, 1 Sep 2021 17:13:10 +0200
Subject: [PATCH] update rest of repo, partly using original github repo

- update xtext versions
- use constants for version of most packages
- try to silence "illegal-access"-warning (without success yet)
---
 trainbenchmark/build.gradle                   |  13 +-
 .../trainbenchmark-config/build.gradle        |   4 +-
 .../.classpath                                |  19 +-
 .../trainbenchmark-format-emf-model/.project  |   4 +-
 .../build.gradle                              |  15 +-
 .../generator/emf/EmfSerializer.java          |   6 +-
 .../tinkerpop/TinkerGraphSerializer.java      | 270 +++++++++---------
 .../build.gradle                              |   2 +-
 .../build.gradle                              |   2 +-
 .../build.gradle                              |   2 +-
 .../generator/runner/GeneratorRunner.java     |   2 +-
 .../trainbenchmark-scripts/build.gradle       |   4 +-
 .../inf/st/train/scripts/BenchmarkMain.java   |  22 ++
 .../JastaddAbstractBenchmarkScenario.java     |  22 ++
 .../tasks.gradle                              |   2 +-
 .../.classpath                                |  13 +-
 .../.project                                  |   8 +-
 .../benchmark/driver/Driver.java              |   2 -
 18 files changed, 216 insertions(+), 196 deletions(-)

diff --git a/trainbenchmark/build.gradle b/trainbenchmark/build.gradle
index d9fb6e0f0..8ccc31c4d 100644
--- a/trainbenchmark/build.gradle
+++ b/trainbenchmark/build.gradle
@@ -15,7 +15,7 @@ subprojects {
 
 	artifacts.archives packageSources
 	repositories {
-		jcenter()
+		mavenCentral()
 		maven { url "https://repo.eclipse.org/content/groups/acceleo" }
 		maven { url "https://repo.eclipse.org/content/groups/viatra2" }
 		maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
@@ -27,11 +27,14 @@ subprojects {
 ext {
 	commonsExecVersion = '1.3'
 	commonsIoVersion = '2.5'
+	commonsLangVersion = '2.4'
 	emfVersion = '2.10.0-v20140514-1158'
-	tinkerGraphVersion = '3.2.5'
-	ingraphVersion = '0.1.0'
-	viatraVersion = '1.6.1'
+	guavaVersion = '23.0'
+	jacksonVersion = '2.12.4'
 	junitVersion = '4.12'
-	kryoVersion = '4.0.0'
+	kryoVersion = '4.0.2'
 	slf4jVersion = '1.7.10'
+	tinkerGraphVersion = '3.2.5'
+	viatraVersion = '1.6.1'
+	xtextVersion = '2.23.0'
 }
diff --git a/trainbenchmark/trainbenchmark-config/build.gradle b/trainbenchmark/trainbenchmark-config/build.gradle
index 38091224f..dfb4b9104 100644
--- a/trainbenchmark/trainbenchmark-config/build.gradle
+++ b/trainbenchmark/trainbenchmark-config/build.gradle
@@ -1,5 +1,5 @@
 dependencies {
-  compile group: 'commons-lang', name: 'commons-lang', version:'2.4'
-  compile group: 'com.google.guava', name: 'guava', version: '19.0'
+  compile group: 'commons-lang', name: 'commons-lang', version: commonsLangVersion
+  compile group: 'com.google.guava', name: 'guava', version: guavaVersion
   compile group: 'com.esotericsoftware', name: 'kryo-shaded', version: kryoVersion
 }
diff --git a/trainbenchmark/trainbenchmark-format-emf-model/.classpath b/trainbenchmark/trainbenchmark-format-emf-model/.classpath
index c312f9971..75b43a472 100644
--- a/trainbenchmark/trainbenchmark-format-emf-model/.classpath
+++ b/trainbenchmark/trainbenchmark-format-emf-model/.classpath
@@ -1,22 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src">
-		<attributes>
-			<attribute name="FROM_GRADLE_MODEL" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="build/xcore/main">
-		<attributes>
-			<attribute name="FROM_GRADLE_MODEL" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="xtend-gen">
-		<attributes>
-			<attribute name="FROM_GRADLE_MODEL" value="true"/>
-		</attributes>
-	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="build/xcore/main"/>
+	<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.8/"/>
 	<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/trainbenchmark/trainbenchmark-format-emf-model/.project b/trainbenchmark/trainbenchmark-format-emf-model/.project
index 5f0e21703..ca689c7aa 100644
--- a/trainbenchmark/trainbenchmark-format-emf-model/.project
+++ b/trainbenchmark/trainbenchmark-format-emf-model/.project
@@ -6,12 +6,12 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
diff --git a/trainbenchmark/trainbenchmark-format-emf-model/build.gradle b/trainbenchmark/trainbenchmark-format-emf-model/build.gradle
index 9fc746092..f001f8e8d 100644
--- a/trainbenchmark/trainbenchmark-format-emf-model/build.gradle
+++ b/trainbenchmark/trainbenchmark-format-emf-model/build.gradle
@@ -1,18 +1,11 @@
 plugins {
-    id "org.xtext.builder" version "1.0.0"
+    id "org.xtext.builder" version "2.0.8"
+	id 'java'
 }
 
 apply plugin: 'org.xtext.xtend'
 apply from: "${rootDir}/gradle/source-layout-xcore.gradle"
 
-ext {
-	xtextVersion = '2.13.0'
-}
-
- configurations.all {
-   resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
- }
-
 dependencies {
 	compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
 	compile 'org.eclipse.emf:org.eclipse.emf.ecore.xcore.lib:+'
@@ -33,6 +26,10 @@ sourceSets {
 	}
 }
 
+configurations.all {
+	resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
+}
+
 xtext {
 	version = "${xtextVersion}"
 	languages {
diff --git a/trainbenchmark/trainbenchmark-generator-emf/src/main/java/hu/bme/mit/trainbenchmark/generator/emf/EmfSerializer.java b/trainbenchmark/trainbenchmark-generator-emf/src/main/java/hu/bme/mit/trainbenchmark/generator/emf/EmfSerializer.java
index 925d8f8d4..26577d761 100644
--- a/trainbenchmark/trainbenchmark-generator-emf/src/main/java/hu/bme/mit/trainbenchmark/generator/emf/EmfSerializer.java
+++ b/trainbenchmark/trainbenchmark-generator-emf/src/main/java/hu/bme/mit/trainbenchmark/generator/emf/EmfSerializer.java
@@ -85,7 +85,7 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> {
 		final RailwayElement railwayElement = (RailwayElement) RailwayFactory.eINSTANCE.create(clazz);
 		railwayElement.setId(id);
 		for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
-			setAttribute(clazz, railwayElement, attribute.getKey(), attribute.getValue());
+			setEmfAttribute(clazz, railwayElement, attribute.getKey(), attribute.getValue());
 		}
 
 		switch (type) {
@@ -128,10 +128,10 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> {
 	public void setAttribute(final String type, final Object node, final String key, final Object value)
 			throws IOException {
 		final EClass clazz = (EClass) RailwayPackage.eINSTANCE.getEClassifier(type);
-		setAttribute(clazz, (RailwayElement) node, key, value);
+		setEmfAttribute(clazz, (RailwayElement) node, key, value);
 	}
 
-	protected void setAttribute(final EClass clazz, final RailwayElement node, final String key, Object value) {
+	protected void setEmfAttribute(final EClass clazz, final RailwayElement node, final String key, Object value) {
 		// change the enum value from the
 		// hu.bme.mit.trainbenchmark.constants.Signal enum to the
 		// hu.bme.mit.trainbenchmark.railway.Signal enum
diff --git a/trainbenchmark/trainbenchmark-generator-graph-tinkerpop/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/tinkerpop/TinkerGraphSerializer.java b/trainbenchmark/trainbenchmark-generator-graph-tinkerpop/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/tinkerpop/TinkerGraphSerializer.java
index 4b603599c..96fd15ba2 100644
--- a/trainbenchmark/trainbenchmark-generator-graph-tinkerpop/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/tinkerpop/TinkerGraphSerializer.java
+++ b/trainbenchmark/trainbenchmark-generator-graph-tinkerpop/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/tinkerpop/TinkerGraphSerializer.java
@@ -1,135 +1,135 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, 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:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.graph.tinkerpop;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.xml.stream.XMLStreamException;
-
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.io.Io.Builder;
-import org.apache.tinkerpop.gremlin.structure.io.IoCore;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-
-import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
-import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat;
-import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfig;
-
-public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorConfig> {
-
-	protected TinkerGraphGeneratorConfig graphGeneratorConfig;
-	protected TinkerGraph graph = TinkerGraph.open();
-
-	public TinkerGraphSerializer(final TinkerGraphGeneratorConfig generatorConfig) {
-		super(generatorConfig);
-	}
-
-	@Override
-	public String syntax() {
-		return "tinkergraph";
-	}
-
-	@Override
-	public void initModel() throws IOException {
-	}
-
-	@Override
-	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes,
-			final Map<String, Object> outgoingEdges, final Map<String, Object> incomingEdges) {
-		// NOTE: multiple inheritance is not supported
-		final Vertex vertex = graph.addVertex(type);
-		
-		for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
-			final String key = attribute.getKey();
-			Object value = attribute.getValue();
-
-			// convert the value to string if it's an enum
-			value = enumsToString(value);
-			vertex.property(key, value);
-		}
-
-		for (final Entry<String, Object> outgoingEdge : outgoingEdges.entrySet()) {
-			final String label = outgoingEdge.getKey();
-			if (outgoingEdge.getValue() instanceof Vertex) {
-				final Vertex targetVertex = (Vertex) outgoingEdge.getValue();
-				vertex.addEdge(label, targetVertex);
-			}
-		}
-
-		for (final Entry<String, Object> incomingEdge : incomingEdges.entrySet()) {
-			final String label = incomingEdge.getKey();
-			if (incomingEdge.getValue() instanceof Vertex) {
-				final Vertex sourceVertex = (Vertex) incomingEdge.getValue();
-				sourceVertex.addEdge(label, vertex);
-			}
-		}
-
-		return vertex;
-	}
-
-	private Object enumsToString(Object value) {
-		if (value instanceof Enum) {
-			final Enum<?> e = (Enum<?>) value;
-			value = e.toString();
-		}
-		return value;
-	}
-
-	@Override
-	public void createEdge(final String label, final Object from, final Object to) {
-		if (from == null || to == null) {
-			return;
-		}
-
-		final Vertex source = (Vertex) from;
-		final Vertex target = (Vertex) to;
-
-		source.addEdge(label, target);
-	}
-
-	@Override
-	public void setAttribute(final String type, final Object node, final String key, final Object value) {
-		final Vertex v = (Vertex) node;
-
-		final Object attributeValue = enumsToString(value);
-		v.property(key, attributeValue);
-	}
-
-	@Override
-	public void persistModel() throws IOException, XMLStreamException, ClassNotFoundException, IllegalAccessException,
-			InstantiationException {
-		final TinkerGraphFormat format = gc.getGraphFormat();
-		Builder<?> builder = null;
-		switch (format) {
-		case GRAPHML:
-			builder = IoCore.graphml();
-			break;
-		case GRAPHSON:
-			builder = IoCore.graphson();
-			break;
-		case GRYO:
-			builder = IoCore.gryo();
-			break;
-		default:
-			throw new UnsupportedOperationException("Format " + format + " is not supported.");
-		}
-
-		final String extension = "-tinkerpop." + format.toString().toLowerCase();
-		final String fileName = gc.getConfigBase().getModelPathWithoutExtension() + extension;
-		graph.io(builder).writeGraph(fileName);
-		graph.close();
-	}
-
-}
+/*******************************************************************************
+ * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, 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:
+ *   Benedek Izso - initial API and implementation
+ *   Gabor Szarnyas - initial API and implementation
+ *******************************************************************************/
+
+package hu.bme.mit.trainbenchmark.generator.graph.tinkerpop;
+
+import hu.bme.mit.trainbenchmark.constants.ModelConstants;
+import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
+import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat;
+import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfig;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.io.Io.Builder;
+import org.apache.tinkerpop.gremlin.structure.io.IoCore;
+import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
+
+import javax.xml.stream.XMLStreamException;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorConfig> {
+
+	protected TinkerGraphGeneratorConfig graphGeneratorConfig;
+	protected TinkerGraph graph = TinkerGraph.open();
+
+	public TinkerGraphSerializer(final TinkerGraphGeneratorConfig generatorConfig) {
+		super(generatorConfig);
+	}
+
+	@Override
+	public String syntax() {
+		return "tinkergraph";
+	}
+
+	@Override
+	public void initModel() throws IOException {
+	}
+
+	@Override
+	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes,
+			final Map<String, Object> outgoingEdges, final Map<String, Object> incomingEdges) {
+		// NOTE: multiple inheritance is not supported
+		final Vertex vertex = graph.addVertex(type);
+
+		vertex.property(ModelConstants.ID, id);
+		for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
+			final String key = attribute.getKey();
+			Object value = attribute.getValue();
+
+			// convert the value to string if it's an enum
+			value = enumsToString(value);
+			vertex.property(key, value);
+		}
+
+		for (final Entry<String, Object> outgoingEdge : outgoingEdges.entrySet()) {
+			final String label = outgoingEdge.getKey();
+			if (outgoingEdge.getValue() instanceof Vertex) {
+				final Vertex targetVertex = (Vertex) outgoingEdge.getValue();
+				vertex.addEdge(label, targetVertex);
+			}
+		}
+
+		for (final Entry<String, Object> incomingEdge : incomingEdges.entrySet()) {
+			final String label = incomingEdge.getKey();
+			if (incomingEdge.getValue() instanceof Vertex) {
+				final Vertex sourceVertex = (Vertex) incomingEdge.getValue();
+				sourceVertex.addEdge(label, vertex);
+			}
+		}
+
+		return vertex;
+	}
+
+	private Object enumsToString(Object value) {
+		if (value instanceof Enum) {
+			final Enum<?> e = (Enum<?>) value;
+			value = e.toString();
+		}
+		return value;
+	}
+
+	@Override
+	public void createEdge(final String label, final Object from, final Object to) {
+		if (from == null || to == null) {
+			return;
+		}
+
+		final Vertex source = (Vertex) from;
+		final Vertex target = (Vertex) to;
+
+		source.addEdge(label, target);
+	}
+
+	@Override
+	public void setAttribute(final String type, final Object node, final String key, final Object value) {
+		final Vertex v = (Vertex) node;
+
+		final Object attributeValue = enumsToString(value);
+		v.property(key, attributeValue);
+	}
+
+	@Override
+	public void persistModel() throws IOException, XMLStreamException, ClassNotFoundException, IllegalAccessException,
+			InstantiationException {
+		final TinkerGraphFormat format = gc.getGraphFormat();
+		Builder<?> builder = null;
+		switch (format) {
+		case GRAPHML:
+			builder = IoCore.graphml();
+			break;
+		case GRAPHSON:
+			builder = IoCore.graphson();
+			break;
+		case GRYO:
+			builder = IoCore.gryo();
+			break;
+		default:
+			throw new UnsupportedOperationException("Format " + format + " is not supported.");
+		}
+
+		final String extension = "-tinkerpop." + format.toString().toLowerCase();
+		final String fileName = gc.getConfigBase().getModelPathWithoutExtension() + extension;
+		graph.io(builder).writeGraph(fileName);
+		graph.close();
+	}
+
+}
diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle
index 66456d5da..5a192a6e8 100644
--- a/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle
+++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle
@@ -12,5 +12,5 @@ shadowJar {
 dependencies {
     compile project(':trainbenchmark-tool')
     compile project(':trainbenchmark-generator')
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
 }
diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle
index 4bd8a10c1..575b43a78 100644
--- a/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle
+++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle
@@ -12,5 +12,5 @@ shadowJar {
 dependencies {
     compile project(':trainbenchmark-tool')
     compile project(':trainbenchmark-generator')
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
 }
diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle
index 435e01535..8ac82e14e 100644
--- a/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle
+++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle
@@ -13,5 +13,5 @@ dependencies {
     compile project(':trainbenchmark-tool')
     compile project(':trainbenchmark-generator')
     compile project(':trainbenchmark-tool-jastadd-relast')
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
 }
diff --git a/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/runner/GeneratorRunner.java b/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/runner/GeneratorRunner.java
index 411642fa9..4ca7912f7 100644
--- a/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/runner/GeneratorRunner.java
+++ b/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/runner/GeneratorRunner.java
@@ -19,7 +19,7 @@ public class GeneratorRunner {
 
 		final String projectName = String.format("trainbenchmark-generator-%s", gc.getProjectName());
 		final String jarPath = String.format("../%s/build/libs/%s-1.0.0-SNAPSHOT-fat.jar", projectName, projectName);
-		final String javaCommand = String.format("java -Xms%s -Xmx%s -server -jar %s %s", ec.getXms(), ec.getXmx(),
+		final String javaCommand = String.format("java --illegal-access=permit -Xms%s -Xmx%s -server -jar %s %s", ec.getXms(), ec.getXmx(),
 				jarPath, configPath);
 
 		final CommandLine cmdLine = CommandLine.parse(javaCommand);
diff --git a/trainbenchmark/trainbenchmark-scripts/build.gradle b/trainbenchmark/trainbenchmark-scripts/build.gradle
index 1aed89a68..5b38fb679 100644
--- a/trainbenchmark/trainbenchmark-scripts/build.gradle
+++ b/trainbenchmark/trainbenchmark-scripts/build.gradle
@@ -1,6 +1,6 @@
 dependencies {
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.3'
-    compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.3.0'
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
+    compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: jacksonVersion
 
     compile project(':trainbenchmark-generator')
     compile project(':trainbenchmark-generator-emf')
diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java
index c322d6648..fd1d089a4 100644
--- a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java
+++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java
@@ -8,6 +8,8 @@ import hu.bme.mit.trainbenchmark.config.ExecutionConfig;
 import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
 
 import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -18,6 +20,24 @@ import java.util.Optional;
  */
 public class BenchmarkMain {
 
+  public static void disableAccessWarnings() {
+    try {
+      Class<?> unsafeClass = Class.forName("sun.misc.Unsafe");
+      Field field = unsafeClass.getDeclaredField("theUnsafe");
+      field.setAccessible(true);
+      Object unsafe = field.get(null);
+
+      Method putObjectVolatile = unsafeClass.getDeclaredMethod("putObjectVolatile", Object.class, long.class, Object.class);
+      Method staticFieldOffset = unsafeClass.getDeclaredMethod("staticFieldOffset", Field.class);
+
+      Class<?> loggerClass = Class.forName("jdk.internal.module.IllegalAccessLogger");
+      Field loggerField = loggerClass.getDeclaredField("logger");
+      Long offset = (Long) staticFieldOffset.invoke(unsafe, loggerField);
+      putObjectVolatile.invoke(unsafe, loggerClass, offset, null);
+    } catch (Exception ignored) {
+    }
+  }
+
   @SuppressWarnings("unchecked")
   private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder,
                                          ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) {
@@ -61,6 +81,8 @@ public class BenchmarkMain {
     }
     String benchmarkVariant = args[0];
 
+    disableAccessWarnings();
+
     // read basic settings (min, maxsize, etc.)
     ObjectMapper mapper = Utils.getMapper();
     BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json",
diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java
index 903911a76..d1f3975af 100644
--- a/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java
+++ b/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java
@@ -17,14 +17,36 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 
 public abstract class JastaddAbstractBenchmarkScenario<TBenchmarkConfigWrapper extends JastaddAbstractBenchmarkConfig> extends
   BenchmarkScenario<JastaddMatch, JastaddDriver, TBenchmarkConfigWrapper> {
 
   protected final CacheCounterReceiver receiver = new CacheCounterReceiver();
 
+  @SuppressWarnings("unchecked")
+  public static void disableAccessWarnings() {
+    try {
+      Class unsafeClass = Class.forName("sun.misc.Unsafe");
+      Field field = unsafeClass.getDeclaredField("theUnsafe");
+      field.setAccessible(true);
+      Object unsafe = field.get(null);
+
+      Method putObjectVolatile = unsafeClass.getDeclaredMethod("putObjectVolatile", Object.class, long.class, Object.class);
+      Method staticFieldOffset = unsafeClass.getDeclaredMethod("staticFieldOffset", Field.class);
+
+      Class loggerClass = Class.forName("jdk.internal.module.IllegalAccessLogger");
+      Field loggerField = loggerClass.getDeclaredField("logger");
+      Long offset = (Long) staticFieldOffset.invoke(unsafe, loggerField);
+      putObjectVolatile.invoke(unsafe, loggerClass, offset, null);
+    } catch (Exception ignored) {
+    }
+  }
+
   public JastaddAbstractBenchmarkScenario(final TBenchmarkConfigWrapper bc, boolean flushCaches) throws Exception {
     super(new JastaddDriverFactory(flushCaches), new JastaddModelOperationFactory(), new JastaddMatchComparator(), bc);
+    disableAccessWarnings();
 
     ((JastaddDriverFactory)driverFactory).setReceiver(receiver);
   }
diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-base/tasks.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-base/tasks.gradle
index 17222081e..775efec62 100644
--- a/trainbenchmark/trainbenchmark-tool-jastadd-base/tasks.gradle
+++ b/trainbenchmark/trainbenchmark-tool-jastadd-base/tasks.gradle
@@ -78,7 +78,7 @@ clean {
 
 dependencies {
     compile project(':trainbenchmark-tool')
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
 }
 
 test {
diff --git a/trainbenchmark/trainbenchmark-tool-viatra-patterns/.classpath b/trainbenchmark/trainbenchmark-tool-viatra-patterns/.classpath
index 056eac157..678ebd23e 100644
--- a/trainbenchmark/trainbenchmark-tool-viatra-patterns/.classpath
+++ b/trainbenchmark/trainbenchmark-tool-viatra-patterns/.classpath
@@ -1,17 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src">
-		<attributes>
-			<attribute name="FROM_GRADLE_MODEL" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="src-gen">
-		<attributes>
-			<attribute name="FROM_GRADLE_MODEL" value="true"/>
-		</attributes>
-	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
 	<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/trainbenchmark/trainbenchmark-tool-viatra-patterns/.project b/trainbenchmark/trainbenchmark-tool-viatra-patterns/.project
index c494a9e44..9424c8a50 100644
--- a/trainbenchmark/trainbenchmark-tool-viatra-patterns/.project
+++ b/trainbenchmark/trainbenchmark-tool-viatra-patterns/.project
@@ -6,22 +6,22 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
+			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
+			<name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
diff --git a/trainbenchmark/trainbenchmark-tool/src/main/java/hu/bme/mit/trainbenchmark/benchmark/driver/Driver.java b/trainbenchmark/trainbenchmark-tool/src/main/java/hu/bme/mit/trainbenchmark/benchmark/driver/Driver.java
index 009893719..5004f6391 100644
--- a/trainbenchmark/trainbenchmark-tool/src/main/java/hu/bme/mit/trainbenchmark/benchmark/driver/Driver.java
+++ b/trainbenchmark/trainbenchmark-tool/src/main/java/hu/bme/mit/trainbenchmark/benchmark/driver/Driver.java
@@ -16,8 +16,6 @@ package hu.bme.mit.trainbenchmark.benchmark.driver;
  * 
  * @author szarnyasg
  *
- * @param <TElement>
- *            the type of the individual model elements
  */
 public abstract class Driver {
 
-- 
GitLab