From f112f7ea89f4a96a7a7cfd23a3d3ec32d69a09c9 Mon Sep 17 00:00:00 2001
From: Fabien Tessier <fabien.tessier@telecom-paristech.fr>
Date: Wed, 25 Oct 2017 10:43:22 +0200
Subject: [PATCH] Issue #85: C Code generation directory should be created

---
 .../tmltranslator/modelcompiler/TMLModelCompiler.java     | 8 ++++++++
 src/main/java/ui/GTURTLEModeling.java                     | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
index 9595d5646e..1d46eb1d2b 100755
--- a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
+++ b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
@@ -54,6 +54,7 @@ import javax.swing.*;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
@@ -1704,7 +1705,14 @@ public class TMLModelCompiler   {
 
     private void openDebugFile()        {
         File fileObject = new File( debugFileName );
+        if (!fileObject.exists())
+			try {
+				fileObject.createNewFile();
+			} catch (IOException e1) {
+				System.err.println(e1.getMessage());
+			}
         fileObject.delete();
+        
         outputStream = null;
         try     {
             outputStream = new PrintWriter( new FileOutputStream( debugFileName, true ) );
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 5e3cfd7e18..dfc2412b80 100755
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -473,6 +473,9 @@ public class GTURTLEModeling {
         // Parse the PEC file and the library of code snippets for each DIPLODOCUS unit
         applicationName = tmap.getMappedTasks().get(0).getName().split("__")[0];        // Remember that it works only for one application
         CCode = new TMLModelCompiler( _title, applicationName, mgui.frame, mgui.getAllTMLCP(), tmap );
+        File dir = new File(ConfigurationTTool.CCodeDirectory + File.separator);
+    	if (!dir.exists())
+    		dir.mkdirs();
         CCode.toTextFormat();
         try {
             if( SpecConfigTTool.CCodeDirectory.equals("") )  {
-- 
GitLab