diff --git a/src/ui/TGUIAction.java b/src/ui/TGUIAction.java index 6f43ca38bac6e5120bec50eda363fa4860fc8a32..e81df94cac1f165d5f697333e56a9380dd8f628b 100755 --- a/src/ui/TGUIAction.java +++ b/src/ui/TGUIAction.java @@ -57,10 +57,7 @@ import javax.swing.event.EventListenerList; public class TGUIAction extends AbstractAction { - /** - * - */ - private static final long serialVersionUID = -4942930048930203001L; + private static final long serialVersionUID = -4942930048930203001L; // Actions public static final int ACT_NEW = 0; @@ -652,7 +649,7 @@ public class TGUIAction extends AbstractAction { actions[ACT_NEW_DESIGN] = new TAction("new-command-design", "New design", IconManager.imgic14, IconManager.imgic14, "New design", "New TURTLE design", 0); actions[ACT_NEW_ANALYSIS] = new TAction("new-command-analysis", "New analysis", IconManager.imgic17, IconManager.imgic17, "New analysis", "New TURTLE analysis", 0); actions[ACT_OPEN] = new TAction("open-command","Open", IconManager.imgic22, IconManager.imgic23, "Open", "Open an existing TTooll model",'O', true); - actions[ACT_OPEN_FROM_NETWORK] = new TAction("open-command-from-network","Open from network", IconManager.imgic22, IconManager.imgic23, "Open from network", "Open an existing TTool model from the TTool website",'O', true); + actions[ACT_OPEN_FROM_NETWORK] = new TAction("open-command-from-network","Open from TTool repository", IconManager.imgic22, IconManager.imgic23, "Open from TTool repository", "Open an existing TTool model from the TTool repository (TTool website)",'O', true); actions[ACT_OPEN_LAST] = new TAction("openlast-command","Open file: " + ConfigurationTTool.LastOpenFile, IconManager.imgic22, IconManager.imgic23, "Open: " + ConfigurationTTool.LastOpenFile, "Open the lastly saved TTool model", 0); actions[ACT_MERGE] = new TAction("merge-command","Merge", IconManager.imgic22, IconManager.imgic23, "Merge", "Merge the current TTool modeling with another one saved in a file ", 0); actions[ACT_SAVE] = new TAction("save-command", "Save",IconManager.imgic24, IconManager.imgic25, "Save", "Save an opened or a new TTool modeling", 'S', true); diff --git a/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java b/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java index 8235b916b123788d23f2411441fdbd991e825aed..96213d3cc6b6e57ea866deb5bac83c743abae5fc 100644 --- a/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java +++ b/src/ui/networkmodelloader/JDialogLoadingNetworkModel.java @@ -60,9 +60,9 @@ import myutil.*; public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements ActionListener, Runnable, LoaderFacilityInterface, CallbackLoaderInterface { - public final static String [] FEATURES = {"All", "Requirements", "Attacktrees", "Properties", "Partitioning", "Analysis", "Design", "Prototyping", "Security protocol"}; + public final static String [] FEATURES = {"all", "requirements", "attacktrees", "properties", "partitioning", "analysis", "design", "prototyping", "security protocol"}; - public final static String [] PROPS = {"All", "Safety", "Security", "Performance"}; + public final static String [] PROPS = {"safety", "security", "performance"}; private ArrayList<NetworkModel> listOfModels; @@ -80,7 +80,8 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac private JTextAreaWriter textAreaWriter; protected JButton start; protected JButton stop; - protected JList<String> featureList; + protected JComboBox<String> featureList; + protected JCheckBox [] props; protected JScrollPane jsp; @@ -147,8 +148,18 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac jsp.setPreferredSize(new Dimension(400, 200)); JPanel options = new JPanel(); - featureList = new JList<String>(FEATURES); + featureList = new JComboBox<String>(FEATURES); + featureList.addActionListener(this); options.add(featureList); + + props = new JCheckBox[PROPS.length]; + for (int i=0; i<props.length; i++) { + props[i] = new JCheckBox(PROPS[i]); + props[i].addActionListener(this); + props[i].setSelected(true); + options.add(props[i]); + } + lowPart.add(options, BorderLayout.NORTH); @@ -182,16 +193,24 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac //String command = evt.getActionCommand(); // Compare the action command to the known actions. - if (evt.getSource() == start) { - loadFile(); - } else if (evt.getSource() == stop) { + if (evt.getSource() == stop) { cancel(); - } - } + return ; + } else if (evt.getSource() == featureList) { + featureSelectionMade(); + return; + } + for (int i = 0; i<props.length; i++) { + if (evt.getSource() == props[i]) { + panel.setProperty(i, props[i].isSelected()); + return; + } + } + } - public void loadFile() { - // Run the retreiver + analyzer + public void featureSelectionMade() { + panel.setFeatureSelectedIndex(featureList.getSelectedIndex()); } public void cancel() { @@ -229,7 +248,7 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac if (inputLine.startsWith("-FEATURES")) { if (nm != null) { - String tmp = inputLine.substring(9, inputLine.length()).trim(); + String tmp = inputLine.substring(9, inputLine.length()).trim().toLowerCase(); for (int i=1; i<FEATURES.length; i++) { nm.features[i] = tmp.indexOf(FEATURES[i]) != -1; } @@ -239,8 +258,8 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac if (inputLine.startsWith("-PROPS")) { if (nm != null) { - String tmp = inputLine.substring(6, inputLine.length()).trim(); - for (int i=1; i<PROPS.length; i++) { + String tmp = inputLine.substring(6, inputLine.length()).trim().toLowerCase(); + for (int i=0; i<PROPS.length; i++) { nm.props[i] = tmp.indexOf(PROPS[i]) != -1; } //nm.type = NetworkModel.stringToNetworkModelType(inputLine.substring(5, inputLine.length()).trim()); @@ -307,6 +326,8 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac } } + + // LoaderFacilityInterface public void load(int index) { String fileName = listOfModels.get(index).fileName; jta.append("Loading model: " + fileName); @@ -320,6 +341,7 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac } } + // CallbackLoaderInterface public void loadDone() { jta.append("Model transfered, opening it in TTool\n"); this.dispose(); @@ -331,7 +353,8 @@ public class JDialogLoadingNetworkModel extends javax.swing.JFrame implements Ac panel.reactivateSelection(); } - + + // JTA manipulation by external objects public void appendOut(String s) { jta.append(s); } diff --git a/src/ui/networkmodelloader/NetworkModel.java b/src/ui/networkmodelloader/NetworkModel.java index 89f920171ba6d01804b3dac0330128f712804d1a..d91fbabb4565c70fd8e7b3cd5df6f40c0d3dd4ac 100644 --- a/src/ui/networkmodelloader/NetworkModel.java +++ b/src/ui/networkmodelloader/NetworkModel.java @@ -70,15 +70,13 @@ public class NetworkModel { features = new boolean[JDialogLoadingNetworkModel.FEATURES.length]; features[0] = true; props = new boolean[JDialogLoadingNetworkModel.PROPS.length]; - props[0] = true; - } public void update() { } - public static NetworkModelType stringToNetworkModelType(String type) { + /*public static NetworkModelType stringToNetworkModelType(String type) { type = type.toLowerCase(); if (type.compareTo("software design") == 0) { return NetworkModelType.SOFTWARE_DESIGN; @@ -97,6 +95,6 @@ public class NetworkModel { } return NetworkModelType.SOFTWARE_DESIGN; - } + }*/ } diff --git a/src/ui/networkmodelloader/NetworkModelPanel.java b/src/ui/networkmodelloader/NetworkModelPanel.java index bd0b802a2be35891f064e34463010e0d8a93331b..b8d0ad0c08c33424f2f20f3bca2efa0e60526586 100644 --- a/src/ui/networkmodelloader/NetworkModelPanel.java +++ b/src/ui/networkmodelloader/NetworkModelPanel.java @@ -63,7 +63,7 @@ public class NetworkModelPanel extends JPanel implements MouseListener, MouseMot private static int ImgSizeX = 220; private static int ImgSizeY = 120; - + private static int buttonSizeX = 250; private static int buttonSizeY = 150; private static int spaceBetweenButtons = 50; @@ -82,168 +82,212 @@ public class NetworkModelPanel extends JPanel implements MouseListener, MouseMot private JTextArea jta; private JScrollPane jsp; + + private int featureSelectedIndex = 0; + private boolean props[]; - public NetworkModelPanel(LoaderFacilityInterface _loader, ArrayList<NetworkModel> _listOfModels, ActionListener _listener, JTextArea _jta) { - loader = _loader; - listOfModels = _listOfModels; - listener = _listener; - jta = _jta; - //Dimension pSize = new Dimension(500, 400); + + public NetworkModelPanel(LoaderFacilityInterface _loader, ArrayList<NetworkModel> _listOfModels, ActionListener _listener, JTextArea _jta) { + loader = _loader; + listOfModels = _listOfModels; + listener = _listener; + jta = _jta; + + //Dimension pSize = new Dimension(500, 400); Dimension mSize = new Dimension(400, 300); //setPreferredSize(pSize); - setMinimumSize(mSize); - setBackground(new java.awt.Color(250, 250, 250)); - setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); + setMinimumSize(mSize); + setBackground(new java.awt.Color(250, 250, 250)); + setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); + + // properties + props = new boolean[JDialogLoadingNetworkModel.PROPS.length]; + for (int i=0; i<props.length; i++) { + props[i] = true; + } - addMouseMotionListener(this); - addMouseListener(this); + // Mouse management + addMouseMotionListener(this); + addMouseListener(this); } public void setJSP(JScrollPane _jsp) { - jsp = _jsp; - jsp.setViewportView(this); + jsp = _jsp; + jsp.setViewportView(this); + } + + public void setFeatureSelectedIndex(int _index) { + featureSelectedIndex = _index; + indexOfSelected = -1; + repaint(); } + public void setProperty(int _index, boolean _mode) { + props[_index] = _mode; + indexOfSelected = -1; + repaint(); + } + + public void preparePanel() { - //int cptColumn = 0; - //int cptRow = 0; - for(NetworkModel button: listOfModels) { - //Dimension d = new Dimension(buttonSizeX, buttonSizeY); - //button.setPreferredSize(d); - //int tmpX = cptColumn * (buttonSizeX + spaceBetweenButtons); - //int tmpY = cptRow * (buttonSizeY + spaceBetweenButtons); - //TraceManager.addDev("Adding button at x=" + tmpX + "& y=" + tmpY); - //button.setBounds(tmpX, tmpY, buttonSizeX, buttonSizeY); - /*if (button.description != null) { - button.setToolTipText(button.description); - }*/ - - if (button.bi != null) { - TraceManager.addDev("Adding image"); - - /*BufferedImage newImage = new BufferedImage(ImgSizeX, ImgSizeY, button.bi.getType()); - Graphics g = newImage.createGraphics(); - g.drawImage(button.bi, 0, 0, ImgSizeX, ImgSizeY, null); - g.dispose();*/ - button.scaledImg = ImageManager.getScaledImage(button.bi, ImgSizeX, ImgSizeY); + //int cptColumn = 0; + //int cptRow = 0; + for(NetworkModel button: listOfModels) { + //Dimension d = new Dimension(buttonSizeX, buttonSizeY); + //button.setPreferredSize(d); + //int tmpX = cptColumn * (buttonSizeX + spaceBetweenButtons); + //int tmpY = cptRow * (buttonSizeY + spaceBetweenButtons); + //TraceManager.addDev("Adding button at x=" + tmpX + "& y=" + tmpY); + //button.setBounds(tmpX, tmpY, buttonSizeX, buttonSizeY); + /*if (button.description != null) { + button.setToolTipText(button.description); + }*/ + + if (button.bi != null) { + TraceManager.addDev("Adding image"); + + /*BufferedImage newImage = new BufferedImage(ImgSizeX, ImgSizeY, button.bi.getType()); + Graphics g = newImage.createGraphics(); + g.drawImage(button.bi, 0, 0, ImgSizeX, ImgSizeY, null); + g.dispose();*/ + button.scaledImg = ImageManager.getScaledImage(button.bi, ImgSizeX, ImgSizeY); + } + + //button.setBorder(BorderFactory.createEmptyBorder()); + //button.setContentAreaFilled(false); + //add(button); + /*cptColumn ++; + if (cptColumn == nbOfButtonsPerColumn) { + cptRow ++; + cptColumn = 0; + }*/ + } + } + + + private boolean hasAtLeastOneSelectedProperty(NetworkModel _nm) { + for (int i=0; i<props.length; i++) { + if (props[i]) { + if (_nm.props[i]) { + return true; + } } - - //button.setBorder(BorderFactory.createEmptyBorder()); - //button.setContentAreaFilled(false); - //add(button); - /*cptColumn ++; - if (cptColumn == nbOfButtonsPerColumn) { - cptRow ++; - cptColumn = 0; - }*/ } + return false; } - - @Override public void paintComponent(Graphics g) { - super.paintComponent(g); - int cptColumn = 0; - int cptRow = 0; - - int index = 0; - for(NetworkModel button: listOfModels) { - Color c = g.getColor(); - int tmpX = cptColumn * (buttonSizeX + spaceBetweenButtons) + marginX; - int tmpY = cptRow * (buttonSizeY + spaceBetweenButtons) + marginY; - if (button.scaledImg != null) { - g.drawImage(button.scaledImg, tmpX, tmpY, buttonSizeX, buttonSizeY, null); - } else { - g.setColor(ColorManager.AVATAR_BLOCK); - g.fillRect(tmpX, tmpY, buttonSizeX, buttonSizeY); - g.setColor(c); - GraphicLib.centerString(g, "No picture", tmpX, tmpY + buttonSizeY/2, buttonSizeX); + super.paintComponent(g); + int cptColumn = 0; + int cptRow = 0; + + int index = 0; + for(NetworkModel button: listOfModels) { + if ((button.features[featureSelectedIndex]) && hasAtLeastOneSelectedProperty(button)){ + Color c = g.getColor(); + int tmpX = cptColumn * (buttonSizeX + spaceBetweenButtons) + marginX; + int tmpY = cptRow * (buttonSizeY + spaceBetweenButtons) + marginY; + if (button.scaledImg != null) { + g.drawImage(button.scaledImg, tmpX, tmpY, buttonSizeX, buttonSizeY, null); + } else { + g.setColor(ColorManager.AVATAR_BLOCK); + g.fillRect(tmpX, tmpY, buttonSizeX, buttonSizeY); + g.setColor(c); + GraphicLib.centerString(g, "No picture", tmpX, tmpY + buttonSizeY/2, buttonSizeX); + } + + GraphicLib.centerString(g, button.fileName, tmpX, tmpY + buttonSizeY + 15, buttonSizeX); + + + + cptColumn ++; + if (cptColumn == nbOfButtonsPerColumn) { + cptRow ++; + cptColumn = 0; + } + + button.x = tmpX; + button.y = tmpY; + button.width = buttonSizeX; + button.height = buttonSizeY + 15; + + // Must draw the rectangle around + if (index == indexOfSelected) { + if (selectedModel) { + g.setColor(ColorManager.SELECTED_ELEMENT); + } else { + g.setColor(ColorManager.POINTER_ON_ME_0); + } + Graphics2D g2 = (Graphics2D)g; + Stroke oldStroke = g2.getStroke(); + g2.setStroke(new BasicStroke(5)); + g2.drawRect(button.x-10, button.y-10, button.width+20, button.height+20); + g2.setStroke(oldStroke); + g.setColor(c); + } + } else { + button.x = -1; + button.y = -1; + button.width = -1; + button.height = -1; } - GraphicLib.centerString(g, button.fileName, tmpX, tmpY + buttonSizeY + 15, buttonSizeX); - - - - cptColumn ++; - if (cptColumn == nbOfButtonsPerColumn) { - cptRow ++; - cptColumn = 0; - } + index ++; + } - button.x = tmpX; - button.y = tmpY; - button.width = buttonSizeX; - button.height = buttonSizeY + 15; - - // Must draw the rectangle around - if (index == indexOfSelected) { - if (selectedModel) { - g.setColor(ColorManager.SELECTED_ELEMENT); - } else { - g.setColor(ColorManager.POINTER_ON_ME_0); - } - Graphics2D g2 = (Graphics2D)g; - Stroke oldStroke = g2.getStroke(); - g2.setStroke(new BasicStroke(5)); - g2.drawRect(button.x-10, button.y-10, button.width+20, button.height+20); - g2.setStroke(oldStroke); - g.setColor(c); - } - - index ++; - } + Dimension currentPSize = getPreferredSize(); + Dimension pSize = new Dimension(400, Math.max(300, (cptRow+1)*(buttonSizeY +spaceBetweenButtons) + 2* marginY)); + setPreferredSize(pSize); - Dimension currentPSize = getPreferredSize(); - Dimension pSize = new Dimension(400, Math.max(300, (cptRow+1)*(buttonSizeY +spaceBetweenButtons) + 2* marginY)); - setPreferredSize(pSize); + if (!((currentPSize.getWidth() == pSize.getWidth()) && (currentPSize.getHeight() == pSize.getHeight()))) { + if (jsp != null) { + TraceManager.addDev("repainting jsp"); + jsp.setViewportView(this); + //jsp.revalidate(); + //jsp.repaint(); + } + } - if (!((currentPSize.getWidth() == pSize.getWidth()) && (currentPSize.getHeight() == pSize.getHeight()))) { - if (jsp != null) { - TraceManager.addDev("repainting jsp"); - jsp.setViewportView(this); - //jsp.revalidate(); - //jsp.repaint(); - } - } - - //g.drawString(listOfModels.size() + " model(s) available", 20, 20); - //g.drawRect(200, 200, 200, 200); + //g.drawString(listOfModels.size() + " model(s) available", 20, 20); + //g.drawRect(200, 200, 200, 200); } - + public void mouseDragged(MouseEvent e) { - + } public void mouseMoved(MouseEvent e) { - if (!selectedModel) { - int previousIndex = indexOfSelected; - boolean found = false;; - int index = 0; - for(NetworkModel button: listOfModels) { - if ((e.getX() > button.x) && (e.getX() < button.x + button.width) && (e.getY() > button.y) && (e.getY() < button.y + button.height)) { - indexOfSelected = index; - found = true; - break; - } - index ++; - } - if (!found) { - indexOfSelected = -1; - } - if (indexOfSelected != previousIndex) { - if (indexOfSelected != -1) { - NetworkModel nm = listOfModels.get(indexOfSelected); - jta.append("\n--- " + nm.fileName + "---\n" + nm.description + "\n-------------\n\n"); + if (!selectedModel) { + int previousIndex = indexOfSelected; + boolean found = false;; + int index = 0; + for(NetworkModel button: listOfModels) { + if ((button.features[featureSelectedIndex]) && hasAtLeastOneSelectedProperty(button)) { + if ((e.getX() > button.x) && (e.getX() < button.x + button.width) && (e.getY() > button.y) && (e.getY() < button.y + button.height)) { + indexOfSelected = index; + found = true; + break; + } } - repaint(); - } - } + index ++; + } + if (!found) { + indexOfSelected = -1; + } + if (indexOfSelected != previousIndex) { + if (indexOfSelected != -1) { + NetworkModel nm = listOfModels.get(indexOfSelected); + jta.append("\n--- " + nm.fileName + "---\n" + nm.description + "\n-------------\n\n"); + } + repaint(); + } + } } public void mousePressed(MouseEvent e) { @@ -259,21 +303,21 @@ public class NetworkModelPanel extends JPanel implements MouseListener, MouseMot } public void mouseClicked(MouseEvent e) { - if ((indexOfSelected > -1) && (!selectedModel)) { - selectedModel = true; - repaint(); - if (loader != null) { - loader.load(indexOfSelected); - } - } + if ((indexOfSelected > -1) && (!selectedModel)) { + selectedModel = true; + repaint(); + if (loader != null) { + loader.load(indexOfSelected); + } + } } public void reactivateSelection() { - indexOfSelected = -1; - selectedModel = false; - repaint(); + indexOfSelected = -1; + selectedModel = false; + repaint(); } - - + + } diff --git a/src/ui/tmldd/TMLArchiDiagramToolBar.java b/src/ui/tmldd/TMLArchiDiagramToolBar.java index 5d3fa9beb335729ba9e5cb8b1ad025b50ef1771f..72153a44702103d35c445422895366b670a6945e 100755 --- a/src/ui/tmldd/TMLArchiDiagramToolBar.java +++ b/src/ui/tmldd/TMLArchiDiagramToolBar.java @@ -142,15 +142,15 @@ public class TMLArchiDiagramToolBar extends TToolBar implements ActionListener button = this.add(mgui.actions[TGUIAction.TMLARCHI_EVENT_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); } - button = this.add(mgui.actions[TGUIAction.TMLARCHI_COMMUNICATION_ARTIFACT]); + button = this.add(mgui.actions[TGUIAction.TMLARCHI_COMMUNICATION_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); - button = this.add(mgui.actions[TGUIAction.TMLARCHI_PORT_ARTIFACT]); + button = this.add(mgui.actions[TGUIAction.TMLARCHI_PORT_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); - button = this.add(mgui.actions[TGUIAction.TMLARCHI_KEY]); + button = this.add(mgui.actions[TGUIAction.TMLARCHI_KEY]); button.addMouseListener(mgui.mouseHandler); - this.addSeparator(); - - button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]); + this.addSeparator(); + + button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_ATTR]); button = this.add(mgui.actions[TGUIAction.TMLARCHI_COMMUNICATION_ARTIFACT]); button.addMouseListener(mgui.mouseHandler); button = this.add(mgui.actions[TGUIAction.TMLARCHI_PORT_ARTIFACT]); @@ -166,32 +166,32 @@ public class TMLArchiDiagramToolBar extends TToolBar implements ActionListener button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); button.addMouseListener(mgui.mouseHandler); - - this.addSeparator(); - - button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); + + this.addSeparator(); + + button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); button.addMouseListener(mgui.mouseHandler); - this.addSeparator(); - if (viewInfos == null) { - TraceManager.addDev("null viewInfos"); - } - box = new JComboBox(viewInfos); - this.add(box); - box.addActionListener(this); + this.addSeparator(); + if (viewInfos == null) { + TraceManager.addDev("null viewInfos"); + } + box = new JComboBox(viewInfos); + this.add(box); + box.addActionListener(this); } public void setPanel(TMLArchiDiagramPanel _panel) { - panel = _panel; + panel = _panel; } - + public void actionPerformed(ActionEvent e) { - if (e.getSource() == box) { - if (panel != null) { - panel.setCurrentView(box.getSelectedIndex()); - } - } + if (e.getSource() == box) { + if (panel != null) { + panel.setCurrentView(box.getSelectedIndex()); + } + } } - + } // Class diff --git a/src/ui/window/JDialogAvatarExecutableCodeGeneration.java b/src/ui/window/JDialogAvatarExecutableCodeGeneration.java index 245a2522c8c662824d129b05314e51845d776a13..41d471a32a5880f19e803aa5f4866cbcae103fcb 100644 --- a/src/ui/window/JDialogAvatarExecutableCodeGeneration.java +++ b/src/ui/window/JDialogAvatarExecutableCodeGeneration.java @@ -89,7 +89,7 @@ import ui.interactivesimulation.JFrameSimulationSDPanel; public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame implements ActionListener, Runnable, MasterProcessInterface { - private static String[] unitTab = {"usec", "msec", "sec"}; + private static String[] unitTab = {"usec", "msec", "sec"}; protected Frame f; protected MainGUI mgui; @@ -104,9 +104,9 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im private String textSysC8 = "Show trace from file:"; private String textSysC9 = "Show trace from soclib file:"; - // private static String unitCycle = "1"; + // private static String unitCycle = "1"; + - private static String[] codes = {"AVATAR CPOSIX"}; private static int selectedItem = 0; private static int selectedRun = 1; @@ -129,9 +129,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im protected final static int STARTED = 2; protected final static int STOPPED = 3; - private static - - int mode; + private static int mode; //components protected JTextArea jta; @@ -223,7 +221,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im c.setLayout(new BorderLayout()); //setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - // Issue #41 Ordering of tabbed panes + // Issue #41 Ordering of tabbed panes jp1 = GraphicLib.createTabbedPane();//new JTabbedPane(); JPanel jp01 = new JPanel(); @@ -578,7 +576,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im public void run() { String cmd; String list/*, data*/; - // int cycle = 0; + // int cycle = 0; hasError = false; @@ -636,7 +634,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im try { jta.append("Saving code in files\n"); pathCode = code1.getText(); - //gene.avatartocposix.saveInFiles(pathCode);//DG 27.11. + //gene.avatartocposix.saveInFiles(pathCode);//DG 27.11. avatartocposix.saveInFiles(pathCode); //tml2systc.saveFile(pathCode, "appmodel"); jta.append("Code saved\n"); @@ -719,152 +717,152 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im } //enleve 06.02.2017 - /* if (selectedItem == 1) { - // Code generation - if (jp1.getSelectedIndex() == 0) { - jta.append("Generating executable code (SOCLIB version)\n"); - - if (removeCFiles.isSelected()) { - - jta.append("Removing all .h files\n"); - //list = FileUtils.deleteFiles(code1.getText() + AVATAR2SOCLIB.getGeneratedPath(), ".h"); - 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 { - //AVATAR2SOCLIB avatartocposix = new AVATAR2SOCLIB(avspec); - // avatartocposix.includeUserCode(putUserCode.isSelected()); - // avatartocposix.setTimeUnit(selectedUnit); - // avatartocposix.generateCPOSIX(debugmode.isSelected(), tracemode.isSelected()); - // julien ----------------------------------------- - ADDDiagramPanel deploymentDiagramPanel = mgui.getFirstAvatarDeploymentPanelFound(); - AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); - AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); - - TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avspec); - gene.includeUserCode(putUserCode.isSelected()); - gene.setTimeUnit(selectedUnit); - gene.generateSoclib(debugmode.isSelected(), tracemode.isSelected()); - - // ----------end addition julien ---------------------------------------- + /* if (selectedItem == 1) { + // Code generation + if (jp1.getSelectedIndex() == 0) { + jta.append("Generating executable code (SOCLIB version)\n"); + + if (removeCFiles.isSelected()) { + + jta.append("Removing all .h files\n"); + //list = FileUtils.deleteFiles(code1.getText() + AVATAR2SOCLIB.getGeneratedPath(), ".h"); + 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"); + } + } - 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);//DG 27.11. -//avatartocposix.saveInFiles(pathCode); - //tml2systc.saveFile(pathCode, "appmodel"); - jta.append("Code saved\n"); - } catch (Exception e) { - jta.append("Could not generate files\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(); + testGo(); - // Compilation - if (jp1.getSelectedIndex() == 1) { + selectedUnit = units.getSelectedIndex(); + //System.out.println("Selected item=" + selectedItem); + AvatarSpecification avspec = mgui.gtm.getAvatarSpecification(); - if (selectedCompile == 0) { - cmd = compiler1.getText(); - } else { - cmd = compiler2.getText(); - } + // Generating code + if (avspec == null) { + jta.append("Error: No AVATAR specification\n"); + } else { + //AVATAR2SOCLIB avatartocposix = new AVATAR2SOCLIB(avspec); + // avatartocposix.includeUserCode(putUserCode.isSelected()); + // avatartocposix.setTimeUnit(selectedUnit); + // avatartocposix.generateCPOSIX(debugmode.isSelected(), tracemode.isSelected()); + // julien ----------------------------------------- + ADDDiagramPanel deploymentDiagramPanel = mgui.getFirstAvatarDeploymentPanelFound(); + AvatarDeploymentPanelTranslator avdeploymenttranslator = new AvatarDeploymentPanelTranslator(deploymentDiagramPanel); + AvatarddSpecification avddspec = avdeploymenttranslator.getAvatarddSpecification(); + + TasksAndMainGenerator gene = new TasksAndMainGenerator(avddspec,avspec); + gene.includeUserCode(putUserCode.isSelected()); + gene.setTimeUnit(selectedUnit); + gene.generateSoclib(debugmode.isSelected(), tracemode.isSelected()); + + // ----------end addition julien ---------------------------------------- + + 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);//DG 27.11. + //avatartocposix.saveInFiles(pathCode); + //tml2systc.saveFile(pathCode, "appmodel"); + jta.append("Code saved\n"); + } catch (Exception e) { + jta.append("Could not generate files\n"); + } + } + } - jta.append("Compiling executable code with command: \n" + cmd + "\n"); + testGo(); - rshc = new RshClient(hostExecute); - - 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; - } - } + // Compilation + if (jp1.getSelectedIndex() == 1) { - if (jp1.getSelectedIndex() == 2) { - try { - if (selectedRun == 0) { - cmd = exe2.getText(); - } else { - if (selectedRun == 1) { - cmd = exe3.getText(); - } else { - cmd = exe4.getText(); - } - } + if (selectedCompile == 0) { + cmd = compiler1.getText(); + } else { + cmd = compiler2.getText(); + } - jta.append("Executing code with command: \n" + cmd + "\n"); + jta.append("Compiling executable code with command: \n" + cmd + "\n"); + + rshc = new RshClient(hostExecute); + + 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; + } + } - rshc = new RshClient(hostExecute); - // Assume data are on the remote host - // Command + if (jp1.getSelectedIndex() == 2) { + try { + if (selectedRun == 0) { + cmd = exe2.getText(); + } else { + if (selectedRun == 1) { + cmd = exe3.getText(); + } else { + cmd = exe4.getText(); + } + } - 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; - } - } + 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 ((hasError == false) && (jp1.getSelectedIndex() < 2)) { + jp1.setSelectedIndex(jp1.getSelectedIndex() + 1); + } + } */ //fin ajoute DG @@ -885,7 +883,7 @@ list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGenerat rshc.setCmd(cmd); rshc.sendExecuteCommandRequest(); rshc.writeCommandMessages( textAreaWriter ); - + return; } @@ -934,7 +932,7 @@ list = FileUtils.deleteFiles(code1.getText() + TasksAndMainGenerator.getGenerat public void showSimulationTrace() { JFrameSimulationSDPanel jfssdp = new JFrameSimulationSDPanel(f, mgui, "Simulation trace of " + simulationTraceFile.getText()); jfssdp.setIconImage(IconManager.img8); - // jfssdp.setSize(600, 600); + // jfssdp.setSize(600, 600); GraphicLib.centerOnParent(jfssdp, 600, 600); if (selectedViewTrace == 0) { jfssdp.setFileReference(simulationTraceFile.getText());