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