From 6dbdc9b7d8e9a58ca4ba1958400bd148b8b80870 Mon Sep 17 00:00:00 2001 From: marvin <marvin@marvin-TERRA-MOBILE-1529H> Date: Tue, 3 Mar 2020 22:51:34 +0100 Subject: [PATCH] Automatically remove turtlebot3_ prefix from botname in botname.txt --- build/sim/botname.txt | 2 +- .../FeatureModelConfigurator/adapter.config | 3 ++- .../features/ConfiguratorMain/Adapter.java | 23 ++++++++++++++++++- .../FeatureModelConfigurator/src/Adapter.java | 23 ++++++++++++++++++- .../src/Adapter.java | 23 ++++++++++++++++++- .../src/ModelSetup.java | 2 ++ 6 files changed, 71 insertions(+), 5 deletions(-) diff --git a/build/sim/botname.txt b/build/sim/botname.txt index b49bf69..07bb313 100644 --- a/build/sim/botname.txt +++ b/build/sim/botname.txt @@ -1 +1 @@ -turtlebot3_waffle \ No newline at end of file +waffle \ No newline at end of file diff --git a/src/var/FeatureModelConfigurator/adapter.config b/src/var/FeatureModelConfigurator/adapter.config index fd4b431..1f2e62f 100644 --- a/src/var/FeatureModelConfigurator/adapter.config +++ b/src/var/FeatureModelConfigurator/adapter.config @@ -21,6 +21,7 @@ <!-- Path to and name of the generated .urdf.xacro file. --> <urdf_xacro type="file" name="bot.urdf.xacro" path="./../../../build/sim/" /> <!-- Path to and name of the file stating the selected bots name. --> - <botname type="file" name="botname.txt" path="./../../../build/sim/" /> + <!-- Define prefix/ postfix to be removed from the bots name to be compatible with testmanager.sh. --> + <botname type="file" name="botname.txt" path="./../../../build/sim/" remove_prefix="turtlebot3_" remove_suffix=""/> </output> </adapter> diff --git a/src/var/FeatureModelConfigurator/features/ConfiguratorMain/Adapter.java b/src/var/FeatureModelConfigurator/features/ConfiguratorMain/Adapter.java index c20ebb4..53b3ac0 100644 --- a/src/var/FeatureModelConfigurator/features/ConfiguratorMain/Adapter.java +++ b/src/var/FeatureModelConfigurator/features/ConfiguratorMain/Adapter.java @@ -44,6 +44,7 @@ public class Adapter extends XMLHelper { //######### Input ############################### Document adapterConfig = readXml("./adapter.config"); + //Get adapter.config values. String in_fmPath = getConfigVal(adapterConfig, "input/featuremodel", "path"); String in_scPath = getConfigVal(adapterConfig, "input/sensorconfig", "path"); String in_gxPath = getConfigVal(adapterConfig, "input/gazebo_xacro", "path"); @@ -59,6 +60,10 @@ public class Adapter extends XMLHelper { String out_uxName = getConfigVal(adapterConfig, "output/urdf_xacro", "name"); String out_bnName = getConfigVal(adapterConfig, "output/botname", "name"); + String unwantedPrefix = getConfigVal(adapterConfig, "output/botname", "remove_prefix"); + String unwantedSuffix = getConfigVal(adapterConfig, "output/botname", "remove_suffix"); + + //Declare Documents. Document featureModel = readXml(in_fmPath+in_fmName); List<Document> sensorConfigList = new ArrayList<Document>(); Document gazeboModel = null; @@ -229,12 +234,28 @@ public class Adapter extends XMLHelper { //######### Output result ####################### + //Output model files. saveAsXml(gazeboModel, out_gxPath+out_gxName); saveAsXml(urdfModel, out_uxPath+out_uxName); + //Output botname. + String alteredBotName = botName; + if(alteredBotName.startsWith(unwantedPrefix)) { + alteredBotName = alteredBotName.substring(unwantedPrefix.length(), alteredBotName.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedPrefix+" could not be removed from bot name."); + } + if(alteredBotName.endsWith(unwantedSuffix)) { + alteredBotName = alteredBotName.substring(0, alteredBotName.length() - unwantedSuffix.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedSuffix+" could not be removed from bot name."); + } + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(out_bnPath+out_bnName)); - bufferedWriter.write(botName); + bufferedWriter.write(alteredBotName); bufferedWriter.close(); //############################################### } diff --git a/src/var/FeatureModelConfigurator/src/Adapter.java b/src/var/FeatureModelConfigurator/src/Adapter.java index c20ebb4..53b3ac0 100644 --- a/src/var/FeatureModelConfigurator/src/Adapter.java +++ b/src/var/FeatureModelConfigurator/src/Adapter.java @@ -44,6 +44,7 @@ public class Adapter extends XMLHelper { //######### Input ############################### Document adapterConfig = readXml("./adapter.config"); + //Get adapter.config values. String in_fmPath = getConfigVal(adapterConfig, "input/featuremodel", "path"); String in_scPath = getConfigVal(adapterConfig, "input/sensorconfig", "path"); String in_gxPath = getConfigVal(adapterConfig, "input/gazebo_xacro", "path"); @@ -59,6 +60,10 @@ public class Adapter extends XMLHelper { String out_uxName = getConfigVal(adapterConfig, "output/urdf_xacro", "name"); String out_bnName = getConfigVal(adapterConfig, "output/botname", "name"); + String unwantedPrefix = getConfigVal(adapterConfig, "output/botname", "remove_prefix"); + String unwantedSuffix = getConfigVal(adapterConfig, "output/botname", "remove_suffix"); + + //Declare Documents. Document featureModel = readXml(in_fmPath+in_fmName); List<Document> sensorConfigList = new ArrayList<Document>(); Document gazeboModel = null; @@ -229,12 +234,28 @@ public class Adapter extends XMLHelper { //######### Output result ####################### + //Output model files. saveAsXml(gazeboModel, out_gxPath+out_gxName); saveAsXml(urdfModel, out_uxPath+out_uxName); + //Output botname. + String alteredBotName = botName; + if(alteredBotName.startsWith(unwantedPrefix)) { + alteredBotName = alteredBotName.substring(unwantedPrefix.length(), alteredBotName.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedPrefix+" could not be removed from bot name."); + } + if(alteredBotName.endsWith(unwantedSuffix)) { + alteredBotName = alteredBotName.substring(0, alteredBotName.length() - unwantedSuffix.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedSuffix+" could not be removed from bot name."); + } + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(out_bnPath+out_bnName)); - bufferedWriter.write(botName); + bufferedWriter.write(alteredBotName); bufferedWriter.close(); //############################################### } diff --git a/src/var/FeatureModelImplGenerator/src/Adapter.java b/src/var/FeatureModelImplGenerator/src/Adapter.java index c20ebb4..53b3ac0 100644 --- a/src/var/FeatureModelImplGenerator/src/Adapter.java +++ b/src/var/FeatureModelImplGenerator/src/Adapter.java @@ -44,6 +44,7 @@ public class Adapter extends XMLHelper { //######### Input ############################### Document adapterConfig = readXml("./adapter.config"); + //Get adapter.config values. String in_fmPath = getConfigVal(adapterConfig, "input/featuremodel", "path"); String in_scPath = getConfigVal(adapterConfig, "input/sensorconfig", "path"); String in_gxPath = getConfigVal(adapterConfig, "input/gazebo_xacro", "path"); @@ -59,6 +60,10 @@ public class Adapter extends XMLHelper { String out_uxName = getConfigVal(adapterConfig, "output/urdf_xacro", "name"); String out_bnName = getConfigVal(adapterConfig, "output/botname", "name"); + String unwantedPrefix = getConfigVal(adapterConfig, "output/botname", "remove_prefix"); + String unwantedSuffix = getConfigVal(adapterConfig, "output/botname", "remove_suffix"); + + //Declare Documents. Document featureModel = readXml(in_fmPath+in_fmName); List<Document> sensorConfigList = new ArrayList<Document>(); Document gazeboModel = null; @@ -229,12 +234,28 @@ public class Adapter extends XMLHelper { //######### Output result ####################### + //Output model files. saveAsXml(gazeboModel, out_gxPath+out_gxName); saveAsXml(urdfModel, out_uxPath+out_uxName); + //Output botname. + String alteredBotName = botName; + if(alteredBotName.startsWith(unwantedPrefix)) { + alteredBotName = alteredBotName.substring(unwantedPrefix.length(), alteredBotName.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedPrefix+" could not be removed from bot name."); + } + if(alteredBotName.endsWith(unwantedSuffix)) { + alteredBotName = alteredBotName.substring(0, alteredBotName.length() - unwantedSuffix.length()); + } + else { + System.out.println("Warning: Prefix \'"+unwantedSuffix+" could not be removed from bot name."); + } + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(out_bnPath+out_bnName)); - bufferedWriter.write(botName); + bufferedWriter.write(alteredBotName); bufferedWriter.close(); //############################################### } diff --git a/src/var/FeatureModelImplGenerator/src/ModelSetup.java b/src/var/FeatureModelImplGenerator/src/ModelSetup.java index f6189b7..9cab695 100644 --- a/src/var/FeatureModelImplGenerator/src/ModelSetup.java +++ b/src/var/FeatureModelImplGenerator/src/ModelSetup.java @@ -42,6 +42,7 @@ public class ModelSetup extends XMLHelper{ //######### Input ############################### Document ModelSetupConfig = readXml("./modelsetup.config"); + //Get modelsetup.config values. String in_mPath = getConfigVal(ModelSetupConfig, "input/model", "path"); String in_scPath = getConfigVal(ModelSetupConfig, "input/sensorconfig", "path"); String in_gxPath = getConfigVal(ModelSetupConfig, "input/gazebo_xacro", "path"); @@ -49,6 +50,7 @@ public class ModelSetup extends XMLHelper{ String in_mName = getConfigVal(ModelSetupConfig, "input/model", "name"); String out_mName = getConfigVal(ModelSetupConfig, "output/model", "name"); + //Declare Document. Document model = readXml(in_mPath+in_mName); //Get sensorconfig- and gazebomodel file names. -- GitLab