package ParkingEquinsa.mockers; import Mocker.IDeviceMocker; import ParkingEquinsa.ParkingEquinsaMap; import art.library.interop.serialization.Serialization; import art.library.interop.serialization.SerializationException; import art.library.model.devices.Device; import art.library.model.devices.parking.Parking; import svgdevicestest.mock.*; public class ParkingEquinsaMockerMap extends DeviceMocker implements IDeviceMocker { private static final String parking = "{\n" + " \"Parking\" : {\n" + " \"Last timestamp update\" : \"2024-02-14T08:22:59.179Z\",\n" + " \"Last timestamp information update\" : \"2024-02-07T09:17:27.613Z\",\n" + " \"Last timestamp status update\" : \"2024-02-14T08:22:59.179Z\",\n" + " \"Last timestamp alarms update\" : \"2024-02-12T23:33:51.320Z\",\n" + " \"Last timestamp configuration update\" : \"2024-02-07T09:17:27.613Z\",\n" + " \"Device information\" : {\n" + " \"Parking information\" : {\n" + " \"Type\" : 4,\n" + " \"Polling\" : 60,\n" + " \"Alarms\" : [ ],\n" + " \"Creation date\" : \"2024-02-07T09:17:27.613Z\",\n" + " \"Description\" : \"\",\n" + " \"Equinsa\" : {\n" + " \"Message name\" : \"P. Ajedrez\",\n" + " \"Percentage almost full\" : 80,\n" + " \"Percentage full\" : 95,\n" + " \"Connection\" : {\n" + " \"Installation code\" : 1291,\n" + " \"User\" : \"estepona\",\n" + " \"Password\" : \"Estepona2023\",\n" + " \"Connection timeout\" : 15000,\n" + " \"Read timeout\" : 15000\n" + " }\n" + " },\n" + " \"Identifier\" : \"equinsa-1291\",\n" + " \"Latitude\" : 41.6675,\n" + " \"Latitude offset\" : 0.0,\n" + " \"Location\" : \"Estepona\",\n" + " \"Longitude\" : -0.889,\n" + " \"Longitude offset\" : 0.0,\n" + " \"Municipality\" : \"Málaga\",\n" + " \"Name\" : \"P. Ajedrez\",\n" + " \"Number\" : 0,\n" + " \"Server address\" : \"172.16.12.25\",\n" + " \"Server port\" : 5023,\n" + " \"Server port external\" : 0,\n" + " \"Server service name\" : \"parking\",\n" + " \"Symbol\" : \"Parking\"\n" + " }\n" + " },\n" + " \"Device configuration\" : {\n" + " \"Parking configuration\" : { }\n" + " },\n" + " \"Device status\" : {\n" + " \"Parking status\" : {\n" + " \"Etd customs lpr\" : {\n" + " \"State\" : 0,\n" + " \"Signal state\" : 0,\n" + " \"Car spaces\" : 0,\n" + " \"Truck spaces\" : 0,\n" + " \"Occupied car spaces\" : 0,\n" + " \"Occupied truck spaces\" : 0,\n" + " \"Input lprs\" : [ ],\n" + " \"Output lprs\" : [ ],\n" + " \"Input etds\" : [ ],\n" + " \"Output etds\" : [ ]\n" + " },\n" + " \"Equinsa\" : {\n" + " \"zones\" : [\n" + " {\n" + " \"id\" : 1,\n" + " \"description\" : \"Rotación\",\n" + " \"total_spaces\" : 220,\n" + " \"available_spaces\" : 162,\n" + " \"occupied_spaces\" : 58\n" + " },\n" + " {\n" + " \"id\" : 2,\n" + " \"description\" : \"Propietarios\",\n" + " \"total_spaces\" : 265,\n" + " \"available_spaces\" : 97,\n" + " \"occupied_spaces\" : 168\n" + " }\n" + " ],\n" + " \"counters\" : [\n" + " {\n" + " \"id\" : 1,\n" + " \"description\" : \"Propietarios\",\n" + " \"value_expression\" : \"POZ2\",\n" + " \"value\" : 168\n" + " },\n" + " {\n" + " \"id\" : 2,\n" + " \"description\" : \"Rotación Ocupadas\",\n" + " \"value_expression\" : \"POZ1\",\n" + " \"value\" : 58\n" + " },\n" + " {\n" + " \"id\" : 3,\n" + " \"description\" : \"Rotación Libres\",\n" + " \"value_expression\" : \"PLZ1\",\n" + " \"value\" : 162\n" + " }\n" + " ],\n" + " \"signs\" : [\n" + " {\n" + " \"id\" : 1,\n" + " \"description\" : \"Cartel 1\",\n" + " \"activation_expression\" : \"PLZ1 <= 1\",\n" + " \"activated\" : 0,\n" + " \"forced\" : 0\n" + " },\n" + " {\n" + " \"id\" : 2,\n" + " \"description\" : \"Cartel 2\",\n" + " \"activation_expression\" : \"PLZ1 <= 1\",\n" + " \"activated\" : 0,\n" + " \"forced\" : 0\n" + " }\n" + " ]\n" + " },\n" + " \"Measurements timestamp\" : \"1970-01-01T00:00:00.000Z\",\n" + " \"Status\" : 1\n" + " }\n" + " },\n" + " \"Device alarms\" : {\n" + " \"Parking alarms\" : {\n" + " \"Alarm complete\" : 0,\n" + " \"Alarm almost complete\" : 0,\n" + " \"Alarm expiration time\" : 0,\n" + " \"Alarm signal\" : 0,\n" + " \"Alarm disabled\" : 0,\n" + " \"Alarm invalid\" : 0,\n" + " \"Alarm offline\" : 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_complete\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_almost_complete\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_expiration_time\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " },\n" + " {\n" + " \"Name\" : \"alarm_signal\",\n" + " \"Severity\" : 0,\n" + " \"Timestamp\" : 0\n" + " }\n" + " ],\n" + " \"Severity\" : 0\n" + " }\n" + " }\n" + " }\n" + "}"; public ParkingEquinsaMockerMap() { super(getParking()); } public ParkingEquinsaMockerMap getMocker() { return this; } @Override public void updateDevice(boolean active) { Parking parking = (Parking) device; } private static Parking getParking() { Parking parkingMock; try { parkingMock = (Parking)Serialization.deserialize(Device.class, parking); return parkingMock; } catch (SerializationException ex) { } return null; } @Override public String getFilePath() { return "C:\\Users\\Konstantin\\Documents\\ARTIC3\\Applications\\parkingServer\\data\\art.servers.parkingserver\\symbols\\18\\Parking.svg"; } @Override public boolean isStatusMode() { return true; } @Override public Class getScriptClass() { return ParkingEquinsaMap.class; } }