diff options
author | Jan Belle | 2018-08-29 09:41:30 +0000 |
---|---|---|
committer | Jan Belle | 2018-08-31 09:11:08 +0000 |
commit | 99a2c70b13dc3713b7e63c1e1b15ce1e46085815 (patch) | |
tree | 3d775f801d558855c85880dc4f7408986524016e /plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen | |
parent | 0c4faa4761c9085523c8f51dac59106eb2fbda48 (diff) | |
download | org.eclipse.etrice-99a2c70b13dc3713b7e63c1e1b15ce1e46085815.tar.gz org.eclipse.etrice-99a2c70b13dc3713b7e63c1e1b15ce1e46085815.tar.xz org.eclipse.etrice-99a2c70b13dc3713b7e63c1e1b15ce1e46085815.zip |
[generator] Refactor generators to implement common generator interface
* migrated to new generator options implementation
Change-Id: I086b384d502fcd1576256a2afaf08df2538b3670
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen')
14 files changed, 40 insertions, 78 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.xtend index 6d045f7f9..094481523 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.xtend @@ -20,7 +20,7 @@ import org.eclipse.etrice.core.genmodel.etricegen.Root import org.eclipse.etrice.core.genmodel.etricegen.WiredActorClass import org.eclipse.etrice.core.room.ActorClass import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions @@ -29,7 +29,7 @@ import org.eclipse.etrice.core.room.util.RoomHelpers @Singleton class ActorClassDataGen { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension RoomHelpers @Inject extension RoomExtensions @Inject extension FileSystemHelpers diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend index 4bef3f8b3..24316011b 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend @@ -26,7 +26,7 @@ import org.eclipse.etrice.core.room.EnumerationType import org.eclipse.etrice.core.room.ReferenceType import org.eclipse.etrice.generator.base.IDataConfiguration import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.GenericActorClassGenerator import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions @@ -34,11 +34,12 @@ import org.eclipse.etrice.generator.generic.TypeHelpers import org.eclipse.etrice.generator.java.Main import static extension org.eclipse.etrice.core.genmodel.fsm.FsmGenExtensions.* import org.eclipse.etrice.generator.generic.ILanguageExtension +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class ActorClassGen extends GenericActorClassGenerator { - @Inject protected IGeneratorFileIo fileIO + @Inject protected IGeneratorFileIO fileIO @Inject protected extension JavaExtensions @Inject protected extension RoomExtensions @Inject protected IDataConfiguration dataConfigExt @@ -49,6 +50,7 @@ class ActorClassGen extends GenericActorClassGenerator { @Inject protected extension StateMachineGen @Inject protected extension TypeHelpers @Inject protected extension FileSystemHelpers + @Inject protected extension GeneratorOptionsHelper @Inject new (ConfigGenAddon configGenAddon) { diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend index a4530f774..5fe5a62a6 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend @@ -21,14 +21,14 @@ import org.eclipse.etrice.core.room.ComplexType import org.eclipse.etrice.core.room.DataClass import org.eclipse.etrice.core.room.util.RoomHelpers import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions @Singleton class DataClassGen { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension JavaExtensions @Inject extension RoomExtensions @Inject extension ProcedureHelpers diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend index 49747db36..99a9f1cfb 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend @@ -12,7 +12,7 @@ package org.eclipse.etrice.generator.java.gen -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import com.google.inject.Inject import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.core.genmodel.etricegen.Root @@ -26,7 +26,7 @@ import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers */ class EnumerationTypeGen { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension JavaExtensions @Inject extension RoomExtensions @Inject extension FileSystemHelpers diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/GlobalSettings.java b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/GlobalSettings.java deleted file mode 100644 index 5fef705c7..000000000 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/GlobalSettings.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 protos software gmbh (http://www.protos.de). - * 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: - * Henrik Rentz-Reichert (initial contribution) - * - *******************************************************************************/ - -package org.eclipse.etrice.generator.java.gen; - -import org.eclipse.etrice.generator.base.GlobalGeneratorSettings; - -/** - * @author Henrik Rentz-Reichert - * - */ -public class GlobalSettings extends GlobalGeneratorSettings { - - private boolean generatePersistenceInterface = false; - private boolean generateStoreDataObj = false; - - /** - * @return the generatePersistenceInterface - */ - public boolean isGeneratePersistenceInterface() { - return generatePersistenceInterface; - } - - /** - * @param generatePersistenceInterface the generatePersistenceInterface to set - */ - public void setGeneratePersistenceInterface(boolean generatePersistenceInterface) { - this.generatePersistenceInterface = generatePersistenceInterface; - } - - /** - * @return the generateStoreDataObj - */ - public boolean isGenerateStoreDataObj() { - return generateStoreDataObj; - } - - /** - * @param generateStoreDataObj the generateStoreDataObj to set - */ - public void setGenerateStoreDataObj(boolean generateStoreDataObj) { - this.generateStoreDataObj = generateStoreDataObj; - } -} diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend index 152c2187f..d8554aa21 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend @@ -18,6 +18,7 @@ import org.eclipse.emf.ecore.resource.Resource import org.eclipse.etrice.core.genmodel.etricegen.Root import org.eclipse.etrice.generator.generic.PrepareFileSystem import org.eclipse.etrice.generator.java.Main +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class MainGen { @@ -33,6 +34,8 @@ class MainGen { @Inject NodeRunnerGen nodeRunnerGen @Inject PrepareFileSystem prepFS + @Inject protected extension GeneratorOptionsHelper + def void doGenerate(Resource resource) { prepFS.prepareCodeTargetPaths(resource) prepFS.prepareInfoTargetPaths(resource) diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend index e77e89409..5e8024fe6 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend @@ -32,7 +32,7 @@ import org.eclipse.etrice.core.room.CommunicationType import org.eclipse.etrice.core.room.SubSystemClass import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers import org.eclipse.etrice.generator.base.IDataConfiguration -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.fsm.base.IntelligentSeparator import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions @@ -43,6 +43,7 @@ import com.google.common.collect.Lists import com.google.common.collect.Sets import org.eclipse.etrice.core.genmodel.builder.GenmodelConstants import org.eclipse.etrice.core.genmodel.fsm.IDiagnostician +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class NodeGen { @@ -53,8 +54,9 @@ class NodeGen { @Inject ConfigGenAddon configGenAddon @Inject extension ProcedureHelpers @Inject extension FileSystemHelpers + @Inject protected extension GeneratorOptionsHelper - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject VariableServiceGen varService @Inject IDiagnostician diagnostician diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.xtend index 987c01008..ca92125b7 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.xtend @@ -17,7 +17,7 @@ import com.google.inject.Singleton import org.eclipse.etrice.core.genmodel.etricegen.Root import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance import org.eclipse.etrice.core.genmodel.etricegen.SystemInstance -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.core.etmap.util.ETMapUtil import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers @@ -29,7 +29,7 @@ class NodeRunnerGen { @Inject extension JavaExtensions @Inject extension FileSystemHelpers - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO def doGenerate(Root root) { for (nr : ETMapUtil::getNodeRefs()) { diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.xtend index efefdedd3..ccf46358b 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.xtend @@ -8,13 +8,13 @@ import org.eclipse.etrice.core.genmodel.etricegen.WiredActorClass import org.eclipse.etrice.core.room.ActorClass import org.eclipse.etrice.core.room.CommunicationType import org.eclipse.etrice.core.room.util.RoomHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers class OptionalActorFactoryGen { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension RoomHelpers @Inject extension JavaExtensions @Inject extension RoomExtensions diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend index 95a8bc9ad..05db79641 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend @@ -17,18 +17,20 @@ import com.google.inject.Singleton import org.eclipse.etrice.core.genmodel.etricegen.Root import org.eclipse.etrice.core.room.ActorClass import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.GenericActorClassGenerator import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.generator.java.Main +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class OptionalActorInterfaceGen extends GenericActorClassGenerator { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension JavaExtensions @Inject extension RoomExtensions @Inject extension FileSystemHelpers + @Inject protected extension GeneratorOptionsHelper def doGenerate(Root root) { for (ac: root.optionalActorClasses.filter(cl|cl.isValidGenerationLocation)) { diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend index 369d92c64..ca7de0fea 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend @@ -20,19 +20,20 @@ import org.eclipse.etrice.core.room.DataClass import org.eclipse.etrice.core.room.Message import org.eclipse.etrice.core.room.ProtocolClass import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.GenericProtocolClassGenerator import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.generator.generic.TypeHelpers import org.eclipse.etrice.generator.java.Main -import org.eclipse.etrice.core.genmodel.fsm.ILogger import org.eclipse.etrice.generator.generic.ILanguageExtension +import org.eclipse.etrice.core.genmodel.fsm.IDiagnostician +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class ProtocolClassGen extends GenericProtocolClassGenerator { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension JavaExtensions @Inject extension RoomExtensions @Inject extension ProcedureHelpers @@ -40,7 +41,8 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { @Inject extension TypeHelpers @Inject extension DataClassGen @Inject extension FileSystemHelpers - @Inject ILogger logger + @Inject protected extension GeneratorOptionsHelper + @Inject IDiagnostician diagnostician def doGenerate(Root root) { for (pc: root.protocolClasses.filter(cl|cl.isValidGenerationLocation)) { @@ -57,7 +59,7 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { "" } if (contents.toString.empty) - logger.logError("synchronous protocols not supported yet", pc) + diagnostician.error("synchronous protocols not supported yet", pc, null) else fileIO.generateFile("generating ProtocolClass implementation", path, infopath, file, contents) } diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend index b2910ad5a..482032616 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend @@ -22,10 +22,14 @@ import org.eclipse.etrice.generator.generic.GenericStateMachineGenerator import org.eclipse.etrice.generator.java.Main import static extension org.eclipse.etrice.core.genmodel.fsm.FsmGenExtensions.* +import com.google.inject.Inject +import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper @Singleton class StateMachineGen extends GenericStateMachineGenerator { + @Inject protected extension GeneratorOptionsHelper + val nodeComparator = new NodeComparator /** diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Validator.java b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Validator.java index 9a4b5e5c0..93c527c67 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Validator.java +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Validator.java @@ -13,7 +13,7 @@ package org.eclipse.etrice.generator.java.gen; import org.eclipse.etrice.core.genmodel.etricegen.Root; -import org.eclipse.etrice.core.genmodel.fsm.ILogger; +import org.eclipse.etrice.generator.base.logging.ILogger; import com.google.inject.Inject; @@ -40,7 +40,7 @@ public class Validator { // } if (errorCount>0) { - logger.logError("Java generator detected "+errorCount+" error(s) - terminating", null); + logger.logError("Java generator detected "+errorCount+" error(s) - terminating"); return false; } diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/VariableServiceGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/VariableServiceGen.xtend index fe827aeac..51baa8e2b 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/VariableServiceGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/VariableServiceGen.xtend @@ -28,7 +28,7 @@ import org.eclipse.etrice.core.room.Attribute import org.eclipse.etrice.core.room.DataClass import org.eclipse.etrice.core.room.RoomModel import org.eclipse.etrice.generator.base.IDataConfiguration -import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo +import org.eclipse.etrice.generator.base.io.IGeneratorFileIO import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions import org.eclipse.etrice.generator.generic.TypeHelpers @@ -40,7 +40,7 @@ import org.eclipse.etrice.core.common.converter.TimeConverter @Singleton class VariableServiceGen { - @Inject IGeneratorFileIo fileIO + @Inject IGeneratorFileIO fileIO @Inject extension JavaExtensions stdExt @Inject extension RoomExtensions roomExt @Inject IDataConfiguration configExt |