From 1dfb1f80da2118ba27245a425f7f9a690992cee8 Mon Sep 17 00:00:00 2001 From: "Bernhard J. Berger" <bernhard.berger@uni-bremen.de> Date: Sun, 5 Feb 2023 18:03:59 +0100 Subject: [PATCH] Towards OL #6 --- src/core/de.evoal.core.arff/pom.xml | 7 +++++++ .../core/arff/io/ArffPropertiesReader.java | 2 +- .../src/main/java/module-info.java | 1 - .../evoal/core/arff/utils/LanguageUtils.java | 2 +- src/core/de.evoal.core.plugin/pom.xml | 13 ++++++++++--- src/core/de.evoal.core/pom.xml | 11 +++++++++-- .../correlation/el/RangeSwitch.java | 2 +- .../producer/ConfigurationValueProducer.java | 4 ++-- .../main/producer/DataConstraintProducer.java | 4 ++-- .../EvolutionaryAlgorithmModelLoader.java | 18 +++++++++--------- .../core/main/search/HeuristicSearch.java | 4 ++-- .../src/main/java/module-info.java | 6 +++--- .../src/main/java/module-info.java | 1 - src/core/de.evoal.releng.parent/pom.xml | 10 +++++++--- .../src/main/java/module-info.java | 1 - 15 files changed, 54 insertions(+), 32 deletions(-) diff --git a/src/core/de.evoal.core.arff/pom.xml b/src/core/de.evoal.core.arff/pom.xml index 78baba99..c9ab7639 100644 --- a/src/core/de.evoal.core.arff/pom.xml +++ b/src/core/de.evoal.core.arff/pom.xml @@ -23,5 +23,12 @@ <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> </dependency> + + <dependency> + <groupId>org.eclipse.xtext</groupId> + <artifactId>org.eclipse.xtext.util</artifactId> + <version>2.29.0</version> + <scope>test</scope> + </dependency> </dependencies> </project> diff --git a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java index 17e147ae..ac6580d2 100644 --- a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java +++ b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java @@ -95,7 +95,7 @@ public class ArffPropertiesReader implements PropertiesReader { if(instance.isMissing(index)) { return decoratee.apply(instance, template, builder); } - + // add current specification to builder and let the chain complete it builder.add(pSpec); final Properties properties = decoratee.apply(instance, template, builder); diff --git a/src/core/de.evoal.core.arff/src/main/java/module-info.java b/src/core/de.evoal.core.arff/src/main/java/module-info.java index 425f4937..0be6a9f5 100644 --- a/src/core/de.evoal.core.arff/src/main/java/module-info.java +++ b/src/core/de.evoal.core.arff/src/main/java/module-info.java @@ -2,7 +2,6 @@ module de.evoal.core.arff { requires jakarta.inject.api; requires jakarta.enterprise.cdi.api; - requires guice; requires lombok; requires org.slf4j; diff --git a/src/core/de.evoal.core.arff/src/test/java/de/evoal/core/arff/utils/LanguageUtils.java b/src/core/de.evoal.core.arff/src/test/java/de/evoal/core/arff/utils/LanguageUtils.java index 8ab0f281..1d1bd18d 100644 --- a/src/core/de.evoal.core.arff/src/test/java/de/evoal/core/arff/utils/LanguageUtils.java +++ b/src/core/de.evoal.core.arff/src/test/java/de/evoal/core/arff/utils/LanguageUtils.java @@ -32,7 +32,7 @@ public class LanguageUtils { } private static void loadPackages() { - //DataDescriptionLanguageStandaloneSetup.doSetup(); + DataDescriptionLanguageStandaloneSetup.doSetup(); } private static <T extends EObject> T load(final URI modelURI, final Class<T> cl) { diff --git a/src/core/de.evoal.core.plugin/pom.xml b/src/core/de.evoal.core.plugin/pom.xml index 6f77eb60..d142111b 100644 --- a/src/core/de.evoal.core.plugin/pom.xml +++ b/src/core/de.evoal.core.plugin/pom.xml @@ -78,21 +78,28 @@ <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.ecore</artifactId> - <version>2.25.0</version> + <version>2.29.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.common</artifactId> - <version>2.25.0</version> + <version>2.27.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.xtext</groupId> <artifactId>org.eclipse.xtext</artifactId> - <version>2.25.0</version> + <version>2.29.0</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.eclipse.xtext</groupId> + <artifactId>org.eclipse.xtext.util</artifactId> + <version>2.29.0</version> <scope>provided</scope> </dependency> diff --git a/src/core/de.evoal.core/pom.xml b/src/core/de.evoal.core/pom.xml index 2fec84e8..c004fee0 100644 --- a/src/core/de.evoal.core/pom.xml +++ b/src/core/de.evoal.core/pom.xml @@ -143,7 +143,7 @@ <dependency> <groupId>de.evoal.languages</groupId> - <artifactId>de.evoal.languages.model.eal</artifactId> + <artifactId>de.evoal.languages.model.ol</artifactId> <version>${evoal.languages.version}</version> <scope>compile</scope> </dependency> @@ -186,7 +186,7 @@ <dependency> <groupId>de.evoal.languages</groupId> - <artifactId>de.evoal.languages.model.eal.dsl</artifactId> + <artifactId>de.evoal.languages.model.ol.dsl</artifactId> <version>${evoal.languages.version}</version> <scope>compile</scope> </dependency> @@ -231,6 +231,13 @@ <scope>compile</scope> </dependency> + <dependency> + <groupId>org.eclipse.xtext</groupId> + <artifactId>org.eclipse.xtext.util</artifactId> + <version>2.29.0</version> + <scope>compile</scope> + </dependency> + <dependency> <groupId>io.jenetics</groupId> <artifactId>jenetics.ext</artifactId> diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/correlation/el/RangeSwitch.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/correlation/el/RangeSwitch.java index 02f35952..33f382bd 100644 --- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/correlation/el/RangeSwitch.java +++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/correlation/el/RangeSwitch.java @@ -97,7 +97,7 @@ public class RangeSwitch extends ELSwitch<Range> { @Override public Range caseCall(final Call object) { - final de.evoal.languages.model.eal.FunctionName calledFunction = (de.evoal.languages.model.eal.FunctionName)object.getFunction(); + final de.evoal.languages.model.ol.FunctionName calledFunction = (de.evoal.languages.model.ol.FunctionName)object.getFunction(); if(!"range".equals(calledFunction.getDefinition().getName())) { throw new IllegalStateException("Searching for range but found: " + calledFunction.getDefinition().getName()); } diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java index 4f341d3e..6898925d 100644 --- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java +++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java @@ -4,7 +4,7 @@ import de.evoal.core.api.board.Blackboard; import de.evoal.core.api.board.BlackboardEntry; import de.evoal.core.api.cdi.ConfigurationValue; import de.evoal.core.api.utils.LanguageHelper; -import de.evoal.languages.model.eal.EAModel; +import de.evoal.languages.model.ol.OptimisationModel; import de.evoal.languages.model.el.DoubleLiteral; import de.evoal.languages.model.instance.Array; import de.evoal.languages.model.instance.Instance; @@ -78,7 +78,7 @@ public class ConfigurationValueProducer { .toArray(); } - private static <T> T lookup(final EAModel model, final String access) { + private static <T> T lookup(final OptimisationModel model, final String access) { return LanguageHelper.lookup(model.getInstance(), access); } } diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/DataConstraintProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/DataConstraintProducer.java index 3058fd2f..f9a5a649 100644 --- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/DataConstraintProducer.java +++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/DataConstraintProducer.java @@ -4,7 +4,7 @@ import de.evoal.core.api.ea.constraints.model.DataConstraints; import de.evoal.languages.model.ddl.DataDescription; import de.evoal.languages.model.ddl.DataDescriptionModel; import de.evoal.languages.model.ddl.TypedDataDescription; -import de.evoal.languages.model.eal.EAModel; +import de.evoal.languages.model.ol.OptimisationModel; import de.evoal.languages.model.el.Expression; import de.evoal.languages.model.instance.DataReference; import org.eclipse.emf.common.util.TreeIterator; @@ -24,7 +24,7 @@ import java.util.stream.StreamSupport; @ApplicationScoped public class DataConstraintProducer { @Produces @Dependent - public DataConstraints produceDataInformation(final EAModel model) { + public DataConstraints produceDataInformation(final OptimisationModel model) { final TreeIterator<EObject> iterator = model.eAllContents(); Iterable<EObject> iterable = () -> iterator; diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/EvolutionaryAlgorithmModelLoader.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/EvolutionaryAlgorithmModelLoader.java index 67567444..bc57b1b6 100644 --- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/EvolutionaryAlgorithmModelLoader.java +++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/EvolutionaryAlgorithmModelLoader.java @@ -10,9 +10,9 @@ import javax.enterprise.inject.Produces; import de.evoal.languages.model.ddl.dsl.DataDescriptionLanguageStandaloneSetup; import de.evoal.languages.model.dl.dsl.DefinitionLanguageStandaloneSetup; -import de.evoal.languages.model.eal.EAModel; -import de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguageStandaloneSetup; -import de.evoal.languages.model.eal.impl.EALPackageImpl; +import de.evoal.languages.model.ol.OptimisationModel; +import de.evoal.languages.model.ol.dsl.OptimisationLanguageStandaloneSetup; +import de.evoal.languages.model.ol.impl.OLPackageImpl; import lombok.extern.slf4j.Slf4j; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; @@ -28,7 +28,7 @@ import java.io.File; public class EvolutionaryAlgorithmModelLoader { @Inject private Blackboard board; - private EAModel model; + private OptimisationModel model; public void load(final @Observes BlackboardEntry entry) { if(!entry.isSame(BlackboardEntry.EA_CONFIGURATION_FILE)) { @@ -46,7 +46,7 @@ public class EvolutionaryAlgorithmModelLoader { initializeEMF(); - final Injector ealInjector = new EvolutionaryAlgorithmLanguageStandaloneSetup().createInjectorAndDoEMFRegistration(); + final Injector ealInjector = new OptimisationLanguageStandaloneSetup().createInjectorAndDoEMFRegistration(); // do not remove the following line even if the injector is not used. Otherwise, parsing eal files breaks. final Injector idlInjector = new DefinitionLanguageStandaloneSetup().createInjectorAndDoEMFRegistration(); @@ -80,7 +80,7 @@ public class EvolutionaryAlgorithmModelLoader { throw new IllegalArgumentException("EAL file contains errors. Please fix the file."); } - model = (EAModel) resource.getContents().get(0); + model = (OptimisationModel) resource.getContents().get(0); board.bind(BlackboardEntry.EA_CONFIGURATION, model); } catch (final Exception e) { log.error("Unable to evolutionary algorithm configuration file '{}'.", configurationFile, e); @@ -91,15 +91,15 @@ public class EvolutionaryAlgorithmModelLoader { * Initialize the model packages and perform the parser setup. */ private void initializeEMF() { - EALPackageImpl.init(); + OLPackageImpl.init(); - EvolutionaryAlgorithmLanguageStandaloneSetup.doSetup(); + OptimisationLanguageStandaloneSetup.doSetup(); DataDescriptionLanguageStandaloneSetup.doSetup(); } @Produces @Dependent - public EAModel getConfiguration() { + public OptimisationModel getConfiguration() { return model; } } diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java index d70e8419..e1a610f4 100644 --- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java +++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java @@ -21,11 +21,11 @@ import de.evoal.core.main.ea.codec.DynamicCodec; import de.evoal.core.main.ea.fitness.JeneticsFitnessFunction; import de.evoal.core.main.ea.initial.InitialPopulationFactory; import de.evoal.core.main.jenetics.ConstraintList; -import de.evoal.languages.model.eal.EAModel; import de.evoal.languages.model.instance.Array; import de.evoal.languages.model.instance.Attribute; import de.evoal.languages.model.instance.Name; import de.evoal.languages.model.instance.Value; +import de.evoal.languages.model.ol.OptimisationModel; import io.jenetics.*; import io.jenetics.engine.*; import io.jenetics.stat.MinMax; @@ -137,7 +137,7 @@ public class HeuristicSearch { } private void setup() { - final EAModel configuration = board.get(BlackboardEntry.EA_CONFIGURATION); + final OptimisationModel configuration = board.get(BlackboardEntry.EA_CONFIGURATION); final de.evoal.languages.model.instance.Instance alterers = LanguageHelper.lookup(configuration.getInstance(), "algorithm.alterers"); diff --git a/src/core/de.evoal.core/src/main/java/module-info.java b/src/core/de.evoal.core/src/main/java/module-info.java index dabb7fc3..139b49af 100644 --- a/src/core/de.evoal.core/src/main/java/module-info.java +++ b/src/core/de.evoal.core/src/main/java/module-info.java @@ -21,7 +21,6 @@ module de.evoal.core { requires smile.math; requires decimal4j; - requires guice; requires com.fasterxml.jackson.databind; @@ -33,11 +32,12 @@ module de.evoal.core { requires de.evoal.languages.model.ddl.dsl; requires de.evoal.languages.model.dl; requires de.evoal.languages.model.dl.dsl; - requires de.evoal.languages.model.eal; - requires de.evoal.languages.model.eal.dsl; + requires de.evoal.languages.model.ol; + requires de.evoal.languages.model.ol.dsl; requires de.evoal.languages.model.el; requires de.evoal.languages.model.el.dsl; requires de.evoal.languages.model.instance; + requires com.google.guice; exports de.evoal.core.api.board; exports de.evoal.core.api.cdi; diff --git a/src/core/de.evoal.generator.main/src/main/java/module-info.java b/src/core/de.evoal.generator.main/src/main/java/module-info.java index d615d991..813509a4 100644 --- a/src/core/de.evoal.generator.main/src/main/java/module-info.java +++ b/src/core/de.evoal.generator.main/src/main/java/module-info.java @@ -24,7 +24,6 @@ module de.evoal.generator.main { requires de.evoal.languages.model.generator.dsl; requires de.evoal.core; - requires guice; requires commons.math3; opens de.evoal.generator.main; diff --git a/src/core/de.evoal.releng.parent/pom.xml b/src/core/de.evoal.releng.parent/pom.xml index c750a06c..ddd671d7 100644 --- a/src/core/de.evoal.releng.parent/pom.xml +++ b/src/core/de.evoal.releng.parent/pom.xml @@ -113,21 +113,21 @@ <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.ecore</artifactId> - <version>2.25.0</version> + <version>2.29.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.common</artifactId> - <version>2.25.0</version> + <version>2.27.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.xtext</groupId> <artifactId>org.eclipse.xtext</artifactId> - <version>2.25.0</version> + <version>2.29.0</version> <scope>provided</scope> </dependency> @@ -290,6 +290,10 @@ <version>9.4</version> </dependency> </dependencies> + <configuration> + + </configuration> + </plugin> <plugin> diff --git a/src/core/de.evoal.surrogate.api/src/main/java/module-info.java b/src/core/de.evoal.surrogate.api/src/main/java/module-info.java index 6d39848b..fcb98f44 100644 --- a/src/core/de.evoal.surrogate.api/src/main/java/module-info.java +++ b/src/core/de.evoal.surrogate.api/src/main/java/module-info.java @@ -10,7 +10,6 @@ module de.evoal.surrogate.api { requires org.eclipse.emf.ecore; requires org.eclipse.emf.common; - requires guice; requires org.eclipse.xtext; requires com.fasterxml.jackson.databind; requires smile.math; -- GitLab