jNetClient/src/jnet/client/Client.java

114 lines
3.5 KiB
Java

package jnet.client;
import jnet.client.gui.Tray;
import jnet.client.gui.Window;
import jnet.client.network.NettyClient;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import jnet.lib.BuilddDate;
import jnet.lib.LogFile;
import jnet.lib.PropertiesManager;
import jnet.lib.object.Event;
import jnet.lib.object.Map;
import jnet.lib.object.MapObject;
import jnet.lib.object.ObjectType;
import jnet.lib.object.OnlineClients;
import jnet.lib.object.ServerConfig;
import jnet.lib.object.SnmpProfile;
import jnet.lib.object.User;
public class Client {
// verze serveru
public static final int CLIENT_VERSION = 1;
// nazev aplikace
public static final String APP_NAME = "jNet";
public static List<Map> maps = new CopyOnWriteArrayList<>();
public static ArrayList<MapObject> mapObject = new ArrayList<>();
public static ArrayList<OnlineClients> onlineClients = new ArrayList<>();
public static ArrayList<ObjectType> objectType = new ArrayList<>();
public static ArrayList<SnmpProfile> snmpProfile = new ArrayList<>();
public static ArrayList<User> users = new ArrayList<>();
public static ArrayList<Event> events = new ArrayList<>();
public static User user;
public static boolean connected = false;
public static Window okno = new Window();
public static Thread clientThread;
public static PropertiesManager config;
public static ServerConfig serverConfig;
public static void main(String[] args) throws InterruptedException {
LogFile.clear();
LogFile.printInfo("---------------------------------------------");
LogFile.printInfo(" jNet Client ");
LogFile.printInfo(" Version: " + CLIENT_VERSION + " (" + BuilddDate.get() + ")");
LogFile.printInfo("---------------------------------------------");
LogFile.printInfo("");
///
/// load config
///
LogFile.printInfo("Loading config ...");
try {
// Načtení existující konfigurace, pokud soubor existuje
config = new PropertiesManager("config.properties");
config.load();
LogFile.printInfo(" successfully");
} catch (PropertiesManager.FileException | PropertiesManager.ConfigException ex) {
LogFile.printErr(" fail. " + ex.getMessage());
System.exit(0);
}
///
/// debug rezim ?
///
if (config.getBoolean("debug")) {
LogFile.setDebug(true);
LogFile.printDebug("Debug mode on");
}
///
/// okno
///
///
/// tray icon
///
new Tray().createAndShowTray();
///
/// spustit minimalozovane ?
///
if (config.getBoolean("start_minimalized")) {
okno.setVisible(false);
} else {
okno.setVisible(true);
}
// Spuštění klienta v novém vlákně
NettyClient client = new NettyClient(config.getString("server"), config.getInt("port"));
clientThread = new Thread(client);
clientThread.start();
}
//TODO TODO TODO TODO TODO TODO
static void setConnected() {
// nastavení serveru jako pripojeny
connected = true;
// smazání seznamu map
maps.clear();
// smazani object typu
objectType.clear();
// smazani uzivatelu
users.clear();
}
}