package art.servers;
|
|
import art.library.gui.flat.FlatDialog;
|
import art.library.interop.serialization.Serialization;
|
import art.library.model.devices.Device;
|
import art.library.model.devices.etd.EtdInformation;
|
import art.library.model.devices.etd.information.EtdClassification;
|
import art.library.model.devices.etd.information.EtdInformationLane;
|
import art.library.utils.common.TimeUtils;
|
import art.servers.etdserver.configuration.Configuration;
|
import art.servers.etdserver.configuration.ConfigurationDPS;
|
import art.servers.etdserver.configuration.ConfigurationEtd;
|
import art.servers.etdserver.controller.ControllerDPS;
|
import art.servers.etdserver.controller.FactoryController;
|
import art.servers.etdserver.controller.ListenerImplementation;
|
import java.io.File;
|
import java.io.PrintWriter;
|
import java.io.StringWriter;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
public class EtdServer extends art.servers.Server
|
{
|
public static void main(String[] args)
|
{
|
try
|
{
|
EtdInformation[] letd = Serialization.deserialize(EtdInformation[].class, new File("art.servers.etdserver.etds.json"));
|
System.out.println(letd.length);
|
}
|
catch (Exception e)
|
{
|
e.printStackTrace();
|
}
|
try
|
{
|
art.servers.etdserver.Shared.logDPS = existParameter(args, "-dps");
|
art.servers.etdserver.Shared.deviceLog = getParameter(args, "-device");
|
art.servers.etdserver.Shared.etdLog = getParameter(args, "-etdlog");
|
art.servers.etdserver.Shared.testVigicat = existParameter(args, "-testvigicat");
|
|
Shared.setApplicationCode("knME6XLV96FMTqkQ89QWw3bUx9bL7e4S");
|
Shared.setApplicationName("art.servers.etdserver");
|
preinitialise(args, Configuration.class);
|
Shared.model = new art.servers.etdserver.Model(Shared.configuration);
|
postinitialise(args);
|
Shared.controllerListener.setListenerImplementation(new ListenerImplementation());
|
|
Configuration configuration = (Configuration)Shared.configuration;
|
File fileSpecific = new File("art.servers.etdserver.specific.json");
|
if(fileSpecific.exists() == true)
|
{
|
System.out.println("Reading specific configuration");
|
ConfigurationEtd[] letd = Serialization.deserialize(ConfigurationEtd[].class, fileSpecific);
|
System.out.println("Readed specific configuration: " + letd.length);
|
for (ConfigurationEtd config : letd)
|
{
|
if (config.dpsIdentifier == null)
|
{
|
config.dpsIdentifier = config.identifier.replaceAll("etd-", "dps-");
|
}
|
configuration.letd.add(config);
|
System.out.println("Reading : " + config.identifier + " - " + config.dpsIdentifier);
|
System.out.println(config);
|
}
|
}
|
|
|
// Controllers DPSs
|
System.out.println("Creating Controllers DPS: " + ((Configuration)Shared.configuration).ldps.size());
|
for (ConfigurationDPS configurationDPS : ((Configuration)Shared.configuration).ldps)
|
{
|
System.out.println("Creating Controller DPS: " + configurationDPS.identifier);
|
ControllerDPS controllerDPS = new ControllerDPS(configurationDPS);
|
controllerDPS.start();
|
art.servers.etdserver.Shared.lcontrollerDPS.add(controllerDPS);
|
}
|
|
|
// Factory controller
|
Shared.model.factoryController = new FactoryController();
|
Shared.model.factoryController.start();
|
}
|
catch (Exception e)
|
{
|
e.printStackTrace();
|
StringWriter sw = new StringWriter();
|
e.printStackTrace(new PrintWriter(sw));
|
FlatDialog.showDialog(null, Shared.getMessage("Error"), e.getMessage() + "\n\n" + sw.toString(), true, FlatDialog.DIALOG_INFORMATION);
|
System.exit(0);
|
}
|
}
|
|
|
|
|
|
|
private static List<EtdClassification> createEtdLengthClassificationDPS()
|
{
|
// Los DPS no calculan ni longitud ni velocidad, solo intensidad y ocupación
|
// De momento las clasificaciones de longitud las devolvemos vacías
|
return(new ArrayList<EtdClassification>());
|
}
|
|
|
private static List<EtdClassification> createEtdSpeedClassificationDPS()
|
{
|
// Los DPS no calculan ni longitud ni velocidad, solo intensidad y ocupación
|
// De momento las clasificaciones de velocidad las devolvemos vacías
|
return(new ArrayList<EtdClassification>());
|
}
|
}
|