package art.client.GUI.components.devices.window.colors.rtz32.working; import art.client.GUI.components.devices.window.colors.rtz32.configuration.*; import art.client.GUI.components.devices.window.DeviceWindow; import art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program; import art.client.GUI.components.devices.window.colors.junction.configuration.PanelConfigurationGeneric; import art.client.GUI.components.devices.window.colors.rtz32.configuration.components.Diagram_Distribution_ChangeListener; import art.client.models.ModelGUI; import art.library.gui.flat.FlatButton; import art.library.gui.flat.FlatDialog; import art.library.gui.flat.FlatMenu; import art.library.gui.flat.FlatMenuItem; import art.library.gui.flat.FlatMenuItemCheck; import art.library.gui.flat.FlatPanel; import art.library.gui.flat.FlatPopupMenu; import art.library.gui.flat.FlatTableInput; import art.library.gui.flat.FlatWindow; import art.library.interop.InteropParameters; import art.library.interop.InteropResponse; import art.library.interop.serialization.Serialization; import art.library.interop.serialization.SerializationException; import art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Cancellation; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Correlation_Master; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Correlation_Slave; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Retractable; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_Trolley_Saturation; import art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program_VariablePhase; import art.library.model.devices.colors.controller.RTZ32.information.RTZ32_Information_Program; import art.library.model.devices.colors.controller.RTZ32.types.RTZ32_Validation_Result; import art.library.utils.resources.Resources; import art.servers.Shared; import art.servers.rtzserver.controller.ListenerImplementation; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; public class RTZ32_PanelWorking_Programs_Program extends PanelConfigurationGeneric { private int programNumber = 0; public RTZ32_Information_Program program_information = null; private RTZ32_ControllerConfiguration configuration = null; private RTZ32_PanelConfiguration_Programs_Program_Distribution panelConfiguration_Programs_Program_Distribution = null; private FlatPanel panel2 = null; private FlatButton buttonOptions = null; private FlatButton buttonLoadSave = null; private FlatButton buttonUndo = null; private FlatButton buttonRedo = null; private FlatButton buttonPrint = null; private FlatTableInput table1 = null; private FlatTableInput table2 = null; private MyActionListener1 myActionListener1 = new MyActionListener1(); private MyActionListener2 myActionListener2 = new MyActionListener2(); private MyChangeListener myChangeListener = new MyChangeListener(); public RTZ32_PanelWorking_Programs_Program(RTZ32_Information_Program program_information, int programNumber) { this.program_information = program_information; this.configuration = program_information.configuration; this.programNumber = programNumber; initialise(); reload(); } public RTZ32_Configuration_Program getProgram() { return configuration.rtz32.getProgram(programNumber); } public void editable(boolean value) { super.editable(value); if (table2 != null) { table2.setEditable(value); } grants(); } public void selection() { try { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); window.addButtonSeparator(); window.addButtonMenu(buttonOptions); window.addButtonMenu(buttonLoadSave); window.addButtonMenu(buttonUndo); window.addButtonMenu(buttonRedo); window.addButtonSeparator(); window.addButtonMenu(buttonPrint); buttonUndo.setVisible(isEditable()); buttonRedo.setVisible(isEditable()); } catch (Exception e) { } if (panelConfiguration_Programs_Program_Distribution != null) { panelConfiguration_Programs_Program_Distribution.selection(); panelConfiguration_Programs_Program_Distribution.editable(isEditable()); } } public void deselection() { try { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); window.removeComponentMenu(buttonOptions); window.removeComponentMenu(buttonLoadSave); window.removeComponentMenu(buttonUndo); window.removeComponentMenu(buttonRedo); window.removeComponentMenu(buttonPrint); } catch (Exception e) { } if (panelConfiguration_Programs_Program_Distribution != null) { panelConfiguration_Programs_Program_Distribution.deselection(); } } public void grants() { // TODO: check user permissions try { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); if (isEditable() == true) { window.showComponentMenu(buttonUndo); window.showComponentMenu(buttonRedo); } else { window.hideComponentMenu(buttonUndo); window.hideComponentMenu(buttonRedo); } } catch (Exception exception) { } if (panelConfiguration_Programs_Program_Distribution != null) { panelConfiguration_Programs_Program_Distribution.editable(isEditable()); } } public void reload() { RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); for (RTZ32_Configuration_Program_Trolley_Retractable retractable : program.trolley.retractables) { retractable.visible = true; } buttonUndo.setEnabled(false); buttonRedo.setEnabled(false); panel2.removeAll(); { panelConfiguration_Programs_Program_Distribution = new RTZ32_PanelConfiguration_Programs_Program_Distribution(configuration, programNumber); panelConfiguration_Programs_Program_Distribution.diagram_Distribution.setButtons(buttonUndo, buttonRedo); panelConfiguration_Programs_Program_Distribution.diagram_Distribution.setChangeListener(myChangeListener); } panel2.add(panelConfiguration_Programs_Program_Distribution, BorderLayout.CENTER); SimpleDateFormat formato1 = new SimpleDateFormat(Shared.getMessage("dd/MM/yyyy HH:mm:ss")); table1.setValue(Shared.getMessage("Creation date"), formato1.format(program_information.creation)); table1.setValue(Shared.getMessage("Validated"), program_information.validated); table1.setValue(Shared.getMessage("User"), program_information.username); table2.setValue(Shared.getMessage("Description"), program_information.description); table2.setField(Shared.getMessage("Description"), program_information, "description"); } public void reevaluate() { if (panelConfiguration_Programs_Program_Distribution != null) panelConfiguration_Programs_Program_Distribution.reevaluate(); } private void initialise() { buttonOptions = new FlatButton(Shared.getMessage("&Options")); buttonOptions.setIcon(Resources.getResourceURL(ModelGUI.Icons.SETTINGS_24x24)); buttonOptions.setPreferredSize(new Dimension(buttonOptions.getStringWidth(), 0)); buttonOptions.setVisible(true); buttonOptions.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { options(); } }); buttonLoadSave = new FlatButton(Shared.getMessage("&Load/Save")); buttonLoadSave.setIcon(Resources.getResourceURL(ModelGUI.Icons.SAVE_24x24)); buttonLoadSave.setPreferredSize(new Dimension(buttonLoadSave.getStringWidth(), 0)); buttonLoadSave.setVisible(true); buttonLoadSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { loadsave(); } }); buttonUndo = new FlatButton(Shared.getMessage("&Undo")); buttonUndo.setPreferredSize(new Dimension(buttonUndo.getStringWidth(), 0)); buttonUndo.setIcon(Resources.getResourceURL("data/art.client/icons/24x24/turn4.png")); buttonUndo.setVisible(false); buttonUndo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { undo(); } }); buttonRedo = new FlatButton(Shared.getMessage("&Redo")); buttonRedo.setPreferredSize(new Dimension(buttonUndo.getStringWidth(), 0)); buttonRedo.setIcon(Resources.getResourceURL("data/art.client/icons/24x24/turn3.png")); buttonRedo.setVisible(false); buttonRedo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { redo(); } }); buttonPrint = new FlatButton(Shared.getMessage("&Print")); buttonPrint.setIcon(Resources.getResourceURL(ModelGUI.Icons.PRINT_24x24)); buttonPrint.setPreferredSize(new Dimension(buttonPrint.getStringWidth(), 0)); buttonPrint.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { // TODO } }); FlatPanel panel1 = new FlatPanel(); { panel1.setLayout(new BorderLayout()); FlatPanel panel1_1 = new FlatPanel(); { table1 = new FlatTableInput(150); { table1.addTextField(Shared.getMessage("Creation date"), 22); table1.addCheckBox(Shared.getMessage("Validated"), Shared.getMessage("Yes"), Shared.getMessage("No"), 22); table1.addTextField(Shared.getMessage("User"), 22); } panel1_1.setLayout(new BorderLayout()); panel1_1.add(table1.getScrollPane(), BorderLayout.CENTER); panel1_1.setPreferredSize(new Dimension(480, table1.getDimensionHeight())); panel1_1.setRaisedBorder(0,0,0,1); } FlatPanel panel1_2 = new FlatPanel(); { table2 = new FlatTableInput(150); { table2.addTextArea(Shared.getMessage("Description"), 66); } panel1_2.setLayout(new BorderLayout()); panel1_2.add(table2.getScrollPane(), BorderLayout.CENTER); panel1_2.setPreferredSize(new Dimension(0, table2.getDimensionHeight())); panel1_2.setRaisedBorder(0,1,0,0); } panel1.add(panel1_1, BorderLayout.WEST); panel1.add(panel1_2, BorderLayout.CENTER); } panel2 = new FlatPanel(); panel2.setLayout(new BorderLayout()); this.setLayout(new BorderLayout()); this.add(panel1, BorderLayout.NORTH); this.add(panel2, BorderLayout.CENTER); grants(); } private void options() { RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); try { FlatPopupMenu menu = new FlatPopupMenu(); FlatMenuItemCheck item1 = new FlatMenuItemCheck(); { item1.setText(Shared.getMessage("Show &information")); item1.setStayOpen(true); item1.setSelected(panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Bars.information); item1.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { FlatMenuItemCheck item = (FlatMenuItemCheck)e.getSource(); panelConfiguration_Programs_Program_Distribution.diagram_Distribution.diagram_Distribution_Bars.information = item.isSelected(); } }); menu.add(item1); } FlatMenu menu1 = new FlatMenu(); { menu1.setText(Shared.getMessage("Show &retractables")); for (int i=0; i 0) { FlatMenuItemCheck item = new FlatMenuItemCheck(); item.setText("" + (i+1) + " - " + retractable.startTime + " > " + retractable.endTime + ""); item.setName("" + i); item.setStayOpen(true); item.setSelected(program.trolley.retractables[i].visible); menu1.add(item); item.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { FlatMenuItemCheck item = (FlatMenuItemCheck)e.getSource(); item.setSelected(item.isSelected()); program.trolley.retractables[Integer.parseInt(item.getName())].visible = item.isSelected(); reevaluate(); RTZ32_PanelWorking_Programs_Program.this.repaint(); } }); } } menu.add(menu1); } if (isEditable() == true) // TODO : Grants { FlatMenu menu2 = new FlatMenu(); { menu.addSeparator(); FlatMenuItem menuitem1 = new FlatMenuItem(); { menuitem1.setText(Shared.getMessage("Retractable")); menuitem1.setStayOpen(true); menuitem1.setName("retractable"); menuitem1.addActionListener(myActionListener1); menu2.add(menuitem1); } FlatMenuItem menuitem2 = new FlatMenuItem(); { menuitem2.setText(Shared.getMessage("Variable")); menuitem2.setStayOpen(true); menuitem2.setName("variable"); menuitem2.addActionListener(myActionListener1); menu2.add(menuitem2); } FlatMenuItem menuitem3 = new FlatMenuItem(); { menuitem3.setText(Shared.getMessage("Cancellation")); menuitem3.setStayOpen(true); menuitem3.setName("cancellation"); menuitem3.addActionListener(myActionListener1); menu2.add(menuitem3); } FlatMenuItem menuitem4 = new FlatMenuItem(); { menuitem4.setText(Shared.getMessage("Correlation (M)")); menuitem4.setStayOpen(true); menuitem4.setName("master"); menuitem4.addActionListener(myActionListener1); menu2.add(menuitem4); } FlatMenuItem menuitem5 = new FlatMenuItem(); { menuitem5.setText(Shared.getMessage("Correlation (E)")); menuitem5.setStayOpen(true); menuitem5.setName("slave"); menuitem5.addActionListener(myActionListener1); menu2.add(menuitem5); } FlatMenuItem menuitem6 = new FlatMenuItem(); { menuitem6.setText(Shared.getMessage("Saturation")); menuitem6.setStayOpen(true); menuitem6.setName("saturation"); menuitem6.addActionListener(myActionListener1); menu2.add(menuitem6); } menu2.setText("&Add"); menu.add(menu2); } FlatMenu menu3 = new FlatMenu(); { FlatMenuItem menuitem1 = new FlatMenuItem(); { menuitem1.setText(Shared.getMessage("Remove retractables")); menuitem1.setStayOpen(true); menuitem1.setName("retractables"); menuitem1.addActionListener(myActionListener2); menu3.add(menuitem1); } FlatMenuItem menuitem2 = new FlatMenuItem(); { menuitem2.setText(Shared.getMessage("Remove variables")); menuitem2.setName("variables"); menuitem2.setStayOpen(true); menuitem2.addActionListener(myActionListener2); menu3.add(menuitem2); } FlatMenuItem menuitem3 = new FlatMenuItem(); { menuitem3.setText(Shared.getMessage("Remove cancellations")); menuitem3.setName("cancellations"); menuitem3.setStayOpen(true); menuitem3.addActionListener(myActionListener2); menu3.add(menuitem3); } FlatMenuItem menuitem4 = new FlatMenuItem(); { menuitem4.setText(Shared.getMessage("Remove correlations (M)")); menuitem4.setName("masters"); menuitem4.setStayOpen(true); menuitem4.addActionListener(myActionListener2); menu3.add(menuitem4); } FlatMenuItem menuitem5 = new FlatMenuItem(); { menuitem5.setText(Shared.getMessage("Remove correlations (E)")); menuitem5.setName("slaves"); menuitem5.setStayOpen(true); menuitem5.addActionListener(myActionListener2); menu3.add(menuitem5); } FlatMenuItem menuitem6 = new FlatMenuItem(); { menuitem6.setText(Shared.getMessage("Remove saturations")); menuitem6.setName("saturations"); menuitem6.setStayOpen(true); menuitem6.addActionListener(myActionListener2); menu3.add(menuitem6); } menu3.addSeparator(); FlatMenuItem menuitem7 = new FlatMenuItem(); { menuitem7.setText(Shared.getMessage("Clear impulses")); menuitem7.setName("impulses"); menuitem7.setStayOpen(true); menuitem7.addActionListener(myActionListener2); menu3.add(menuitem7); } menu3.addSeparator(); FlatMenuItem menuitem8 = new FlatMenuItem(); { menuitem8.setText(Shared.getMessage("Clear all")); menuitem8.setName("all"); menuitem8.setStayOpen(true); menuitem8.addActionListener(myActionListener2); menu3.add(menuitem8); } menu3.setText("&Remove"); menu.add(menu3); } } if (isEditable() == true) // TODO : Grants { FlatMenu menu4 = new FlatMenu(); { for (int i=0; i<18; i++) { FlatMenuItem item = new FlatMenuItem(); item.setName("" + (i+1)); item.setText(Shared.getMessage("Program") + " " + (i+1)); item.setStayOpen(false); item.addActionListener(new ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { try { FlatMenuItem item = (FlatMenuItem)evt.getSource(); Integer program = Integer.parseInt(item.getName()); copyTo(program); } catch (Exception exception) { } } }); menu4.add(item); } menu4.setText("&Copy to"); menu.add(menu4); } } FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); Point p = SwingUtilities.convertPoint(buttonOptions, 0, buttonOptions.getY(), window); menu.addPopupMenuListener(new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { window.repaint(); } @Override public void popupMenuCanceled(PopupMenuEvent e) { window.repaint(); } }); menu.show(window, p.x, p.y + buttonOptions.getHeight() - 4); } catch (Exception exception) { } } private void loadsave() { RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); try { FlatPopupMenu menu = new FlatPopupMenu(); FlatMenuItem menuitem1 = new FlatMenuItem(); { menuitem1.setText(Shared.getMessage("&Load")); menuitem1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { load(); } }); menu.add(menuitem1); } if (isEditable() == true) // TODO:grants { FlatMenuItem menuitem2 = new FlatMenuItem(); { menuitem2.setText(Shared.getMessage("&Save")); menuitem2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { save(); } }); menu.add(menuitem2); } menu.addSeparator(); FlatMenuItem menuitem3 = new FlatMenuItem(); { menuitem3.setText(Shared.getMessage("Validation ( &normal )")); menuitem3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { validationNormal(); } }); menuitem3.setIcon(Resources.getResourceURL(ModelGUI.Icons.LOCK_ACTIVE_24x24)); menu.add(menuitem3); } FlatMenuItem menuitem4 = new FlatMenuItem(); { menuitem4.setText(Shared.getMessage("Validation ( &EPROM )")); menuitem4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { validationEPROM(); } }); menuitem4.setIcon(Resources.getResourceURL(ModelGUI.Icons.UPC_24x24)); menu.add(menuitem4); } } FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); Point p = SwingUtilities.convertPoint(buttonLoadSave, 0, buttonLoadSave.getY(), window); menu.addPopupMenuListener(new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { window.repaint(); } @Override public void popupMenuCanceled(PopupMenuEvent e) { window.repaint(); } }); menu.show(window, p.x, p.y + buttonLoadSave.getHeight() - 4); } catch (Exception exception) { } } private void validationNormal() { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); try { InteropParameters parameters = new InteropParameters(); parameters.addParameter("language", "en-GB"); parameters.addParameter("device", "controller-zaragoza-90020"); parameters.addBodycontent(program_information); ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation(); InteropResponse response = listenerImplementation.validateProgramNormal(parameters); RTZ32_Validation_Result result = response.getResponse(); // TODO : ventana con mensajes } catch (Exception exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } } private void validationEPROM() { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); try { InteropParameters parameters = new InteropParameters(); parameters.addParameter("language", "en-GB"); parameters.addParameter("device", "controller-zaragoza-90020"); parameters.addBodycontent(program_information); ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation(); InteropResponse response = listenerImplementation.validateProgramEPROM(parameters); RTZ32_Validation_Result result = response.getResponse(); // TODO : ventana con mensajes } catch (Exception exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } } private void load() { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); try { String message = Shared.getMessage("Current changes will be lost. Do you want to continue ?"); int answer = FlatDialog.showDialog(window, Shared.getMessage("Load"), message, true, FlatDialog.DIALOG_QUESTION); if (answer != JOptionPane.YES_OPTION) return; // INVOKE LOAD } catch (Exception exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } } private void save() { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(this); try { String message = Shared.getMessage("Do you want to save ?"); int answer = FlatDialog.showDialog(window, Shared.getMessage("Save"), message, true, FlatDialog.DIALOG_QUESTION); if (answer != JOptionPane.YES_OPTION) return; // INVOKE LOAD } catch (Exception exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } } private void undo() { try { panelConfiguration_Programs_Program_Distribution.diagram_Distribution.undo(); } catch (Exception exception) { } } private void redo() { try { panelConfiguration_Programs_Program_Distribution.diagram_Distribution.redo(); } catch (Exception exception) { } } private void copyTo (int programNumber) { // TODO : Cambiar por invokes (listenerImplementation.xxxxxx) SimpleDateFormat formato1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); DeviceWindow window = (DeviceWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); RTZ32_Controller rtz32 = (RTZ32_Controller)window.getDevice(); try { // Comprobar si existe ListenerImplementation listenerImplementation = (art.servers.rtzserver.controller.ListenerImplementation)art.servers.rtzserver.Shared.controllerListenerHttps.getListenerImplementation(); InteropParameters parameters = new InteropParameters(); parameters.addParameter("device", rtz32.getIdentifier()); parameters.addParameter("program", "" + programNumber); InteropResponse response = listenerImplementation.getProgram(parameters); if ((response.getValue() == null) || (response.getResponse() == null)) { // Not exists // No questions to user } else { // Exists RTZ32_Information_Program program = (RTZ32_Information_Program)response.getValue()[0]; String message = Shared.getMessage("This program has already a working copy") + "\r\n\r\n"; message = message + Shared.getMessage("Date") + " : " + formato1.format(program.creation) + "\r\n"; if (program.description != null) { message = message + Shared.getMessage("Description") + " : " + program.description + "\r\n"; } else { message = message + Shared.getMessage("Description") + " : " + "\r\n"; } if (program.validated == true) { message = message + Shared.getMessage("Validated") + " : " + Shared.getMessage("Yes") + "\r\n"; } else { message = message + Shared.getMessage("Validated") + " : " + Shared.getMessage("No") + "\r\n"; } message = message + Shared.getMessage("Username") + " : " + program.username + "\r\n\r\n"; message = message + Shared.getMessage("Do you really want to overwrite?"); int answer = FlatDialog.showDialog(window, Shared.getMessage("Copying"), message, true, FlatDialog.DIALOG_QUESTION); if (answer != JOptionPane.YES_OPTION) { return; } } // Copiar y guardar RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); RTZ32_Information_Program programInformation = new RTZ32_Information_Program(); programInformation.device = rtz32.getIdentifier(); programInformation.program = programNumber; programInformation.username = "" ; // TODO: must be session username programInformation.creation = new Date(); programInformation.configuration = Serialization.clone(configuration); programInformation.configuration.rtz32.programs[programNumber-1] = programInformation.configuration.rtz32.programs[this.programNumber-1]; programInformation.configuration.rtz32.programs[programNumber-1].number = programNumber; parameters = new InteropParameters(); parameters.addBodycontent(programInformation); response = listenerImplementation.addProgram(parameters); if ((Boolean)response.getResponse() == true) { FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Program copied succesfully"), true, FlatDialog.DIALOG_INFORMATION); } else { FlatDialog.showDialog(window, Shared.getMessage("Error"), Shared.getMessage("Unespected error while copying"), true, FlatDialog.DIALOG_ERROR); } } catch (SerializationException exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } catch (Exception exception) { FlatDialog.showDialog(window, Shared.getMessage("Error"), exception.getMessage(), true, FlatDialog.DIALOG_ERROR); } } private class MyActionListener1 implements ActionListener { public void actionPerformed(ActionEvent e) { try { RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); FlatMenuItem menuitem = (FlatMenuItem)e.getSource(); switch (menuitem.getName()) { case "retractable" : { RTZ32_Configuration_Program_Trolley_Retractable retractable = program.trolley.getRetractableEmpty(); if (retractable == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of retractables phases reached"), true, FlatDialog.DIALOG_INFORMATION); return; } retractable.startTime = 0; retractable.endTime = 5; reevaluate(); } break; case "variable" : { RTZ32_Configuration_Program_VariablePhase variable = program.getVariablePhaseEmpty(); if (variable == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of variables phases reached"), true, FlatDialog.DIALOG_INFORMATION); return; } variable.startTime = 0; variable.endTime = 5; reevaluate(); } break; case "cancellation" : { RTZ32_Configuration_Program_Trolley_Cancellation cancellation = program.trolley.getCancellationEmpty(); if (cancellation == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of cancellations reached"), true, FlatDialog.DIALOG_INFORMATION); return; } cancellation.time = 0; cancellation.timeout = 1; reevaluate(); } break; case "master" : { RTZ32_Configuration_Program_Trolley_Correlation_Master correlation = program.trolley.getCorrelationMasterEmpty(); if (correlation == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations master reached"), true, FlatDialog.DIALOG_INFORMATION); return; } correlation.time = 5; reevaluate(); } break; case "slave" : { RTZ32_Configuration_Program_Trolley_Correlation_Slave correlation = program.trolley.getCorrelationSlaveEmpty(); if (correlation == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations slave reached"), true, FlatDialog.DIALOG_INFORMATION); return; } correlation.time = 5; reevaluate(); } break; case "saturation" : { RTZ32_Configuration_Program_Trolley_Saturation saturation = program.trolley.getSaturationEmpty(); if (saturation == null) { FlatWindow window = (FlatWindow)SwingUtilities.getRoot(RTZ32_PanelWorking_Programs_Program.this); FlatDialog.showDialog(window, Shared.getMessage("Information"), Shared.getMessage("Maximum number of correlations slave reached"), true, FlatDialog.DIALOG_INFORMATION); return; } saturation.startTime = 0; saturation.endTime = 5; reevaluate(); } break; } panelConfiguration_Programs_Program_Distribution.diagram_Distribution.changeMade(); } catch (Exception exception) { } } } private class MyActionListener2 implements ActionListener { public void actionPerformed(ActionEvent e) { RTZ32_Configuration_Program program = configuration.rtz32.getProgram(programNumber); try { FlatMenuItem menuitem = (FlatMenuItem)e.getSource(); switch (menuitem.getName()) { case "retractables" : program.trolley.clearRetractables(); break; case "variables" : program.clearVariables(); break; case "cancellations" : program.trolley.clearCancellations(); break; case "masters" : program.trolley.clearCorrelationsMaster(); break; case "slaves" : program.trolley.clearCorrelationsSlave(); break; case "saturations" : program.trolley.clearSaturations(); break; case "impulses" : { configuration.rtz32.clearImpulses(); reevaluate(); } break; case "all" : { program.trolley.clearRetractables(); program.clearVariables(); program.trolley.clearCancellations(); program.trolley.clearCorrelationsMaster(); program.trolley.clearCorrelationsSlave(); configuration.rtz32.clearImpulses(); } break; } reevaluate(); panelConfiguration_Programs_Program_Distribution.diagram_Distribution.changeMade(); } catch (Exception exception) { } } } private class MyChangeListener extends Diagram_Distribution_ChangeListener { public void changeMade() { try { program_information.validated = false; table1.setValue(Shared.getMessage("Validated"), program_information.validated); } catch (Exception exception) { } } } }