pridano snmp map value - zobrazeni, pridani, editace, odebrani
parent
25ed18b735
commit
a0f8bb3005
|
|
@ -23,8 +23,6 @@ public final class Database {
|
|||
private static final ConnectionDao connectionDao = new ConnectionDao();
|
||||
private static final ProbeDao probeDao = new ProbeDao();
|
||||
|
||||
|
||||
|
||||
|
||||
// Veřejný konstruktor pro případy, kdy je v kódu voláno new Database()
|
||||
public Database() {}
|
||||
|
|
@ -208,6 +206,30 @@ public final class Database {
|
|||
snmpDao.deleteSnmpTemplate(id);
|
||||
}
|
||||
|
||||
public static int addSnmpValueMap(String name) {
|
||||
return snmpDao.addSnmpValueMap(name);
|
||||
}
|
||||
|
||||
public static int addSnmpValueMapItem(int map_id, String raw_value, String mapedValue) {
|
||||
return snmpDao.addSnmpValueMapItem(map_id, raw_value, mapedValue);
|
||||
}
|
||||
|
||||
public static void deleteSnmpValueMap(int id) {
|
||||
snmpDao.deleteSnmpValueMap(id);
|
||||
}
|
||||
|
||||
public static void editSnmpValueMap(SnmpValueMap valueMap) {
|
||||
snmpDao.editSnmpValueMap(valueMap);
|
||||
}
|
||||
|
||||
public static void deleteSnmpValueMapItem(int id) {
|
||||
snmpDao.deleteSnmpValueMapItem(id);
|
||||
}
|
||||
|
||||
public static void editSnmpValueMapItem(int map_id, String raw_value, String mapedValue) {
|
||||
snmpDao.editSnmpValueMapItem(map_id, raw_value, mapedValue);
|
||||
}
|
||||
|
||||
///
|
||||
/// -------- probe --------
|
||||
///
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ package jnet.server.dao;
|
|||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
import jnet.lib.LogFile;
|
||||
import jnet.lib.object.NodeProbe;
|
||||
import jnet.lib.object.SnmpProfile;
|
||||
import jnet.lib.object.SnmpTemplate;
|
||||
import jnet.lib.object.SnmpValueMap;
|
||||
import jnet.lib.object.SnmpValueMapItem;
|
||||
|
||||
public class SnmpDao extends AbstractDao {
|
||||
|
||||
|
|
@ -56,9 +56,9 @@ public class SnmpDao extends AbstractDao {
|
|||
));
|
||||
}
|
||||
|
||||
private List<SnmpValueMap.Item> getSnmpValueMapItem(int id) {
|
||||
private List<SnmpValueMapItem> getSnmpValueMapItem(int id) {
|
||||
String sql = "SELECT * FROM " + TABLE_VALUE_MAP_ITEM + " WHERE map_id = ?";
|
||||
return queryList(sql, rs -> new SnmpValueMap.Item(
|
||||
return queryList(sql, rs -> new SnmpValueMapItem(
|
||||
rs.getInt("id"),
|
||||
rs.getString("raw_value"),
|
||||
rs.getString("mapped_value")
|
||||
|
|
@ -142,4 +142,63 @@ public class SnmpDao extends AbstractDao {
|
|||
LogFile.printErr("SNMP template ID " + id + " not removed from database");
|
||||
}
|
||||
}
|
||||
|
||||
public int addSnmpValueMap(String name) {
|
||||
String sql = "INSERT INTO " + TABLE_VALUE_MAP + " (name) VALUES (?)";
|
||||
return insertAndGetId(
|
||||
sql,
|
||||
name
|
||||
);
|
||||
}
|
||||
|
||||
public int addSnmpValueMapItem(int map_id, String raw_value, String mapedValue) {
|
||||
String sql = "INSERT INTO " + TABLE_VALUE_MAP_ITEM + " (map_id, raw_value, mapped_value) VALUES (?, ?, ?)";
|
||||
return insertAndGetId(
|
||||
sql,
|
||||
map_id,
|
||||
raw_value,
|
||||
mapedValue
|
||||
);
|
||||
}
|
||||
|
||||
public void deleteSnmpValueMap(int id) {
|
||||
if (deleteById(TABLE_VALUE_MAP, id)) {
|
||||
LogFile.printInfo("SNMP Value Map ID " + id + " removed from database");
|
||||
} else {
|
||||
LogFile.printErr("SNMP Value Map ID " + id + " not removed from database");
|
||||
}
|
||||
}
|
||||
|
||||
public void editSnmpValueMap(SnmpValueMap valueMap) {
|
||||
try {
|
||||
executeUpdate(
|
||||
"UPDATE " + TABLE_VALUE_MAP + " SET name=? WHERE id=?",
|
||||
valueMap.getName(),
|
||||
valueMap.getId() // poslední parametr pro WHERE
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
LogFile.printErr("Chyba při aktualizaci SNMP Value Map: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteSnmpValueMapItem(int id) {
|
||||
if (deleteById(TABLE_VALUE_MAP_ITEM, id)) {
|
||||
LogFile.printInfo("SNMP Value Map Item ID " + id + " removed from database");
|
||||
} else {
|
||||
LogFile.printErr("SNMP Value Map Item ID " + id + " not removed from database");
|
||||
}
|
||||
}
|
||||
|
||||
public void editSnmpValueMapItem(int map_id, String raw_value, String mapedValue) {
|
||||
try {
|
||||
executeUpdate(
|
||||
"UPDATE " + TABLE_VALUE_MAP_ITEM + " SET map_id=?, raw_value=?, mapped_value=? WHERE id=?",
|
||||
raw_value,
|
||||
mapedValue,
|
||||
map_id // poslední parametr pro WHERE
|
||||
);
|
||||
} catch (SQLException e) {
|
||||
LogFile.printErr("Chyba při aktualizaci SNMP Value Map: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,9 @@ public class MessageRegister {
|
|||
register.put(Message.USER_PING_STOP, new RegisterUserPingStop());
|
||||
register.put(Message.SERVER_LOG, new RegisterServerLog());
|
||||
register.put(Message.SERVER_CONFIG_EDIT, new RegisterServerEdit());
|
||||
register.put(Message.VALUE_MAP_NEW, new RegisterValueMapNew());
|
||||
register.put(Message.VALUE_MAP_EDIT, new RegisterValueMapEdit());
|
||||
register.put(Message.VALUE_MAP_DELETE, new RegisterValueMapDelete());
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
package jnet.server.message;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import jnet.lib.Message;
|
||||
import jnet.server.Database;
|
||||
import jnet.server.Server;
|
||||
import jnet.server.networkserver.ServerHandler;
|
||||
|
||||
|
||||
public class RegisterValueMapDelete implements Register {
|
||||
|
||||
public RegisterValueMapDelete() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processing(ChannelHandlerContext ctx, Message msg) {
|
||||
int id = (int) msg.getMsg();
|
||||
|
||||
Database.deleteSnmpValueMap(id);
|
||||
|
||||
// odebere ze seznamu
|
||||
Server.snmpValueMap.removeIf(vm -> vm.getId() == id);
|
||||
|
||||
ServerHandler.sendAll(Message.VALUE_MAP_DELETE_RESULT, id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package jnet.server.message;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import jnet.lib.Message;
|
||||
import jnet.lib.object.SnmpValueMap;
|
||||
import jnet.lib.object.SnmpValueMapItem;
|
||||
import jnet.server.Database;
|
||||
import jnet.server.Server;
|
||||
import jnet.server.networkserver.ServerHandler;
|
||||
|
||||
public class RegisterValueMapEdit implements Register {
|
||||
|
||||
public RegisterValueMapEdit() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processing(ChannelHandlerContext ctx, Message msg) {
|
||||
SnmpValueMap vm = (SnmpValueMap) msg.getMsg();
|
||||
|
||||
Database.editSnmpValueMap(vm);
|
||||
|
||||
// nejprve smazat stare itemy mapovani
|
||||
SnmpValueMap oldValueMap = Server.snmpValueMap.stream()
|
||||
.filter(p -> p.getId() == vm.getId())
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
for (SnmpValueMapItem oldItem : oldValueMap.getItem()) {
|
||||
Database.deleteSnmpValueMapItem(oldItem.getId());
|
||||
}
|
||||
|
||||
// vlozit nové itemy mapovani
|
||||
for (SnmpValueMapItem item : vm.getItem()) {
|
||||
int itemID = Database.addSnmpValueMapItem(vm.getId(), item.getRawValue(), item.getMappedValue());
|
||||
item.setId(itemID);
|
||||
}
|
||||
|
||||
// upravit v lokalnim seznamu
|
||||
for (int i = 0; i < Server.snmpValueMap.size(); i++) {
|
||||
if (Server.snmpValueMap.get(i).getId() == vm.getId()) {
|
||||
Server.snmpValueMap.set(i, vm);
|
||||
}
|
||||
}
|
||||
|
||||
// odeslat klientum
|
||||
ServerHandler.sendAll(Message.VALUE_MAP_EDIT_RESULT, vm);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package jnet.server.message;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import jnet.lib.Message;
|
||||
import jnet.lib.object.SnmpValueMap;
|
||||
import jnet.lib.object.SnmpValueMapItem;
|
||||
import jnet.server.Database;
|
||||
import jnet.server.Server;
|
||||
import jnet.server.networkserver.ServerHandler;
|
||||
|
||||
|
||||
public class RegisterValueMapNew implements Register {
|
||||
|
||||
public RegisterValueMapNew() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processing(ChannelHandlerContext ctx, Message msg) {
|
||||
SnmpValueMap vm = (SnmpValueMap) msg.getMsg();
|
||||
|
||||
// zapsat do databaze a ulozit prirazene id
|
||||
int idValueMap = Database.addSnmpValueMap(vm.getName());
|
||||
vm.setId(idValueMap);
|
||||
|
||||
for (SnmpValueMapItem item : vm.getItem()) {
|
||||
int itemID = Database.addSnmpValueMapItem(idValueMap, item.getRawValue(), item.getMappedValue());
|
||||
item.setId(itemID);
|
||||
}
|
||||
|
||||
// pridat do lokalniho seznamu
|
||||
Server.snmpValueMap.add(vm);
|
||||
|
||||
// odeslat klientum
|
||||
ServerHandler.sendAll(Message.VALUE_MAP_NEW_RESULT, vm);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue