package art.servers;
|
|
import art.library.gui.FlatGUI;
|
import art.library.gui.flat.FlatDialog;
|
import art.library.interop.serialization.Serialization;
|
import art.servers.gost.access.Shared;
|
import art.servers.gost.access.configuration.Configuration;
|
import art.servers.gost.access.configuration.ConfigurationDetail;
|
import art.servers.gost.access.configuration.ConfigurationDetail_Cleaner;
|
import art.servers.gost.access.controller.Controller_Cleaner;
|
import art.servers.gost.access.controller.Controller_Detections;
|
import art.servers.gost.access.controller.FactoryController;
|
import art.servers.gost.access.controller.ListenerImplementation;
|
import art.servers.gost.access.types.DatabasePoolConnection;
|
import java.io.File;
|
import java.io.PrintWriter;
|
import java.io.StringWriter;
|
|
|
public class AccessServer extends art.servers.Server
|
{
|
public static void main(String[] args)
|
{
|
try
|
{
|
FlatGUI.initialise();
|
Shared.setApplicationCode("PeL62haxJD8929Y5brBbFssGTSGVurnm");
|
Shared.setApplicationName("art.servers.gost-access-server");
|
|
preinitialise(args, Configuration.class);
|
Shared.model = new art.servers.gost.access.Model(Shared.configuration);
|
postinitialise(args);
|
ListenerImplementation listenerImplementation = new ListenerImplementation();
|
if (Shared.controllerListenerHttps != null) Shared.controllerListenerHttps.setListenerImplementation(listenerImplementation);
|
if (Shared.controllerListener != null) Shared.controllerListener.setListenerImplementation(listenerImplementation);
|
|
// Configuration detail
|
|
Configuration configuration = ((Configuration)Shared.configuration);
|
ConfigurationDetail configurationDetail = (ConfigurationDetail)Serialization.deserialize(ConfigurationDetail.class, new File(Shared.getApplicationName() + ".detail.json"));
|
configuration.detail = configurationDetail;
|
|
// Database Pool
|
|
Shared.databaseDetections1 = new DatabasePoolConnection(Shared.getMessage("Database detections"), configuration.detail.databaseDetections);
|
Shared.databaseDetections2 = new DatabasePoolConnection(Shared.getMessage("Database detections"), configuration.detail.databaseDetections);
|
|
// Factory controller
|
|
Shared.factory = new FactoryController();
|
Shared.factory.start();
|
|
// Controller detections
|
|
Shared.isKielce = existParameter(args, "-kielce");
|
|
Shared.controllerDetections = new Controller_Detections(Shared.databaseDetections1);
|
if (Shared.isKielce == false) Shared.controllerDetections.start();
|
|
// Controller cleaner
|
|
if (configuration.detail.cleaners != null)
|
{
|
for (ConfigurationDetail_Cleaner configurationCleaner : configuration.detail.cleaners)
|
{
|
Controller_Cleaner cleaner = new Controller_Cleaner(configurationCleaner);
|
Shared.controllerCleaners.add(cleaner);
|
cleaner.start();
|
}
|
}
|
}
|
catch (Exception exception)
|
{
|
exception.printStackTrace();
|
StringWriter sw = new StringWriter();
|
exception.printStackTrace(new PrintWriter(sw));
|
FlatDialog.showDialog(null, Shared.getMessage("Error"), exception.getMessage() + "\n\n" + sw.toString(), true, FlatDialog.DIALOG_INFORMATION);
|
System.exit(0);
|
}
|
}
|
|
|
|
}
|