Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2011-12-20 22:07:30 +0000
committerThomas Schuetz2011-12-20 22:07:30 +0000
commit535440b7b5bc7995417b6a82bc164b927cc31ba4 (patch)
tree8e589edb48fd84e4631a220e948a8abe9a7d18f2
parent80ad50f6881588f5cda7b2f7c13db7a6e3360338 (diff)
downloadorg.eclipse.etrice-535440b7b5bc7995417b6a82bc164b927cc31ba4.tar.gz
org.eclipse.etrice-535440b7b5bc7995417b6a82bc164b927cc31ba4.tar.xz
org.eclipse.etrice-535440b7b5bc7995417b6a82bc164b927cc31ba4.zip
[generator.doc] added new plugin for document generator -> first
generator: instance tree in dot format
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/.classpath8
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/.gitignore1
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/.project45
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.xtend.shared.ui.prefs3
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF19
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/about.html28
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/build.properties7
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/icons/NewETriceProject.gifbin0 -> 130 bytes
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/plugin.xml21
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java113
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend (renamed from plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.xtend)16
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend42
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java33
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java (renamed from plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.java)30
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java36
-rw-r--r--plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java237
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend5
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend1
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend5
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.xtend5
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java32
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java2
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.java85
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java52
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java82
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java28
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/LanguageExtensions.xtend45
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/PrepareFileSystem.xtend (renamed from plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.xtend)7
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/RoomExtensions.xtend861
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/extensions/RoomExtensions.java20
-rw-r--r--runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketConfiguration.java51
-rw-r--r--runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketData.java33
-rw-r--r--runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/PSocket.java327
-rw-r--r--runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/SocketClient.java70
41 files changed, 1091 insertions, 1302 deletions
diff --git a/plugins/org.eclipse.etrice.generator.doc/.classpath b/plugins/org.eclipse.etrice.generator.doc/.classpath
new file mode 100644
index 000000000..1260f31c3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.etrice.generator.doc/.gitignore b/plugins/org.eclipse.etrice.generator.doc/.gitignore
new file mode 100644
index 000000000..092357e47
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.etrice.generator.doc/.project b/plugins/org.eclipse.etrice.generator.doc/.project
new file mode 100644
index 000000000..3d06f8e80
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.generator.doc</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtend.typesystem.xsd.ui.xsdBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtend.shared.ui.xtendBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..23ea67ad4
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon Dec 06 13:36:04 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.xtend.shared.ui.prefs b/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.xtend.shared.ui.prefs
new file mode 100644
index 000000000..756b7f257
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/.settings/org.eclipse.xtend.shared.ui.prefs
@@ -0,0 +1,3 @@
+#Sat Jul 17 15:02:10 CEST 2010
+eclipse.preferences.version=1
+metamodelContributor=org.eclipse.xtend.typesystem.emf.ui.EmfMetamodelContributor,org.eclipse.xtend.shared.ui.core.metamodel.jdt.oaw.OawClassicMetamodelContributor,org.eclipse.xtend.typesystem.uml2.ui.Uml2MetamodelContributor,org.eclipse.xtend.typesystem.xsd.ui.XSDMetamodelContributor,org.eclipse.xtend.shared.ui.core.metamodel.jdt.javabean.JavaBeanMetamodelContributor
diff --git a/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..daacd9f14
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Document Generator
+Bundle-Vendor: eTrice (Incubation)
+Bundle-Version: 0.1.0.qualifier
+Bundle-SymbolicName: org.eclipse.etrice.generator.doc;singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="0.1.0",
+ org.eclipse.etrice.generator;bundle-version="0.1.0",
+ org.eclipse.emf.mwe2.launch;bundle-version="1.0.1";resolution:=optional,
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.core.runtime;bundle-version="3.6.0",
+ org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.ui.ide;bundle-version="3.7.0",
+ org.eclipse.xtext.xtend2.lib;bundle-version="2.1.1"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.etrice.generator.doc,
+ org.eclipse.etrice.generator.doc.gen
diff --git a/plugins/org.eclipse.etrice.generator.doc/about.html b/plugins/org.eclipse.etrice.generator.doc/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/build.properties b/plugins/org.eclipse.etrice.generator.doc/build.properties
new file mode 100644
index 000000000..016308267
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/
+jre.compilation.profile = JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.generator.doc/icons/NewETriceProject.gif b/plugins/org.eclipse.etrice.generator.doc/icons/NewETriceProject.gif
new file mode 100644
index 000000000..2f087aafb
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/icons/NewETriceProject.gif
Binary files differ
diff --git a/plugins/org.eclipse.etrice.generator.doc/plugin.xml b/plugins/org.eclipse.etrice.generator.doc/plugin.xml
new file mode 100644
index 000000000..b4a412167
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/plugin.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.etrice.core.ui.wizardCategory"
+ name="eTrice"/>
+ <wizard
+ id="org.eclipse.etrice.generator.java.newwizard.EmptyProjectWizard"
+ name="Empty eTrice Java Project"
+ class="org.eclipse.etrice.generator.java.newwizard.EmptyProjectWizard"
+ category="org.eclipse.etrice.core.ui.wizardCategory"
+ project="true"
+ icon="icons/NewETriceProject.gif">
+ <description>Create an empty Java plug-in project with eTrice dependencies</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java
new file mode 100644
index 000000000..4d6d6c42f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java
@@ -0,0 +1,113 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.doc;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.etrice.generator.base.AbstractGenerator;
+import org.eclipse.etrice.generator.doc.setup.GeneratorModule;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.doc.gen.InstanceDiagramGen;
+import org.eclipse.xtext.generator.IGenerator;
+
+import com.google.inject.Inject;
+
+public class Main extends AbstractGenerator {
+
+ public static final String OPTION_LIB = "-lib";
+ public static final String OPTION_GEN_INST_DIAG = "-genInstDiag";
+ public static final String OPTION_SAVE_GEN_MODEL = "-saveGenModel";
+
+ /**
+ * print usage message to stderr
+ */
+ private static void printUsage() {
+ output.println(Main.class.getName()+" [-saveGenModel <genmodel path>] [-genInstDiag] [-lib] <list of model file paths>");
+ output.println(" <list of model file paths> # model file paths may be specified as");
+ output.println(" # e.g. C:\\path\\to\\model\\mymodel.room");
+ output.println(" -saveGenModel <genmodel path> # if specified the generator model will be saved to this location");
+ output.println(" -genInstDiag # if specified an instance diagram is created for each subsystem");
+ output.println(" -lib # if specified all classes are generated and no instances");
+ }
+
+ public static void main(String[] args) {
+ createAndRunGenerator(new GeneratorModule(), args);
+ }
+
+ @Inject
+ private IGenerator mainGenerator;
+
+ @Inject
+ protected InstanceDiagramGen instanceDiagramGenerator;
+
+
+ public void runGenerator(String[] args) {
+ if (args.length == 0) {
+ logger.logError(Main.class.getName()+" - aborting: no arguments!", null);
+ printUsage();
+ return;
+ }
+
+ // parsing arguments
+ String genModelPath = null;
+ List<String> uriList = new ArrayList<String>();
+ boolean genInstDiag = false;
+ boolean asLibrary = false;
+ for (int i=0; i<args.length; ++i) {
+ if (args[i].equals(OPTION_SAVE_GEN_MODEL)) {
+ if (++i<args.length) {
+ genModelPath = convertToURI(args[i]+"/genmodel.egm");
+ }
+ }
+ else if (args[i].equals(OPTION_GEN_INST_DIAG)) {
+ genInstDiag = true;
+ }
+ else if (args[i].equals(OPTION_LIB)) {
+ asLibrary = true;
+ }
+ else {
+ uriList.add(convertToURI(args[i]));
+ }
+ }
+
+ setupRoomModel();
+
+ runGenerator(uriList, genModelPath, genInstDiag, asLibrary);
+ }
+
+ protected boolean runGenerator(List<String> uriList, String genModelPath, boolean genInstDiag, boolean asLibrary) {
+ ResourceSet rs = resourceSetProvider.get();
+
+ loadModels(uriList, rs);
+
+ if (!validateModels(rs))
+ return false;
+
+ Root genModel = createGeneratorModel(rs, asLibrary, genModelPath);
+ if (genModel==null)
+ return false;
+
+
+ logger.logInfo("-- starting code generation");
+ fileAccess.setOutputPath("doc-gen/");
+ mainGenerator.doGenerate(genModel.eResource(), fileAccess);
+ if (genInstDiag) {
+ instanceDiagramGenerator.doGenerate(genModel);
+ }
+ logger.logInfo("-- finished code generation");
+
+ return true;
+ }
+}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend
index 568043715..c0a803214 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend
@@ -10,7 +10,7 @@
*
*******************************************************************************/
-package org.eclipse.etrice.generator.java.gen
+package org.eclipse.etrice.generator.doc.gen
import com.google.inject.Inject
import com.google.inject.Singleton
@@ -22,15 +22,13 @@ import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.etrice.generator.etricegen.StructureInstance
import org.eclipse.etrice.generator.etricegen.SubSystemInstance
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
-
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class InstanceDiagramGen implements IRoomGenerator {
@Inject extension JavaIoFileSystemAccess fileAccess
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject ILogger logger
override doGenerate(Root root) {
@@ -43,12 +41,12 @@ class InstanceDiagramGen implements IRoomGenerator {
}
}
- def generate(Root root, SubSystemInstance ssc, SubSystemClass cc) {'''
- digraph «ssc.name» {
+ def generate(Root root, SubSystemInstance ssi, SubSystemClass ssc) {'''
+ digraph «ssi.name» {
rankdir=LR;
node [shape=box];
- «cc.path.getPathName()» [label="«cc.name»\n(«ssc.name»)" style=filled color=yellow];
- «FOR ai : ssc.instances»
+ «ssi.path.getPathName()» [label="«ssc.name»\n(«ssi.name»)" style=filled color=yellow];
+ «FOR ai : ssi.instances»
«instance(ai)»
«ENDFOR»
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend
new file mode 100644
index 000000000..2c0f23ad2
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.doc.gen
+
+import com.google.inject.Inject
+import com.google.inject.Singleton
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.etrice.generator.etricegen.Root
+import org.eclipse.xtext.generator.IFileSystemAccess
+import org.eclipse.xtext.generator.IGenerator
+import org.eclipse.etrice.generator.extensions.PrepareFileSystem
+
+
+@Singleton
+class MainGen implements IGenerator {
+
+ @Inject InstanceDiagramGen instanceDiagramGen
+ @Inject PrepareFileSystem prepFS
+
+ override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+ prepFS.prepare(resource)
+ for (e: resource.contents){
+ if (e instanceof Root) {
+ doGenerate(e as Root)
+ }
+ }
+ }
+
+ def void doGenerate(Root e) {
+ instanceDiagramGen.doGenerate(e);
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java
new file mode 100644
index 000000000..f80cbc412
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.doc.setup;
+
+import org.eclipse.etrice.generator.base.AbstractGenerator;
+import org.eclipse.etrice.generator.base.GeneratorBaseModule;
+import org.eclipse.etrice.generator.doc.Main;
+import org.eclipse.etrice.generator.doc.gen.MainGen;
+import org.eclipse.xtext.generator.IGenerator;
+
+import com.google.inject.Binder;
+
+public class GeneratorModule extends GeneratorBaseModule {
+
+// @Override
+ public void configure(Binder binder) {
+ super.configure(binder);
+
+ binder.bind(AbstractGenerator.class).to(Main.class);
+ binder.bind(IGenerator.class).to(MainGen.class);
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java
index a9fcf641c..73877379c 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/InstanceDiagramGen.java
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java
@@ -1,4 +1,4 @@
-package org.eclipse.etrice.generator.java.gen;
+package org.eclipse.etrice.generator.doc.gen;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -12,7 +12,7 @@ import org.eclipse.etrice.generator.etricegen.ActorInstance;
import org.eclipse.etrice.generator.etricegen.Root;
import org.eclipse.etrice.generator.etricegen.StructureInstance;
import org.eclipse.etrice.generator.etricegen.SubSystemInstance;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.xbase.lib.StringExtensions;
import org.eclipse.xtext.xtend2.lib.StringConcatenation;
@@ -24,7 +24,7 @@ public class InstanceDiagramGen implements IRoomGenerator {
private JavaIoFileSystemAccess fileAccess;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private ILogger logger;
@@ -34,9 +34,9 @@ public class InstanceDiagramGen implements IRoomGenerator {
for (final SubSystemInstance sc : _subSystemInstances) {
{
SubSystemClass _subSystemClass = sc.getSubSystemClass();
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(_subSystemClass);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass);
SubSystemClass _subSystemClass_1 = sc.getSubSystemClass();
- String _path = this.languageExt.getPath(_subSystemClass_1);
+ String _path = this.roomExt.getPath(_subSystemClass_1);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
String path = _operator_plus;
SubSystemClass _subSystemClass_2 = sc.getSubSystemClass();
@@ -56,10 +56,10 @@ public class InstanceDiagramGen implements IRoomGenerator {
}
}
- public StringConcatenation generate(final Root root, final SubSystemInstance ssc, final SubSystemClass cc) {
+ public StringConcatenation generate(final Root root, final SubSystemInstance ssi, final SubSystemClass ssc) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("digraph ");
- String _name = ssc.getName();
+ String _name = ssi.getName();
_builder.append(_name, "");
_builder.append(" {");
_builder.newLineIfNotEmpty();
@@ -70,19 +70,19 @@ public class InstanceDiagramGen implements IRoomGenerator {
_builder.append("node [shape=box];");
_builder.newLine();
_builder.append("\t");
- String _path = this.languageExt.getPath(cc);
- String _pathName = this.languageExt.getPathName(_path);
+ String _path = ssi.getPath();
+ String _pathName = this.roomExt.getPathName(_path);
_builder.append(_pathName, " ");
_builder.append(" [label=\"");
- String _name_1 = cc.getName();
+ String _name_1 = ssc.getName();
_builder.append(_name_1, " ");
_builder.append("\\n(");
- String _name_2 = ssc.getName();
+ String _name_2 = ssi.getName();
_builder.append(_name_2, " ");
_builder.append(")\" style=filled color=yellow];");
_builder.newLineIfNotEmpty();
{
- EList<ActorInstance> _instances = ssc.getInstances();
+ EList<ActorInstance> _instances = ssi.getInstances();
for(final ActorInstance ai : _instances) {
_builder.append("\t");
StringConcatenation _instance = this.instance(ai);
@@ -101,7 +101,7 @@ public class InstanceDiagramGen implements IRoomGenerator {
StructureInstance parent = ((StructureInstance) _eContainer);
_builder.newLineIfNotEmpty();
String _path = ai.getPath();
- String _pathName = this.languageExt.getPathName(_path);
+ String _pathName = this.roomExt.getPathName(_path);
_builder.append(_pathName, "");
_builder.append(" [label=\"");
String _name = ai.getName();
@@ -113,11 +113,11 @@ public class InstanceDiagramGen implements IRoomGenerator {
_builder.append(")\"];");
_builder.newLineIfNotEmpty();
String _path_1 = parent.getPath();
- String _pathName_1 = this.languageExt.getPathName(_path_1);
+ String _pathName_1 = this.roomExt.getPathName(_path_1);
_builder.append(_pathName_1, "");
_builder.append(" -> ");
String _path_2 = ai.getPath();
- String _pathName_2 = this.languageExt.getPathName(_path_2);
+ String _pathName_2 = this.roomExt.getPathName(_path_2);
_builder.append(_pathName_2, "");
_builder.append("; ");
_builder.newLineIfNotEmpty();
diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java
new file mode 100644
index 000000000..c5974af19
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java
@@ -0,0 +1,36 @@
+package org.eclipse.etrice.generator.doc.gen;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.etrice.generator.doc.gen.InstanceDiagramGen;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.extensions.PrepareFileSystem;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+
+@SuppressWarnings("all")
+@Singleton
+public class MainGen implements IGenerator {
+ @Inject
+ private InstanceDiagramGen instanceDiagramGen;
+
+ @Inject
+ private PrepareFileSystem prepFS;
+
+ public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
+ this.prepFS.prepare(resource);
+ EList<EObject> _contents = resource.getContents();
+ for (final EObject e : _contents) {
+ if ((e instanceof Root)) {
+ this.doGenerate(((Root) e));
+ }
+ }
+ }
+
+ public void doGenerate(final Root e) {
+ this.instanceDiagramGen.doGenerate(e);
+ }
+}
diff --git a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
index 09d6385d1..17578ddd5 100644
--- a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
@@ -12,7 +12,8 @@ Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="0.1.0",
org.eclipse.core.runtime;bundle-version="3.6.0",
org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.ui.ide;bundle-version="3.7.0",
- org.eclipse.xtext.xtend2.lib;bundle-version="2.1.1"
+ org.eclipse.xtext.xtend2.lib;bundle-version="2.1.1",
+ org.eclipse.etrice.generator.doc;bundle-version="0.1.0"
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.eclipse.etrice.generator.java
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
index dd6b2cf89..d38665e07 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
@@ -1,118 +1,119 @@
-/*******************************************************************************
- * Copyright (c) 2011 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;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.etrice.generator.base.AbstractGenerator;
-import org.eclipse.etrice.generator.etricegen.Root;
-import org.eclipse.etrice.generator.java.gen.InstanceDiagramGen;
-import org.eclipse.etrice.generator.java.gen.Validator;
-import org.eclipse.etrice.generator.java.setup.GeneratorModule;
-import org.eclipse.xtext.generator.IGenerator;
-
-import com.google.inject.Inject;
-
-public class Main extends AbstractGenerator {
-
- public static final String OPTION_LIB = "-lib";
- public static final String OPTION_GEN_INST_DIAG = "-genInstDiag";
- public static final String OPTION_SAVE_GEN_MODEL = "-saveGenModel";
-
- /**
- * print usage message to stderr
- */
- private static void printUsage() {
- output.println(Main.class.getName()+" [-saveGenModel <genmodel path>] [-genInstDiag] [-lib] <list of model file paths>");
- output.println(" <list of model file paths> # model file paths may be specified as");
- output.println(" # e.g. C:\\path\\to\\model\\mymodel.room");
- output.println(" -saveGenModel <genmodel path> # if specified the generator model will be saved to this location");
- output.println(" -genInstDiag # if specified an instance diagram is created for each subsystem");
- output.println(" -lib # if specified all classes are generated and no instances");
- }
-
- public static void main(String[] args) {
- createAndRunGenerator(new GeneratorModule(), args);
- }
-
- @Inject
- private IGenerator mainGenerator;
-
- @Inject
- protected InstanceDiagramGen instanceDiagramGenerator;
-
- @Inject
- private Validator validator;
-
- public void runGenerator(String[] args) {
- if (args.length == 0) {
- logger.logError(Main.class.getName()+" - aborting: no arguments!", null);
- printUsage();
- return;
- }
-
- // parsing arguments
- String genModelPath = null;
- List<String> uriList = new ArrayList<String>();
- boolean genInstDiag = false;
- boolean asLibrary = false;
- for (int i=0; i<args.length; ++i) {
- if (args[i].equals(OPTION_SAVE_GEN_MODEL)) {
- if (++i<args.length) {
- genModelPath = convertToURI(args[i]+"/genmodel.egm");
- }
- }
- else if (args[i].equals(OPTION_GEN_INST_DIAG)) {
- genInstDiag = true;
- }
- else if (args[i].equals(OPTION_LIB)) {
- asLibrary = true;
- }
- else {
- uriList.add(convertToURI(args[i]));
- }
- }
-
- setupRoomModel();
-
- runGenerator(uriList, genModelPath, genInstDiag, asLibrary);
- }
-
- protected boolean runGenerator(List<String> uriList, String genModelPath, boolean genInstDiag, boolean asLibrary) {
- ResourceSet rs = resourceSetProvider.get();
-
- loadModels(uriList, rs);
-
- if (!validateModels(rs))
- return false;
-
- Root genModel = createGeneratorModel(rs, asLibrary, genModelPath);
- if (genModel==null)
- return false;
-
- if (!validator.validate(genModel))
- return false;
-
- logger.logInfo("-- starting code generation");
- fileAccess.setOutputPath("src-gen/");
- mainGenerator.doGenerate(genModel.eResource(), fileAccess);
- if (genInstDiag) {
- instanceDiagramGenerator.doGenerate(genModel);
- }
- logger.logInfo("-- finished code generation");
-
- return true;
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011 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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.etrice.generator.base.AbstractGenerator;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.doc.gen.InstanceDiagramGen; // TODO: fix import
+import org.eclipse.etrice.generator.java.gen.Validator;
+import org.eclipse.etrice.generator.java.setup.GeneratorModule;
+import org.eclipse.xtext.generator.IGenerator;
+
+import com.google.inject.Inject;
+
+public class Main extends AbstractGenerator {
+
+ public static final String OPTION_LIB = "-lib";
+ public static final String OPTION_GEN_INST_DIAG = "-genInstDiag";
+ public static final String OPTION_SAVE_GEN_MODEL = "-saveGenModel";
+
+ /**
+ * print usage message to stderr
+ */
+ private static void printUsage() {
+ output.println(Main.class.getName()+" [-saveGenModel <genmodel path>] [-genInstDiag] [-lib] <list of model file paths>");
+ output.println(" <list of model file paths> # model file paths may be specified as");
+ output.println(" # e.g. C:\\path\\to\\model\\mymodel.room");
+ output.println(" -saveGenModel <genmodel path> # if specified the generator model will be saved to this location");
+ output.println(" -genInstDiag # if specified an instance diagram is created for each subsystem");
+ output.println(" -lib # if specified all classes are generated and no instances");
+ }
+
+ public static void main(String[] args) {
+ createAndRunGenerator(new GeneratorModule(), args);
+ }
+
+ @Inject
+ private IGenerator mainGenerator;
+
+ @Inject
+ protected InstanceDiagramGen instanceDiagramGenerator;
+
+ @Inject
+ private Validator validator;
+
+ public void runGenerator(String[] args) {
+ if (args.length == 0) {
+ logger.logError(Main.class.getName()+" - aborting: no arguments!", null);
+ printUsage();
+ return;
+ }
+
+ // parsing arguments
+ String genModelPath = null;
+ List<String> uriList = new ArrayList<String>();
+ boolean genInstDiag = false;
+ boolean asLibrary = false;
+ for (int i=0; i<args.length; ++i) {
+ if (args[i].equals(OPTION_SAVE_GEN_MODEL)) {
+ if (++i<args.length) {
+ genModelPath = convertToURI(args[i]+"/genmodel.egm");
+ }
+ }
+ else if (args[i].equals(OPTION_GEN_INST_DIAG)) {
+ genInstDiag = true;
+ }
+ else if (args[i].equals(OPTION_LIB)) {
+ asLibrary = true;
+ }
+ else {
+ uriList.add(convertToURI(args[i]));
+ }
+ }
+
+ setupRoomModel();
+
+ runGenerator(uriList, genModelPath, genInstDiag, asLibrary);
+ }
+
+ protected boolean runGenerator(List<String> uriList, String genModelPath, boolean genInstDiag, boolean asLibrary) {
+ ResourceSet rs = resourceSetProvider.get();
+
+ loadModels(uriList, rs);
+
+ if (!validateModels(rs))
+ return false;
+
+ Root genModel = createGeneratorModel(rs, asLibrary, genModelPath);
+ if (genModel==null)
+ return false;
+
+ if (!validator.validate(genModel))
+ return false;
+
+ logger.logInfo("-- starting code generation");
+ fileAccess.setOutputPath("src-gen/");
+ mainGenerator.doGenerate(genModel.eResource(), fileAccess);
+
+ if (genInstDiag) {
+ instanceDiagramGenerator.doGenerate(genModel);
+ }
+ logger.logInfo("-- finished code generation");
+
+ return true;
+ }
+}
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 a471f3d8a..2cb388f3d 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
@@ -21,14 +21,14 @@ import org.eclipse.etrice.generator.etricegen.ExpandedActorClass
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class ActorClassGen {
@Inject extension JavaIoFileSystemAccess fileAccess
@Inject extension JavaExtensions stdExt
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject extension ProcedureHelpers helpers
@Inject extension StateMachineGen stateMachineGen
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 d9ba9a019..2da61e41a 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
@@ -18,15 +18,14 @@ import org.eclipse.etrice.core.room.DataClass
import org.eclipse.etrice.generator.base.ILogger
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class DataClassGen {
@Inject extension JavaIoFileSystemAccess fileAccess
@Inject extension JavaExtensions stdExt
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject extension ProcedureHelpers helpers
@Inject ILogger logger
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 b4606f980..8ca5d939e 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.generator.etricegen.Root
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.xtext.generator.IGenerator
+import org.eclipse.etrice.generator.extensions.PrepareFileSystem
@Singleton
class MainGen implements IGenerator {
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 e47937d38..cc81b247e 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,14 +20,14 @@ import org.eclipse.etrice.generator.base.ILogger
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class ProtocolClassGen {
@Inject extension JavaIoFileSystemAccess fileAccess
@Inject extension JavaExtensions stdExt
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject extension ProcedureHelpers helpers
@Inject ILogger logger
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 1762f6a15..1b099892b 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,14 +22,13 @@ import org.eclipse.etrice.core.room.TriggeredTransition
import org.eclipse.etrice.generator.etricegen.ExpandedActorClass
import org.eclipse.etrice.generator.etricegen.TransitionChain
import static extension org.eclipse.etrice.generator.extensions.RoomNameProv.*
-
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class StateMachineGen {
@Inject extension JavaExtensions stdExt
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject JavaGenerator javaGen
def genStateMachine(ExpandedActorClass xpac, ActorClass ac) {'''
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 d7ec18301..f1d5381d7 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
@@ -20,17 +20,17 @@ import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.etrice.generator.etricegen.ServiceImplInstance
import org.eclipse.etrice.generator.etricegen.SubSystemInstance
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
+import org.eclipse.etrice.generator.extensions.RoomExtensions
import static extension org.eclipse.etrice.generator.base.Indexed.*
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
@Singleton
class SubSystemClassGen {
@Inject extension JavaIoFileSystemAccess fileAccess
@Inject extension JavaExtensions stdExt
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject extension ProcedureHelpers helpers
@Inject ILogger logger
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.xtend
index ed1a3aa68..92db58f47 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.xtend
@@ -18,14 +18,13 @@ import org.eclipse.etrice.core.room.SubSystemClass
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.etrice.generator.etricegen.SubSystemInstance
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class SubSystemRunnerGen {
@Inject extension JavaIoFileSystemAccess fileAccess
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
def doGenerate(Root root) {
for (sc: root.subSystemInstances) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
index 8f693d0ef..8fa5bf686 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
@@ -22,7 +22,7 @@ import org.eclipse.etrice.core.room.TypedID;
import org.eclipse.etrice.generator.base.ILogger;
import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
import org.eclipse.etrice.generator.etricegen.Root;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.ProcedureHelpers;
import org.eclipse.etrice.generator.java.gen.StateMachineGen;
@@ -43,7 +43,7 @@ public class ActorClassGen {
private JavaExtensions stdExt;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private ProcedureHelpers helpers;
@@ -59,9 +59,9 @@ public class ActorClassGen {
for (final ExpandedActorClass xpac : _xpActorClasses) {
{
ActorClass _actorClass = xpac.getActorClass();
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(_actorClass);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(_actorClass);
ActorClass _actorClass_1 = xpac.getActorClass();
- String _path = this.languageExt.getPath(_actorClass_1);
+ String _path = this.roomExt.getPath(_actorClass_1);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
String path = _operator_plus;
ActorClass _actorClass_2 = xpac.getActorClass();
@@ -83,7 +83,7 @@ public class ActorClassGen {
public StringConcatenation generate(final Root root, final ExpandedActorClass xpac, final ActorClass ac) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package ");
- String _package = this.languageExt.getPackage(ac);
+ String _package = this.roomExt.getPackage(ac);
_builder.append(_package, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -118,7 +118,7 @@ public class ActorClassGen {
EList<ProtocolClass> _referencedProtocols = root.getReferencedProtocols(ac);
for(final ProtocolClass pc : _referencedProtocols) {
_builder.append("import ");
- String _package_1 = this.languageExt.getPackage(pc);
+ String _package_1 = this.roomExt.getPackage(pc);
_builder.append(_package_1, "");
_builder.append(".");
String _name_1 = pc.getName();
@@ -170,11 +170,11 @@ public class ActorClassGen {
_builder.append("//--------------------- ports");
_builder.newLine();
{
- List<Port> _endPorts = this.languageExt.getEndPorts(ac);
+ List<Port> _endPorts = this.roomExt.getEndPorts(ac);
for(final Port ep : _endPorts) {
_builder.append("\t");
_builder.append("protected ");
- String _portClassName = this.languageExt.getPortClassName(ep);
+ String _portClassName = this.roomExt.getPortClassName(ep);
_builder.append(_portClassName, " ");
_builder.append(" ");
String _name_4 = ep.getName();
@@ -191,7 +191,7 @@ public class ActorClassGen {
for(final SAPRef sap : _strSAPs) {
_builder.append("\t");
_builder.append("protected ");
- String _portClassName_1 = this.languageExt.getPortClassName(sap);
+ String _portClassName_1 = this.roomExt.getPortClassName(sap);
_builder.append(_portClassName_1, " ");
_builder.append(" ");
String _name_5 = sap.getName();
@@ -208,7 +208,7 @@ public class ActorClassGen {
for(final ServiceImplementation svc : _serviceImplementations) {
_builder.append("\t");
_builder.append("protected ");
- String _portClassName_2 = this.languageExt.getPortClassName(svc);
+ String _portClassName_2 = this.roomExt.getPortClassName(svc);
_builder.append(_portClassName_2, " ");
_builder.append(" ");
SPPRef _spp = svc.getSpp();
@@ -223,7 +223,7 @@ public class ActorClassGen {
_builder.append("//--------------------- interface item IDs");
_builder.newLine();
{
- List<Port> _endPorts_1 = this.languageExt.getEndPorts(ac);
+ List<Port> _endPorts_1 = this.roomExt.getEndPorts(ac);
for(final Port ep_1 : _endPorts_1) {
_builder.append("\t");
_builder.append("protected static final int IFITEM_");
@@ -355,13 +355,13 @@ public class ActorClassGen {
_builder.append("// own ports");
_builder.newLine();
{
- List<Port> _endPorts_2 = this.languageExt.getEndPorts(ac);
+ List<Port> _endPorts_2 = this.roomExt.getEndPorts(ac);
for(final Port ep_2 : _endPorts_2) {
_builder.append("\t\t");
String _name_15 = ep_2.getName();
_builder.append(_name_15, " ");
_builder.append(" = new ");
- String _portClassName_3 = this.languageExt.getPortClassName(ep_2);
+ String _portClassName_3 = this.roomExt.getPortClassName(ep_2);
_builder.append(_portClassName_3, " ");
_builder.append("(this, \"");
String _name_16 = ep_2.getName();
@@ -413,7 +413,7 @@ public class ActorClassGen {
String _name_20 = sap_2.getName();
_builder.append(_name_20, " ");
_builder.append(" = new ");
- String _portClassName_4 = this.languageExt.getPortClassName(sap_2);
+ String _portClassName_4 = this.roomExt.getPortClassName(sap_2);
_builder.append(_portClassName_4, " ");
_builder.append("(this, \"");
String _name_21 = sap_2.getName();
@@ -442,7 +442,7 @@ public class ActorClassGen {
String _name_25 = _spp_3.getName();
_builder.append(_name_25, " ");
_builder.append(" = new ");
- String _portClassName_5 = this.languageExt.getPortClassName(svc_2);
+ String _portClassName_5 = this.roomExt.getPortClassName(svc_2);
_builder.append(_portClassName_5, " ");
_builder.append("(this, \"");
SPPRef _spp_4 = svc_2.getSpp();
@@ -494,7 +494,7 @@ public class ActorClassGen {
_builder.newLine();
_builder.newLine();
{
- boolean _overridesStop = this.languageExt.overridesStop(ac);
+ boolean _overridesStop = this.roomExt.overridesStop(ac);
boolean _operator_not = BooleanExtensions.operator_not(_overridesStop);
if (_operator_not) {
_builder.append("\t");
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
index 1a5f9f84d..d8f1020f8 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
@@ -11,7 +11,7 @@ import org.eclipse.etrice.core.room.RoomModel;
import org.eclipse.etrice.core.room.Type;
import org.eclipse.etrice.generator.base.ILogger;
import org.eclipse.etrice.generator.etricegen.Root;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.ProcedureHelpers;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
@@ -30,7 +30,7 @@ public class DataClassGen {
private JavaExtensions stdExt;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private ProcedureHelpers helpers;
@@ -42,8 +42,8 @@ public class DataClassGen {
EList<DataClass> _usedDataClasses = root.getUsedDataClasses();
for (final DataClass dc : _usedDataClasses) {
{
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(dc);
- String _path = this.languageExt.getPath(dc);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(dc);
+ String _path = this.roomExt.getPath(dc);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
String path = _operator_plus;
String _javaFileName = this.stdExt.getJavaFileName(dc);
@@ -63,7 +63,7 @@ public class DataClassGen {
public StringConcatenation generate(final Root root, final DataClass dc) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package ");
- String _package = this.languageExt.getPackage(dc);
+ String _package = this.roomExt.getPackage(dc);
_builder.append(_package, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
index 9a8780627..c2e9efeed 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
@@ -6,9 +6,9 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.extensions.PrepareFileSystem;
import org.eclipse.etrice.generator.java.gen.ActorClassGen;
import org.eclipse.etrice.generator.java.gen.DataClassGen;
-import org.eclipse.etrice.generator.java.gen.PrepareFileSystem;
import org.eclipse.etrice.generator.java.gen.ProtocolClassGen;
import org.eclipse.etrice.generator.java.gen.SubSystemClassGen;
import org.eclipse.etrice.generator.java.gen.SubSystemRunnerGen;
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.java
deleted file mode 100644
index 33d178de0..000000000
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.etrice.generator.java.gen;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.io.File;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.etrice.core.room.RoomModel;
-import org.eclipse.etrice.generator.base.ILogger;
-import org.eclipse.etrice.generator.etricegen.Root;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
-import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
-import org.eclipse.xtext.xbase.lib.StringExtensions;
-import org.eclipse.xtext.xtend2.lib.StringConcatenation;
-
-@SuppressWarnings("all")
-@Singleton
-public class PrepareFileSystem {
- @Inject
- private LanguageExtensions languageExt;
-
- @Inject
- private JavaIoFileSystemAccess fileAccess;
-
- @Inject
- private ILogger logger;
-
- public void prepare(final Resource resource) {
- HashSet<String> _hashSet = new HashSet<String>();
- Set<String> pathes = _hashSet;
- EList<EObject> _contents = resource.getContents();
- for (final EObject e : _contents) {
- if ((e instanceof Root)) {
- EList<RoomModel> _usedRoomModels = ((Root) e).getUsedRoomModels();
- for (final RoomModel mdl : _usedRoomModels) {
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(mdl);
- pathes.add(_generationTargetPath);
- }
- }
- }
- for (final String path : pathes) {
- {
- String _operator_plus = StringExtensions.operator_plus("clearing ", path);
- this.logger.logInfo(_operator_plus);
- File _file = new File(path);
- File f = _file;
- this.eraseContents(f);
- this.fileAccess.setOutputPath(path);
- StringConcatenation _readmeText = this.readmeText();
- this.fileAccess.generateFile("readme.txt", _readmeText);
- }
- }
- }
-
- public void eraseContents(final File f) {
- boolean _isDirectory = f.isDirectory();
- if (_isDirectory) {
- {
- File[] _listFiles = f.listFiles();
- File[] children = _listFiles;
- for (final File child : children) {
- {
- this.eraseContents(child);
- child.delete();
- }
- }
- }
- }
- }
-
- public StringConcatenation readmeText() {
- StringConcatenation _builder = new StringConcatenation();
- _builder.append("This directory is an eTrice code generation target.");
- _builder.newLine();
- _builder.append("It will be erased every time the generator is executed.");
- _builder.newLine();
- _builder.newLine();
- _builder.append("DO NOT PLACE OTHER FILES HERE!");
- _builder.newLine();
- return _builder;
- }
-}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
index 487d73efc..b96264b60 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
@@ -17,7 +17,7 @@ import org.eclipse.etrice.core.room.Type;
import org.eclipse.etrice.core.room.TypedID;
import org.eclipse.etrice.generator.base.ILogger;
import org.eclipse.etrice.generator.etricegen.Root;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.ProcedureHelpers;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
@@ -37,7 +37,7 @@ public class ProtocolClassGen {
private JavaExtensions stdExt;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private ProcedureHelpers helpers;
@@ -49,8 +49,8 @@ public class ProtocolClassGen {
EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses();
for (final ProtocolClass pc : _usedProtocolClasses) {
{
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(pc);
- String _path = this.languageExt.getPath(pc);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(pc);
+ String _path = this.roomExt.getPath(pc);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
String path = _operator_plus;
String _javaFileName = this.stdExt.getJavaFileName(pc);
@@ -70,7 +70,7 @@ public class ProtocolClassGen {
public StringConcatenation generate(final Root root, final ProtocolClass pc) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package ");
- String _package = this.languageExt.getPackage(pc);
+ String _package = this.roomExt.getPackage(pc);
_builder.append(_package, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -126,14 +126,14 @@ public class ProtocolClassGen {
_builder.append("//IDs for outgoing messages");
_builder.newLine();
{
- List<Message> _allOutgoingMessages = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages = this.roomExt.getAllOutgoingMessages(pc);
for(final Message message : _allOutgoingMessages) {
_builder.append("\t");
_builder.append("public static final int OUT_");
String _name_2 = message.getName();
_builder.append(_name_2, " ");
_builder.append(" = ");
- List<Message> _allOutgoingMessages_1 = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages_1 = this.roomExt.getAllOutgoingMessages(pc);
int _indexOf = _allOutgoingMessages_1.indexOf(message);
int _operator_plus = IntegerExtensions.operator_plus(((Integer)_indexOf), ((Integer)1));
_builder.append(_operator_plus, " ");
@@ -145,16 +145,16 @@ public class ProtocolClassGen {
_builder.append("//IDs for incoming messages");
_builder.newLine();
{
- List<Message> _allIncomingMessages = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages = this.roomExt.getAllIncomingMessages(pc);
for(final Message message_1 : _allIncomingMessages) {
_builder.append("\t");
_builder.append("public static final int IN_");
String _name_3 = message_1.getName();
_builder.append(_name_3, " ");
_builder.append(" = ");
- List<Message> _allIncomingMessages_1 = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages_1 = this.roomExt.getAllIncomingMessages(pc);
int _indexOf_1 = _allIncomingMessages_1.indexOf(message_1);
- List<Message> _allOutgoingMessages_2 = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages_2 = this.roomExt.getAllOutgoingMessages(pc);
int _size = _allOutgoingMessages_2.size();
int _operator_plus_1 = IntegerExtensions.operator_plus(((Integer)_indexOf_1), ((Integer)_size));
int _operator_plus_2 = IntegerExtensions.operator_plus(((Integer)_operator_plus_1), ((Integer)1));
@@ -168,9 +168,9 @@ public class ProtocolClassGen {
_builder.newLine();
_builder.append("\t");
_builder.append("public static final int MSG_MAX = ");
- List<Message> _allOutgoingMessages_3 = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages_3 = this.roomExt.getAllOutgoingMessages(pc);
int _size_1 = _allOutgoingMessages_3.size();
- List<Message> _allIncomingMessages_2 = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages_2 = this.roomExt.getAllIncomingMessages(pc);
int _size_2 = _allIncomingMessages_2.size();
int _operator_plus_3 = IntegerExtensions.operator_plus(((Integer)_size_1), ((Integer)_size_2));
int _operator_plus_4 = IntegerExtensions.operator_plus(((Integer)_operator_plus_3), ((Integer)1));
@@ -187,7 +187,7 @@ public class ProtocolClassGen {
_builder.append("\t");
_builder.append("private static String messageStrings[] = {\"MIN\", ");
{
- List<Message> _allOutgoingMessages_4 = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages_4 = this.roomExt.getAllOutgoingMessages(pc);
for(final Message m : _allOutgoingMessages_4) {
_builder.append("\"");
String _name_4 = m.getName();
@@ -197,7 +197,7 @@ public class ProtocolClassGen {
}
_builder.append(" ");
{
- List<Message> _allIncomingMessages_3 = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages_3 = this.roomExt.getAllIncomingMessages(pc);
for(final Message m_1 : _allIncomingMessages_3) {
_builder.append("\"");
String _name_5 = m_1.getName();
@@ -251,10 +251,10 @@ public class ProtocolClassGen {
public StringConcatenation portClass(final ProtocolClass pc, final Boolean conj) {
StringConcatenation _builder = new StringConcatenation();
- String _portClassName = this.languageExt.getPortClassName(pc, conj);
+ String _portClassName = this.roomExt.getPortClassName(pc, conj);
String name = _portClassName;
_builder.newLineIfNotEmpty();
- PortClass _portClass = this.languageExt.getPortClass(pc, conj);
+ PortClass _portClass = this.roomExt.getPortClass(pc, conj);
PortClass pclass = _portClass;
_builder.newLineIfNotEmpty();
_builder.newLine();
@@ -343,19 +343,19 @@ public class ProtocolClassGen {
_builder.append("}");
_builder.newLine();
{
- boolean _handlesReceive = this.languageExt.handlesReceive(pc, conj);
+ boolean _handlesReceive = this.roomExt.handlesReceive(pc, conj);
if (_handlesReceive) {
_builder.append("\t\t\t\t");
_builder.append("switch (msg.getEvtId()) {");
_builder.newLine();
{
- List<MessageHandler> _receiveHandlers = this.languageExt.getReceiveHandlers(pc, conj);
+ List<MessageHandler> _receiveHandlers = this.roomExt.getReceiveHandlers(pc, conj);
for(final MessageHandler hdlr : _receiveHandlers) {
_builder.append("\t\t\t\t");
_builder.append("\t");
_builder.append("case ");
Message _msg = hdlr.getMsg();
- String _codeName = this.languageExt.getCodeName(_msg);
+ String _codeName = this.roomExt.getCodeName(_msg);
_builder.append(_codeName, " ");
_builder.append(":");
_builder.newLineIfNotEmpty();
@@ -403,7 +403,7 @@ public class ProtocolClassGen {
_builder.append("getActor().receiveEvent(this, msg.getEvtId(), null);");
_builder.newLine();
{
- boolean _handlesReceive_1 = this.languageExt.handlesReceive(pc, conj);
+ boolean _handlesReceive_1 = this.roomExt.handlesReceive(pc, conj);
if (_handlesReceive_1) {
_builder.append("\t\t\t\t");
_builder.append("}");
@@ -438,7 +438,7 @@ public class ProtocolClassGen {
_builder.append("// sent messages");
_builder.newLine();
{
- List<Message> _outgoing = this.languageExt.getOutgoing(pc, conj);
+ List<Message> _outgoing = this.roomExt.getOutgoing(pc, conj);
for(final Message m : _outgoing) {
_builder.append("\t");
StringConcatenation _sendMessage = this.sendMessage(m, conj);
@@ -543,7 +543,7 @@ public class ProtocolClassGen {
_builder.append("// incoming messages");
_builder.newLine();
{
- List<Message> _allIncomingMessages = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages = this.roomExt.getAllIncomingMessages(pc);
for(final Message m_1 : _allIncomingMessages) {
_builder.append("\t");
StringConcatenation _messageSignature = this.messageSignature(m_1);
@@ -575,7 +575,7 @@ public class ProtocolClassGen {
_builder.append("// outgoing messages");
_builder.newLine();
{
- List<Message> _allOutgoingMessages = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages = this.roomExt.getAllOutgoingMessages(pc);
for(final Message m_2 : _allOutgoingMessages) {
_builder.append("\t");
StringConcatenation _messageSignature_1 = this.messageSignature(m_2);
@@ -620,7 +620,7 @@ public class ProtocolClassGen {
_builder.newLine();
_builder.append("\t");
{
- List<Message> _allOutgoingMessages_1 = this.languageExt.getAllOutgoingMessages(pc);
+ List<Message> _allOutgoingMessages_1 = this.roomExt.getAllOutgoingMessages(pc);
for(final Message m_3 : _allOutgoingMessages_1) {
_builder.append(" ");
StringConcatenation _messageSignature_2 = this.messageSignature(m_3);
@@ -635,7 +635,7 @@ public class ProtocolClassGen {
_builder.newLine();
_builder.append("\t");
{
- List<Message> _allIncomingMessages_1 = this.languageExt.getAllIncomingMessages(pc);
+ List<Message> _allIncomingMessages_1 = this.roomExt.getAllIncomingMessages(pc);
for(final Message m_4 : _allIncomingMessages_1) {
_builder.append(" ");
StringConcatenation _messageSignature_3 = this.messageSignature(m_4);
@@ -706,7 +706,7 @@ public class ProtocolClassGen {
}
String dir = _xifexpression;
_builder.newLineIfNotEmpty();
- MessageHandler _sendHandler = this.languageExt.getSendHandler(m, conj);
+ MessageHandler _sendHandler = this.roomExt.getSendHandler(m, conj);
MessageHandler hdlr = _sendHandler;
_builder.newLineIfNotEmpty();
StringConcatenation _messageSignature = this.messageSignature(m);
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
index 7085e17b6..079ebf353 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
@@ -20,7 +20,7 @@ import org.eclipse.etrice.core.room.TriggeredTransition;
import org.eclipse.etrice.generator.etricegen.ActiveTrigger;
import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
import org.eclipse.etrice.generator.etricegen.TransitionChain;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.etrice.generator.extensions.RoomNameProv;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.JavaGenerator;
@@ -37,7 +37,7 @@ public class StateMachineGen {
private JavaExtensions stdExt;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private JavaGenerator javaGen;
@@ -53,17 +53,17 @@ public class StateMachineGen {
_builder.newLine();
_builder.append("// State IDs for FSM");
_builder.newLine();
- int _numberOfInheritedBaseStates = this.languageExt.getNumberOfInheritedBaseStates(ac);
+ int _numberOfInheritedBaseStates = this.roomExt.getNumberOfInheritedBaseStates(ac);
int offset = _numberOfInheritedBaseStates;
_builder.newLineIfNotEmpty();
StateMachine _stateMachine = ac.getStateMachine();
- List<State> _baseStateList = this.languageExt.getBaseStateList(_stateMachine);
+ List<State> _baseStateList = this.roomExt.getBaseStateList(_stateMachine);
List<State> baseStates = _baseStateList;
_builder.newLineIfNotEmpty();
{
for(final State state : baseStates) {
_builder.append("protected static final int ");
- String _stateId = this.languageExt.getStateId(state);
+ String _stateId = this.roomExt.getStateId(state);
_builder.append(_stateId, "");
_builder.append(" = ");
int _indexOf = baseStates.indexOf(state);
@@ -77,7 +77,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("protected static final String stateStrings[] = {\"<no state>\",\"<top>\",");
{
- List<State> _allBaseStates = this.languageExt.getAllBaseStates(ac);
+ List<State> _allBaseStates = this.roomExt.getAllBaseStates(ac);
boolean hasAnyElements = false;
for(final State state_1 : _allBaseStates) {
if (!hasAnyElements) {
@@ -86,7 +86,7 @@ public class StateMachineGen {
_builder.appendImmediate(",", " ");
}
_builder.append("\"");
- String _statePathName = this.languageExt.getStatePathName(state_1);
+ String _statePathName = this.roomExt.getStatePathName(state_1);
_builder.append(_statePathName, " ");
_builder.append("\"");
_builder.newLineIfNotEmpty();
@@ -110,7 +110,7 @@ public class StateMachineGen {
_builder.newLine();
_builder.append("protected int history[] = {NO_STATE,NO_STATE");
{
- List<State> _allBaseStates_1 = this.languageExt.getAllBaseStates(ac);
+ List<State> _allBaseStates_1 = this.roomExt.getAllBaseStates(ac);
for(final State state_2 : _allBaseStates_1) {
_builder.append(",NO_STATE");
}
@@ -132,7 +132,7 @@ public class StateMachineGen {
{
for(final TransitionChain tc : chains) {
_builder.append("protected static final int ");
- String _chainId = this.languageExt.getChainId(tc);
+ String _chainId = this.roomExt.getChainId(tc);
_builder.append(_chainId, "");
_builder.append(" = ");
int _indexOf_1 = chains.indexOf(tc);
@@ -197,11 +197,11 @@ public class StateMachineGen {
_builder.newLine();
{
StateMachine _stateMachine_1 = xpac.getStateMachine();
- List<State> _leafStateList = this.languageExt.getLeafStateList(_stateMachine_1);
+ List<State> _leafStateList = this.roomExt.getLeafStateList(_stateMachine_1);
for(final State state_3 : _leafStateList) {
_builder.append("\t\t\t");
_builder.append("case ");
- String _stateId_1 = this.languageExt.getStateId(state_3);
+ String _stateId_1 = this.roomExt.getStateId(state_3);
_builder.append(_stateId_1, " ");
_builder.append(":");
_builder.newLineIfNotEmpty();
@@ -231,7 +231,7 @@ public class StateMachineGen {
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("\t");
- boolean _hasGuard = this.languageExt.hasGuard(xpac, at);
+ boolean _hasGuard = this.roomExt.hasGuard(xpac, at);
boolean needData = _hasGuard;
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
@@ -279,7 +279,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("\t");
_builder.append("chain = ");
- String _chainId_1 = this.languageExt.getChainId(chain);
+ String _chainId_1 = this.roomExt.getChainId(chain);
_builder.append(_chainId_1, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -288,7 +288,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("\t");
_builder.append("catching_state = ");
- String _contextId = this.languageExt.getContextId(chain);
+ String _contextId = this.roomExt.getContextId(chain);
_builder.append(_contextId, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -404,13 +404,13 @@ public class StateMachineGen {
_builder.newLine();
_builder.append("\t");
StateMachine _stateMachine_2 = xpac.getStateMachine();
- Transition _initTransition = this.languageExt.getInitTransition(_stateMachine_2);
+ Transition _initTransition = this.roomExt.getInitTransition(_stateMachine_2);
Transition initt = _initTransition;
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("int chain = ");
TransitionChain _chain_1 = xpac.getChain(initt);
- String _chainId_2 = this.languageExt.getChainId(_chain_1);
+ String _chainId_2 = this.roomExt.getChainId(_chain_1);
_builder.append(_chainId_2, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -456,18 +456,18 @@ public class StateMachineGen {
_builder.newLine();
{
StateMachine _stateMachine_3 = xpac.getStateMachine();
- List<State> _baseStateList_1 = this.languageExt.getBaseStateList(_stateMachine_3);
+ List<State> _baseStateList_1 = this.roomExt.getBaseStateList(_stateMachine_3);
for(final State state_4 : _baseStateList_1) {
_builder.append("\t\t\t");
_builder.append("case ");
- String _stateId_2 = this.languageExt.getStateId(state_4);
+ String _stateId_2 = this.roomExt.getStateId(state_4);
_builder.append(_stateId_2, " ");
_builder.append(":");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("\t");
{
- boolean _hasExitCode = this.languageExt.hasExitCode(state_4);
+ boolean _hasExitCode = this.roomExt.hasExitCode(state_4);
if (_hasExitCode) {
_builder.append("if (!handler) ");
String _exitCodeOperationName = RoomNameProv.getExitCodeOperationName(state_4);
@@ -482,7 +482,7 @@ public class StateMachineGen {
String _parentStateId = RoomNameProv.getParentStateId(state_4);
_builder.append(_parentStateId, " ");
_builder.append("] = ");
- String _stateId_3 = this.languageExt.getStateId(state_4);
+ String _stateId_3 = this.roomExt.getStateId(state_4);
_builder.append(_stateId_3, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -540,7 +540,7 @@ public class StateMachineGen {
for(final TransitionChain tc_1 : allchains) {
_builder.append("\t\t");
_builder.append("case ");
- String _chainId_3 = this.languageExt.getChainId(tc_1);
+ String _chainId_3 = this.roomExt.getChainId(tc_1);
_builder.append(_chainId_3, " ");
_builder.append(":");
_builder.newLineIfNotEmpty();
@@ -592,18 +592,18 @@ public class StateMachineGen {
_builder.newLine();
{
StateMachine _stateMachine_4 = xpac.getStateMachine();
- List<State> _baseStateList_2 = this.languageExt.getBaseStateList(_stateMachine_4);
+ List<State> _baseStateList_2 = this.roomExt.getBaseStateList(_stateMachine_4);
for(final State state_5 : _baseStateList_2) {
_builder.append("\t\t\t");
_builder.append("case ");
- String _stateId_4 = this.languageExt.getStateId(state_5);
+ String _stateId_4 = this.roomExt.getStateId(state_5);
_builder.append(_stateId_4, " ");
_builder.append(":");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("\t");
{
- boolean _hasEntryCode = this.languageExt.hasEntryCode(state_5);
+ boolean _hasEntryCode = this.roomExt.hasEntryCode(state_5);
if (_hasEntryCode) {
_builder.append("if (!(skip_entry || handler)) ");
String _entryCodeOperationName = RoomNameProv.getEntryCodeOperationName(state_5);
@@ -613,7 +613,7 @@ public class StateMachineGen {
}
_builder.newLineIfNotEmpty();
{
- boolean _isLeaf = this.languageExt.isLeaf(state_5);
+ boolean _isLeaf = this.roomExt.isLeaf(state_5);
if (_isLeaf) {
_builder.append("\t\t\t");
_builder.append("\t");
@@ -622,7 +622,7 @@ public class StateMachineGen {
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("return ");
- String _stateId_5 = this.languageExt.getStateId(state_5);
+ String _stateId_5 = this.roomExt.getStateId(state_5);
_builder.append(_stateId_5, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -633,7 +633,7 @@ public class StateMachineGen {
_builder.newLine();
{
StateGraph _subgraph = state_5.getSubgraph();
- boolean _hasInitTransition = this.languageExt.hasInitTransition(_subgraph);
+ boolean _hasInitTransition = this.roomExt.hasInitTransition(_subgraph);
if (_hasInitTransition) {
_builder.append("\t\t\t");
_builder.append("\t");
@@ -642,7 +642,7 @@ public class StateMachineGen {
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("if (history[");
- String _stateId_6 = this.languageExt.getStateId(state_5);
+ String _stateId_6 = this.roomExt.getStateId(state_5);
_builder.append(_stateId_6, " ");
_builder.append("]==NO_STATE) {");
_builder.newLineIfNotEmpty();
@@ -650,7 +650,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("\t");
StateGraph _subgraph_1 = state_5.getSubgraph();
- Transition _initTransition_1 = this.languageExt.getInitTransition(_subgraph_1);
+ Transition _initTransition_1 = this.roomExt.getInitTransition(_subgraph_1);
Transition sub_initt = _initTransition_1;
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
@@ -658,7 +658,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("state = executeTransitionChain(");
TransitionChain _chain_2 = xpac.getChain(sub_initt);
- String _chainId_4 = this.languageExt.getChainId(_chain_2);
+ String _chainId_4 = this.roomExt.getChainId(_chain_2);
_builder.append(_chainId_4, " ");
_builder.append(", null, null);");
_builder.newLineIfNotEmpty();
@@ -674,7 +674,7 @@ public class StateMachineGen {
_builder.append("\t");
_builder.append("\t");
_builder.append("state = history[");
- String _stateId_7 = this.languageExt.getStateId(state_5);
+ String _stateId_7 = this.roomExt.getStateId(state_5);
_builder.append(_stateId_7, " ");
_builder.append("];");
_builder.newLineIfNotEmpty();
@@ -690,7 +690,7 @@ public class StateMachineGen {
_builder.append("\t\t\t");
_builder.append("\t");
_builder.append("state = history[");
- String _stateId_8 = this.languageExt.getStateId(state_5);
+ String _stateId_8 = this.roomExt.getStateId(state_5);
_builder.append(_stateId_8, " ");
_builder.append("];");
_builder.newLineIfNotEmpty();
@@ -732,13 +732,13 @@ public class StateMachineGen {
_builder.newLine();
{
StateMachine _stateMachine_5 = xpac.getStateMachine();
- List<State> _stateList = this.languageExt.getStateList(_stateMachine_5);
+ List<State> _stateList = this.roomExt.getStateList(_stateMachine_5);
for(final State state_6 : _stateList) {
{
boolean _isOwnObject = xpac.isOwnObject(state_6);
if (_isOwnObject) {
{
- boolean _hasEntryCode_1 = this.languageExt.hasEntryCode(state_6);
+ boolean _hasEntryCode_1 = this.roomExt.hasEntryCode(state_6);
if (_hasEntryCode_1) {
_builder.append("protected void ");
String _entryCodeOperationName_1 = RoomNameProv.getEntryCodeOperationName(state_6);
@@ -746,7 +746,7 @@ public class StateMachineGen {
_builder.append("() {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
- String _entryCode = this.languageExt.getEntryCode(xpac, state_6);
+ String _entryCode = this.roomExt.getEntryCode(xpac, state_6);
_builder.append(_entryCode, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
@@ -754,7 +754,7 @@ public class StateMachineGen {
}
}
{
- boolean _hasExitCode_1 = this.languageExt.hasExitCode(state_6);
+ boolean _hasExitCode_1 = this.roomExt.hasExitCode(state_6);
if (_hasExitCode_1) {
_builder.append("protected void ");
String _exitCodeOperationName_1 = RoomNameProv.getExitCodeOperationName(state_6);
@@ -762,7 +762,7 @@ public class StateMachineGen {
_builder.append("() {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
- String _exitCode = this.languageExt.getExitCode(xpac, state_6);
+ String _exitCode = this.roomExt.getExitCode(xpac, state_6);
_builder.append(_exitCode, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
@@ -778,7 +778,7 @@ public class StateMachineGen {
_builder.newLine();
{
StateMachine _stateMachine_6 = xpac.getStateMachine();
- List<Transition> _transitionList = this.languageExt.getTransitionList(_stateMachine_6);
+ List<Transition> _transitionList = this.roomExt.getTransitionList(_stateMachine_6);
for(final Transition tr : _transitionList) {
{
boolean _operator_and = false;
@@ -786,7 +786,7 @@ public class StateMachineGen {
if (!_isOwnObject_1) {
_operator_and = false;
} else {
- boolean _hasActionCode = this.languageExt.hasActionCode(tr);
+ boolean _hasActionCode = this.roomExt.hasActionCode(tr);
_operator_and = BooleanExtensions.operator_and(_isOwnObject_1, _hasActionCode);
}
if (_operator_and) {
@@ -804,7 +804,7 @@ public class StateMachineGen {
_builder.append(") {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
- String _actionCode = this.languageExt.getActionCode(xpac, tr);
+ String _actionCode = this.roomExt.getActionCode(xpac, tr);
_builder.append(_actionCode, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
@@ -837,7 +837,7 @@ public class StateMachineGen {
Trigger tr = _findFirst;
_builder.newLineIfNotEmpty();
{
- boolean _hasGuard = this.languageExt.hasGuard(tr);
+ boolean _hasGuard = this.roomExt.hasGuard(tr);
if (_hasGuard) {
_builder.append("if (");
Guard _guard = tr.getGuard();
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
index 9dff3c421..c63a69766 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
@@ -16,7 +16,7 @@ import org.eclipse.etrice.generator.etricegen.InterfaceItemInstance;
import org.eclipse.etrice.generator.etricegen.Root;
import org.eclipse.etrice.generator.etricegen.ServiceImplInstance;
import org.eclipse.etrice.generator.etricegen.SubSystemInstance;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.ProcedureHelpers;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
@@ -36,7 +36,7 @@ public class SubSystemClassGen {
private JavaExtensions stdExt;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
@Inject
private ProcedureHelpers helpers;
@@ -49,9 +49,9 @@ public class SubSystemClassGen {
for (final SubSystemInstance ssi : _subSystemInstances) {
{
SubSystemClass _subSystemClass = ssi.getSubSystemClass();
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(_subSystemClass);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass);
SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
- String _path = this.languageExt.getPath(_subSystemClass_1);
+ String _path = this.roomExt.getPath(_subSystemClass_1);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
String path = _operator_plus;
SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
@@ -73,7 +73,7 @@ public class SubSystemClassGen {
public StringConcatenation generate(final Root root, final SubSystemInstance comp, final SubSystemClass cc) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package ");
- String _package = this.languageExt.getPackage(cc);
+ String _package = this.roomExt.getPackage(cc);
_builder.append(_package, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
@@ -233,7 +233,7 @@ public class SubSystemClassGen {
_builder.append("\t\t");
_builder.append("Address addr_item_");
String _path_1 = ai_1.getPath();
- String _pathName = this.languageExt.getPathName(_path_1);
+ String _pathName = this.roomExt.getPathName(_path_1);
_builder.append(_pathName, " ");
_builder.append(" = new Address(0,");
int _threadId = ai_1.getThreadId();
@@ -273,7 +273,7 @@ public class SubSystemClassGen {
_builder.append("\t\t");
_builder.append("Address addr_item_");
String _path_3 = pi.getPath();
- String _pathName_1 = this.languageExt.getPathName(_path_3);
+ String _pathName_1 = this.roomExt.getPathName(_path_3);
_builder.append(_pathName_1, " ");
_builder.append("_");
_builder.append(i, " ");
@@ -292,7 +292,7 @@ public class SubSystemClassGen {
_builder.append("\t\t");
_builder.append("Address addr_item_");
String _path_4 = pi.getPath();
- String _pathName_2 = this.languageExt.getPathName(_path_4);
+ String _pathName_2 = this.roomExt.getPathName(_path_4);
_builder.append(_pathName_2, " ");
_builder.append(" = new Address(0,");
int _threadId_2 = ai_1.getThreadId();
@@ -367,7 +367,7 @@ public class SubSystemClassGen {
_builder.append("\t");
_builder.append("new Address[][] {{addr_item_");
String _path_5 = ai_2.getPath();
- String _pathName_3 = this.languageExt.getPathName(_path_5);
+ String _pathName_3 = this.roomExt.getPathName(_path_5);
_builder.append(_pathName_3, " ");
_builder.append("}");
{
@@ -417,7 +417,7 @@ public class SubSystemClassGen {
_builder.append("\t");
_builder.append("addr_item_");
String _path_6 = pi_1.getPath();
- String _pathName_4 = this.languageExt.getPathName(_path_6);
+ String _pathName_4 = this.roomExt.getPathName(_path_6);
_builder.append(_pathName_4, " ");
_builder.append("_");
EList<InterfaceItemInstance> _peers_5 = pi_1.getPeers();
@@ -432,7 +432,7 @@ public class SubSystemClassGen {
_builder.append("\t");
_builder.append("addr_item_");
String _path_7 = pi_1.getPath();
- String _pathName_5 = this.languageExt.getPathName(_path_7);
+ String _pathName_5 = this.roomExt.getPathName(_path_7);
_builder.append(_pathName_5, " ");
_builder.newLineIfNotEmpty();
}
@@ -522,7 +522,7 @@ public class SubSystemClassGen {
_builder.append("\t");
_builder.append("addr_item_");
String _path_8 = pp.getPath();
- String _pathName_6 = this.languageExt.getPathName(_path_8);
+ String _pathName_6 = this.roomExt.getPathName(_path_8);
_builder.append(_pathName_6, " ");
_builder.append("_");
EList<InterfaceItemInstance> _peers_9 = pp.getPeers();
@@ -535,7 +535,7 @@ public class SubSystemClassGen {
_builder.append("\t");
_builder.append("addr_item_");
String _path_9 = pp.getPath();
- String _pathName_7 = this.languageExt.getPathName(_path_9);
+ String _pathName_7 = this.roomExt.getPathName(_path_9);
_builder.append(_pathName_7, " ");
_builder.newLineIfNotEmpty();
}
@@ -613,7 +613,7 @@ public class SubSystemClassGen {
_builder.append("\t\t\t\t\t");
_builder.append("addr_item_");
String _path_10 = ai_4.getPath();
- String _pathName_8 = this.languageExt.getPathName(_path_10);
+ String _pathName_8 = this.roomExt.getPathName(_path_10);
_builder.append(_pathName_8, " ");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
index 0a87f6187..023e9118c 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
@@ -6,7 +6,7 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.etrice.core.room.SubSystemClass;
import org.eclipse.etrice.generator.etricegen.Root;
import org.eclipse.etrice.generator.etricegen.SubSystemInstance;
-import org.eclipse.etrice.generator.extensions.LanguageExtensions;
+import org.eclipse.etrice.generator.extensions.RoomExtensions;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.xbase.lib.StringExtensions;
import org.eclipse.xtext.xtend2.lib.StringConcatenation;
@@ -18,16 +18,16 @@ public class SubSystemRunnerGen {
private JavaIoFileSystemAccess fileAccess;
@Inject
- private LanguageExtensions languageExt;
+ private RoomExtensions roomExt;
public void doGenerate(final Root root) {
EList<SubSystemInstance> _subSystemInstances = root.getSubSystemInstances();
for (final SubSystemInstance sc : _subSystemInstances) {
{
SubSystemClass _subSystemClass = sc.getSubSystemClass();
- String _generationTargetPath = this.languageExt.getGenerationTargetPath(_subSystemClass);
+ String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass);
SubSystemClass _subSystemClass_1 = sc.getSubSystemClass();
- String _path = this.languageExt.getPath(_subSystemClass_1);
+ String _path = this.roomExt.getPath(_subSystemClass_1);
String _operator_plus = StringExtensions.operator_plus(_generationTargetPath, _path);
this.fileAccess.setOutputPath(_operator_plus);
String _name = sc.getName();
@@ -65,7 +65,7 @@ public class SubSystemRunnerGen {
_builder.newLine();
_builder.newLine();
_builder.append("package ");
- String _package = this.languageExt.getPackage(cc);
+ String _package = this.roomExt.getPackage(cc);
_builder.append(_package, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/LanguageExtensions.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/LanguageExtensions.xtend
deleted file mode 100644
index 856d50b80..000000000
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/LanguageExtensions.xtend
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- * CHANGES:
- * - moved generator independent functionality from generator.java (Thomas Schuetz)
- *
- *******************************************************************************/
-
- /*
- collection of convenience functions for code generation
-*/
-
-package org.eclipse.etrice.generator.extensions
-
-import com.google.inject.Singleton
-import org.eclipse.etrice.core.room.RoomModel
-import org.eclipse.etrice.core.room.RoomClass
-
-
-@Singleton
-class LanguageExtensions extends RoomExtensions {
-
- //-------------------------------------------------------
- // packages and pathes
-
- def String getPackage(RoomClass rc) {
- return (rc.eContainer as RoomModel).name
- }
-
- def String getPathFromPackage(String packageName) {
- return packageName.replaceAll("\\.", "/") + "/"
- }
-
- def String getPath(RoomClass rc) {
- getPathFromPackage(getPackage(rc))
- }
-
-}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/PrepareFileSystem.xtend
index e62d56a7e..34c998f5c 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/PrepareFileSystem.xtend
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/PrepareFileSystem.xtend
@@ -10,7 +10,7 @@
*
*******************************************************************************/
-package org.eclipse.etrice.generator.java.gen
+package org.eclipse.etrice.generator.extensions
import com.google.inject.Inject
import com.google.inject.Singleton
@@ -21,13 +21,12 @@ import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.etrice.generator.base.ILogger
import org.eclipse.etrice.generator.etricegen.Root
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
-
-import org.eclipse.etrice.generator.extensions.LanguageExtensions
+import org.eclipse.etrice.generator.extensions.RoomExtensions
@Singleton
class PrepareFileSystem {
- @Inject extension LanguageExtensions languageExt
+ @Inject extension RoomExtensions roomExt
@Inject extension JavaIoFileSystemAccess fileAccess
@Inject ILogger logger
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/RoomExtensions.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/RoomExtensions.xtend
index 3783fb613..6d6e95213 100644
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/RoomExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/extensions/RoomExtensions.xtend
@@ -1,422 +1,441 @@
-/*******************************************************************************
- * Copyright (c) 2011 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:
- * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-/*
- collection of convenience functions for code generation
-*/
-
-package org.eclipse.etrice.generator.extensions
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import java.io.File
-import java.util.ArrayList
-import java.util.List
-import org.eclipse.emf.ecore.EObject
-import org.eclipse.etrice.core.room.ActorClass
-import org.eclipse.etrice.core.room.BaseState
-import org.eclipse.etrice.core.room.ExternalPort
-import org.eclipse.etrice.core.room.InitialTransition
-import org.eclipse.etrice.core.room.Message
-import org.eclipse.etrice.core.room.MessageHandler
-import org.eclipse.etrice.core.room.Port
-import org.eclipse.etrice.core.room.PortClass
-import org.eclipse.etrice.core.room.ProtocolClass
-import org.eclipse.etrice.core.room.RefinedState
-import org.eclipse.etrice.core.room.SAPRef
-import org.eclipse.etrice.core.room.ServiceImplementation
-import org.eclipse.etrice.core.room.State
-import org.eclipse.etrice.core.room.StateGraph
-import org.eclipse.etrice.core.room.Transition
-import org.eclipse.etrice.core.room.Trigger
-import org.eclipse.etrice.generator.etricegen.ActiveTrigger
-import org.eclipse.etrice.generator.etricegen.ExpandedActorClass
-import org.eclipse.etrice.generator.etricegen.TransitionChain
-import static extension org.eclipse.etrice.generator.extensions.RoomNameProv.*
-
-@Singleton
-class RoomExtensions {
-
- // for the time being we need a delegate to the static methods of the RoomNameProvider
- @Inject extension RoomNameProv nameProvider
-
- //-------------------------------------------------------
- // union methods
-
- def <T> List<T> union(List<T> l1, List<T> l2) {
- var ret = new ArrayList<T>()
- ret.addAll(l1)
- ret.addAll(l2)
- return ret
- }
-
- def List<Port> punion(List<Port> in1, List<ExternalPort> in2){
- var ret=new ArrayList<Port>();
- for(ele : in2){
- ret.add(ele.ifport)
- }
- ret.addAll(in1)
- return ret
- }
-
- //-------------------------------------------------------
- // path related methods
-
- def String getGenerationPathSegment() {
- return "/src-gen/"
- }
-
- def String getModelPath(EObject e) {
- var res = e.eResource;
- if (res==null) {
- return ""
- }
- else {
- return res.URI.toFileString
- }
- }
-
- // a directory is a eclipse project if it contains a ".project" file
- def String getProjectPath(EObject e) {
- var res = e.eResource;
- if (res==null) {
- return ""
- }
- else {
- var tmpf = new File("")
- tmpf = new File(res.URI.toFileString)
- if (!tmpf.file)
- return ""
- var isProject = false;
- do {
- tmpf = tmpf.parentFile
- var contents = tmpf.list
- for (f : contents)
- if (f.equals(".project")) {
- isProject = true
- }
- }
- while (!isProject && tmpf.parentFile!=null)
-
- return tmpf.absolutePath
- }
- }
-
- def String getGenerationTargetPath(EObject e){
- return getProjectPath(e)+getGenerationPathSegment();
- }
-
- def List<Port> getEndPorts(ActorClass ac) {
- ac.intPorts.punion(ac.extPorts)
- }
-
- // make a valid identifier from a path string
- def String getPathName(String path){
- path.replaceAll("/","_");
- }
-
- //-------------------------------------------------------
- // protocol related methods
-
- def String getPortClassName(ProtocolClass p, boolean conj) {
- var ret=p.name
- if(conj) {
- ret=ret+"ConjPort"
- }else{
- ret=ret+"Port"
- }
- return ret
- }
-
- def String getPortClassName(Port p){
- var ret=p.protocol.getPortClassName(p.conjugated)
- if (p.replicated){
- ret = ret+"Repl"
- }
- return ret
- }
-
- def String getPortClassName(ExternalPort p){
- return p.ifport.getPortClassName()
- }
-
- def String getPortClassName(SAPRef sap) {
- return sap.protocol.getPortClassName(true)
- }
-
- def String getPortClassName(ServiceImplementation svc) {
- return svc.spp.protocol.getPortClassName(false)+"Repl"
- }
- // message lists with super class messages, super classes first
- def List<Message> getAllIncomingMessages(ProtocolClass pc) {
- if (pc.base!=null)
- return pc.base.getAllIncomingMessages().union(pc.incomingMessages)
- else
- return pc.incomingMessages
- }
-
- def List<Message> getAllOutgoingMessages(ProtocolClass pc) {
- if (pc.base!=null)
- return pc.base.getAllOutgoingMessages().union(pc.outgoingMessages)
- else
- pc.outgoingMessages
- }
-
- def List<Message> getIncoming(ProtocolClass pc, boolean conj) {
- if (conj)
- return pc.getAllOutgoingMessages()
- else
- return pc.getAllIncomingMessages()
- }
-
- def List<Message> getOutgoing(ProtocolClass pc, boolean conj) {
- if (conj)
- return pc.getAllIncomingMessages()
- else
- return pc.getAllOutgoingMessages()
- }
-
- def PortClass getPortClass(ProtocolClass pc, boolean conj) {
- if (conj)
- return pc.conjugate
- else
- return pc.regular
- }
-
- def boolean handlesSend(ProtocolClass pc, boolean conj) {
- if (pc.getPortClass(conj)==null)
- return false
- else {
- for (hdlr : pc.getPortClass(conj).msgHandlers)
- if (pc.getOutgoing(conj).contains(hdlr.msg))
- return true;
- }
- return false;
- }
-
- def boolean handlesReceive(ProtocolClass pc, boolean conj) {
- if (pc.getPortClass(conj)==null)
- return false
- else {
- for (hdlr : pc.getPortClass(conj).msgHandlers)
- if (pc.getIncoming(conj).contains(hdlr.msg))
- return true;
- }
- return false;
- }
-
- def List<MessageHandler> getReceiveHandlers(ProtocolClass pc, boolean conj) {
- if (pc.getPortClass(conj)==null)
- return new ArrayList<MessageHandler>()
- else {
- var res = new ArrayList<MessageHandler>()
- for (hdlr : pc.getPortClass(conj).msgHandlers) {
- if (pc.getIncoming(conj).contains(hdlr.msg))
- res.add(hdlr)
- }
- return res
- }
- }
-
- def List<MessageHandler> getSendHandlers(ProtocolClass pc, boolean conj) {
- if (pc.getPortClass(conj)==null)
- return new ArrayList<MessageHandler>()
- else {
- var res = new ArrayList<MessageHandler>()
- for (hdlr : pc.getPortClass(conj).msgHandlers) {
- if (pc.getOutgoing(conj).contains(hdlr.msg))
- res.add(hdlr)
- }
- return res
- }
- }
-
- def MessageHandler getSendHandler(Message m, boolean conj) {
- return (m.eContainer as ProtocolClass).getSendHandlers(conj).findFirst(e|e.msg==m)
- }
-
- def boolean isIncoming(Message m) {
- return (m.eContainer as ProtocolClass).allIncomingMessages.contains(m)
- }
-
- def String getCodeName(Message m) {
- if (m.isIncoming())
- return "IN_"+m.name
- else
- return "OUT_"+m.name
- }
-
- //-------------------------------------------------------
- // state graph related methods
-
- // state lists
- def boolean isLeaf(State s){
- s.subgraph==null
- }
-
- def List<State> getLeafStateList(StateGraph sg) {
- var ArrayList<State> res = new ArrayList<State>()
- for (s : sg.states) {
- res.addAll(s.leafStateList)
- }
- return res
- }
-
- def List<State> getLeafStateList(State s) {
- if (s.isLeaf()) {
- var res = new ArrayList<State>()
- res.add(s)
- return res
- }
- else
- return s.subgraph.getLeafStateList()
- }
-
- def List<State> getStateList(StateGraph sg){
- var ret = new ArrayList<State>()
- for (e : sg.states){
- ret.add(e)
- var tmp=e.subgraph
- if(tmp!=null){
- ret.addAll(e.subgraph.stateList)
- }
- }
- return ret
- }
-
- def List<State> getBaseStateList(StateGraph sg) {
- var ret = new ArrayList<State>()
- for(e : sg.getStateList()){
- if(e instanceof BaseState){
- ret.add(e)
- }
- }
- return ret
- }
-
- def List<State> getAllBaseStates(ActorClass ac) {
- if (ac.base==null)
- return ac.stateMachine.getBaseStateList()
- else
- ac.base.getAllBaseStates().union(ac.stateMachine.getBaseStateList())
- }
-
- def boolean overridesStop(ActorClass ac) {
- return ac.operations.exists(e|e.name=="stop"&&e.arguments.isEmpty&&e.returntype==null)
- || (ac.base!=null && ac.base.overridesStop())
- }
-
- def int getNumberOfInheritedStates(ActorClass ac) {
- if (ac.base==null)
- return 0
- else
- return ac.base.stateMachine.getStateList().size+ac.base.getNumberOfInheritedStates()
- }
-
- def int getNumberOfInheritedBaseStates(ActorClass ac) {
- if (ac.base==null)
- return 0
- else
- return ac.base.stateMachine.getBaseStateList().size+ac.base.getNumberOfInheritedBaseStates()
- }
-
- def String getStateId(State s) {
- return getGenStateId(s)
- }
-
- def String getStatePathName(State s) {
- return getGenStatePathName(s);
- }
-
- def String getChainId(TransitionChain t) {
- return getGenChainId(t)
- }
-
- def boolean hasGuard(Trigger tr) {
- return tr.guard!=null && tr.guard.guard!=null && tr.guard.guard.commands.size>0
- }
-
- def boolean hasGuard(ExpandedActorClass ac, ActiveTrigger at) {
- var hasGuard = false
- for (t : at.transitions) {
- if (t.triggers.exists(e|ac.isMatching(e, at.trigger) && e.hasGuard()))
- hasGuard = true
- }
- return hasGuard
- }
-
- def boolean hasEntryCode(State s) {
- return s.entryCode!=null && s.entryCode.commands.size>0
- }
-
- def boolean hasExitCode(State s) {
- return s.exitCode!=null && s.exitCode.commands.size>0
- }
-
- def String getEntryCode(ExpandedActorClass ac, State s) {
- if (s instanceof RefinedState)
- return "super."+s.getEntryCodeOperationName()+"();\n"+ac.getCode(s.entryCode)
- else
- return ac.getCode(s.entryCode)
- }
-
- def String getExitCode(ExpandedActorClass ac, State s) {
- if (s instanceof RefinedState)
- return ac.getCode(s.exitCode)+"super."+s.getEntryCodeOperationName()+"();\n"
- else
- ac.getCode(s.exitCode)
- }
-
- def boolean hasActionCode(Transition t) {
- return t.action!=null && t.action.commands.size>0
- }
- def String getActionCode(ExpandedActorClass ac, Transition t) {
- return ac.getCode(t.action)
- }
-
- def String getContextId(TransitionChain tc) {
- return tc.getStateContext().getStateId()
- }
-
- def Transition getInitTransition(StateGraph sg) {
- for (tr : sg.transitions) {
- if (tr instanceof InitialTransition)
- return tr
- }
- return null
- }
-
- def boolean hasInitTransition(StateGraph sg) {
- for (tr : sg.transitions) {
- if (tr instanceof InitialTransition)
- return true
- }
- return false
- }
-
- def List<Transition> getTransitionList(State s) {
- if (s.isLeaf())
- return new ArrayList<Transition>()
- else
- return s.subgraph.getTransitionList()
- }
-
- def List<Transition> getTransitionList(StateGraph sg) {
- var res = new ArrayList<Transition>(sg.transitions)
- for (s : sg.states) {
- res.addAll(s.transitionList)
- }
- return res
- }
-
-
+/*******************************************************************************
+ * Copyright (c) 2011 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:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+/*
+ collection of convenience functions for code generation
+*/
+
+package org.eclipse.etrice.generator.extensions
+
+import com.google.inject.Inject
+import com.google.inject.Singleton
+import java.io.File
+import java.util.ArrayList
+import java.util.List
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.etrice.core.room.ActorClass
+import org.eclipse.etrice.core.room.BaseState
+import org.eclipse.etrice.core.room.ExternalPort
+import org.eclipse.etrice.core.room.InitialTransition
+import org.eclipse.etrice.core.room.Message
+import org.eclipse.etrice.core.room.MessageHandler
+import org.eclipse.etrice.core.room.Port
+import org.eclipse.etrice.core.room.PortClass
+import org.eclipse.etrice.core.room.ProtocolClass
+import org.eclipse.etrice.core.room.RefinedState
+import org.eclipse.etrice.core.room.SAPRef
+import org.eclipse.etrice.core.room.ServiceImplementation
+import org.eclipse.etrice.core.room.State
+import org.eclipse.etrice.core.room.StateGraph
+import org.eclipse.etrice.core.room.Transition
+import org.eclipse.etrice.core.room.Trigger
+import org.eclipse.etrice.core.room.RoomClass
+import org.eclipse.etrice.core.room.RoomModel
+import org.eclipse.etrice.generator.etricegen.ActiveTrigger
+import org.eclipse.etrice.generator.etricegen.ExpandedActorClass
+import org.eclipse.etrice.generator.etricegen.TransitionChain
+
+import static extension org.eclipse.etrice.generator.extensions.RoomNameProv.*
+
+@Singleton
+class RoomExtensions {
+
+ // for the time being we need a delegate to the static methods of the RoomNameProvider
+ @Inject extension RoomNameProv nameProvider
+
+ //-------------------------------------------------------
+ // union methods
+
+ def <T> List<T> union(List<T> l1, List<T> l2) {
+ var ret = new ArrayList<T>()
+ ret.addAll(l1)
+ ret.addAll(l2)
+ return ret
+ }
+
+ def List<Port> punion(List<Port> in1, List<ExternalPort> in2){
+ var ret=new ArrayList<Port>();
+ for(ele : in2){
+ ret.add(ele.ifport)
+ }
+ ret.addAll(in1)
+ return ret
+ }
+
+ //-------------------------------------------------------
+ // path related methods
+
+ def String getGenerationPathSegment() {
+ return "/src-gen/"
+ }
+
+ def String getModelPath(EObject e) {
+ var res = e.eResource;
+ if (res==null) {
+ return ""
+ }
+ else {
+ return res.URI.toFileString
+ }
+ }
+
+
+ //-------------------------------------------------------
+ // packages and pathes
+
+ def String getPackage(RoomClass rc) {
+ return (rc.eContainer as RoomModel).name
+ }
+
+ def String getPathFromPackage(String packageName) {
+ return packageName.replaceAll("\\.", "/") + "/"
+ }
+
+ def String getPath(RoomClass rc) {
+ getPathFromPackage(getPackage(rc))
+ }
+
+ // a directory is a eclipse project if it contains a ".project" file
+ def String getProjectPath(EObject e) {
+ var res = e.eResource;
+ if (res==null) {
+ return ""
+ }
+ else {
+ var tmpf = new File("")
+ tmpf = new File(res.URI.toFileString)
+ if (!tmpf.file)
+ return ""
+ var isProject = false;
+ do {
+ tmpf = tmpf.parentFile
+ var contents = tmpf.list
+ for (f : contents)
+ if (f.equals(".project")) {
+ isProject = true
+ }
+ }
+ while (!isProject && tmpf.parentFile!=null)
+
+ return tmpf.absolutePath
+ }
+ }
+
+ def String getGenerationTargetPath(EObject e){
+ return getProjectPath(e)+getGenerationPathSegment();
+ }
+
+ def List<Port> getEndPorts(ActorClass ac) {
+ ac.intPorts.punion(ac.extPorts)
+ }
+
+ // make a valid identifier from a path string
+ def String getPathName(String path){
+ path.replaceAll("/","_");
+ }
+
+ //-------------------------------------------------------
+ // protocol related methods
+
+ def String getPortClassName(ProtocolClass p, boolean conj) {
+ var ret=p.name
+ if(conj) {
+ ret=ret+"ConjPort"
+ }else{
+ ret=ret+"Port"
+ }
+ return ret
+ }
+
+ def String getPortClassName(Port p){
+ var ret=p.protocol.getPortClassName(p.conjugated)
+ if (p.replicated){
+ ret = ret+"Repl"
+ }
+ return ret
+ }
+
+ def String getPortClassName(ExternalPort p){
+ return p.ifport.getPortClassName()
+ }
+
+ def String getPortClassName(SAPRef sap) {
+ return sap.protocol.getPortClassName(true)
+ }
+
+ def String getPortClassName(ServiceImplementation svc) {
+ return svc.spp.protocol.getPortClassName(false)+"Repl"
+ }
+ // message lists with super class messages, super classes first
+ def List<Message> getAllIncomingMessages(ProtocolClass pc) {
+ if (pc.base!=null)
+ return pc.base.getAllIncomingMessages().union(pc.incomingMessages)
+ else
+ return pc.incomingMessages
+ }
+
+ def List<Message> getAllOutgoingMessages(ProtocolClass pc) {
+ if (pc.base!=null)
+ return pc.base.getAllOutgoingMessages().union(pc.outgoingMessages)
+ else
+ pc.outgoingMessages
+ }
+
+ def List<Message> getIncoming(ProtocolClass pc, boolean conj) {
+ if (conj)
+ return pc.getAllOutgoingMessages()
+ else
+ return pc.getAllIncomingMessages()
+ }
+
+ def List<Message> getOutgoing(ProtocolClass pc, boolean conj) {
+ if (conj)
+ return pc.getAllIncomingMessages()
+ else
+ return pc.getAllOutgoingMessages()
+ }
+
+ def PortClass getPortClass(ProtocolClass pc, boolean conj) {
+ if (conj)
+ return pc.conjugate
+ else
+ return pc.regular
+ }
+
+ def boolean handlesSend(ProtocolClass pc, boolean conj) {
+ if (pc.getPortClass(conj)==null)
+ return false
+ else {
+ for (hdlr : pc.getPortClass(conj).msgHandlers)
+ if (pc.getOutgoing(conj).contains(hdlr.msg))
+ return true;
+ }
+ return false;
+ }
+
+ def boolean handlesReceive(ProtocolClass pc, boolean conj) {
+ if (pc.getPortClass(conj)==null)
+ return false
+ else {
+ for (hdlr : pc.getPortClass(conj).msgHandlers)
+ if (pc.getIncoming(conj).contains(hdlr.msg))
+ return true;
+ }
+ return false;
+ }
+
+ def List<MessageHandler> getReceiveHandlers(ProtocolClass pc, boolean conj) {
+ if (pc.getPortClass(conj)==null)
+ return new ArrayList<MessageHandler>()
+ else {
+ var res = new ArrayList<MessageHandler>()
+ for (hdlr : pc.getPortClass(conj).msgHandlers) {
+ if (pc.getIncoming(conj).contains(hdlr.msg))
+ res.add(hdlr)
+ }
+ return res
+ }
+ }
+
+ def List<MessageHandler> getSendHandlers(ProtocolClass pc, boolean conj) {
+ if (pc.getPortClass(conj)==null)
+ return new ArrayList<MessageHandler>()
+ else {
+ var res = new ArrayList<MessageHandler>()
+ for (hdlr : pc.getPortClass(conj).msgHandlers) {
+ if (pc.getOutgoing(conj).contains(hdlr.msg))
+ res.add(hdlr)
+ }
+ return res
+ }
+ }
+
+ def MessageHandler getSendHandler(Message m, boolean conj) {
+ return (m.eContainer as ProtocolClass).getSendHandlers(conj).findFirst(e|e.msg==m)
+ }
+
+ def boolean isIncoming(Message m) {
+ return (m.eContainer as ProtocolClass).allIncomingMessages.contains(m)
+ }
+
+ def String getCodeName(Message m) {
+ if (m.isIncoming())
+ return "IN_"+m.name
+ else
+ return "OUT_"+m.name
+ }
+
+ //-------------------------------------------------------
+ // state graph related methods
+
+ // state lists
+ def boolean isLeaf(State s){
+ s.subgraph==null
+ }
+
+ def List<State> getLeafStateList(StateGraph sg) {
+ var ArrayList<State> res = new ArrayList<State>()
+ for (s : sg.states) {
+ res.addAll(s.leafStateList)
+ }
+ return res
+ }
+
+ def List<State> getLeafStateList(State s) {
+ if (s.isLeaf()) {
+ var res = new ArrayList<State>()
+ res.add(s)
+ return res
+ }
+ else
+ return s.subgraph.getLeafStateList()
+ }
+
+ def List<State> getStateList(StateGraph sg){
+ var ret = new ArrayList<State>()
+ for (e : sg.states){
+ ret.add(e)
+ var tmp=e.subgraph
+ if(tmp!=null){
+ ret.addAll(e.subgraph.stateList)
+ }
+ }
+ return ret
+ }
+
+ def List<State> getBaseStateList(StateGraph sg) {
+ var ret = new ArrayList<State>()
+ for(e : sg.getStateList()){
+ if(e instanceof BaseState){
+ ret.add(e)
+ }
+ }
+ return ret
+ }
+
+ def List<State> getAllBaseStates(ActorClass ac) {
+ if (ac.base==null)
+ return ac.stateMachine.getBaseStateList()
+ else
+ ac.base.getAllBaseStates().union(ac.stateMachine.getBaseStateList())
+ }
+
+ def boolean overridesStop(ActorClass ac) {
+ return ac.operations.exists(e|e.name=="stop"&&e.arguments.isEmpty&&e.returntype==null)
+ || (ac.base!=null && ac.base.overridesStop())
+ }
+
+ def int getNumberOfInheritedStates(ActorClass ac) {
+ if (ac.base==null)
+ return 0
+ else
+ return ac.base.stateMachine.getStateList().size+ac.base.getNumberOfInheritedStates()
+ }
+
+ def int getNumberOfInheritedBaseStates(ActorClass ac) {
+ if (ac.base==null)
+ return 0
+ else
+ return ac.base.stateMachine.getBaseStateList().size+ac.base.getNumberOfInheritedBaseStates()
+ }
+
+ def String getStateId(State s) {
+ return getGenStateId(s)
+ }
+
+ def String getStatePathName(State s) {
+ return getGenStatePathName(s);
+ }
+
+ def String getChainId(TransitionChain t) {
+ return getGenChainId(t)
+ }
+
+ def boolean hasGuard(Trigger tr) {
+ return tr.guard!=null && tr.guard.guard!=null && tr.guard.guard.commands.size>0
+ }
+
+ def boolean hasGuard(ExpandedActorClass ac, ActiveTrigger at) {
+ var hasGuard = false
+ for (t : at.transitions) {
+ if (t.triggers.exists(e|ac.isMatching(e, at.trigger) && e.hasGuard()))
+ hasGuard = true
+ }
+ return hasGuard
+ }
+
+ def boolean hasEntryCode(State s) {
+ return s.entryCode!=null && s.entryCode.commands.size>0
+ }
+
+ def boolean hasExitCode(State s) {
+ return s.exitCode!=null && s.exitCode.commands.size>0
+ }
+
+ def String getEntryCode(ExpandedActorClass ac, State s) {
+ if (s instanceof RefinedState)
+ return "super."+s.getEntryCodeOperationName()+"();\n"+ac.getCode(s.entryCode)
+ else
+ return ac.getCode(s.entryCode)
+ }
+
+ def String getExitCode(ExpandedActorClass ac, State s) {
+ if (s instanceof RefinedState)
+ return ac.getCode(s.exitCode)+"super."+s.getEntryCodeOperationName()+"();\n"
+ else
+ ac.getCode(s.exitCode)
+ }
+
+ def boolean hasActionCode(Transition t) {
+ return t.action!=null && t.action.commands.size>0
+ }
+ def String getActionCode(ExpandedActorClass ac, Transition t) {
+ return ac.getCode(t.action)
+ }
+
+ def String getContextId(TransitionChain tc) {
+ return tc.getStateContext().getStateId()
+ }
+
+ def Transition getInitTransition(StateGraph sg) {
+ for (tr : sg.transitions) {
+ if (tr instanceof InitialTransition)
+ return tr
+ }
+ return null
+ }
+
+ def boolean hasInitTransition(StateGraph sg) {
+ for (tr : sg.transitions) {
+ if (tr instanceof InitialTransition)
+ return true
+ }
+ return false
+ }
+
+ def List<Transition> getTransitionList(State s) {
+ if (s.isLeaf())
+ return new ArrayList<Transition>()
+ else
+ return s.subgraph.getTransitionList()
+ }
+
+ def List<Transition> getTransitionList(StateGraph sg) {
+ var res = new ArrayList<Transition>(sg.transitions)
+ for (s : sg.states) {
+ res.addAll(s.transitionList)
+ }
+ return res
+ }
+
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/extensions/RoomExtensions.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/extensions/RoomExtensions.java
index 8bd067b50..11fd1ed36 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/extensions/RoomExtensions.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/extensions/RoomExtensions.java
@@ -24,6 +24,8 @@ import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.PortClass;
import org.eclipse.etrice.core.room.ProtocolClass;
import org.eclipse.etrice.core.room.RefinedState;
+import org.eclipse.etrice.core.room.RoomClass;
+import org.eclipse.etrice.core.room.RoomModel;
import org.eclipse.etrice.core.room.SAPRef;
import org.eclipse.etrice.core.room.SPPRef;
import org.eclipse.etrice.core.room.ServiceImplementation;
@@ -87,6 +89,24 @@ public class RoomExtensions {
}
}
+ public String getPackage(final RoomClass rc) {
+ EObject _eContainer = rc.eContainer();
+ String _name = ((RoomModel) _eContainer).getName();
+ return _name;
+ }
+
+ public String getPathFromPackage(final String packageName) {
+ String _replaceAll = packageName.replaceAll("\\.", "/");
+ String _operator_plus = StringExtensions.operator_plus(_replaceAll, "/");
+ return _operator_plus;
+ }
+
+ public String getPath(final RoomClass rc) {
+ String _package = this.getPackage(rc);
+ String _pathFromPackage = this.getPathFromPackage(_package);
+ return _pathFromPackage;
+ }
+
public String getProjectPath(final EObject e) {
Resource _eResource = e.eResource();
Resource res = _eResource;
diff --git a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketConfiguration.java b/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketConfiguration.java
deleted file mode 100644
index f49ac2cdf..000000000
--- a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketConfiguration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.etrice.modellib.Socket;
-
-
-
-public class DSocketConfiguration {
- //--------------------- attributes
- protected String serverName;protected int portNumber;protected int protocol;protected boolean checkCookie;protected int mode;
- //--------------------- attribute setters and getters
- public void setServerName (String serverName) {
- this.serverName = serverName;
- }
- public String getServerName () {
- return serverName;
- }public void setPortNumber (int portNumber) {
- this.portNumber = portNumber;
- }
- public int getPortNumber () {
- return portNumber;
- }public void setProtocol (int protocol) {
- this.protocol = protocol;
- }
- public int getProtocol () {
- return protocol;
- }public void setCheckCookie (boolean checkCookie) {
- this.checkCookie = checkCookie;
- }
- public boolean getCheckCookie () {
- return checkCookie;
- }public void setMode (int mode) {
- this.mode = mode;
- }
- public int getMode () {
- return mode;
- }
- //--------------------- operations
-
- // default constructor
- public DSocketConfiguration() {
- }
-
- // deep copy
- public DSocketConfiguration deepCopy() {
- DSocketConfiguration copy = new DSocketConfiguration();
- copy.serverName = serverName;
- copy.portNumber = portNumber;
- copy.protocol = protocol;
- copy.checkCookie = checkCookie;
- copy.mode = mode;
- return copy;
- }
-};
diff --git a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketData.java b/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketData.java
deleted file mode 100644
index f26695854..000000000
--- a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/DSocketData.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.etrice.modellib.Socket;
-
-
-
-public class DSocketData {
- //--------------------- attributes
- protected int size;protected String data;
- //--------------------- attribute setters and getters
- public void setSize (int size) {
- this.size = size;
- }
- public int getSize () {
- return size;
- }public void setData (String data) {
- this.data = data;
- }
- public String getData () {
- return data;
- }
- //--------------------- operations
-
- // default constructor
- public DSocketData() {
- }
-
- // deep copy
- public DSocketData deepCopy() {
- DSocketData copy = new DSocketData();
- copy.size = size;
- copy.data = data;
- return copy;
- }
-};
diff --git a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/PSocket.java b/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/PSocket.java
deleted file mode 100644
index 37a5a6a43..000000000
--- a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/PSocket.java
+++ /dev/null
@@ -1,327 +0,0 @@
-package org.eclipse.etrice.modellib.Socket;
-
-import java.util.ArrayList;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.*;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-
-
-
-public class PSocket {
- // message IDs
- // TODO: separate class for message IDs: class MSG{public static volatile int MSG_MIN = 0; ...} -> better structure
- // error if msgID <= MSG_MIN
- public static final int MSG_MIN = 0;
- //IDs for outgoing messages
- public static final int OUT_connected = 1;
- public static final int OUT_disconnected = 2;
- public static final int OUT_receivedData = 3;
- public static final int OUT_sentData = 4;
- public static final int OUT_error = 5;
- //IDs for incoming messages
- public static final int IN_connect = 6;
- public static final int IN_disconnect = 7;
- public static final int IN_sendData = 8;
- //error if msgID >= MSG_MAX
- public static final int MSG_MAX = 9;
-
-
- private static String messageStrings[] = {"MIN", "connected","disconnected","receivedData","sentData","error", "connect","disconnect","sendData","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<0 || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PSocketPort extends PortBase {
- // constructors
- public PSocketPort(IEventReceiver actor, String name, int localId, Address addr, Address peerAddress) {
- super(actor, name, localId, 0, addr, peerAddress);
- DebuggingService.getInstance().addPortInstance(this);
- }
- public PSocketPort(IEventReceiver actor, String name, int localId, int idx, Address addr, Address peerAddress) {
- super(actor, name, localId, idx, addr, peerAddress);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (msg.getEvtId() <= 0 || msg.getEvtId() >= MSG_MAX)
- System.out.println("unknown");
- else {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void connected ()
- {
- if (messageStrings[ OUT_connected] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_connected]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_connected));
- }
- public void disconnected ()
- {
- if (messageStrings[ OUT_disconnected] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_disconnected]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_disconnected));
- }
- public void receivedData ()
- {
- if (messageStrings[ OUT_receivedData] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_receivedData]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_receivedData));
- }
- public void sentData ()
- {
- if (messageStrings[ OUT_sentData] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_sentData]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_sentData));
- }
- public void error ()
- {
- if (messageStrings[ OUT_error] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_error]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_error));
- }
- }
-
- // replicated port class
- static public class PSocketPortRepl {
- private ArrayList<PSocketPort> ports;
- private int replication;
-
- public PSocketPortRepl(IEventReceiver actor, String name, int localId, Address[] addr,
- Address[] peerAddress) {
- replication = addr.length;
- ports = new ArrayList<PSocket.PSocketPort>(replication);
- for (int i=0; i<replication; ++i) {
- ports.add(new PSocketPort(
- actor, name+i, localId, i, addr[i], peerAddress[i]));
- }
- }
-
- public int getReplication() {
- return replication;
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PSocketPort get(int i) {
- return ports.get(i);
- }
-
- // outgoing messages
- public void connected ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).connected()
- ;
- }
- }
- public void disconnected ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).disconnected()
- ;
- }
- }
- public void receivedData ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).receivedData()
- ;
- }
- }
- public void sentData ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).sentData()
- ;
- }
- }
- public void error ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).error()
- ;
- }
- }
- }
-
- // interface for port class
- public interface IPSocketPort{
- // incoming messages
- public void connect (DSocketConfiguration config)
- ;
- public void disconnect ()
- ;
- public void sendData (DSocketData data)
- ;
- }
-
- // port class
- static public class PSocketConjPort extends PortBase {
- // constructors
- public PSocketConjPort(IEventReceiver actor, String name, int localId, Address addr, Address peerAddress) {
- super(actor, name, localId, 0, addr, peerAddress);
- DebuggingService.getInstance().addPortInstance(this);
- }
- public PSocketConjPort(IEventReceiver actor, String name, int localId, int idx, Address addr, Address peerAddress) {
- super(actor, name, localId, idx, addr, peerAddress);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (msg.getEvtId() <= 0 || msg.getEvtId() >= MSG_MAX)
- System.out.println("unknown");
- else {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void connect (DSocketConfiguration config)
- {
- if (messageStrings[ IN_connect] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_connect]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_connect, config.deepCopy()));
- }
- public void disconnect ()
- {
- if (messageStrings[ IN_disconnect] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_disconnect]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_disconnect));
- }
- public void sendData (DSocketData data)
- {
- if (messageStrings[ IN_sendData] != "timerTick"){
- // TODOTS: model switch for activation
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_sendData]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_sendData, data.deepCopy()));
- }
- }
-
- // replicated port class
- static public class PSocketConjPortRepl {
- private ArrayList<PSocketConjPort> ports;
- private int replication;
-
- public PSocketConjPortRepl(IEventReceiver actor, String name, int localId, Address[] addr,
- Address[] peerAddress) {
- replication = addr.length;
- ports = new ArrayList<PSocket.PSocketConjPort>(replication);
- for (int i=0; i<replication; ++i) {
- ports.add(new PSocketConjPort(
- actor, name+i, localId, i, addr[i], peerAddress[i]));
- }
- }
-
- public int getReplication() {
- return replication;
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PSocketConjPort get(int i) {
- return ports.get(i);
- }
-
- // incoming messages
- public void connect (DSocketConfiguration config)
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).connect( config)
- ;
- }
- }
- public void disconnect ()
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).disconnect()
- ;
- }
- }
- public void sendData (DSocketData data)
- {
- for (int i=0; i<replication; ++i) {
- ports.get(i).sendData( data)
- ;
- }
- }
- }
-
- // interface for port class
- public interface IPSocketConjPort{
- // outgoing messages
- public void connected ()
- ;
- public void disconnected ()
- ;
- public void receivedData ()
- ;
- public void sentData ()
- ;
- public void error ()
- ;
- }
-}
diff --git a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/SocketClient.java b/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/SocketClient.java
deleted file mode 100644
index 8affaf89e..000000000
--- a/runtime/org.eclipse.etrice.modellib/src-gen/org/eclipse/etrice/modellib/Socket/SocketClient.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.etrice.modellib.Socket;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-
-
-import org.eclipse.etrice.modellib.Socket.PSocket.*;
-
-
-
-public class SocketClient extends ActorClassBase {
-
-
- //--------------------- ports
- protected PSocketPort fct = null;
- //--------------------- saps
- //--------------------- services
-
- //--------------------- interface item IDs
- protected static final int IFITEM_fct = 1;
-
- //--------------------- attributes
- //--------------------- operations
-
- //--------------------- construction
- public SocketClient(IRTObject parent, String name, Address[][] port_addr, Address[][] peer_addr){
- super(parent, name, port_addr[0][0], peer_addr[0][0]);
- setClassName("SocketClient");
-
- // initialize attributes
-
- // own ports
- fct = new PSocketPort(this, "fct", IFITEM_fct, 0, port_addr[IFITEM_fct][0], peer_addr[IFITEM_fct][0]);
- // own saps
- // own service implementations
- }
-
-
- //--------------------- lifecycle functions
- public void init(){
- initUser();
- }
-
- public void start(){
- startUser();
- }
-
- public void stop(){
- stopUser();
- }
-
- public void destroy(){
- destroyUser();
- }
-
- //--------------------- no state machine
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- @Override
- public void executeInitTransition(){
- }
-};

Back to the top