diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java index 925e729efb055ea16e644145aca43fa8d3efabca..0a8a770e0cf041f2e250c4d9ce12e628ee92e14f 100644 --- a/src/main/java/common/SpecConfigTTool.java +++ b/src/main/java/common/SpecConfigTTool.java @@ -5,12 +5,14 @@ public class SpecConfigTTool { public static String SystemCCodeCompileCommand=""; public static String SystemCCodeExecuteCommand=""; public static String SystemCCodeInteractiveExecuteCommand=""; + public static String CCodeDirectory=""; public static void loadConfiguration() { SystemCCodeDirectory = ConfigurationTTool.SystemCCodeDirectory; SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand; SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand; SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand; + CCodeDirectory = ConfigurationTTool.CCodeDirectory; } } diff --git a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java index e32b585d044443ea6161229f30a670b13d812acb..9595d5646e61447c9250a54a6e381300dd8b96cc 100755 --- a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java +++ b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java @@ -122,6 +122,7 @@ public class TMLModelCompiler { tmlm = _tmap.getTMLModeling(); tmla = _tmap.getTMLArchitecture(); mappedCPLibs = _tmap.getMappedTMLCPLibs(); + init(); } @@ -141,6 +142,9 @@ public class TMLModelCompiler { prexList = new ArrayList<TMLPort>(); buffersList = new ArrayList<Buffer>(); dataTransfersList = new ArrayList<DataTransfer>(); + File f = new File(ConfigurationTTool.CCodeDirectory); + if (!f.exists()) + f.mkdir(); debugFileName = ConfigurationTTool.CCodeDirectory + "debugFile.txt"; tmlcpsList = new ArrayList<TMLCP>(); } diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 7bb68e4d458daf84f7607f1bfc6808a404b011f4..28f5319e48ad0fa64aecb085217c6375d2273e86 100755 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -44,6 +44,7 @@ import avatartranslator.totpn.AVATAR2TPN; import avatartranslator.toturtle.AVATAR2TURTLE; import avatartranslator.touppaal.AVATAR2UPPAAL; import common.ConfigurationTTool; +import common.SpecConfigTTool; import ddtranslator.DDSyntaxException; import ddtranslator.DDTranslator; import launcher.LauncherException; @@ -474,14 +475,17 @@ public class GTURTLEModeling { CCode = new TMLModelCompiler( _title, applicationName, mgui.frame, mgui.getAllTMLCP(), tmap ); CCode.toTextFormat(); try { - if( ConfigurationTTool.CCodeDirectory.equals("") ) { + if( SpecConfigTTool.CCodeDirectory.equals("") ) { JOptionPane.showMessageDialog( mgui.frame, "No directory for C code generation found in config.xml. The C code cannot be generated.", "Control code generation failed", JOptionPane.INFORMATION_MESSAGE ); return true; } - else { - CCode.saveFile( ConfigurationTTool.CCodeDirectory + File.separator, applicationName ); + else { + File test = new File(SpecConfigTTool.CCodeDirectory); + if (!test.exists()) + test.mkdir(); + CCode.saveFile( SpecConfigTTool.CCodeDirectory + File.separator, applicationName ); } } catch( Exception e ) { @@ -492,8 +496,7 @@ public class GTURTLEModeling { } public boolean generateTMLTxt( String _title ) { - - + //This branch is activated if doing the syntax check from the architecture panel. //It generates the text TML for the architecture and the application + mapping information if (tmap != null) { diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index d6d3a7fbb28d51a0ae34080e3c5c31cde2b4d199..09bb4e54d3ca53bac7ea5b26a669ad3adb7ba41a 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -2330,10 +2330,12 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe } public void setDirConfig() { - SpecConfigTTool.SystemCCodeDirectory = dir.getAbsolutePath() + "/c++code/"; + SpecConfigTTool.SystemCCodeDirectory = dir.getAbsolutePath() + "/c++_code/"; + SpecConfigTTool.CCodeDirectory = dir.getAbsolutePath() + "/c_code/"; SpecConfigTTool.SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory); SpecConfigTTool.SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory); SpecConfigTTool.SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory); + } public void setBasicConfig() { @@ -4544,8 +4546,8 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe // path = file.getAbsolutePath(); // } JDialogCCodeGeneration jgen = new JDialogCCodeGeneration( frame, this, "Application code generation and compilation", - ConfigurationTTool.CCodeDirectory, - "make -C " + ConfigurationTTool.CCodeDirectory, + SpecConfigTTool.CCodeDirectory, + "make -C " + SpecConfigTTool.CCodeDirectory, gtm ); // jgen.setSize(500, 750); GraphicLib.centerOnParent(jgen, 500, 750); diff --git a/src/main/java/ui/window/JDialogCCodeGeneration.java b/src/main/java/ui/window/JDialogCCodeGeneration.java index 6bd1a75aff6bc4b244a9bfe35af114b4f00c1911..88861b5cc865a17bac6cd00f29ec5cdf9c0b7796 100755 --- a/src/main/java/ui/window/JDialogCCodeGeneration.java +++ b/src/main/java/ui/window/JDialogCCodeGeneration.java @@ -138,12 +138,9 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R mgui = _mgui; gtm = _gtm; - if (pathCode == null) { - pathCode = _pathCode; - } - - if (pathCompiler == null) - pathCompiler = _pathCompiler; + pathCode = _pathCode; + + pathCompiler = _pathCompiler; initComponents(); myInitComponents();