From cded7e18c13036ea2472176681b634f497512bd3 Mon Sep 17 00:00:00 2001 From: Fabien Tessier <fabien.tessier@telecom-paristech.fr> Date: Thu, 21 Dec 2017 16:18:02 +0100 Subject: [PATCH] Move directory creation from FileUtils to SpecConfigTTool --- .../toexecutable/AVATAR2CPOSIX.java | 3 +- .../touppaal/AVATAR2UPPAAL.java | 3 +- src/main/java/common/SpecConfigTTool.java | 521 +++++++++++------- src/main/java/myutil/FileUtils.java | 145 ----- .../tmltranslator/TMLTextSpecification.java | 4 +- .../tmltranslator/touppaal/TML2UPPAAL.java | 4 +- .../translator/touppaal/TURTLE2UPPAAL.java | 4 +- src/main/java/ui/GTURTLEModeling.java | 2 +- .../window/JDialogProverifVerification.java | 3 +- .../ui/window/JDialogSystemCGeneration.java | 2 +- 10 files changed, 351 insertions(+), 340 deletions(-) diff --git a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java index ea519876e5..db6eebf158 100755 --- a/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java +++ b/src/main/java/avatartranslator/toexecutable/AVATAR2CPOSIX.java @@ -42,6 +42,7 @@ package avatartranslator.toexecutable; import avatartranslator.*; +import common.SpecConfigTTool; import myutil.*; import java.io.File; @@ -104,7 +105,7 @@ public class AVATAR2CPOSIX { public void saveInFiles(String path) throws FileException { TraceManager.addDev("Generating files"); - if (!FileUtils.checkAndCreateAVATARCodeDir(path)) + if (!SpecConfigTTool.checkAndCreateAVATARCodeDir(path)) throw new FileException("ERROR: Executable code directory cannot be created."); File src_dir = new File(path + GENERATED_PATH); if (!src_dir.exists()) { diff --git a/src/main/java/avatartranslator/touppaal/AVATAR2UPPAAL.java b/src/main/java/avatartranslator/touppaal/AVATAR2UPPAAL.java index e5b05fb9c5..98abd5ca03 100755 --- a/src/main/java/avatartranslator/touppaal/AVATAR2UPPAAL.java +++ b/src/main/java/avatartranslator/touppaal/AVATAR2UPPAAL.java @@ -42,6 +42,7 @@ package avatartranslator.touppaal; import avatartranslator.*; +import common.SpecConfigTTool; import myutil.Conversion; import myutil.FileException; import myutil.FileUtils; @@ -144,7 +145,7 @@ public class AVATAR2UPPAAL { public void saveInFile(String path) throws FileException { - FileUtils.checkAndCreateUPPAALDir(path); + SpecConfigTTool.checkAndCreateUPPAALDir(path); FileUtils.saveFile(path + "spec.xml", spec.makeSpec()); //System.out.println("spec.xml generated:\n" + spec.getFullSpec()); } diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java index 1b0e619a3b..f026b6ceb9 100644 --- a/src/main/java/common/SpecConfigTTool.java +++ b/src/main/java/common/SpecConfigTTool.java @@ -12,6 +12,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import myutil.FileException; import myutil.FileUtils; import myutil.MalformedConfigurationException; import myutil.TraceManager; @@ -28,37 +29,37 @@ public class SpecConfigTTool { public static String SystemCCodeCompileCommand=""; public static String SystemCCodeExecuteCommand=""; public static String SystemCCodeInteractiveExecuteCommand=""; - + public static String CCodeDirectory=""; - + public static String ProVerifCodeDirectory=""; - + public static String AVATARExecutableCodeDirectory=""; public static String AVATARExecutableCodeCompileCommand=""; public static String AVATARExecutableCodeExecuteCommand=""; - + public static String AVATARMPSoCCodeDirectory=""; public static String AVATARMPSoCCompileCommand=""; public static String AVATARExecutableSoclibCodeCompileCommand=""; public static String AVATARExecutableSoclibCodeExecuteCommand=""; public static String AVATARExecutableSoclibCodeTraceCommand=""; - + public static String TMLCodeDirectory=""; - + public static String IMGPath=""; - + public static String DocGenPath=""; - + public static String GGraphPath=""; public static String TGraphPath=""; - + public static String UPPAALCodeDirectory=""; - + public static String VCDPath=""; public static String ExternalCommand1=""; public static String NCDirectory=""; - + private static String ProjectSystemCCodeDirectory = "/c++_code/"; private static String ProjectCCodeDirectory = "/c_code/"; private static String ProjectProVerifCodeDirectory = "/proverif/"; @@ -72,99 +73,99 @@ public class SpecConfigTTool { private static String ProjectUPPAALCodeDirectory="/uppaal/"; private static String ProjectVCDDirectory="/c++_code/"; private static String ProjectNCDirectory="/nc/"; - + public static int lastPanel = -1; public static int lastTab = -1; public static String lastVCD=""; - + private static String basicConfigPath=""; - + public static void loadConfiguration() { SystemCCodeDirectory = ConfigurationTTool.SystemCCodeDirectory; SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand; SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand; SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand; - + CCodeDirectory = ConfigurationTTool.CCodeDirectory; - + ProVerifCodeDirectory = ConfigurationTTool.ProVerifCodeDirectory; - + AVATARExecutableCodeDirectory = ConfigurationTTool.AVATARExecutableCodeDirectory; AVATARExecutableCodeCompileCommand = ConfigurationTTool.AVATARExecutableCodeCompileCommand; AVATARExecutableCodeExecuteCommand = ConfigurationTTool.AVATARExecutableCodeExecuteCommand; - + AVATARMPSoCCodeDirectory = ConfigurationTTool.AVATARMPSoCCodeDirectory; AVATARMPSoCCompileCommand = ConfigurationTTool.AVATARMPSoCCompileCommand; AVATARExecutableSoclibCodeCompileCommand = ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand; AVATARExecutableSoclibCodeExecuteCommand = ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand; AVATARExecutableSoclibCodeTraceCommand = ConfigurationTTool.AVATARExecutableSoclibCodeTraceCommand; - + TMLCodeDirectory = ConfigurationTTool.TMLCodeDirectory; - + IMGPath = ConfigurationTTool.IMGPath; - + DocGenPath = ConfigurationTTool.DocGenPath; - + GGraphPath = ConfigurationTTool.GGraphPath; TGraphPath = ConfigurationTTool.TGraphPath; - + UPPAALCodeDirectory = ConfigurationTTool.UPPAALCodeDirectory; - + VCDPath = ConfigurationTTool.VCDPath; ExternalCommand1 = ConfigurationTTool.ExternalCommand1; - + NCDirectory = ConfigurationTTool.NCDirectory; } - + public static void setDirConfig(File dir) { - SystemCCodeDirectory = dir.getAbsolutePath() + ProjectSystemCCodeDirectory; - CCodeDirectory = dir.getAbsolutePath() + ProjectCCodeDirectory; - ProVerifCodeDirectory = dir.getAbsolutePath() + ProjectProVerifCodeDirectory; - AVATARExecutableCodeDirectory = dir.getAbsolutePath() + ProjectAVATARExecutableCodeDirectory; - AVATARMPSoCCodeDirectory = dir.getAbsolutePath() + ProjectAVATARMPSoCCodeDirectory; - TMLCodeDirectory = dir.getAbsolutePath() + ProjectTMLCodeDirectory; - IMGPath = dir.getAbsolutePath() + ProjectIMGDirectory; - DocGenPath = dir.getAbsolutePath() + ProjectDocGenDirectory; - GGraphPath = dir.getAbsolutePath() + ProjectGGraphDirectory; - TGraphPath = dir.getAbsolutePath() + ProjectTGraphDirectory; - UPPAALCodeDirectory = dir.getAbsolutePath() + ProjectUPPAALCodeDirectory; - VCDPath = dir.getAbsolutePath() + ProjectVCDDirectory; - NCDirectory = dir.getAbsolutePath() + ProjectNCDirectory; - - SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); - SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); - SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); - - AVATARExecutableCodeExecuteCommand = ConfigurationTTool.AVATARExecutableCodeExecuteCommand.replace(ConfigurationTTool.AVATARExecutableCodeDirectory, AVATARExecutableCodeDirectory); - AVATARExecutableCodeCompileCommand = ConfigurationTTool.AVATARExecutableCodeCompileCommand.replace(ConfigurationTTool.AVATARExecutableCodeDirectory, AVATARExecutableCodeDirectory); - - AVATARMPSoCCompileCommand = ConfigurationTTool.AVATARMPSoCCompileCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); - AVATARExecutableSoclibCodeCompileCommand = ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); - AVATARExecutableSoclibCodeExecuteCommand = ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); - AVATARExecutableSoclibCodeTraceCommand = ConfigurationTTool.AVATARExecutableSoclibCodeTraceCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); - ExternalCommand1 = ConfigurationTTool.ExternalCommand1.replace(ConfigurationTTool.VCDPath, SpecConfigTTool.VCDPath); + SystemCCodeDirectory = dir.getAbsolutePath() + ProjectSystemCCodeDirectory; + CCodeDirectory = dir.getAbsolutePath() + ProjectCCodeDirectory; + ProVerifCodeDirectory = dir.getAbsolutePath() + ProjectProVerifCodeDirectory; + AVATARExecutableCodeDirectory = dir.getAbsolutePath() + ProjectAVATARExecutableCodeDirectory; + AVATARMPSoCCodeDirectory = dir.getAbsolutePath() + ProjectAVATARMPSoCCodeDirectory; + TMLCodeDirectory = dir.getAbsolutePath() + ProjectTMLCodeDirectory; + IMGPath = dir.getAbsolutePath() + ProjectIMGDirectory; + DocGenPath = dir.getAbsolutePath() + ProjectDocGenDirectory; + GGraphPath = dir.getAbsolutePath() + ProjectGGraphDirectory; + TGraphPath = dir.getAbsolutePath() + ProjectTGraphDirectory; + UPPAALCodeDirectory = dir.getAbsolutePath() + ProjectUPPAALCodeDirectory; + VCDPath = dir.getAbsolutePath() + ProjectVCDDirectory; + NCDirectory = dir.getAbsolutePath() + ProjectNCDirectory; + + SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); + SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); + SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory); + + AVATARExecutableCodeExecuteCommand = ConfigurationTTool.AVATARExecutableCodeExecuteCommand.replace(ConfigurationTTool.AVATARExecutableCodeDirectory, AVATARExecutableCodeDirectory); + AVATARExecutableCodeCompileCommand = ConfigurationTTool.AVATARExecutableCodeCompileCommand.replace(ConfigurationTTool.AVATARExecutableCodeDirectory, AVATARExecutableCodeDirectory); + + AVATARMPSoCCompileCommand = ConfigurationTTool.AVATARMPSoCCompileCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); + AVATARExecutableSoclibCodeCompileCommand = ConfigurationTTool.AVATARExecutableSoclibCodeCompileCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); + AVATARExecutableSoclibCodeExecuteCommand = ConfigurationTTool.AVATARExecutableSoclibCodeExecuteCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); + AVATARExecutableSoclibCodeTraceCommand = ConfigurationTTool.AVATARExecutableSoclibCodeTraceCommand.replace(ConfigurationTTool.AVATARMPSoCCodeDirectory, AVATARMPSoCCompileCommand); + ExternalCommand1 = ConfigurationTTool.ExternalCommand1.replace(ConfigurationTTool.VCDPath, SpecConfigTTool.VCDPath); } - + public static void setBasicConfig(boolean systemcOn) { - try { + try { ConfigurationTTool.loadConfiguration(basicConfigPath, systemcOn); } catch (MalformedConfigurationException e) { System.out.println("Couldn't load configuration from file: config.xml"); } - } - + } + public static File createProjectConfig(File dir) { File figures = new File(IMGPath); figures.mkdir(); - + File GGraph = new File(GGraphPath); GGraph.mkdir(); - + if (!GGraphPath.equals(TGraphPath)) { File TGraph = new File(TGraphPath); TGraph.mkdir(); } - + File test = new File ("./"); File base; if (test.getAbsolutePath().contains("TTool/bin/")) @@ -179,132 +180,278 @@ public class SpecConfigTTool { } return null; } - - public static void loadConfigFile(File f) throws MalformedConfigurationException { - if (!FileUtils.checkFileForOpen(f)) { - throw new MalformedConfigurationException("Filepb"); - } - - String data = FileUtils.loadFileData(f); - - if (data == null) { - throw new MalformedConfigurationException("Filepb"); - } - - loadConfigurationFromXML(data); - } - - public static void loadConfigurationFromXML(String data) throws MalformedConfigurationException { - - try { - ByteArrayInputStream bais = new ByteArrayInputStream(data.getBytes()); - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - - // building nodes from xml String - Document doc = db.parse(bais); - NodeList nl; - - nl = doc.getElementsByTagName("LastVCD"); - if (nl.getLength() > 0) - LastVCD(nl); - - nl = doc.getElementsByTagName("LastOpenDiagram"); - if (nl.getLength() > 0) - LastOpenDiagram(nl); - - } catch (Exception e) { - throw new MalformedConfigurationException(e.getMessage()); - } - } - - private static void LastOpenDiagram(NodeList nl) throws MalformedConfigurationException { - try { - Element elt = (Element)(nl.item(0)); - lastTab = Integer.parseInt(elt.getAttribute("tab")); - lastPanel = Integer.parseInt(elt.getAttribute("panel")); - } catch (Exception e) { - throw new MalformedConfigurationException(e.getMessage()); - } - } - - private static void LastVCD(NodeList nl) throws MalformedConfigurationException { - try { - Element elt = (Element)(nl.item(0)); - lastVCD = elt.getAttribute("data"); - ExternalCommand1 = "gtkwave " + lastVCD; - } catch (Exception e) { - throw new MalformedConfigurationException(e.getMessage()); - } - } - - public static void saveConfiguration(File f) throws MalformedConfigurationException { - int index0, index1, index2; - String tmp, tmp1, tmp2, location; - boolean write = false; - - if (!FileUtils.checkFileForOpen(f)) { - throw new MalformedConfigurationException("Filepb"); - } - - String data = FileUtils.loadFileData(f); - - if (data == null) { - throw new MalformedConfigurationException("Filepb"); - } - - index0 = data.indexOf("LastVCD"); - - if (index0 > -1) { - index1 = data.indexOf('"', index0); - if (index1 > -1) { - index2 = data.indexOf('"', index1 + 1); - if (index2 > -1) { - tmp = data.substring(index2, data.length()); - data = data.substring(0, index1+1) + lastVCD + tmp; - write = true; - } - } - } - - index0 = data.indexOf("LastOpenDiagram"); - - if (index0 > -1) { - tmp1 = data.substring(0, index0+16); - tmp2 = data.substring(index0+20, data.length()); - index1 = tmp2.indexOf("/>"); - if (index1 > -1) { - tmp2 = tmp2.substring(index1, tmp2.length()); - location = " tab=\"" + lastTab; - location += "\" panel=\"" + lastPanel + "\" "; - data = tmp1 + location + tmp2; - write = true; - } - } else { - index1= data.indexOf("</PROJECTCONFIGURATION>"); - if (index1 > -1) { - location = "<LastOpenDiagram tab=\"" + lastTab; - location += "\" panel=\"" + lastPanel + "\"/>\n\n"; - data = data.substring(0, index1) + location + data.substring(index1, data.length()); - write = true; - } - } - - if (write) { - //sb.append("Writing data=" + data); - try { - FileOutputStream fos = new FileOutputStream(f); - fos.write(data.getBytes()); - fos.close(); - } catch (Exception e) { - throw new MalformedConfigurationException("Saving file failed"); - } - } else { - TraceManager.addError("Configuration could not be saved"); - } - } - - public static void setBasicConfigFile(String file) { - basicConfigPath = file; - } + + public static void loadConfigFile(File f) throws MalformedConfigurationException { + if (!FileUtils.checkFileForOpen(f)) { + throw new MalformedConfigurationException("Filepb"); + } + + String data = FileUtils.loadFileData(f); + + if (data == null) { + throw new MalformedConfigurationException("Filepb"); + } + + loadConfigurationFromXML(data); + } + + public static void loadConfigurationFromXML(String data) throws MalformedConfigurationException { + + try { + ByteArrayInputStream bais = new ByteArrayInputStream(data.getBytes()); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + + // building nodes from xml String + Document doc = db.parse(bais); + NodeList nl; + + nl = doc.getElementsByTagName("LastVCD"); + if (nl.getLength() > 0) + LastVCD(nl); + + nl = doc.getElementsByTagName("LastOpenDiagram"); + if (nl.getLength() > 0) + LastOpenDiagram(nl); + + } catch (Exception e) { + throw new MalformedConfigurationException(e.getMessage()); + } + } + + private static void LastOpenDiagram(NodeList nl) throws MalformedConfigurationException { + try { + Element elt = (Element)(nl.item(0)); + lastTab = Integer.parseInt(elt.getAttribute("tab")); + lastPanel = Integer.parseInt(elt.getAttribute("panel")); + } catch (Exception e) { + throw new MalformedConfigurationException(e.getMessage()); + } + } + + private static void LastVCD(NodeList nl) throws MalformedConfigurationException { + try { + Element elt = (Element)(nl.item(0)); + lastVCD = elt.getAttribute("data"); + ExternalCommand1 = "gtkwave " + lastVCD; + } catch (Exception e) { + throw new MalformedConfigurationException(e.getMessage()); + } + } + + public static void saveConfiguration(File f) throws MalformedConfigurationException { + int index0, index1, index2; + String tmp, tmp1, tmp2, location; + boolean write = false; + + if (!FileUtils.checkFileForOpen(f)) { + throw new MalformedConfigurationException("Filepb"); + } + + String data = FileUtils.loadFileData(f); + + if (data == null) { + throw new MalformedConfigurationException("Filepb"); + } + + index0 = data.indexOf("LastVCD"); + + if (index0 > -1) { + index1 = data.indexOf('"', index0); + if (index1 > -1) { + index2 = data.indexOf('"', index1 + 1); + if (index2 > -1) { + tmp = data.substring(index2, data.length()); + data = data.substring(0, index1+1) + lastVCD + tmp; + write = true; + } + } + } + + index0 = data.indexOf("LastOpenDiagram"); + + if (index0 > -1) { + tmp1 = data.substring(0, index0+16); + tmp2 = data.substring(index0+20, data.length()); + index1 = tmp2.indexOf("/>"); + if (index1 > -1) { + tmp2 = tmp2.substring(index1, tmp2.length()); + location = " tab=\"" + lastTab; + location += "\" panel=\"" + lastPanel + "\" "; + data = tmp1 + location + tmp2; + write = true; + } + } else { + index1= data.indexOf("</PROJECTCONFIGURATION>"); + if (index1 > -1) { + location = "<LastOpenDiagram tab=\"" + lastTab; + location += "\" panel=\"" + lastPanel + "\"/>\n\n"; + data = data.substring(0, index1) + location + data.substring(index1, data.length()); + write = true; + } + } + + if (write) { + //sb.append("Writing data=" + data); + try { + FileOutputStream fos = new FileOutputStream(f); + fos.write(data.getBytes()); + fos.close(); + } catch (Exception e) { + throw new MalformedConfigurationException("Saving file failed"); + } + } else { + TraceManager.addError("Configuration could not be saved"); + } + } + + public static void setBasicConfigFile(String file) { + basicConfigPath = file; + } + + /** + * Check and create the directory for c++ code generation in DIPLODOCUS + * @author Fabien Tessier + * @param s directory path + * @return true if there's no error, false if the directory cannot be created + * @throws FileException + */ + public static boolean checkAndCreateSystemCDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.SystemCCodeDirectory)) { + File make = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile"); + File defs = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile.defs"); + File src = new File(ConfigurationTTool.SystemCCodeDirectory + "src_simulator"); + File lic = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE"); + File liceng = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_ENG"); + File licfr = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_FR"); + + FileUtils.copyFileToDirectory(make, f, false); + FileUtils.copyFileToDirectory(defs, f, false); + FileUtils.copyDirectoryToDirectory(src, f); + FileUtils.copyFileToDirectory(lic, f, false); + FileUtils.copyFileToDirectory(liceng, f, false); + FileUtils.copyFileToDirectory(licfr, f, false); + } + return true; + } catch (Exception e) { + throw new FileException(e.getMessage()); + } + } + + /** + * Check and create the directory for c code generation in AVATAR + * @author Fabien Tessier + * @param s directory path + * @return true if there's no error, false if the directory cannot be created + * @throws FileException + */ + public static boolean checkAndCreateAVATARCodeDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.AVATARExecutableCodeDirectory)) { + File make = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile"); + File defs = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.defs"); + File soclib = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.forsoclib"); + File src = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "src"); + File lic = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE"); + File liceng = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_ENG"); + File licfr = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_FR"); + //File topcell = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "generated_topcell"); + + FileUtils.copyFileToDirectory(make, f, false); + FileUtils.copyFileToDirectory(defs, f,false); + FileUtils.copyFileToDirectory(soclib, f, false); + FileUtils.copyDirectoryToDirectory(src, f); + FileUtils.copyFileToDirectory(lic, f, false); + FileUtils.copyFileToDirectory(liceng, f, false); + FileUtils.copyFileToDirectory(licfr, f, false); + //FileUtils.copyDirectoryToDirectory(topcell, f); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + + } + + public static boolean checkAndCreateProverifDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.ProVerifCodeDirectory)) { + File readme = new File(ConfigurationTTool.ProVerifCodeDirectory + "README"); + if (readme.exists()) + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + + public static boolean checkAndCreateTMLDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.TMLCodeDirectory)) { + File readme = new File(ConfigurationTTool.TMLCodeDirectory + "README_TML"); + if (readme.exists()) + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + + public static boolean checkAndCreateCCodeDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.CCodeDirectory)) { + File readme = new File(ConfigurationTTool.CCodeDirectory + "README"); + if (readme.exists()) + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } + + public static boolean checkAndCreateUPPAALDir(String s) throws FileException { + File f = new File(s); + try { + if (!f.exists()) + if(!f.mkdir()) + return false; + if (!s.equals(ConfigurationTTool.UPPAALCodeDirectory)) { + File readme = new File(ConfigurationTTool.UPPAALCodeDirectory + "README"); + if (readme.exists()) + FileUtils.copyFileToDirectory(readme, f, false); + } + return true; + } + catch (IOException e) { + throw new FileException(e.getMessage()); + } + } } diff --git a/src/main/java/myutil/FileUtils.java b/src/main/java/myutil/FileUtils.java index 3d3b0f27bb..5735cb87be 100755 --- a/src/main/java/myutil/FileUtils.java +++ b/src/main/java/myutil/FileUtils.java @@ -93,151 +93,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ return new File(path).isDirectory(); } - /** - * Check and create the directory for c++ code generation in DIPLODOCUS - * @author Fabien Tessier - * @param s directory path - * @return true if there's no error, false if the directory cannot be created - * @throws FileException - */ - public static boolean checkAndCreateSystemCDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.SystemCCodeDirectory)) { - File make = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile"); - File defs = new File(ConfigurationTTool.SystemCCodeDirectory + "Makefile.defs"); - File src = new File(ConfigurationTTool.SystemCCodeDirectory + "src_simulator"); - File lic = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE"); - File liceng = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_ENG"); - File licfr = new File(ConfigurationTTool.SystemCCodeDirectory + "LICENSE_CECILL_FR"); - - FileUtils.copyFileToDirectory(make, f, false); - FileUtils.copyFileToDirectory(defs, f, false); - FileUtils.copyDirectoryToDirectory(src, f); - FileUtils.copyFileToDirectory(lic, f, false); - FileUtils.copyFileToDirectory(liceng, f, false); - FileUtils.copyFileToDirectory(licfr, f, false); - } - return true; - } catch (Exception e) { - throw new FileException(e.getMessage()); - } - } - - /** - * Check and create the directory for c code generation in AVATAR - * @author Fabien Tessier - * @param s directory path - * @return true if there's no error, false if the directory cannot be created - * @throws FileException - */ - public static boolean checkAndCreateAVATARCodeDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.AVATARExecutableCodeDirectory)) { - File make = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile"); - File defs = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.defs"); - File soclib = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "Makefile.forsoclib"); - File src = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "src"); - File lic = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE"); - File liceng = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_ENG"); - File licfr = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "LICENSE_CECILL_FR"); - //File topcell = new File(ConfigurationTTool.AVATARExecutableCodeDirectory + "generated_topcell"); - - FileUtils.copyFileToDirectory(make, f, false); - FileUtils.copyFileToDirectory(defs, f,false); - FileUtils.copyFileToDirectory(soclib, f, false); - FileUtils.copyDirectoryToDirectory(src, f); - FileUtils.copyFileToDirectory(lic, f, false); - FileUtils.copyFileToDirectory(liceng, f, false); - FileUtils.copyFileToDirectory(licfr, f, false); - //FileUtils.copyDirectoryToDirectory(topcell, f); - } - return true; - } - catch (IOException e) { - throw new FileException(e.getMessage()); - } - - } - - public static boolean checkAndCreateProverifDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.ProVerifCodeDirectory)) { - File readme = new File(ConfigurationTTool.ProVerifCodeDirectory + "README"); - if (readme.exists()) - FileUtils.copyFileToDirectory(readme, f, false); - } - return true; - } - catch (IOException e) { - throw new FileException(e.getMessage()); - } - } - - public static boolean checkAndCreateTMLDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.TMLCodeDirectory)) { - File readme = new File(ConfigurationTTool.TMLCodeDirectory + "README_TML"); - if (readme.exists()) - FileUtils.copyFileToDirectory(readme, f, false); - } - return true; - } - catch (IOException e) { - throw new FileException(e.getMessage()); - } - } - - public static boolean checkAndCreateCCodeDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.CCodeDirectory)) { - File readme = new File(ConfigurationTTool.CCodeDirectory + "README"); - if (readme.exists()) - FileUtils.copyFileToDirectory(readme, f, false); - } - return true; - } - catch (IOException e) { - throw new FileException(e.getMessage()); - } - } - public static boolean checkAndCreateUPPAALDir(String s) throws FileException { - File f = new File(s); - try { - if (!f.exists()) - if(!f.mkdir()) - return false; - if (!s.equals(ConfigurationTTool.UPPAALCodeDirectory)) { - File readme = new File(ConfigurationTTool.UPPAALCodeDirectory + "README"); - if (readme.exists()) - FileUtils.copyFileToDirectory(readme, f, false); - } - return true; - } - catch (IOException e) { - throw new FileException(e.getMessage()); - } - } public static boolean checkFileForSave(File file) throws FileException { // boolean ok = true; @@ -363,7 +219,6 @@ public class FileUtils extends org.apache.commons.io.FileUtils{ return filename; } - public static boolean hasExtension(File f, String extension) { if (f == null) { return false; diff --git a/src/main/java/tmltranslator/TMLTextSpecification.java b/src/main/java/tmltranslator/TMLTextSpecification.java index 175c4fb58a..61d13dea36 100755 --- a/src/main/java/tmltranslator/TMLTextSpecification.java +++ b/src/main/java/tmltranslator/TMLTextSpecification.java @@ -53,6 +53,8 @@ import java.io.StringReader; import java.util.ArrayList; import java.util.Date; +import common.SpecConfigTTool; + /** * Class TMLTextSpecification * Import and export of TML textual specifications @@ -106,7 +108,7 @@ public class TMLTextSpecification<E> { } public void saveFile(String path, String filename) throws FileException { - FileUtils.checkAndCreateTMLDir(path); + SpecConfigTTool.checkAndCreateTMLDir(path); TraceManager.addUser("Saving TML spec file in " + path + filename); FileUtils.saveFile(path + filename, spec); } diff --git a/src/main/java/tmltranslator/touppaal/TML2UPPAAL.java b/src/main/java/tmltranslator/touppaal/TML2UPPAAL.java index fa3784493f..026d667ffc 100755 --- a/src/main/java/tmltranslator/touppaal/TML2UPPAAL.java +++ b/src/main/java/tmltranslator/touppaal/TML2UPPAAL.java @@ -51,6 +51,8 @@ import uppaaldesc.*; import java.util.Iterator; import java.util.Vector; +import common.SpecConfigTTool; + /** * Class TML2UPPAAL @@ -95,7 +97,7 @@ public class TML2UPPAAL { // Returns a list of all file names .. public void saveInFile(String path) throws FileException { - FileUtils.checkAndCreateUPPAALDir(path); + SpecConfigTTool.checkAndCreateUPPAALDir(path); FileUtils.saveFile(path + "spec.xml", spec.makeSpec()); //System.out.println("spec.xml generated:\n" + spec.getFullSpec()); } diff --git a/src/main/java/translator/touppaal/TURTLE2UPPAAL.java b/src/main/java/translator/touppaal/TURTLE2UPPAAL.java index 02c2aaed40..68ee711b61 100755 --- a/src/main/java/translator/touppaal/TURTLE2UPPAAL.java +++ b/src/main/java/translator/touppaal/TURTLE2UPPAAL.java @@ -56,6 +56,8 @@ import java.util.LinkedList; import java.util.ListIterator; import java.util.Vector; +import common.SpecConfigTTool; + /** * Class TURTLE2UPPAAL * Creation: 15/11/2006 @@ -114,7 +116,7 @@ public class TURTLE2UPPAAL { public void saveInFile(String path) throws FileException { - FileUtils.checkAndCreateUPPAALDir(path); + SpecConfigTTool.checkAndCreateUPPAALDir(path); FileUtils.saveFile(path + "spec.xml", spec.makeSpec()); //System.out.println("spec.xml generated:\n" + spec.getFullSpec()); diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java index 27c74ab997..b0b466e0f2 100755 --- a/src/main/java/ui/GTURTLEModeling.java +++ b/src/main/java/ui/GTURTLEModeling.java @@ -495,7 +495,7 @@ public class GTURTLEModeling { return true; } else { - FileUtils.checkAndCreateCCodeDir(directory); + SpecConfigTTool.checkAndCreateCCodeDir(directory); CCode.saveFile( directory + File.separator, applicationName ); } } diff --git a/src/main/java/ui/window/JDialogProverifVerification.java b/src/main/java/ui/window/JDialogProverifVerification.java index 0a9b473871..30a9321b49 100644 --- a/src/main/java/ui/window/JDialogProverifVerification.java +++ b/src/main/java/ui/window/JDialogProverifVerification.java @@ -45,6 +45,7 @@ import avatartranslator.AvatarPragma; import avatartranslator.AvatarPragmaAuthenticity; import avatartranslator.AvatarPragmaReachability; import avatartranslator.AvatarPragmaSecret; +import common.SpecConfigTTool; import launcher.LauncherException; import launcher.RshClient; import launcher.RshClientReader; @@ -803,7 +804,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen pathCode += "pvspec"; } - FileUtils.checkAndCreateProverifDir(pathCode); + SpecConfigTTool.checkAndCreateProverifDir(pathCode); pathCode += "pvspec"; testFile = new File(pathCode); diff --git a/src/main/java/ui/window/JDialogSystemCGeneration.java b/src/main/java/ui/window/JDialogSystemCGeneration.java index 9a5cef376f..eff2202a48 100755 --- a/src/main/java/ui/window/JDialogSystemCGeneration.java +++ b/src/main/java/ui/window/JDialogSystemCGeneration.java @@ -769,7 +769,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener, jta.append("Saving C++ files...\n"); pathCode = code1.getText(); - if (!FileUtils.checkAndCreateSystemCDir(SpecConfigTTool.SystemCCodeDirectory)) + if (!SpecConfigTTool.checkAndCreateSystemCDir(SpecConfigTTool.SystemCCodeDirectory)) throw new Throwable(); tml2systc.saveFile(pathCode, "appmodel"); -- GitLab