From f0ddb969b87efc7f01b69a993f386e08e4120afe Mon Sep 17 00:00:00 2001 From: Alexander Hellwig Date: Tue, 17 Sep 2019 15:38:02 +0200 Subject: [PATCH] Version up; Write preprocessed models to file --- pom.xml | 6 +++--- .../middleware/DistributedTargetGenerator.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index ff5f647..076b541 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ de.monticore.lang.monticar embedded-montiarc-math-middleware-generator - 0.0.27-SNAPSHOT + 0.0.28-SNAPSHOT @@ -20,12 +20,12 @@ 1.7.7 - 0.1.14-SNAPSHOT + 0.1.16-SNAPSHOT 0.1.14-SNAPSHOT 0.1.6-SNAPSHOT 0.3.6-SNAPSHOT 0.2.10-SNAPSHOT - 0.0.2-SNAPSHOT + 0.0.3-SNAPSHOT 18.0 diff --git a/src/main/java/de/monticore/lang/monticar/generator/middleware/DistributedTargetGenerator.java b/src/main/java/de/monticore/lang/monticar/generator/middleware/DistributedTargetGenerator.java index d5a71ff..6a751bd 100644 --- a/src/main/java/de/monticore/lang/monticar/generator/middleware/DistributedTargetGenerator.java +++ b/src/main/java/de/monticore/lang/monticar/generator/middleware/DistributedTargetGenerator.java @@ -2,6 +2,7 @@ package de.monticore.lang.monticar.generator.middleware; import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol; +import de.monticore.lang.embeddedmontiarc.helper.SymbolPrinter; import de.monticore.lang.monticar.clustering.AutomaticClusteringHelper; import de.monticore.lang.monticar.clustering.ClusteringResult; import de.monticore.lang.monticar.clustering.ClusteringResultList; @@ -16,6 +17,7 @@ import de.monticore.lang.monticar.generator.middleware.impls.*; import de.monticore.lang.monticar.generator.middleware.templates.compile.CompilationGenerator; import de.monticore.lang.tagging._symboltable.TaggingResolver; import de.se_rwth.commons.logging.Log; +import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; @@ -105,6 +107,10 @@ public class DistributedTargetGenerator{ middlewareTagGen.setGenerationTargetPath(generationTargetPath + "emam/"); middlewareTagGen.setClusteringResults(clusteringResults); files.addAll(middlewareTagGen.generate(componentInstanceSymbol,taggingResolver)); + + File file = saveModel(componentInstanceSymbol); + + files.add(file); } files.addAll(completeGenerator.generate(componentInstanceSymbol, taggingResolver)); @@ -112,6 +118,17 @@ public class DistributedTargetGenerator{ return files; } + private File saveModel(EMAComponentInstanceSymbol componentInstance) throws IOException { + String name = componentInstance.getName().substring(0,1).toUpperCase() + componentInstance.getName().substring(1); + String pathname = generationTargetPath + "/emam/model/" + name + ".emam"; + Log.info("Writing component into file: " + pathname, "files"); + String modelData = SymbolPrinter.printEMAComponentInstanceAsEMAComponent(componentInstance); + File file = new File(pathname); + file.getParentFile().mkdirs(); + FileUtils.write(file, modelData,"UTF-8"); + return file; + } + private EMAComponentInstanceSymbol preprocessing(EMAComponentInstanceSymbol genComp) { EMAComponentInstanceSymbol componentInstanceSymbol = genComp; if(clusteringParameters != null){ -- GitLab