Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2012-10-29 11:38:43 +0000
committerJuergen Haug2012-10-29 11:38:43 +0000
commit3b04960843e75bcdb210663541a6117d83727f51 (patch)
treecbe60410875a30e742fe59ad2639a287535c5ae3 /plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
parent0f9be31bd213f7bb86b1e7359967997efd8f73e4 (diff)
downloadorg.eclipse.etrice-3b04960843e75bcdb210663541a6117d83727f51.tar.gz
org.eclipse.etrice-3b04960843e75bcdb210663541a6117d83727f51.tar.xz
org.eclipse.etrice-3b04960843e75bcdb210663541a6117d83727f51.zip
[CQ 6485][config, generator] refactor: draft IDataConfiguration, static
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend35
1 files changed, 12 insertions, 23 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
index b704c9c76..224b09269 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
@@ -18,13 +18,12 @@ import org.eclipse.etrice.core.genmodel.base.ILogger
import org.eclipse.etrice.core.genmodel.etricegen.Root
import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance
import org.eclipse.etrice.core.room.SubSystemClass
-import org.eclipse.etrice.generator.generic.ConfigExtension
import org.eclipse.etrice.generator.generic.ProcedureHelpers
import org.eclipse.etrice.generator.generic.RoomExtensions
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import static extension org.eclipse.etrice.generator.base.Indexed.*
-
+import org.eclipse.etrice.generator.base.IDataConfiguration
@Singleton
class SubSystemClassGen {
@@ -32,8 +31,8 @@ class SubSystemClassGen {
@Inject JavaIoFileSystemAccess fileAccess
@Inject extension JavaExtensions
@Inject extension RoomExtensions
- @Inject extension ConfigExtension
- @Inject ConfigGenAddon configAddon
+ @Inject IDataConfiguration dataConfigExt
+ @Inject ConfigGenAddon configGenAddon
@Inject extension ProcedureHelpers
@Inject VariableServiceGen varService
@@ -46,15 +45,15 @@ class SubSystemClassGen {
logger.logInfo("generating SubSystemClass implementation: '"+file+"' in '"+path+"'")
fileAccess.setOutputPath(path)
fileAccess.generateFile(file, root.generate(ssi, ssi.subSystemClass))
- if(ssi.subSystemClass.hasVariableService)
- varService.doGenerate(root, ssi);
+ //if(dataConfigExt.hasVariableService(ssi.subSystemClass))
+ // varService.doGenerate(root, ssi);
}
}
def generate(Root root, SubSystemInstance comp, SubSystemClass cc) {'''
package «cc.getPackage()»;
- «IF cc.hasVariableService»import org.eclipse.etrice.runtime.java.config.VariableService;«ENDIF»
+ «IF dataConfigExt.hasVariableService(cc)»import org.eclipse.etrice.runtime.java.config.VariableService;«ENDIF»
import org.eclipse.etrice.runtime.java.messaging.MessageService;
import org.eclipse.etrice.runtime.java.messaging.RTServices;
import org.eclipse.etrice.runtime.java.messaging.Address;
@@ -168,24 +167,14 @@ class SubSystemClassGen {
«ENDIF»
«ENDFOR»
}
- «IF ai.configAttributes.exists(c | c.dynConfig)»
+ «IF false»
, variableService
«ENDIF»
);
«ENDFOR»
// apply instance attribute configurations
- «FOR ai : comp.allContainedInstances»
- «IF !(ai.configAttributes.empty && ai.getConfigPorts.empty)»
- {
- «ai.actorClass.name» inst = («ai.actorClass.name») instances[«comp.allContainedInstances.indexOf(ai)»];
- «configAddon.applyInstanceConfig("inst", ai.actorClass.name, ai.configAttributes)»
- «FOR portConfig : ai.configPorts»
- «configAddon.applyInstanceConfig(("inst."+portConfig.item.name.invokeGetter(ai.actorClass.name)), portConfig.item.portClassName, portConfig.attributes)»
- «ENDFOR»
- }
- «ENDIF»
- «ENDFOR»
+ «comp.allContainedInstances.forEach(ai | configGenAddon.genActorInstanceConfig(ai))»
// create the subsystem system port
RTSystemPort = new RTSystemServicesProtocolConjPortRepl(this, "RTSystemPort",
@@ -204,17 +193,17 @@ class SubSystemClassGen {
});
}
- «IF cc.hasVariableService»
+ «IF dataConfigExt.hasVariableService(cc)»
private VariableService variableService;
«ENDIF»
@Override
public void init(){
- «IF cc.hasVariableService»
+ «IF dataConfigExt.hasVariableService(cc)»
variableService = new «comp.name»VariableService(this);
«ENDIF»
super.init();
- «IF cc.hasVariableService»
+ «IF dataConfigExt.hasVariableService(cc)»
variableService.init();
«ENDIF»
}
@@ -222,7 +211,7 @@ class SubSystemClassGen {
@Override
public void stop(){
super.stop();
- «IF cc.hasVariableService»
+ «IF dataConfigExt.hasVariableService(cc)»
variableService.stop();
«ENDIF»
}

Back to the top