package svgdevicestest.mock; import art.library.interop.serialization.Serialization; import art.library.interop.serialization.SerializationException; import art.library.model.devices.DeviceAlarms; import art.library.model.devices.DeviceStatus; import art.library.model.devices.ticketmachine.TicketMachine; import art.library.model.devices.ticketmachine.TicketMachineStatus; public class TicketMachineMocker extends DeviceMocker { public TicketMachineMocker() { super(new TicketMachine("ticket")); } public TicketMachineMocker getMocker() { return this; } @Override public void updateDevice(boolean active) { TicketMachine ticketMachine = (TicketMachine) device; // ticketMachine.status = loadDeviceStatusFromString(); ticketMachine.alarms = loadDeviceAlarmsFromString(); ticketMachine.status = new TicketMachineStatus(); ticketMachine.getDeviceAlarms().clear(); ticketMachine.status.status = 3; // ticketMachine.setAlarm("alarm_offline", false); // ticketMachine.setAlarm("alarm_invalid", false); // ticketMachine.setAlarm("alarm_closing", false); // ticketMachine.setAlarm("alarm_opening", false); // ticketMachine.realtime = new TicketMachineRealtime(); // // if (active) { // ticketMachine.getDeviceStatus().hardware = 1; // ticketMachine.getDeviceStatus().paper = 1; // ticketMachine.getDeviceStatus().printer = 1; // } else { // ticketMachine.getDeviceStatus().hardware = 2; // ticketMachine.getDeviceStatus().paper = 2; // ticketMachine.getDeviceStatus().printer = 2; // } // active = !active; } private DeviceStatus loadDeviceStatusFromString() { String status = "{\n" + " \"TicketMachine status\" : {\n" + " \"Printer\" : 2,\n" + " \"Paper\" : 1,\n" + " \"Hardware\" : 1,\n" + " \"Status\" : 3\n" + " }\n" + "}"; try { return Serialization.deserialize(device.getDeviceStatus().getClass().getName(), status); } catch (SerializationException ex) { } return device.getDeviceStatus(); } private DeviceAlarms loadDeviceAlarmsFromString() { String alarms = "{\n" + " \"TicketMachine alarms\" : {\n" + " \"Alarm printer printer offline\" : 1604592676609,\n" + " \"Alarm printer paper warning\" : 0,\n" + " \"Alarm printer paper alarm\" : 0,\n" + " \"Alarm printer paper drag motor\" : 0,\n" + " \"Alarm printer emitter motor\" : 0,\n" + " \"Alarm printer cover\" : 0,\n" + " \"Alarm printer notch place over sensor\" : 0,\n" + " \"Alarm printer spooling\" : 0,\n" + " \"Alarm printer head temperature\" : 0,\n" + " \"Alarm printer power supply voltage\" : 0,\n" + " \"Alarm printer paper jam\" : 0,\n" + " \"Alarm printer notch search\" : 0,\n" + " \"Alarm printer cutter\" : 0,\n" + " \"Alarm printer bulkhead paper path\" : 0,\n" + " \"Alarm printer RAM\" : 0,\n" + " \"Alarm printer EPROM\" : 0,\n" + " \"Alarm disabled\" : 0,\n" + " \"Alarm invalid\" : 0,\n" + " \"Alarm offline\" : 0,\n" + " \"Alarm printer emitter\" : 0,\n" + " \"Alarm simulated\" : 0,\n" + " \"Alarms configuration\" : [ ],\n" + " \"Alarms implemented\" : [\n" + " {\n" + " \"Name\" : \"alarm_offline\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_invalid\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_disabled\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_simulated\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_offline\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 1604592676609\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_paper_warning\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_paper_alarm\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_paper_drag_motor\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_emitter_motor\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_cover\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_notch_place_over_sensor\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_spooling\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_head_temperature\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_power_supply_voltage\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_paper_jam\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_notch_search\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_cutter\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_bulkhead_paper_path\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_ram\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_eprom\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_printer_emitter\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " }\n" + " ],\n" + " \"Severity\" : 5\n" + " }\n" + "}"; try { return Serialization.deserialize(device.getDeviceAlarms().getClass().getName(), alarms); } catch (SerializationException ex) { } return device.getDeviceAlarms(); } }