diff --git a/src/main/java/avatartranslator/AvatarSyntaxChecker.java b/src/main/java/avatartranslator/AvatarSyntaxChecker.java index 093789b3f4aa427190196bb21b68abe10c43bb7a..ebd50cf469a289f31c195f5db95b4a2566574a08 100644 --- a/src/main/java/avatartranslator/AvatarSyntaxChecker.java +++ b/src/main/java/avatartranslator/AvatarSyntaxChecker.java @@ -774,7 +774,7 @@ public class AvatarSyntaxChecker { return error; } TraceManager.addDev("Parse ok in int expr: " + value); - + } else { AvatarError error = new AvatarError(avspec); error.block = block; diff --git a/src/main/java/ui/window/JFrameAI.java b/src/main/java/ui/window/JFrameAI.java index a5df9a47821e4c7206e24b95018a45061c5b47ea..a96d201015341831e966f492dd6230dbcf94f5ee 100644 --- a/src/main/java/ui/window/JFrameAI.java +++ b/src/main/java/ui/window/JFrameAI.java @@ -85,8 +85,8 @@ public class JFrameAI extends JFrame implements ActionListener { "DEPRECATED - Identify system blocks (knowledge type #2) - Provide a system specification", "Identify system blocks - Provide a system specification", "DEPRECATED - Identify software blocks - Provide a system specification", - "DEPRECATED - Identify state machines - Select a block diagram. Additionally, you can provide a system specification", - "Identify state machines and attributes - Select a block diagram. Additionally, you can provide a system specification", + "DEPRECATED - Identify state machines - Select a block diagram. you may provide a system specification", + "Identify state machines and attributes - Select a block diagram. You may provide a system specification", "Model mutation - A(I)MULET - Select a block diagram first", "Diagram coherency", "Diagram coherency with formal rules", @@ -218,12 +218,11 @@ public class JFrameAI extends JFrame implements ActionListener { panelTop.setBorder(new javax.swing.border.TitledBorder("Options")); listOfPossibleActions = new JComboBox<>(POSSIBLE_ACTIONS); - JPanel chatPanelAction = new JPanel(); - chatPanelAction.add(new JLabel("Selected chat:")); - chatPanelAction.add(listOfPossibleActions); - panelTop.add(chatPanelAction, BorderLayout.CENTER); listOfPossibleActions.addActionListener(this); - listOfPossibleActions.setMinimumSize(new Dimension(50, 100)); + //listOfPossibleActions.setMinimumSize(new Dimension(50, 100)); + panelTop.add(new JLabel("Selected chat:", SwingConstants.CENTER), BorderLayout.NORTH); + panelTop.add(listOfPossibleActions, BorderLayout.CENTER); + //panelTop.setMinimumSize(new Dimension(50, 100)); JPanel modelSelectionPanel = new JPanel(); modelSelectionPanel.add(new JLabel("Selected AI model:")); @@ -232,14 +231,13 @@ public class JFrameAI extends JFrame implements ActionListener { } else { listOfPossibleModels = new JComboBox<>(AIInterface.MODEL_GPT_35.split(" ")); } - modelSelectionPanel.add(listOfPossibleModels); - JPanel numAtsSelectPanel = new JPanel(); + /*JPanel numAtsSelectPanel = new JPanel(); numAtsSelectPanel.add(new JLabel("Number of attack trees to be created: ")); numAtsModel = new SpinnerNumberModel(1, 1, Integer.MAX_VALUE, 1); JSpinner numAtsSpinner = new JSpinner(numAtsModel); - numAtsSpinner.setPreferredSize(new Dimension(100, 24)); + numAtsSpinner.setPreferredSize(new Dimension(100, 50)); numAtsSelectPanel.add(numAtsSpinner); numAtsSelectPanel.setVisible(false); @@ -247,12 +245,30 @@ public class JFrameAI extends JFrame implements ActionListener { numLvlsSelectPanel.add(new JLabel("Number of max levels per attack tree: ")); numLvlsModel = new SpinnerNumberModel(1, 1, Integer.MAX_VALUE, 1); JSpinner numLvlsSpinner = new JSpinner(numLvlsModel); - numLvlsSpinner.setPreferredSize(new Dimension(100, 24));; + numLvlsSpinner.setPreferredSize(new Dimension(100, 50));; numLvlsSelectPanel.add(numLvlsSpinner); - numLvlsSelectPanel.setVisible(false); + numLvlsSelectPanel.setVisible(false);*/ + + JLabel labelAtsSpinner = new JLabel("Number of attack trees to be created: "); + modelSelectionPanel.add(labelAtsSpinner); + numAtsModel = new SpinnerNumberModel(1, 1, Integer.MAX_VALUE, 1); + JSpinner numAtsSpinner = new JSpinner(numAtsModel); + //numAtsSpinner.setPreferredSize(new Dimension(100, 50)); + modelSelectionPanel.add(numAtsSpinner); + labelAtsSpinner.setVisible(false); + numAtsSpinner.setVisible(false); + + JLabel labelnumLvlsSpinner = new JLabel("Number of max levels per attack tree: "); + modelSelectionPanel.add(labelnumLvlsSpinner); + numLvlsModel = new SpinnerNumberModel(1, 1, Integer.MAX_VALUE, 1); + JSpinner numLvlsSpinner = new JSpinner(numLvlsModel); + //numLvlsSpinner.setPreferredSize(new Dimension(100, 50));; + modelSelectionPanel.add(numLvlsSpinner); + labelnumLvlsSpinner.setVisible(false); + numLvlsSpinner.setVisible(false); - numAtsSelectPanel.add(numLvlsSelectPanel, BorderLayout.SOUTH); - modelSelectionPanel.add(numAtsSelectPanel, BorderLayout.SOUTH); + //numAtsSelectPanel.add(numLvlsSelectPanel, BorderLayout.SOUTH); + //modelSelectionPanel.add(numAtsSelectPanel, BorderLayout.SOUTH); panelTop.add(modelSelectionPanel, BorderLayout.SOUTH); framePanel.add(panelTop, BorderLayout.NORTH); @@ -261,19 +277,25 @@ public class JFrameAI extends JFrame implements ActionListener { assert selectedAction != null; if (selectedAction.equals(POSSIBLE_ACTIONS[14])) { - numLvlsSelectPanel.setVisible(false); modelSelectionPanel.setVisible(false); - numAtsSelectPanel.setVisible(false); + labelAtsSpinner.setVisible(false); + numAtsSpinner.setVisible(false); + numLvlsSpinner.setVisible(false); + labelnumLvlsSpinner.setVisible(false); } else if (selectedAction.equals(POSSIBLE_ACTIONS[17])) { modelSelectionPanel.setVisible(true); - numLvlsSelectPanel.setVisible(true); - numAtsSelectPanel.setVisible(true); + labelAtsSpinner.setVisible(true); + numAtsSpinner.setVisible(true); + numLvlsSpinner.setVisible(true); + labelnumLvlsSpinner.setVisible(true); } else { modelSelectionPanel.setVisible(true); - numLvlsSelectPanel.setVisible(false); - numAtsSelectPanel.setVisible(false); + labelAtsSpinner.setVisible(false); + numAtsSpinner.setVisible(false); + numLvlsSpinner.setVisible(false); + labelnumLvlsSpinner.setVisible(false); } }); @@ -716,6 +738,7 @@ public class JFrameAI extends JFrame implements ActionListener { inform("Enhancing attack tree diagram with ai answer: done\n"); } + @SuppressWarnings("unchecked") private void applyAttackTrees(Object spec) { if (spec == null) { error("Empty attack tree diagram list generated by AI");