Compare commits

...

3 Commits

Author SHA1 Message Date
Michal 465879cdae uprava importu 2025-02-13 18:24:38 +01:00
Michal 5196c432db pridani sloupce trvaní udalosti 2025-02-13 18:23:01 +01:00
Michal 4ddacd74fe přidani tlacítka na restart 2025-02-13 18:22:40 +01:00
4 changed files with 72 additions and 29 deletions

View File

@ -3,8 +3,6 @@ package jnet.client;
import jnet.client.gui.Tray; import jnet.client.gui.Tray;
import jnet.client.gui.Window; import jnet.client.gui.Window;
import jnet.client.network.NettyClient; import jnet.client.network.NettyClient;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;

View File

@ -147,6 +147,7 @@ public class ClientMessageParser {
MapObject new_mo = (MapObject) msg.getMsg(); MapObject new_mo = (MapObject) msg.getMsg();
// pridat do seznamu // pridat do seznamu
Client.mapObject.add(new_mo); Client.mapObject.add(new_mo);
break; break;
case Message.REMOVE_OBJECT: case Message.REMOVE_OBJECT:

View File

@ -20,7 +20,7 @@ public class EventsPanel extends JPanel {
int limit = 50; int limit = 50;
String column[] = {"Začátek", "Konec", "Stav", "Mapa", "Zařízení"}; String column[] = {"Začátek", "Konec", "Délka", "Stav", "Mapa", "Zařízení"};
DefaultTableModel tableModel = new DefaultTableModel(column, 0) { DefaultTableModel tableModel = new DefaultTableModel(column, 0) {
@Override @Override
@ -33,7 +33,7 @@ public class EventsPanel extends JPanel {
Collections.sort(Client.events, new EventComparator()); Collections.sort(Client.events, new EventComparator());
Collections.reverse(Client.events); Collections.reverse(Client.events);
if (limit > Client.events.size()){ if (limit > Client.events.size()) {
limit = Client.events.size(); limit = Client.events.size();
} }
@ -42,6 +42,7 @@ public class EventsPanel extends JPanel {
Object[] d = { Object[] d = {
getDate(Client.events.get(i).getStart()), getDate(Client.events.get(i).getStart()),
getDate(Client.events.get(i).getEnd()), getDate(Client.events.get(i).getEnd()),
getDuration(Client.events.get(i).getStart(), Client.events.get(i).getEnd()),
Client.events.get(i).getDescription(), Client.events.get(i).getDescription(),
info[0], info[0],
info[1]}; info[1]};
@ -64,16 +65,29 @@ public class EventsPanel extends JPanel {
return ""; return "";
} }
private String getDuration(long startTime, long endTime) {
if (endTime != 0) {
long difference = endTime - startTime;
// převod na sekundy, minuty, hodiny
long seconds = difference / 1000;
long minutes = difference / (1000 * 60);
long hours = difference / (1000 * 60 * 60);
SimpleDateFormat ft = new SimpleDateFormat("HH:mm:ss");
return hours + "h " + minutes + "m " + seconds + "s";
}
return "";
}
private String[] getObjetInfo(int id) { private String[] getObjetInfo(int id) {
ListIterator<Map> iteratorMap = Client.maps.listIterator(); for (MapObject mapObject : Client.mapObject) {
ListIterator<MapObject> iteratorMapObject = Client.mapObject.listIterator(); if (mapObject.getId() == id) {
while (iteratorMap.hasNext()) { for (Map map : Client.maps) {
Map map = iteratorMap.next(); if (map.getId() == mapObject.getMap()) {
while (iteratorMapObject.hasNext()) { String[] data = {map.getName(), mapObject.getName()};
MapObject obj = iteratorMapObject.next(); return data;
if (obj.getId() == id) { }
String[] data = {map.getName(), obj.getName()};
return data;
} }
} }
} }

View File

@ -10,6 +10,7 @@ import java.awt.event.ActionListener;
import javax.swing.BoxLayout; import javax.swing.BoxLayout;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
@ -18,6 +19,7 @@ import javax.swing.JTextField;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import jnet.lib.LogFile;
import jnet.lib.Message; import jnet.lib.Message;
import jnet.lib.object.SnmpProfile; import jnet.lib.object.SnmpProfile;
import jnet.lib.object.User; import jnet.lib.object.User;
@ -63,36 +65,44 @@ public class ServerSettingsPanel extends JTabbedPane {
pingLabel.setBounds(20, 20, 150, 25); pingLabel.setBounds(20, 20, 150, 25);
panel.add(pingLabel); panel.add(pingLabel);
JTextField repeateField = new JTextField(String.valueOf(Client.serverConfig.getPingAttempt()));
repeateField.setBounds(x1, 60, 50, 25);
panel.add(repeateField);
JLabel repeateLabel = new JLabel("Opakovat ping každých ... sekund");
repeateLabel.setBounds(x2, 60, 300, 25);
panel.add(repeateLabel);
JTextField pokusuField = new JTextField(String.valueOf(Client.serverConfig.getPingAttempt())); JTextField pokusuField = new JTextField(String.valueOf(Client.serverConfig.getPingAttempt()));
pokusuField.setBounds(x1, 60, 50, 25); pokusuField.setBounds(x1, 100, 50, 25);
panel.add(pokusuField); panel.add(pokusuField);
JLabel pokusuLabel = new JLabel("Počet pokusů před vyhodnocenim offline"); JLabel pokusuLabel = new JLabel("Počet pokusů před vyhodnocenim offline");
pokusuLabel.setBounds(x2, 60, 300, 25); pokusuLabel.setBounds(x2, 100, 300, 25);
panel.add(pokusuLabel); panel.add(pokusuLabel);
JTextField timeoutField = new JTextField(String.valueOf(Client.serverConfig.getPingTimeout())); JTextField timeoutField = new JTextField(String.valueOf(Client.serverConfig.getPingTimeout()));
timeoutField.setBounds(x1, 100, 50, 25); timeoutField.setBounds(x1, 140, 50, 25);
panel.add(timeoutField); panel.add(timeoutField);
JLabel timeoutLabel = new JLabel("Úroveň timeout (ms)"); JLabel timeoutLabel = new JLabel("Úroveň timeout (s)");
timeoutLabel.setBounds(x2, 100, 300, 25); timeoutLabel.setBounds(x2, 140, 300, 25);
panel.add(timeoutLabel); panel.add(timeoutLabel);
JTextField pokusuNestField = new JTextField(String.valueOf(Client.serverConfig.getInstabilityAttempt())); JTextField pokusuNestField = new JTextField(String.valueOf(Client.serverConfig.getInstabilityAttempt()));
pokusuNestField.setBounds(x1, 140, 50, 25); pokusuNestField.setBounds(x1, 180, 50, 25);
panel.add(pokusuNestField); panel.add(pokusuNestField);
JLabel pokusuNestLabel = new JLabel("Počet pokusů před vyhodnocením nestability"); JLabel pokusuNestLabel = new JLabel("Počet pokusů před vyhodnocením nestability");
pokusuNestLabel.setBounds(x2, 140, 300, 25); pokusuNestLabel.setBounds(x2, 180, 300, 25);
panel.add(pokusuNestLabel); panel.add(pokusuNestLabel);
JTextField nestField = new JTextField(String.valueOf(Client.serverConfig.getInstabilityLimit())); JTextField nestField = new JTextField(String.valueOf(Client.serverConfig.getInstabilityLimit()));
nestField.setBounds(x1, 180, 50, 25); nestField.setBounds(x1, 220, 50, 25);
panel.add(nestField); panel.add(nestField);
JLabel nestLabel = new JLabel("Úroveň nestability (ms)"); JLabel nestLabel = new JLabel("Úroveň nestability (s)");
nestLabel.setBounds(x2, 180, 300, 25); nestLabel.setBounds(x2, 220, 300, 25);
panel.add(nestLabel); panel.add(nestLabel);
JButton button = new JButton("Uložit"); JButton button = new JButton("Uložit");
@ -100,6 +110,7 @@ public class ServerSettingsPanel extends JTabbedPane {
button.addActionListener(new ActionListener() { button.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
Client.serverConfig.setPingRepeat(Integer.valueOf(repeateField.getText()));
Client.serverConfig.setPingAttempt(Integer.valueOf(pokusuField.getText())); Client.serverConfig.setPingAttempt(Integer.valueOf(pokusuField.getText()));
Client.serverConfig.setPingTimeout(Integer.valueOf(timeoutField.getText())); Client.serverConfig.setPingTimeout(Integer.valueOf(timeoutField.getText()));
Client.serverConfig.setInstabilityAttempt(Integer.valueOf(pokusuNestField.getText())); Client.serverConfig.setInstabilityAttempt(Integer.valueOf(pokusuNestField.getText()));
@ -107,9 +118,28 @@ public class ServerSettingsPanel extends JTabbedPane {
NettyClient.send(Message.SERVER_CONFIG, Client.serverConfig); NettyClient.send(Message.SERVER_CONFIG, Client.serverConfig);
} }
}); });
button.setBounds(x1, 220, 100, 40); button.setBounds(x1, 300, 100, 40);
panel.add(button); panel.add(button);
JButton buttonRestart = new JButton("Restartovat server");
//buttonRestart.setAlignmentX(Component.CENTER_ALIGNMENT);
buttonRestart.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int result = JOptionPane.showConfirmDialog(null,
"Opravdu chceš pokračovat?",
"Restart serveru",
JOptionPane.YES_NO_OPTION);
if (result == JOptionPane.YES_OPTION) {
LogFile.printInfo("Odeslan pozadavek na restart serveru");
NettyClient.send(Message.RESTART, null);
}
}
});
buttonRestart.setBounds(x1+200, 300, 150, 40);
panel.add(buttonRestart);
return new JScrollPane(panel); return new JScrollPane(panel);
} }