package ParkingEquinsa; import art.library.model.devices.Device; import art.library.model.devices.DeviceGraphicsRuntime; import art.library.model.devices.DeviceStatus; import com.kitfox.svg.SVGDiagram; public class ParkingEquinsaMap extends DeviceGraphicsRuntime { public ParkingEquinsaMap(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } public void status() { setAttribute("Icon", "display", "none"); Device device = getDevice(); art.library.model.devices.parking.ParkingInformation information = (art.library.model.devices.parking.ParkingInformation) device.getDeviceInformation(); art.library.model.devices.parking.ParkingStatus status = (art.library.model.devices.parking.ParkingStatus) device.getDeviceStatus(); art.library.model.devices.parking.ParkingAlarms alarm = (art.library.model.devices.parking.ParkingAlarms) device.getDeviceAlarms(); String color1 = "#000000"; String color2 = "#000000"; switch (status.status) { case DeviceStatus.STATUS_ONLINE: case DeviceStatus.STATUS_WARNING: case DeviceStatus.STATUS_ALARM: color1 = "#00FF00"; color2 = "#008000"; if (alarm.alarm_complete > 0) { color1 = "#FF0000"; color2 = "#800000"; } else if (alarm.alarm_almost_complete > 0) { color1 = "#FFFF00"; color2 = "#808000"; } break; case DeviceStatus.STATUS_INVALID: color1 = "#B97A57"; color2 = "#5A3B2A"; break; case DeviceStatus.STATUS_DISABLE: color1 = "#808080"; color2 = "#3E3E3E"; break; case DeviceStatus.STATUS_SIMULATION: color1 = "#0000FF"; color2 = "#000080"; break; case DeviceStatus.STATUS_OFFLINE: color1 = "#FF00FF"; color2 = "#800080"; break; case DeviceStatus.STATUS_UNKNOWN: color1 = "#FF00FF"; color2 = "#800080"; break; } if ((status.status != DeviceStatus.STATUS_UNKNOWN) && (status.status != DeviceStatus.STATUS_OFFLINE) && (status.status != DeviceStatus.STATUS_INVALID)) { try { setAttribute("Status text", "font-size", "5"); setText("Status text", "" + status.equinsa.getFreeSpaces().get().value); setAttribute("Status text", "fill", "#008000"); /* switch (status.infopark.state) TODO COLOR FOR SPACES { case art.library.model.devices.parking.status.ParkingStatusInfopark.PARKING_STATE_UNKNOWN: setText("Status text", "?"); setAttribute("Status text", "fill", "#800080"); break; case art.library.model.devices.parking.status.ParkingStatusInfopark.PARKING_STATE_COMPLETE: setText("Status text", "" + status.infopark.freeSpaces); setAttribute("Status text", "fill", "#800000"); break; case art.library.model.devices.parking.status.ParkingStatusInfopark.PARKING_STATE_ALMOST_COMPLETE: setText("Status text", "" + status.infopark.freeSpaces); setAttribute("Status text", "fill", "#808000"); break; case art.library.model.devices.parking.status.ParkingStatusInfopark.PARKING_STATE_SPACES: setText("Status text", "" + status.infopark.freeSpaces); setAttribute("Status text", "fill", "#008000"); break; }*/ } catch (Exception e) { setText("Status text", "?"); setAttribute("Status text", "fill", "#800080"); } } else { setText("Status text", "?"); setAttribute("Status text", "fill", "#800080"); } setAttribute("Status text", "display", "inline"); setAttribute("Background", "fill", color1); setAttribute("Border", "stroke", color2); } public void commands() { setAttribute("Background", "fill", "#0000FF"); setAttribute("Border", "stroke", "#0000FF"); setAttribute("Icon", "display", "inline"); setAttribute("Status text", "display", "none"); } }