package art.servers.etdserver; import art.library.model.devices.etd.Etd; import art.library.model.devices.etd.information.EtdInformationSection; import art.library.model.devices.etd.status.EtdStatusLane; import art.servers.etdserver.controller.ControllerDPS; import java.util.ArrayList; import java.util.List; public class Shared extends art.servers.Shared { public static List lcontrollerDPS = new ArrayList(); public static boolean logDPS = false; public static String deviceLog = null; public static String etdLog = null; public static boolean testVigicat = false; public static Model getModel() { return (art.servers.etdserver.Model)model; } public static ControllerDPS getControllerDPS (String identifier) { for (ControllerDPS controller : lcontrollerDPS) { if (controller.getConfigurationDPS().identifier.equalsIgnoreCase(identifier) == true) return(controller); } return(null); } public static void setSectionsData (Etd etdData) { try { List lstatusSection = etdData.getDeviceStatus().lsection; for (EtdStatusLane sectionStatus : lstatusSection) { EtdInformationSection sectionInformation = etdData.getDeviceInformation().getSection(sectionStatus.number); int I = 0; int V = 0; int O = 0; int NC = 0; for (Integer lane : sectionInformation.llane) { EtdStatusLane laneStatus = etdData.getDeviceStatus().getLane(lane.intValue()); I = I + laneStatus.counting; V = V + (laneStatus.counting*(int)laneStatus.speed); O = O + (laneStatus.counting*(int)laneStatus.occupancy); NC = NC + laneStatus.unclassified; for (int l=0; l 0) { sectionStatus.speed = (int)(V/I); sectionStatus.occupancy = (int)(O/I); } } } catch (Exception e) { e.printStackTrace(); } } public static void setTotalData (Etd etdData) { try { EtdStatusLane total = etdData.getDeviceStatus().total; int I = 0; int V = 0; int O = 0; int NC = 0; List lstatusLane = etdData.getDeviceStatus().llane; for (EtdStatusLane laneStatus : lstatusLane) { I = I + laneStatus.counting; V = V + (laneStatus.counting*(int)laneStatus.speed); O = O + (laneStatus.counting*(int)laneStatus.occupancy); NC = NC + laneStatus.unclassified; for (int l=0; l 0) { total.speed = (int)(V/I); total.occupancy = (int)(O/I); } } catch (Exception e) { e.printStackTrace(); } } }