package Barrier; 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 DeviceGraphicsRuntime_Barrier_status_aspect extends DeviceGraphicsRuntime { public DeviceGraphicsRuntime_Barrier_status_aspect(art.library.model.devices.Device device, SVGDiagram diagram) { super(device, diagram); } private boolean flashOn = false; public void timer() { flashOn = !flashOn; status(); } public void status() { Device device = getDevice(); String color1 = "#000000"; String color2 = "#000000"; art.library.model.devices.barrier.BarrierRealtime realtime = (art.library.model.devices.barrier.BarrierRealtime) device.getDeviceRealtime(); switch (device.getStatus()) { case DeviceStatus.STATUS_ONLINE: color1 = "#00FF00"; color2 = "#007C00"; break; case DeviceStatus.STATUS_WARNING: color1 = "#FFFF00"; color2 = "#7C7C00"; break; case DeviceStatus.STATUS_ALARM: color1 = "#FF0000"; color2 = "#7C0000"; break; case DeviceStatus.STATUS_INVALID: color1 = "#B97A57"; color2 = "#5A3B2A"; break; case DeviceStatus.STATUS_DISABLE: color1 = "#7C7C7C"; color2 = "#3E3E3E"; break; case DeviceStatus.STATUS_SIMULATION: color1 = "#0000FF"; color2 = "#00007C"; break; case DeviceStatus.STATUS_OFFLINE: color1 = "#c000c0"; color2 = "#7C007C"; break; case DeviceStatus.STATUS_UNKNOWN: color1 = "#c000c0"; color2 = "#7C007C"; break; } setAttribute("Barrier base 1", "fill", color1); setAttribute("Barrier base 2", "fill", color2); setAttribute("Position up", "display", "none"); setAttribute("Position down", "display", "none"); setAttribute("Position opening", "display", "none"); setAttribute("Position closing", "display", "none"); setAttribute("Lock unlock", "display", "none"); setAttribute("Lock lock", "display", "none"); setAttribute("Lock unknown", "display", "none"); setAttribute("Loop input", "display", "none"); setAttribute("Loop input unknown", "display", "none"); setAttribute("Loop output", "display", "none"); setAttribute("Loop output unknown", "display", "none"); setAttribute("Loop output", "display", "none"); setAttribute("Loop output unknown", "display", "none"); setAttribute("Traffic light green", "display", "none"); setAttribute("Traffic light yellow", "display", "none"); setAttribute("Traffic light red", "display", "none"); setAttribute("Traffic light unknown", "display", "none"); if (realtime == null || device.getDeviceStatus().status == DeviceStatus.STATUS_UNKNOWN || device.getDeviceStatus().status == DeviceStatus.STATUS_OFFLINE) { setAttribute("Traffic light unknown", "display", "inline"); setAttribute("Traffic light unknown", "fill", color2); setAttribute("Barrier base 1", "fill", "#FF00FF"); setAttribute("Barrier base 2", "fill", "#800080"); setAttribute("Loop output", "display", "none"); setAttribute("Loop input", "display", "none"); setAttribute("Loop input unknown", "display", "inline"); setAttribute("Loop output unknown", "display", "inline"); setAttribute("Lock unknown", "display", "inline"); setAttribute("Lock unknown", "fill", color2); return; } switch (realtime.itc != null ? realtime.itc.position : realtime.general.position) { case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.POSITION_UP: setAttribute("Position up", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.POSITION_DOWN: setAttribute("Position down", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.POSITION_OPENING: setAttribute("Position opening", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.POSITION_CLOSING: setAttribute("Position closing", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.POSITION_UNKNOWN: setAttribute("Barrier base 1", "fill", "#FF00FF"); setAttribute("Barrier base 2", "fill", "#800080"); break; } switch (realtime.itc != null ? realtime.itc.lock : realtime.general.lock) { case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOCK_LOCK: setAttribute("Lock lock", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOCK_UNLOCK: setAttribute("Lock unlock", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOCK_UNKNOWN: setAttribute("Lock unknown", "display", "inline"); setAttribute("Lock unknown", "fill", color2); break; } if (realtime.itc != null) { switch (realtime.itc.loopInput) { case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOOP_ACTIVE: setAttribute("Loop input", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOOP_UNKNOWN: setAttribute("Loop input unknown", "display", "inline"); setAttribute("Loop input unknown", "fill", color2); break; } switch (realtime.itc.loopOutput) { case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOOP_ACTIVE: setAttribute("Loop output", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.LOOP_UNKNOWN: setAttribute("Loop output unknown", "display", "inline"); setAttribute("Loop output unknown", "fill", color2); break; } switch (realtime.itc.trafficLight) { case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.TRAFFIC_LIGHT_GREEN: setAttribute("Traffic light green", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.TRAFFIC_LIGHT_YELLOW: setAttribute("Traffic light yellow", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.TRAFFIC_LIGHT_RED: setAttribute("Traffic light red", "display", "inline"); break; case art.library.model.devices.barrier.realtime.BarrierRealtimeITC.TRAFFIC_LIGHT_UNKNOWN: setAttribute("Traffic light unknown", "display", "inline"); setAttribute("Traffic light unknown", "fill", color2); break; } } for (int i = 0; i < device.getServerityAlarm(); i++) { setAttribute("Alarm" + i, "display", "none"); } } // java.io.StringWriter sw = new java.io.StringWriter(); // art.library.gui.flat.FlatDialog.showDialog(null, "Error", e.getMessage() + "\n\n" + sw.toString(), true, art.library.gui.flat.FlatDialog.DIALOG_ERROR); // }