diff options
author | Juergen Haug | 2014-04-02 14:18:16 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2014-04-21 12:14:12 +0000 |
commit | e31180eb25056061186605db7542f3d1be3073f2 (patch) | |
tree | c775bddf46ab726bc663d2f302d655eb41fa03a1 /plugins/org.eclipse.etrice.generator.java/src | |
parent | 0d8e910f33c25bf0bcdf1c494d5af8aeb838facf (diff) | |
download | org.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.tar.gz org.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.tar.xz org.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.zip |
[gen, runtime] java message service thread priority issue
Change-Id: I42471998e311f6ff4e9a0030c793a01f446c28b5
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src')
-rw-r--r-- | plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend | 32 |
1 files changed, 14 insertions, 18 deletions
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 50deb5209..4b84235ea 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 @@ -14,33 +14,34 @@ package org.eclipse.etrice.generator.java.gen import com.google.inject.Inject import com.google.inject.Singleton +import java.util.Collection +import java.util.HashMap import java.util.HashSet +import org.eclipse.etrice.core.etmap.util.ETMapUtil import org.eclipse.etrice.core.etphys.eTPhys.ExecMode import org.eclipse.etrice.core.etphys.eTPhys.PhysicalThread import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance +import org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician +import org.eclipse.etrice.core.genmodel.etricegen.InstanceBase import org.eclipse.etrice.core.genmodel.etricegen.Root +import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance +import org.eclipse.etrice.core.genmodel.etricegen.WiredSubSystemClass +import org.eclipse.etrice.core.room.ActorClass import org.eclipse.etrice.core.room.CommunicationType +import org.eclipse.etrice.core.room.SubSystemClass +import org.eclipse.etrice.generator.base.FileSystemHelpers import org.eclipse.etrice.generator.base.IDataConfiguration import org.eclipse.etrice.generator.base.IGeneratorFileIo import org.eclipse.etrice.generator.base.IntelligentSeparator import org.eclipse.etrice.generator.generic.ProcedureHelpers import org.eclipse.etrice.generator.generic.RoomExtensions +import org.eclipse.etrice.generator.java.Main import static extension org.eclipse.etrice.generator.base.Indexed.* -import org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance -import org.eclipse.etrice.core.room.ActorClass -import com.google.common.collect.Sets import com.google.common.collect.Lists -import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance -import org.eclipse.etrice.generator.java.Main -import org.eclipse.etrice.core.genmodel.etricegen.WiredSubSystemClass -import java.util.HashMap -import org.eclipse.etrice.core.room.SubSystemClass -import org.eclipse.etrice.core.genmodel.etricegen.InstanceBase -import org.eclipse.etrice.core.etmap.util.ETMapUtil -import org.eclipse.etrice.generator.base.FileSystemHelpers +import com.google.common.collect.Sets @Singleton class NodeGen { @@ -70,12 +71,7 @@ class NodeGen { checkDataPorts(ssi) - val usedThreads = new HashSet<PhysicalThread>(); - for (thread: nr.type.threads) { - val instancesOnThread = ssi.allContainedInstances.filter(ai|ETMapUtil::getMappedThread(ai).thread==thread) - if (!instancesOnThread.empty) - usedThreads.add(thread) - } + val usedThreads = ETMapUtil::getUsedThreads(nr, ssi) fileIO.generateFile("generating Node implementation", path, infopath, file, root.generate(ssi, wired, usedThreads)) if (dataConfigExt.hasVariableService(ssi)) @@ -100,7 +96,7 @@ class NodeGen { return result } - def generate(Root root, SubSystemInstance comp, WiredSubSystemClass wired, HashSet<PhysicalThread> usedThreads) { + def generate(Root root, SubSystemInstance comp, WiredSubSystemClass wired, Collection<PhysicalThread> usedThreads) { val cc = comp.subSystemClass val models = root.getReferencedModels(cc) val nr = ETMapUtil::getNodeRef(comp) |