From 0004265fce20f4cab1175c3a0172826caaefb416 Mon Sep 17 00:00:00 2001 From: Daniela Genius <Daniela.Genius@lip6.fr> Date: Mon, 14 Mar 2016 13:10:27 +0000 Subject: [PATCH] update/cleaning code avatar dd code generation --- ...ialogAvatarddExecutableCodeGeneration.java | 516 +++++++----------- 1 file changed, 193 insertions(+), 323 deletions(-) diff --git a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java index 192d9db797..1b8bfea988 100755 --- a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java +++ b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java @@ -36,12 +36,13 @@ * knowledge of the CeCILL license and that you accept its terms. * * /** - * Class JDialogAvatarExecutableCodeGeneration + * Class JDialogAvatarddExecutableCodeGeneration * Dialog for managing the generation and compilation of AVATAR executable code - * Creation: 29/03/2011 - * @version 1.1 29/03/2011 + * Creation: june 2014 + * @version 1.1 * @author Ludovic APVRILLE - * @author (added deployment diagrams) Julien Henon, Daniela GENIUS + * @version 2.0 (march 2016) + * @author (adapted to code generation from deployment diagrams) Julien Henon, Daniela GENIUS 2015-2016 * @see */ @@ -83,17 +84,14 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame private String textSysC6 = "Show cycle accurate trace from MPSoC file:"; private static String unitCycle = "1"; - - //modif DG + private static String[] codes = {"AVATAR SOCLIB"}; - private static int selectedItem = 0; + private static int selectedRun = 1; private static int selectedCompile = 0; private static int selectedViewTrace = 0; private static boolean static_putUserCode = true; - //ajoute DG 14.03. -protected static String pathCodeTopCell; - //fin ajoute + protected static String pathCode; protected static String pathSoclibTraceFile; protected static String pathCompileMPSoC; @@ -144,10 +142,10 @@ protected static String pathCodeTopCell; /** Creates new form */ public JDialogAvatarddExecutableCodeGeneration(Frame _f, MainGUI _mgui, String title, -String _hostExecute, -String _pathCode, -String _pathCompileMPSoC, -String _pathExecuteMPSoC) { + String _hostExecute, + String _pathCode, + String _pathCompileMPSoC, + String _pathExecuteMPSoC) { super(title); @@ -233,10 +231,10 @@ String _pathExecuteMPSoC) { code1 = new JTextField(pathCode, 100); jp01.add(code1, c01); - //DG ajoute 14.03. -code2 = new JTextField(pathCode, 100); - jp01.add(code2, c01); - // fin ajoute DG + //DG added path to topcell + code2 = new JTextField(pathCode, 100); + jp01.add(code2, c01); + jp01.add(new JLabel(" "), c01); c01.gridwidth = GridBagConstraints.REMAINDER; //end row @@ -444,13 +442,13 @@ code2 = new JTextField(pathCode, 100); public void makeSelectionExecute() { - if (exetrace.isSelected()) { - selectedRun = 1; - } else { - selectedRun = 2; - } + if (exetrace.isSelected()) { + selectedRun = 1; + } else { + selectedRun = 2; + } - // exe2.setEnabled(selectedRun == 0); + // exe2.setEnabled(selectedRun == 0); exe3.setEnabled(selectedRun == 1); exe4.setEnabled(selectedRun == 2); } @@ -507,321 +505,193 @@ code2 = new JTextField(pathCode, 100); hasError = false; - try { - //selectedItem = versionCodeGenerator.getSelectedIndex(); - selectedItem = 0; - /* if (selectedItem == 1) { - - // Code generation - if (jp1.getSelectedIndex() == 0) { - jta.append("Generating executable code (C-POSIX version)\n"); - - if (removeCFiles.isSelected()) { - jta.append("Removing all .h files\n"); - list = FileUtils.deleteFiles(code1.getText() + AVATAR2CPOSIX.getGeneratedPath(), ".h"); - if (list.length() == 0) { - jta.append("No files were deleted\n"); - } else { - jta.append("Files deleted:\n" + list + "\n"); - } - jta.append("Removing all .c files\n"); - list = FileUtils.deleteFiles(code1.getText() + AVATAR2CPOSIX.getGeneratedPath(), ".c"); - if (list.length() == 0) { - jta.append("No files were deleted\n"); - } else { - jta.append("Files deleted:\n" + list + "\n"); - } - } - - if (removeXFiles.isSelected()) { - jta.append("Removing all .x files\n"); - list = FileUtils.deleteFiles(code1.getText() , ".x"); - if (list.length() == 0) { - jta.append("No files were deleted\n"); - } else { - jta.append("Files deleted:\n" + list + "\n"); - } - } - - testGo(); - - selectedUnit = units.getSelectedIndex(); - //System.out.println("Selected item=" + selectedItem); - AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); - - // Generating code - if (avspec == null) { - jta.append("Error: No AVATAR specification\n"); - } else { - AVATAR2CPOSIX avatartocposix = new AVATAR2CPOSIX(avspec); - avatartocposix.includeUserCode(putUserCode.isSelected()); - avatartocposix.setTimeUnit(selectedUnit); - avatartocposix.generateCPOSIX(debugmode.isSelected(), tracemode.isSelected()); - testGo(); - jta.append("Generation of C-POSIX executable code: done\n"); - //t2j.printJavaClasses(); - try { - jta.append("Saving code in files\n"); - pathCode = code1.getText(); - - avatartocposix.saveInFiles(pathCode); - - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\n"); - } - } - } - - testGo(); - - - // Compilation - if (jp1.getSelectedIndex() == 1) { - cmd = compiler.getText(); - jta.append("Compiling executable code with command: \n" + cmd + "\n"); - - rshc = new RshClient(hostExecute); - // Assume data are on the remote host - // Command - try { - processCmd(cmd, jta); - //data = processCmd(cmd); - //jta.append(data); - jta.append("Compilation done\n"); - } catch (LauncherException le) { - jta.append("Error: " + le.getMessage() + "\n"); - mode = STOPPED; - setButtons(); - return; - } catch (Exception e) { - mode = STOPPED; - setButtons(); - return; - } - } - - if (jp1.getSelectedIndex() == 2) { - try { - if (selectedRun == 1) { - cmd = exe3.getText(); - } else { - cmd = exe4.getText(); - } - - jta.append("Executing code with command: \n" + cmd + "\n"); - - rshc = new RshClient(hostExecute); - // Assume data are on the remote host - // Command - - processCmd(cmd, jta); - //jta.append(data); - jta.append("Execution done\n"); - } catch (LauncherException le) { - jta.append("Error: " + le.getMessage() + "\n"); - mode = STOPPED; - setButtons(); - return; - } catch (Exception e) { - mode = STOPPED; - setButtons(); - return; - } - } - - if ((hasError == false) && (jp1.getSelectedIndex() < 2)) { - jp1.setSelectedIndex(jp1.getSelectedIndex() + 1); - } - }*/ - - - // if (selectedItem == 0) { - // Code generation -System.err.println("$$$ test "+jp1.getSelectedIndex()); - if (jp1.getSelectedIndex() == 0) { - jta.append("Generating executable code (SOCLIB version)\n"); - //selectedUnit = 1; + try { + + + + if (jp1.getSelectedIndex() == 0) { + jta.append("Generating executable code (SOCLIB version)\n"); + //selectedUnit = 1; - ADDDiagramPanel deploymentDiagramPanel = mgui.getFirstAvatarDeploymentPanelFound(); - AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); - AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); - - // Generating code - if ( avddspec == null) { - jta.append("Error: No AVATAR Deployemnt specification\n"); - } else { - System.err.println("**AVATAR TOPCELL found"); - - TopCellGenerator topCellGenerator = new TopCellGenerator(avddspec); - testGo(); - jta.append("Generation of TopCell executable code: done\n"); -System.err.println("**get Text "+code2.getText()); - try { - jta.append("Saving code in files\n"); - System.err.println("**Saving code in files\n"); - pathCode = code2.getText(); - - System.err.println("**AVATAR TOPCELL saved in "+code2.getText()); - - topCellGenerator.saveFile(pathCode); - - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\n"); System.err.println("**Could not generate files\n"); - } - } + ADDDiagramPanel deploymentDiagramPanel = mgui.getFirstAvatarDeploymentPanelFound(); + AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); + AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); + + // Generating code + if ( avddspec == null) { + jta.append("Error: No AVATAR Deployemnt specification\n"); + } else { + System.err.println("**AVATAR TOPCELL found"); + + TopCellGenerator topCellGenerator = new TopCellGenerator(avddspec); + testGo(); + jta.append("Generation of TopCell executable code: done\n"); + System.err.println("**get Text "+code2.getText()); + try { + jta.append("Saving code in files\n"); + System.err.println("**Saving code in files\n"); + pathCode = code2.getText(); + + System.err.println("**AVATAR TOPCELL saved in "+code2.getText()); + + topCellGenerator.saveFile(pathCode); + + jta.append("Code saved\n"); + } catch (Exception e) { + jta.append("Could not generate files\n"); System.err.println("**Could not generate files\n"); + } + } - testGo(); + testGo(); - if (removeCFiles.isSelected()) { + if (removeCFiles.isSelected()) { - jta.append("Removing all .h files\n"); + jta.append("Removing all .h files\n"); - list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGeneratedPath(), ".h"); - if (list.length() == 0) { - jta.append("No files were deleted\n"); - } else { - jta.append("Files deleted:\n" + list + "\n"); - } - jta.append("Removing all .c files\n"); -list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGeneratedPath(), ".c"); -//list = FileUtils.deleteFiles(code1.getText() + AVATAR2SOCLIB.getGeneratedPath(), ".c"); -if (list.length() == 0) { - jta.append("No files were deleted\n"); -} else { - jta.append("Files deleted:\n" + list + "\n"); -} - } - - if (removeXFiles.isSelected()) { - jta.append("Removing all .x files\n"); - list = FileUtils.deleteFiles(code1.getText() , ".x"); - if (list.length() == 0) { - jta.append("No files were deleted\n"); - } else { - jta.append("Files deleted:\n" + list + "\n"); - } - } - - testGo(); - - selectedUnit = units.getSelectedIndex(); - //System.out.println("Selected item=" + selectedItem); - AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); - - // Generating code - if (avspec == null) { - jta.append("Error: No AVATAR specification\n"); - } else { + list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGeneratedPath(), ".h"); + if (list.length() == 0) { + jta.append("No files were deleted\n"); + } else { + jta.append("Files deleted:\n" + list + "\n"); + } + jta.append("Removing all .c files\n"); + list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGeneratedPath(), ".c"); + //list = FileUtils.deleteFiles(code1.getText() + AVATAR2SOCLIB.getGeneratedPath(), ".c"); + if (list.length() == 0) { + jta.append("No files were deleted\n"); + } else { + jta.append("Files deleted:\n" + list + "\n"); + } + } + + if (removeXFiles.isSelected()) { + jta.append("Removing all .x files\n"); + list = FileUtils.deleteFiles(code1.getText() , ".x"); + if (list.length() == 0) { + jta.append("No files were deleted\n"); + } else { + jta.append("Files deleted:\n" + list + "\n"); + } + } + + testGo(); + + selectedUnit = units.getSelectedIndex(); + //System.out.println("Selected item=" + selectedItem); + AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); + + // Generating code + if (avspec == null) { + jta.append("Error: No AVATAR specification\n"); + } else { - TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avspec); - gene.includeUserCode(putUserCode.isSelected()); - gene.setTimeUnit(selectedUnit); - gene.generateSoclib(debugmode.isSelected(), tracemode.isSelected()); + TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avspec); + gene.includeUserCode(putUserCode.isSelected()); + gene.setTimeUnit(selectedUnit); + gene.generateSoclib(debugmode.isSelected(), tracemode.isSelected()); - if ( avddspec == null) { - jta.append("Error: No AVATAR Deployment specification\n"); - } else { - System.err.println("AVATAR TOPCELL found"); - } - - TopCellGenerator topCellGenerator = new TopCellGenerator(avddspec); - testGo(); - jta.append("Generation of TopCell executable code: done\n"); - - try { - jta.append("Saving code in files\n"); - pathCode = code2.getText(); - topCellGenerator.saveFile(pathCode); - - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\n"); - } + if ( avddspec == null) { + jta.append("Error: No AVATAR Deployment specification\n"); + } else { + System.err.println("AVATAR TOPCELL found"); + } + + TopCellGenerator topCellGenerator = new TopCellGenerator(avddspec); + testGo(); + jta.append("Generation of TopCell executable code: done\n"); + + try { + jta.append("Saving code in files\n"); + pathCode = code2.getText(); + topCellGenerator.saveFile(pathCode); + + jta.append("Code saved\n"); + } catch (Exception e) { + jta.append("Could not generate files\n"); + } + testGo(); + jta.append("Generation of C-SOCLIB executable code: done\n"); + //t2j.printJavaClasses(); + try { + jta.append("Saving code in files\n"); + pathCode = code1.getText(); + gene.saveInFiles(pathCode); + + jta.append("Code saved\n"); + } catch (Exception e) { + jta.append("Could not generate files\n"); + } + } + } + testGo(); - jta.append("Generation of C-SOCLIB executable code: done\n"); - //t2j.printJavaClasses(); - try { - jta.append("Saving code in files\n"); - pathCode = code1.getText(); - gene.saveInFiles(pathCode); - - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\n"); - } - } - } - - testGo(); - - // Compilation - if (jp1.getSelectedIndex() == 1) { - cmd = compiler.getText(); - jta.append("Compiling executable code with command: \n" + cmd + "\n"); - - rshc = new RshClient(hostExecute); - // AssumE data are on the remote host - // Command - try { - processCmd(cmd, jta); - //data = processCmd(cmd); - //jta.append(data); - jta.append("Compilation done\n"); - } catch (LauncherException le) { - jta.append("Error: " + le.getMessage() + "\n"); - mode = STOPPED; - setButtons(); - return; - } catch (Exception e) { - mode = STOPPED; - setButtons(); - return; - } - } - - if (jp1.getSelectedIndex() == 2) { - try { - if (selectedRun == 1) { - cmd = exe3.getText(); - } else { - cmd = exe4.getText(); - } + + // Compilation + if (jp1.getSelectedIndex() == 1) { + cmd = compiler.getText(); + jta.append("Compiling executable code with command: \n" + cmd + "\n"); + + rshc = new RshClient(hostExecute); + // AssumE data are on the remote host + // Command + try { + processCmd(cmd, jta); + //data = processCmd(cmd); + //jta.append(data); + jta.append("Compilation done\n"); + } catch (LauncherException le) { + jta.append("Error: " + le.getMessage() + "\n"); + mode = STOPPED; + setButtons(); + return; + } catch (Exception e) { + mode = STOPPED; + setButtons(); + return; + } + } + + if (jp1.getSelectedIndex() == 2) { + try { + if (selectedRun == 1) { + cmd = exe3.getText(); + } else { + cmd = exe4.getText(); + } - jta.append("Executing code with command: \n" + cmd + "\n"); - - rshc = new RshClient(hostExecute); - // Assume data are on the remote host - // Command - - processCmd(cmd, jta); - //jta.append(data); - jta.append("Execution done\n"); - } catch (LauncherException le) { - jta.append("Error: " + le.getMessage() + "\n"); - mode = STOPPED; - setButtons(); - return; - } catch (Exception e) { - mode = STOPPED; - setButtons(); - return; - } - } - - if ((hasError == false) && (jp1.getSelectedIndex() < 2)) { - jp1.setSelectedIndex(jp1.getSelectedIndex() + 1); - } - //} + jta.append("Executing code with command: \n" + cmd + "\n"); + + rshc = new RshClient(hostExecute); + // Assume data are on the remote host + // Command + + processCmd(cmd, jta); + //jta.append(data); + jta.append("Execution done\n"); + } catch (LauncherException le) { + jta.append("Error: " + le.getMessage() + "\n"); + mode = STOPPED; + setButtons(); + return; + } catch (Exception e) { + mode = STOPPED; + setButtons(); + return; + } + } + + if ((hasError == false) && (jp1.getSelectedIndex() < 2)) { + jp1.setSelectedIndex(jp1.getSelectedIndex() + 1); + } + //} //fin ajoute DG - } catch (InterruptedException ie) { + } catch (InterruptedException ie) { jta.append("Interrupted\n"); } -- GitLab