Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2014-04-02 14:18:16 +0000
committerHenrik Rentz-Reichert2014-04-21 12:14:12 +0000
commite31180eb25056061186605db7542f3d1be3073f2 (patch)
treec775bddf46ab726bc663d2f302d655eb41fa03a1 /plugins/org.eclipse.etrice.generator.java/src
parent0d8e910f33c25bf0bcdf1c494d5af8aeb838facf (diff)
downloadorg.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.tar.gz
org.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.tar.xz
org.eclipse.etrice-e31180eb25056061186605db7542f3d1be3073f2.zip
[gen, runtime] java message service thread priority issue
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.xtend32
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)

Back to the top