From e68f1da78bc96da5410d19e0486446917d263fc6 Mon Sep 17 00:00:00 2001
From: Alejandro Acuña <alejandro.acuna@aluvisagrupo.com>
Date: Mon, 07 Oct 2024 06:39:12 +0000
Subject: [PATCH] bacl
---
.gitignore | 1
svgDevicesTest/src/Rtz/mockers/RtzMockerMap.java | 2
servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg | 476 +++++++++++++++++++
svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java | 68 --
svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java | 2
svgDevicesTest/src/Rtz/RtzMapComplex.java | 307 ++++++------
servers/gost-access-server/art.servers.gost-access-server.accesses-VPV.json | 553 +++++++++++++++-------
7 files changed, 996 insertions(+), 413 deletions(-)
diff --git a/.gitignore b/.gitignore
index b80539f..622c487 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,4 @@
*.png
servers/gost-access-server/data/art.servers.gost-access-server/atex5/
servers/gost-access-server/manifest.mf
+servers/gost-access-server - copia/
diff --git a/servers/gost-access-server/art.servers.gost-access-server.accesses-VPV.json b/servers/gost-access-server/art.servers.gost-access-server.accesses-VPV.json
index 9ea4b65..5da0491 100644
--- a/servers/gost-access-server/art.servers.gost-access-server.accesses-VPV.json
+++ b/servers/gost-access-server/art.servers.gost-access-server.accesses-VPV.json
@@ -21,18 +21,28 @@
"Polling": 60,
"Type" : "VPV",
"Installation" : "VPV",
-
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS1/",
- "VPVs":[
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPV8",
- "VPV9"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV8",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 51,
+ "Place information": "ENTRE PORTICO DE SAN ANDRES Y CALLE SOL"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV9",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 51,
+ "Place information": "ENTRE PORTICO SAN ANDRES Y CALLE ALTA"
+ }
]
},
@@ -68,21 +78,30 @@
"Polling": 60,
"Type" : "VPV",
"Installation" : "VPV",
-
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS2/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV10",
- "VPV11"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV10",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 72,
+ "Place information": "ENTRE CALLE ALTA Y PORTICO DE SAN ANDRES"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV11",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 72,
+ "Place information": "ENTRE CALLE ALTA Y CALLE SANTA CATALINA"
+ }
]
},
-
"Storage" :
{
"Storage password" : "XkTk/lXBBmtDivSxv5OvPQ==",
@@ -119,14 +138,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS3/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV12",
- "VPV13"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV12",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 147,
+ "Place information": "ENTRE CALLE HUERTAS Y CALLE SANTA CATALINA"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV13",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 147,
+ "Place information": "ENTRE CALLE HUERTAS Y CALLE JUANA DE VEGA"
+ }
]
},
@@ -166,14 +196,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS4/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV14",
- "VPV15"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV14",
+ "Street code": 515,
+ "Street acronyms": "PLAZA",
+ "Street name": "PONTEVEDRA",
+ "Street number": 8,
+ "Place information": "ENTRE CALLE PAYO GOMEZ Y CALLE JUANA DE VEGA"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV15",
+ "Street code": 515,
+ "Street acronyms": "PLAZA",
+ "Street name": "PONTEVEDRA",
+ "Street number": 8,
+ "Place information": "ENTRE CALLE PAYO GOMEZ Y CALLE FRANCISCO MARIÑO"
+ }
]
},
@@ -213,14 +254,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS5/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV17",
- "VPV18"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV17",
+ "Street code": 380,
+ "Street acronyms": "CALLE",
+ "Street name": "MEDICO RODRIGUEZ",
+ "Street number": 7,
+ "Place information": "ENTRE CALLE DOANATES DE SANGRE Y CALLE JUAN FLOREZ"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV18",
+ "Street code": 380,
+ "Street acronyms": "CALLE",
+ "Street name": "MEDICO RODRIGUEZ",
+ "Street number": 7,
+ "Place information": "ENTRE CALLE DOANATES DE SANGRE Y AVENIDA FISTERRA"
+ }
]
},
@@ -260,14 +312,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS6/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV19",
- "VPV20"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV19",
+ "Street code": 238,
+ "Street acronyms": "CALLE",
+ "Street name": "FERNANDO MACIAS",
+ "Street number": 10,
+ "Place information": "ENTRE PLAZA DE MAESTRO MATEO Y AVENIDA DE FINISTERRE"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV20",
+ "Street code": 238,
+ "Street acronyms": "CALLE",
+ "Street name": "FERNANDO MACIAS",
+ "Street number": 10,
+ "Place information": "ENTRE PLAZA DE MAESTRO MATEO Y CALLE CALVO SOTELO"
+ }
]
},
@@ -307,17 +370,27 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS7/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV23",
- "VPV24"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV23",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 44,
+ "Place information": "ENTRE CALLE SINFONICA DE GALICIA Y MEDICO RODRIGUEZ"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV24",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 44,
+ "Place information": "ENTRE CALLE SINFONICA DE GALICIA Y AVENIDA DE ARTEIXO"
+ }
]
},
-
"Storage" :
{
"Storage password" : "XkTk/lXBBmtDivSxv5OvPQ==",
@@ -350,18 +423,28 @@
"Polling": 60,
"Type" : "VPV",
"Installation" : "VPV",
-
"VPV":
{
- "Path": "/var/shares/fotosVPV/BUS8/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV25",
- "VPV26"
+ "Path": "/var/shares/fotosVPV/BUS8/",
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV25",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 62,
+ "Place information": "ENTRE AVEDIDA DE ARTEIXO Y CALLE SINFONICA DE GALICIA"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV26",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 62,
+ "Place information": "ENTRE AVEDIDA DE ARTEIXO Y CALLE MENENDEZ Y PELAYO"
+ }
]
},
@@ -401,14 +484,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS9/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV27",
- "VPV28"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV27",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 86,
+ "Place information": "ENTRE CALLE NICARAGUA Y CALLE MENENDEZ Y PELAYO"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV28",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 86,
+ "Place information": "ENTRE CALLE NICARAGUA Y PASADIZO PERNAS"
+ }
]
},
@@ -448,14 +542,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS10/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV29",
- "VPV30"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV29",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 110,
+ "Place information": "ENTRE CALLE VILLAR PONTE Y CALLE NICARAGUA"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV30",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 110,
+ "Place information": "ENTRE CALLE VILLAR PONTE Y CALLE POZO"
+ }
]
},
@@ -495,13 +600,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS11/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV16"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV16",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 2,
+ "Place information": "ENTRE PLAZA PONTEVEDRA Y CALLE MEDICO RODRIGUEZ"
+ }
]
},
@@ -541,13 +649,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS12/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV21"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV21",
+ "Street code": 238,
+ "Street acronyms": "CALLE",
+ "Street name": "FERNANDO MACIAS",
+ "Street number": 30,
+ "Place information": "ENTRE CALLE CALVO SOTELO Y PLAZA DE MAESTRO MATEO"
+ }
]
},
@@ -586,14 +697,17 @@
"VPV":
{
- "Path": "/var/shares/fotosVPV/BUS13/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV22"
+ "Path": "/var/shares/fotosVPV/BUS13/",
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV22",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 148,
+ "Place information": "ENTRE TRAVESIA MONTE Y ESCALINATA MAESTRO CLAVE"
+ }
]
},
@@ -633,13 +747,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS14/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV31"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV31",
+ "Street code": 322,
+ "Street acronyms": "CALLE",
+ "Street name": "JUAN FLOREZ",
+ "Street number": 16,
+ "Place information": "ENTRE CALLE MEDICO RODRIGUEZ Y CALLE CALLE FERROL"
+ }
]
},
@@ -679,13 +796,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS15/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV32"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV32",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 164,
+ "Place information": "ENTRE AVENIDA DE ARTEIXO Y CALLE NUESTRA SEÑORA DE FATIMA"
+ }
]
},
@@ -725,14 +845,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS16/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV33",
- "VPV34"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV33",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 178,
+ "Place information": "ENTRE CALLE NUESTRA SEÑORA DE FATIMA Y AVENIDA DE ARTEIXO"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV34",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 178,
+ "Place information": "ENTRE CALLE NUESTRA SEÑORA DE FATIMA Y CALLE SAN ISIDORO"
+ }
]
},
@@ -772,14 +903,25 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS17/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV35",
- "VPV36"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV35",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 178,
+ "Place information": "ENTRE CALLE NUESTRA SEÑORA DE FATIMA Y AVENIDA DE ARTEIXO"
+ },
+ {
+ "Type": 1,
+ "Identifier": "VPV36",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 178,
+ "Place information": "ENTRE CALLE NUESTRA SEÑORA DE FATIMA Y CALLE SAN ISIDORO"
+ }
]
},
@@ -819,13 +961,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS18/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV37"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV37",
+ "Street code": 450,
+ "Street acronyms": "RONDA",
+ "Street name": "OUTEIRO",
+ "Street number": 230,
+ "Place information": "ENTRE AVENIDA FISTERRA Y CALLE SAN ISIDORO"
+ }
]
},
@@ -865,14 +1010,17 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS19/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV1"
- ]
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV1",
+ "Street code": 232,
+ "Street acronyms": "CALLE",
+ "Street name": "FEDERICO TAPIA",
+ "Street number": 61,
+ "Place information": "ENTRE CALLE RAMON DE LA SAGRA Y CALLE MARCIAL DEL ADALID"
+ }
+ ]
},
"Storage" :
@@ -911,13 +1059,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS20/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV2"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV2",
+ "Street code": 232,
+ "Street acronyms": "CALLE",
+ "Street name": "FEDERICO TAPIA",
+ "Street number": 45,
+ "Place information": "ENTRE CALLE MARCIAL DEL ADALID Y CALLE MENENDEZ Y PELAYO"
+ }
]
},
@@ -957,13 +1108,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS21/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV3"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV3",
+ "Street code": 232,
+ "Street acronyms": "CALLE",
+ "Street name": "FEDERICO TAPIA",
+ "Street number": 31,
+ "Place information": "ENTRE CALLE MENENDEZ Y PELAYO Y CALLE FONTAN"
+ }
]
},
@@ -1002,14 +1156,17 @@
"VPV":
{
- "Path": "/var/shares/fotosVPV/BUS22/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV4"
+ "Path": "/var/shares/fotosVPV/BUS22/",
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV4",
+ "Street code": 232,
+ "Street acronyms": "CALLE",
+ "Street name": "FEDERICO TAPIA",
+ "Street number": 1,
+ "Place information": "ENTRE CALLE FONTAN Y CALLE FERROL"
+ }
]
},
@@ -1054,8 +1211,16 @@
"Street name": "",
"Street number": "",
"Place information": "",
- "VPVs":[
- "VPV5"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV5",
+ "Street code": 270,
+ "Street acronyms": "PLAZA",
+ "Street name": "GALICIA",
+ "Street number": 2,
+ "Place information": "ENTRE CALLE FERROL Y CALLE BETANZOS"
+ }
]
},
@@ -1095,13 +1260,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS24/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV6"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV6",
+ "Street code": 575,
+ "Street acronyms": "CALLE",
+ "Street name": "ROSALIA DE CASTRO",
+ "Street number": 14,
+ "Place information": "ENTRE CALLE BETANZOS Y PLAZA DE PONTEVEDRA"
+ }
]
},
@@ -1141,13 +1309,16 @@
"VPV":
{
"Path": "/var/shares/fotosVPV/BUS25/",
- "Street code": "",
- "Street acronyms": "",
- "Street name": "",
- "Street number": "",
- "Place information": "",
- "VPVs":[
- "VPV7"
+ "Cameras":[
+ {
+ "Type": 1,
+ "Identifier": "VPV7",
+ "Street code": 593,
+ "Street acronyms": "CALLE",
+ "Street name": "SAN ANDRES",
+ "Street number": 121,
+ "Place information": "ENTRE CALLE SANTA CATALINA Y CALLE MANTELERIA"
+ }
]
},
diff --git a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
index bb909a0..c9139b8 100644
--- a/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
+++ b/servers/rtzserver/data/art.servers.rtzserver/symbols/22/Controller.svg
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="27.331806mm"
height="36.046158mm"
viewBox="0 0 27.331806 36.046158"
version="1.1"
id="svg1894"
- inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
- sodipodi:docname="Controller.svg"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/">
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+ sodipodi:docname="Controller.svg">
<defs
id="defs1888" />
<sodipodi:namedview
@@ -23,9 +23,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="3.959798"
- inkscape:cx="-47.855976"
- inkscape:cy="66.29126"
+ inkscape:zoom="2.8"
+ inkscape:cx="-18.366845"
+ inkscape:cy="133.59352"
inkscape:document-units="mm"
inkscape:current-layer="g4133"
showgrid="false"
@@ -34,7 +34,7 @@
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
- inkscape:window-height="1017"
+ inkscape:window-height="1027"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -43,7 +43,455 @@
inkscape:deskcolor="#d1d1d1" />
<metadata
id="Metadata"
- art.script=" public void status() { try { statusSubcontroller(); } catch (Exception e) { } } public void statusSubcontroller() { art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation(); art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status subcontrollerStatus = controllerStatus.rtz32; art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration(); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement elapsed1 = getElement("Elapsed1"); SVGElement elapsed2 = getElement("Elapsed2"); setAttribute(emergency, "fill-opacity", "1.0", 999); setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(emergency, "fill", "#804080", 999); setAttribute(lock, "fill", "#804080", 999); setAttribute(run, "fill", "#804080", 999); setAttribute(remote, "fill", "#804080", 999); setText("Text number", String.format("%05d", controllerInformation.number)); setText("Text information", ""); setText("Text offset", ""); setText("Text cycle", ""); setText("Text elapsed", ""); if (art.client.models.Shared.configuration.general.darkMap == true) { setAttribute("Text number", "fill", "#FFFFFF"); setAttribute("Text information", "fill", "#FFFFFF"); setAttribute("Text offset", "fill", "#FFFFFF"); setAttribute("Text cycle", "fill", "#FFFFFF"); } else { setAttribute("Text number", "fill", "#000000"); setAttribute("Text information", "fill", "#000000"); setAttribute("Text offset", "fill", "#000000"); setAttribute("Text cycle", "fill", "#000000"); } setAttribute(elapsed1, "display", "none"); setAttribute(elapsed2, "display", "none"); setAttribute(border, "stroke", "#800080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 0.75); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(ribbon, "stroke", "#FF80FF"); setAttribute(background, "fill", "#FF80FF"); switch (controllerStatus.status) { case art.library.model.devices.DeviceStatus.STATUS_ONLINE: break; case art.library.model.devices.DeviceStatus.STATUS_WARNING: break; case art.library.model.devices.DeviceStatus.STATUS_ALARM: break; case art.library.model.devices.DeviceStatus.STATUS_DISABLE: setAttribute(background, "fill", "#404040"); setAttribute(ribbon, "stroke", "#404040"); setAttribute(border, "stroke", "#808080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); setAttribute(emergency, "fill-opacity", "0.0", 999); setAttribute(lock, "fill-opacity", "0.0", 999); setAttribute(run, "fill-opacity", "0.0", 999); setAttribute(remote, "fill-opacity", "0.0", 999); return; case art.library.model.devices.DeviceStatus.STATUS_SIMULATION: setAttribute(background, "fill", "#0000FF"); setAttribute(ribbon, "stroke", "#0000FF"); setAttribute(border, "stroke", "#000080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); break; case art.library.model.devices.DeviceStatus.STATUS_INVALID: case art.library.model.devices.DeviceStatus.STATUS_OFFLINE: case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN: setAttribute(background, "fill", "#FF00FF"); setAttribute(ribbon, "stroke", "#FF00FF"); setAttribute(border, "stroke", "#FF00FF"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); return; } if (subcontrollerStatus.forcings != null && (subcontrollerStatus.forcings.centralized != null || subcontrollerStatus.forcings.colorsMode != null || subcontrollerStatus.forcings.computerMode != null || subcontrollerStatus.forcings.control != null || subcontrollerStatus.forcings.plan != null)) { setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(lock, "fill", "#FF0000", 999); } else { setAttribute(lock, "fill-opacity", "0.15", 999); setAttribute(lock, "fill", "#000000", 999); } if (subcontrollerStatus.general.emergency == true) { setAttribute(emergency, "fill-opacity", "1.0", 999); } else if (subcontrollerStatus.general.emergency == false) { setAttribute(emergency, "fill-opacity", "0.15", 999); setAttribute(emergency, "fill", "#000000", 999); } switch (subcontrollerStatus.general.planMode) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS: { break; } case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION: case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED: { break; } } setAttribute("Text information", "display", "iniline", 999); setAttribute("Text offset", "display", "iniline", 999); setAttribute("Text cycle", "display", "iniline", 999); if ((subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)) { setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(remote, "fill", "#0000FF", 999); } else { setAttribute(remote, "fill-opacity", "0.15", 999); setAttribute(remote, "fill", "#000000", 999); } if (subcontrollerRealtime != null && subcontrollerRealtime.rtz32 != null && subcontrollerRealtime.rtz32.junctionRealtime == true) { setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(run, "fill", "#0000FF", 999); } else { setAttribute(run, "fill-opacity", "0.15", 999); setAttribute(run, "fill", "#000000", 999); } double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32; if (controller.getDeviceAlarms().getServerityAlarm() > 0) { setAttribute(border, "display", "inline"); setAttribute(border, "stroke", "#FF0000"); setAttribute(border, "stroke-opacity", strokeopacity); setAttribute(border, "stroke-width", 6.5 + (6.5 * strokeopacity)); } else { setAttribute(border, "stroke", "#808080"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); } java.util.Calendar calendardate = java.util.Calendar.getInstance(); calendardate.set(java.util.Calendar.MILLISECOND, 0); long seconds = calendardate.getTimeInMillis() / 1000; boolean even = seconds % 2 == 0; switch (subcontrollerStatus.general.state) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN: setAttribute(background, "fill", "#808080"); setAttribute(ribbon, "stroke", "#808080"); setAttribute(elapsed2, "fill", "#808080"); setText("Text information", "OFF"); return; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING: setAttribute("Text information", "display","none",999); setAttribute("Text offset", "display","none",999); setAttribute("Text cycle", "display","none",999); if (even) { setAttribute(background, "fill", "#FFFF00"); setAttribute(ribbon, "stroke", "#FFFF00"); setAttribute(elapsed2, "fill", "#FFFF00"); } else { setAttribute(background, "fill", "#808000"); setAttribute(ribbon, "stroke", "#808000"); setAttribute(elapsed2, "fill", "#808000"); } setText("Text information", "Y^"); break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP: if (subcontrollerStatus.general.emergency == true) { setAttribute(background, "fill", even ? "#FF8000" : "#804000"); setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000"); setAttribute(elapsed2, "fill", even ? "#FF8000" : "#804000"); } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL) { setAttribute(background, "fill", even ? "#008000" : "#004000"); setAttribute(ribbon, "stroke", even ?"#008000" : "#004000"); setAttribute(elapsed2, "fill",even ? "#008000" : "#004000"); } else { setAttribute(background, "fill", even ? "#00FF00" : "#008000"); setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000"); setAttribute(elapsed2, "fill", even ? "#00FF00" : "#008000"); } break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS: if (subcontrollerStatus.general.emergency == true) { setAttribute(background, "fill", "#FF8000"); setAttribute(ribbon, "stroke", "#FF8000"); setAttribute(elapsed2, "fill", "#FF8000"); } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL) { setAttribute(background, "fill", "#008000"); setAttribute(ribbon, "stroke", "#008000"); setAttribute(elapsed2, "fill", "#008000"); } else { setAttribute(background, "fill", "#00FF00"); setAttribute(ribbon, "stroke", "#00FF00"); setAttribute(elapsed2, "fill", "#00FF00"); } break; } art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program plan = null; if (subcontrollerStatus.plan != null && subcontrollerStatus.plan.number > 0) { try { plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number); } catch (Exception e) { } } if (plan != null) { String information = ""; if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED) information = "C"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER) information = "M"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE) information = "M-E"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE) information = "E"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER) information = "E-M"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY) information = "CTw"; else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED) information = "NC"; else information = "?"; information = information + plan.number; switch (subcontrollerStatus.general.planMode) { case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS: information = information + "d"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION: information = information + "ds"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED: information = information + "f"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS: information = information + "o"; break; case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE: information = information + "t"; break; } setText("Text information", information); if (plan.offset > 0) { setText("Text offset", "" + plan.offset); } else { setText("Text offset", ""); } setText("Text cycle", "" + plan.cycle); if (subcontrollerRealtime != null) { try { String text = subcontrollerRealtime.rtz32.phase.phaseNumber + ":" + subcontrollerRealtime.rtz32.counters.cycle; setText("Text elapsed", text); setAttribute(elapsed1, "display", "inline"); setAttribute(elapsed2, "display", "inline"); int elapsedWidth = getAttributeInteger(elapsed1, "width") - 2; float ratio = 1; setAttribute(elapsed2, "width", (elapsedWidth * Math.min(1.0f, ratio))); update(elapsed2); } catch (Exception ex) { } } java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute("fill").getStringValue()); java.awt.Color darkerColor = bckColor.darker(); String darkHex = String.format("#%02x%02x%02x", darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue()); setAttribute("Text information", "fill", darkHex, 999); setAttribute("Text offset", "fill", darkHex, 999); setAttribute("Text cycle", "fill", darkHex, 999); setAttribute(emergency, "fill", darkHex, 999); setAttribute(lock, "fill", darkHex, 999); setAttribute(run, "fill", darkHex, 999); setAttribute(remote, "fill", darkHex, 999); } } public void paintNoStatusAvailable() { art.library.model.devices.colors.controller.M.M_Controller controller = (art.library.model.devices.colors.controller.M.M_Controller) getDevice(); SVGElement thunderbolt = getElement("Thunderbolt"); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement calendar = getElement("Calendar"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement elapsed1 = getElement("Elapsed1"); SVGElement elapsed2 = getElement("Elapsed2"); setAttribute(thunderbolt, "fill-opacity", "1.0", 999); setAttribute(emergency, "fill-opacity", "1.0", 999); setAttribute(lock, "fill-opacity", "1.0", 999); setAttribute(calendar, "fill-opacity", "1.0", 999); setAttribute(run, "fill-opacity", "1.0", 999); setAttribute(remote, "fill-opacity", "1.0", 999); setAttribute(thunderbolt, "fill", "#804080", 999); setAttribute(emergency, "fill", "#804080", 999); setAttribute(lock, "fill", "#804080", 999); setAttribute(calendar, "fill", "#804080", 999); setAttribute(run, "fill", "#804080", 999); setAttribute(remote, "fill", "#804080", 999); setText("Text number", String.format("%05d", controller.getDeviceInformation().number)); setText("Text information", ""); setText("Text offset", ""); setText("Text cycle", ""); setText("Text elapsed", ""); setAttribute(elapsed1, "display", "none"); setAttribute(elapsed2, "display", "none"); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(background, "fill", "#FF00FF"); setAttribute(ribbon, "stroke", "#FF00FF"); setAttribute(border, "stroke", "#FF00FF"); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 1.0); } public void commands() { final String colorNoCommandsBorder = "#00007C"; final String colorNoCommandsBackground = "#7C7CFA"; final String colorCommandsBorder = "#007C00"; final String colorCommandsBackground = "#7CFA7C"; art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice(); art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation(); SVGElement background = getElement("Background"); SVGElement border = getElement("Border"); SVGElement ribbon = getElement("Ribbon"); SVGElement emergency = getElement("Emergency"); SVGElement lock = getElement("Lock"); SVGElement run = getElement("Run"); SVGElement remote = getElement("Remote"); setAttribute(border, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBorder : colorNoCommandsBorder); setAttribute(border, "display", "inline"); setAttribute(border, "stroke-width", 6.5); setAttribute(border, "stroke-opacity", 0.75); setAttribute(ribbon, "stroke-opacity", 0.50); setAttribute(ribbon, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground); setAttribute(background, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground); setAttribute(emergency, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(lock, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(run, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setAttribute(remote, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999); setText("Text number", String.format("%05d", controllerInformation.number)); setAttribute("Text information", "display", "none", 999); setAttribute("Text offset", "display", "none", 999); setAttribute("Text cycle", "display", "none", 999); setAttribute("Text elapsed", "display", "none", 999); } ">
+ art.script=" public void status()
+ {
+ try
+ {
+ statusSubcontroller();
+ } catch (Exception e)
+ {
+ }
+ }
+
+ public void statusSubcontroller()
+ {
+ java.util.Calendar calendardate = java.util.Calendar.getInstance();
+ calendardate.set(java.util.Calendar.MILLISECOND, 0);
+ long seconds = calendardate.getTimeInMillis() / 1000;
+ boolean even = seconds % 2 == 0;
+
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
+ art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status subcontrollerStatus = controllerStatus.rtz32;
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration();
+
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+ SVGElement elapsed1 = getElement("Elapsed1");
+ SVGElement elapsed2 = getElement("Elapsed2");
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(emergency, "fill", "#804080", 999);
+ setAttribute(lock, "fill", "#804080", 999);
+ setAttribute(run, "fill", "#804080", 999);
+ setAttribute(remote, "fill", "#804080", 999);
+ setText("Text number", String.format("%04d", controllerInformation.number));
+ setText("Text information", "");
+ setText("Text offset", "");
+ setText("Text cycle", "");
+ setText("Text elapsed", "");
+
+ try
+ {
+ if (art.client.models.Shared.configuration.general.darkMap == true)
+ {
+ setAttribute("Text number", "fill", "#FFFFFF");
+ setAttribute("Text information", "fill", "#FFFFFF");
+ setAttribute("Text offset", "fill", "#FFFFFF");
+ setAttribute("Text cycle", "fill", "#FFFFFF");
+ } else
+ {
+ setAttribute("Text number", "fill", "#000000");
+ setAttribute("Text information", "fill", "#000000");
+ setAttribute("Text offset", "fill", "#000000");
+ setAttribute("Text cycle", "fill", "#000000");
+ }
+ } catch (Exception ex)
+ {
+ }
+
+
+ setAttribute(elapsed1, "display", "none");
+ setAttribute(elapsed2, "display", "none");
+ /* setAttribute(border, "stroke", "#800080");*/
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 0.75);
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(ribbon, "stroke", "#FF80FF");
+ setAttribute(background, "fill", "#FF80FF");
+
+ if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ {
+ setAttribute(border, "stroke", "#FFFFFF",999);
+ setAttribute(background, "fill", "#FFFFFF",999);
+ setAttribute(ribbon, "stroke", "#FFFFFF",999);
+ }
+ else
+ {
+ setAttribute(border, "display", "none", 999);
+
+ if (controllerStatus.rtz32.centralized.centralized == false)
+ {
+ setAttribute(border, "fill", "#808080", 999);
+ setAttribute(background, "fill", "#808080", 999);
+ setAttribute(ribbon, "stroke", "#808080", 999);
+ }
+ else
+ {
+ boolean semiactuated = controllerStatus.rtz32.general.semiactuated ;
+ boolean offline = false;
+
+ if (device.getAlarm("alarm_controller_offline") > 0 || device.getAlarm("alarm_offline") > 0)
+ {
+ offline = true;
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+ }
+
+ if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)
+ {
+ setAttribute(background, "fill", "#00FF00", 999);
+ setAttribute(ribbon, "stroke", "#00FF00", 999);
+
+ if(offline == true)
+ {
+ setAttribute(background, "display", even || semiactuated ? "none" : "inline", 999);
+ }
+ }
+ else if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ setAttribute(background, "fill", "#FF0000", 999);
+ setAttribute(ribbon, "stroke", "#FF0000", 999);
+
+ if (offline == true)
+ {
+ setAttribute(background, "display", even ? "none" : "inline", 999);
+ }
+ }
+
+ if (device.getAlarm("alarm_controller_offline") <= 0 && device.getAlarm("alarm_offline") <= 0)
+ {
+ if (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller.class.cast(device).getDeviceAlarms().rtz32.flashing.getServerityAlarm() > 0)
+ {
+ setAttribute(background, "fill", "#FFFF00", 999);
+ setAttribute(ribbon, "stroke", "#FFFF00", 999);
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+
+ }
+ }
+ }
+ }
+
+ if (subcontrollerStatus.forcings != null
+ && (subcontrollerStatus.forcings.centralized != null
+ || subcontrollerStatus.forcings.colorsMode != null
+ || subcontrollerStatus.forcings.computerMode != null
+ || subcontrollerStatus.forcings.control != null
+ || subcontrollerStatus.forcings.plan != null))
+ {
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill", "#FF0000", 999);
+ } else
+ {
+ setAttribute(lock, "fill-opacity", "0.15", 999);
+ setAttribute(lock, "fill", "#000000", 999);
+ }
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ } else if (subcontrollerStatus.general.emergency == false)
+ {
+ setAttribute(emergency, "fill-opacity", "0.15", 999);
+ setAttribute(emergency, "fill", "#000000", 999);
+ }
+
+
+
+ setAttribute("Text information", "display", "iniline", 999);
+ setAttribute("Text offset", "display", "iniline", 999);
+ setAttribute("Text cycle", "display", "iniline", 999);
+
+ if ((subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER))
+ {
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill", "#0000FF", 999);
+ } else
+ {
+ setAttribute(remote, "fill-opacity", "0.15", 999);
+ setAttribute(remote, "fill", "#000000", 999);
+ }
+ if (subcontrollerRealtime != null && subcontrollerRealtime.rtz32 != null && subcontrollerRealtime.rtz32.junctionRealtime == true)
+ {
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill", "#0000FF", 999);
+ } else
+ {
+ setAttribute(run, "fill-opacity", "0.15", 999);
+ setAttribute(run, "fill", "#000000", 999);
+ }
+
+ double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32;
+
+ /* if (controller.getDeviceAlarms().getServerityAlarm() > 0)
+ {
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke", "#FF0000");
+ setAttribute(border, "stroke-opacity", strokeopacity);
+ setAttribute(border, "stroke-width", 6.5 + (6.5 * strokeopacity));
+ } else
+ {
+ setAttribute(border, "stroke", "#808080");
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 1.0);
+ }*/
+
+
+
+ switch (subcontrollerStatus.general.state)
+ {
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN:
+ /*setAttribute(background, "fill", "#808080");
+ setAttribute(ribbon, "stroke", "#808080");*/
+ setAttribute(elapsed2, "fill", "#808080");
+ setText("Text information", "OFF");
+ return;
+
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING:
+ setAttribute("Text information", "display","none",999);
+ setAttribute("Text offset", "display","none",999);
+ setAttribute("Text cycle", "display","none",999);
+
+ if (even)
+ {
+ /* setAttribute(background, "fill", "#FFFF00");
+ setAttribute(ribbon, "stroke", "#FFFF00");*/
+ setAttribute(elapsed2, "fill", "#FFFF00");
+ } else
+ {
+ /* setAttribute(background, "fill", "#808000");
+ setAttribute(ribbon, "stroke", "#808000");*/
+ setAttribute(elapsed2, "fill", "#808000");
+ }
+ setText("Text information", "Y^");
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP:
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ /* setAttribute(background, "fill", even ? "#FF8000" : "#804000");
+ setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000");*/
+ setAttribute(elapsed2, "fill", even ? "#FF8000" : "#804000");
+ } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ /* setAttribute(background, "fill", even ? "#008000" : "#004000");
+ setAttribute(ribbon, "stroke", even ?"#008000" : "#004000");*/
+ setAttribute(elapsed2, "fill",even ? "#008000" : "#004000");
+ } else
+ {
+ /* setAttribute(background, "fill", even ? "#00FF00" : "#008000");
+ setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000");*/
+ setAttribute(elapsed2, "fill", even ? "#00FF00" : "#008000");
+ }
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS:
+ if (subcontrollerStatus.general.emergency == true)
+ {
+ /* setAttribute(background, "fill", "#FF8000"); */
+ setAttribute(ribbon, "stroke", "#FF8000");
+ setAttribute(elapsed2, "fill", "#FF8000");
+ }
+ else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ /* setAttribute(background, "fill", "#008000");
+ setAttribute(ribbon, "stroke", "#008000");*/
+ setAttribute(elapsed2, "fill", "#008000");
+ } else
+ {
+ /* setAttribute(background, "fill", "#00FF00");
+ setAttribute(ribbon, "stroke", "#00FF00");*/
+ setAttribute(elapsed2, "fill", "#00FF00");
+ }
+ break;
+ }
+ art.library.model.devices.colors.controller.RTZ32.configuration.RTZ32_Configuration_Program plan = null;
+ if (subcontrollerStatus.plan != null && subcontrollerStatus.plan.number > 0)
+ {
+ try
+ {
+ plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number);
+ } catch (Exception e)
+ {
+ }
+ }
+
+ if (plan != null)
+ {
+
+ String information = "";
+
+ if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
+ information = "C";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER)
+ information = "M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE)
+ information = "M-E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE)
+ information = "E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER)
+ information = "E-M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY)
+ information = "CTw";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ information = "NC";
+ else
+ information = "?";
+
+ information = information + plan.number;
+
+ switch (subcontrollerStatus.general.planMode)
+ {
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS:
+ information = information + "d";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION:
+ information = information + "ds";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED:
+ information = information + "f";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS:
+ information = information + "o";
+ break;
+ case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE:
+ information = information + "t";
+ break;
+ }
+
+ setText("Text information", information);
+ if (plan.offset > 0)
+ {
+ setText("Text offset", "" + plan.offset);
+ } else
+ {
+ setText("Text offset", "");
+ }
+ setText("Text cycle", "" + plan.cycle);
+
+ if (subcontrollerRealtime != null)
+ {
+ try
+ {
+ String text = subcontrollerRealtime.rtz32.phase.phaseNumber + ":" + subcontrollerRealtime.rtz32.counters.cycle;
+
+ setText("Text elapsed", text);
+ setAttribute(elapsed1, "display", "inline");
+ setAttribute(elapsed2, "display", "inline");
+ int elapsedWidth = getAttributeInteger(elapsed1, "width") - 2;
+ float ratio = 1;
+ setAttribute(elapsed2, "width", (elapsedWidth * Math.min(1.0f, ratio)));
+ update(elapsed2);
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute("fill").getStringValue());
+ java.awt.Color darkerColor = bckColor.darker();
+ String darkHex = String.format("#%02x%02x%02x", darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue());
+
+ setAttribute("Text information", "fill", darkHex, 999);
+ setAttribute("Text offset", "fill", darkHex, 999);
+ setAttribute("Text cycle", "fill", darkHex, 999);
+
+ setAttribute(emergency, "fill", darkHex, 999);
+ setAttribute(lock, "fill", darkHex, 999);
+ setAttribute(run, "fill", darkHex, 999);
+ setAttribute(remote, "fill", darkHex, 999);
+ }
+ }
+
+ public void paintNoStatusAvailable()
+ {
+ art.library.model.devices.colors.controller.M.M_Controller controller = (art.library.model.devices.colors.controller.M.M_Controller) getDevice();
+ SVGElement thunderbolt = getElement("Thunderbolt");
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement calendar = getElement("Calendar");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+ SVGElement elapsed1 = getElement("Elapsed1");
+ SVGElement elapsed2 = getElement("Elapsed2");
+ setAttribute(thunderbolt, "fill-opacity", "1.0", 999);
+ setAttribute(emergency, "fill-opacity", "1.0", 999);
+ setAttribute(lock, "fill-opacity", "1.0", 999);
+ setAttribute(calendar, "fill-opacity", "1.0", 999);
+ setAttribute(run, "fill-opacity", "1.0", 999);
+ setAttribute(remote, "fill-opacity", "1.0", 999);
+ setAttribute(thunderbolt, "fill", "#804080", 999);
+ setAttribute(emergency, "fill", "#804080", 999);
+ setAttribute(lock, "fill", "#804080", 999);
+ setAttribute(calendar, "fill", "#804080", 999);
+ setAttribute(run, "fill", "#804080", 999);
+ setAttribute(remote, "fill", "#804080", 999);
+ setText("Text number", String.format("%04d", controller.getDeviceInformation().number));
+ setText("Text information", "");
+ setText("Text offset", "");
+ setText("Text cycle", "");
+ setText("Text elapsed", "");
+ setAttribute(elapsed1, "display", "none");
+ setAttribute(elapsed2, "display", "none");
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(background, "fill", "#FF00FF");
+ setAttribute(ribbon, "stroke", "#FF00FF");
+ setAttribute(border, "stroke", "#FF00FF");
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 1.0);
+ }
+
+ public void commands()
+ {
+ final String colorNoCommandsBorder = "#00007C";
+ final String colorNoCommandsBackground = "#7C7CFA";
+
+ final String colorCommandsBorder = "#007C00";
+ final String colorCommandsBackground = "#7CFA7C";
+
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
+ art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
+
+ SVGElement background = getElement("Background");
+ SVGElement border = getElement("Border");
+ SVGElement ribbon = getElement("Ribbon");
+
+ SVGElement emergency = getElement("Emergency");
+ SVGElement lock = getElement("Lock");
+ SVGElement run = getElement("Run");
+ SVGElement remote = getElement("Remote");
+
+ setAttribute(border, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBorder : colorNoCommandsBorder);
+ setAttribute(border, "display", "inline");
+ setAttribute(border, "stroke-width", 6.5);
+ setAttribute(border, "stroke-opacity", 0.75);
+ setAttribute(ribbon, "stroke-opacity", 0.50);
+ setAttribute(ribbon, "stroke", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
+ setAttribute(background, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground);
+
+ setAttribute(emergency, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(lock, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(run, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+ setAttribute(remote, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
+
+ setText("Text number", String.format("%04d", controllerInformation.number));
+ setAttribute("Text information", "display", "none", 999);
+ setAttribute("Text offset", "display", "none", 999);
+ setAttribute("Text cycle", "display", "none", 999);
+ setAttribute("Text elapsed", "display", "none", 999);
+
+ }
+">
<rdf:RDF>
<cc:Work
rdf:about="">
diff --git a/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java b/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
index 368c9d9..0ecbce8 100644
--- a/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
+++ b/svgDevicesTest/src/AAAMain/SvgDeviceStatusTest.java
@@ -53,7 +53,7 @@
public class SvgDeviceStatusTest
{
- private static final SvgMocker SELECTED_MOCKER = SvgMocker.ParkingEquinsa;
+ private static final SvgMocker SELECTED_MOCKER = SvgMocker.RTZMapComplex;
public static String mapPath;
diff --git a/svgDevicesTest/src/Rtz/RtzMapComplex.java b/svgDevicesTest/src/Rtz/RtzMapComplex.java
index 0f36ffb..cad8a33 100644
--- a/svgDevicesTest/src/Rtz/RtzMapComplex.java
+++ b/svgDevicesTest/src/Rtz/RtzMapComplex.java
@@ -17,7 +17,7 @@
super(device, commands, diagram);
}
- public void status()
+ public void status()
{
try
{
@@ -28,7 +28,12 @@
}
public void statusSubcontroller()
- {
+ {
+ java.util.Calendar calendardate = java.util.Calendar.getInstance();
+ calendardate.set(java.util.Calendar.MILLISECOND, 0);
+ long seconds = calendardate.getTimeInMillis() / 1000;
+ boolean even = seconds % 2 == 0;
+
art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus controllerStatus = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus) controller.getDeviceStatus();
art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
@@ -36,11 +41,6 @@
art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime subcontrollerRealtime = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerRealtime) device.getDeviceRealtime();
art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration subcontrollerConfiguration = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerConfiguration) device.getDeviceConfiguration();
- java.util.Calendar calendardate = java.util.Calendar.getInstance();
- calendardate.set(java.util.Calendar.MILLISECOND, 0);
- long seconds = calendardate.getTimeInMillis() / 1000;
- boolean even = seconds % 2 == 0;
-
SVGElement emergency = getElement("Emergency");
SVGElement lock = getElement("Lock");
SVGElement run = getElement("Run");
@@ -58,87 +58,103 @@
setAttribute(lock, "fill", "#804080", 999);
setAttribute(run, "fill", "#804080", 999);
setAttribute(remote, "fill", "#804080", 999);
- setText("Text number", String.format("%05d", controllerInformation.number));
+ setText("Text number", String.format("%04d", controllerInformation.number));
setText("Text information", "");
setText("Text offset", "");
setText("Text cycle", "");
setText("Text elapsed", "");
- setAttribute("Text information", "fill", "#FFFFFF");
- setAttribute("Text offset", "fill", "#FFFFFF");
- setAttribute("Text cycle", "fill", "#FFFFFF");
+ try
+ {
+ if (art.client.models.Shared.configuration.general.darkMap == true)
+ {
+ setAttribute("Text number", "fill", "#FFFFFF");
+ setAttribute("Text information", "fill", "#FFFFFF");
+ setAttribute("Text offset", "fill", "#FFFFFF");
+ setAttribute("Text cycle", "fill", "#FFFFFF");
+ } else
+ {
+ setAttribute("Text number", "fill", "#000000");
+ setAttribute("Text information", "fill", "#000000");
+ setAttribute("Text offset", "fill", "#000000");
+ setAttribute("Text cycle", "fill", "#000000");
+ }
+ } catch (Exception ex)
+ {
+ }
+
setAttribute(elapsed1, "display", "none");
setAttribute(elapsed2, "display", "none");
- setAttribute(border, "stroke", "#800080");
+ /* setAttribute(border, "stroke", "#800080");*/
setAttribute(border, "display", "inline");
setAttribute(border, "stroke-width", 6.5);
setAttribute(border, "stroke-opacity", 0.75);
setAttribute(ribbon, "stroke-opacity", 0.50);
setAttribute(ribbon, "stroke", "#FF80FF");
setAttribute(background, "fill", "#FF80FF");
-
- switch (controllerStatus.status)
- {
- case art.library.model.devices.DeviceStatus.STATUS_ONLINE:
- break;
- case art.library.model.devices.DeviceStatus.STATUS_WARNING:
- break;
- case art.library.model.devices.DeviceStatus.STATUS_ALARM:
- break;
- case art.library.model.devices.DeviceStatus.STATUS_DISABLE:
- setAttribute(background, "fill", "#404040");
- setAttribute(ribbon, "stroke", "#404040");
- setAttribute(border, "stroke", "#808080");
- setAttribute(border, "display", "inline");
- setAttribute(border, "stroke-width", 6.5);
- setAttribute(border, "stroke-opacity", 1.0);
- setAttribute(emergency, "fill-opacity", "0.0", 999);
- setAttribute(lock, "fill-opacity", "0.0", 999);
- setAttribute(run, "fill-opacity", "0.0", 999);
- setAttribute(remote, "fill-opacity", "0.0", 999);
- return;
- case art.library.model.devices.DeviceStatus.STATUS_SIMULATION:
- setAttribute(background, "fill", "#0000FF");
- setAttribute(ribbon, "stroke", "#0000FF");
- setAttribute(border, "stroke", "#000080");
- setAttribute(border, "display", "inline");
- setAttribute(border, "stroke-width", 6.5);
- setAttribute(border, "stroke-opacity", 1.0);
- break;
- case art.library.model.devices.DeviceStatus.STATUS_INVALID:
- case art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerStatus.STATUS_OFFLINE_CONTROLLER:
- case art.library.model.devices.DeviceStatus.STATUS_OFFLINE:
- case art.library.model.devices.DeviceStatus.STATUS_UNKNOWN:
-
- java.awt.Color offline = java.awt.Color.decode("#FF00FF");
- String offlineHex = String.format("#%02x%02x%02x", offline.getRed(), offline.getGreen(), offline.getBlue());
- String offlineDarkerHex = String.format("#%02x%02x%02x", offline.darker().darker().getRed(), offline.darker().darker().getGreen(), offline.darker().darker().getBlue());
-
- setAttribute(background, "fill", even ? offlineHex : offlineDarkerHex);
- setAttribute(ribbon, "stroke", even ? offlineHex : offlineDarkerHex);
- setAttribute(border, "stroke", even ? offlineHex : offlineDarkerHex);
- setAttribute(border, "display", "inline");
- setAttribute(border, "stroke-width", 6.5);
- setAttribute(border, "stroke-opacity", 1.0);
-
- if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
- {
- setAttribute(background, "fill", "#80531c");
- setAttribute(ribbon, "stroke", "#80531c");
- setAttribute(border, "stroke", "#80531c");
- }
-
- return;
- }
-
+
if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
{
- setAttribute(background, "fill", "#80531c");
- setAttribute(ribbon, "stroke", "#80531c");
- setAttribute(border, "stroke", "#80531c");
+ setAttribute(border, "stroke", "#FFFFFF",999);
+ setAttribute(background, "fill", "#FFFFFF",999);
+ setAttribute(ribbon, "stroke", "#FFFFFF",999);
}
+ else
+ {
+ setAttribute(border, "display", "none", 999);
+
+ if (controllerStatus.rtz32.centralized.centralized == false)
+ {
+ setAttribute(border, "fill", "#808080", 999);
+ setAttribute(background, "fill", "#808080", 999);
+ setAttribute(ribbon, "stroke", "#808080", 999);
+ }
+ else
+ {
+ boolean semiactuated = controllerStatus.rtz32.general.semiactuated ;
+ boolean offline = false;
+
+ if (device.getAlarm("alarm_controller_offline") > 0 || device.getAlarm("alarm_offline") > 0)
+ {
+ offline = true;
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+ }
+
+ if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_COMPUTER)
+ {
+ setAttribute(background, "fill", "#00FF00", 999);
+ setAttribute(ribbon, "stroke", "#00FF00", 999);
+
+ if(offline == true)
+ {
+ setAttribute(background, "display", even || semiactuated ? "none" : "inline", 999);
+ }
+ }
+ else if (controllerStatus.rtz32.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ {
+ setAttribute(background, "fill", "#FF0000", 999);
+ setAttribute(ribbon, "stroke", "#FF0000", 999);
+
+ if (offline == true)
+ {
+ setAttribute(background, "display", even ? "none" : "inline", 999);
+ }
+ }
+ if (device.getAlarm("alarm_controller_offline") <= 0 && device.getAlarm("alarm_offline") <= 0)
+ {
+ if (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller.class.cast(device).getDeviceAlarms().rtz32.flashing.getServerityAlarm() > 0)
+ {
+ setAttribute(background, "fill", "#FFFF00", 999);
+ setAttribute(ribbon, "stroke", "#FFFF00", 999);
+ setAttribute(background, "display", even ? "inline" : "none", 999);
+
+ }
+ }
+ }
+ }
+
if (subcontrollerStatus.forcings != null
&& (subcontrollerStatus.forcings.centralized != null
|| subcontrollerStatus.forcings.colorsMode != null
@@ -148,13 +164,12 @@
{
setAttribute(lock, "fill-opacity", "1.0", 999);
setAttribute(lock, "fill", "#FF0000", 999);
- }
- else
+ } else
{
setAttribute(lock, "fill-opacity", "0.15", 999);
setAttribute(lock, "fill", "#000000", 999);
}
- if (subcontrollerStatus.general.emergency == true)
+ if (subcontrollerStatus.general.emergency == true)
{
setAttribute(emergency, "fill-opacity", "1.0", 999);
} else if (subcontrollerStatus.general.emergency == false)
@@ -162,21 +177,8 @@
setAttribute(emergency, "fill-opacity", "0.15", 999);
setAttribute(emergency, "fill", "#000000", 999);
}
-
- switch (subcontrollerStatus.general.planMode)
- {
- case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_ONLINE_ORDERS:
- {
- break;
- }
- case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_TIMETABLE:
- case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS:
- case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DYNAMIC_SELECTION:
- case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_FORCED:
- {
- break;
- }
- }
+
+
setAttribute("Text information", "display", "iniline", 999);
setAttribute("Text offset", "display", "iniline", 999);
@@ -186,7 +188,7 @@
{
setAttribute(remote, "fill-opacity", "1.0", 999);
setAttribute(remote, "fill", "#0000FF", 999);
- } else
+ } else
{
setAttribute(remote, "fill-opacity", "0.15", 999);
setAttribute(remote, "fill", "#000000", 999);
@@ -200,8 +202,10 @@
setAttribute(run, "fill-opacity", "0.15", 999);
setAttribute(run, "fill", "#000000", 999);
}
+
double strokeopacity = Math.pow(2, controller.getDeviceAlarms().getServerityAlarm()) / 32;
- if (controller.getDeviceAlarms().getServerityAlarm() > 0)
+
+ /* if (controller.getDeviceAlarms().getServerityAlarm() > 0)
{
setAttribute(border, "display", "inline");
setAttribute(border, "stroke", "#FF0000");
@@ -213,31 +217,33 @@
setAttribute(border, "display", "inline");
setAttribute(border, "stroke-width", 6.5);
setAttribute(border, "stroke-opacity", 1.0);
- }
+ }*/
+
+
switch (subcontrollerStatus.general.state)
{
case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_UNKNOWN:
- setAttribute(background, "fill", "#808080");
- setAttribute(ribbon, "stroke", "#808080");
+ /*setAttribute(background, "fill", "#808080");
+ setAttribute(ribbon, "stroke", "#808080");*/
setAttribute(elapsed2, "fill", "#808080");
setText("Text information", "OFF");
return;
-
+
case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_FLASHING:
- setAttribute("Text information", "display", "none", 999);
- setAttribute("Text offset", "display", "none", 999);
- setAttribute("Text cycle", "display", "none", 999);
+ setAttribute("Text information", "display","none",999);
+ setAttribute("Text offset", "display","none",999);
+ setAttribute("Text cycle", "display","none",999);
if (even)
{
- setAttribute(background, "fill", "#FFFF00");
- setAttribute(ribbon, "stroke", "#FFFF00");
+ /* setAttribute(background, "fill", "#FFFF00");
+ setAttribute(ribbon, "stroke", "#FFFF00");*/
setAttribute(elapsed2, "fill", "#FFFF00");
} else
{
- setAttribute(background, "fill", "#808000");
- setAttribute(ribbon, "stroke", "#808000");
+ /* setAttribute(background, "fill", "#808000");
+ setAttribute(ribbon, "stroke", "#808000");*/
setAttribute(elapsed2, "fill", "#808000");
}
setText("Text information", "Y^");
@@ -245,36 +251,37 @@
case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_STARTUP:
if (subcontrollerStatus.general.emergency == true)
{
- setAttribute(background, "fill", even ? "#FF8000" : "#804000");
- setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000");
+ /* setAttribute(background, "fill", even ? "#FF8000" : "#804000");
+ setAttribute(ribbon, "stroke", even ? "#FF8000" : "#804000");*/
setAttribute(elapsed2, "fill", even ? "#FF8000" : "#804000");
} else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
{
- setAttribute(background, "fill", even ? "#008000" : "#004000");
- setAttribute(ribbon, "stroke", even ? "#008000" : "#004000");
- setAttribute(elapsed2, "fill", even ? "#008000" : "#004000");
+ /* setAttribute(background, "fill", even ? "#008000" : "#004000");
+ setAttribute(ribbon, "stroke", even ?"#008000" : "#004000");*/
+ setAttribute(elapsed2, "fill",even ? "#008000" : "#004000");
} else
{
- setAttribute(background, "fill", even ? "#00FF00" : "#008000");
- setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000");
+ /* setAttribute(background, "fill", even ? "#00FF00" : "#008000");
+ setAttribute(ribbon, "stroke", even ? "#00FF00" : "#008000");*/
setAttribute(elapsed2, "fill", even ? "#00FF00" : "#008000");
}
break;
case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.STATE_COLORS:
if (subcontrollerStatus.general.emergency == true)
{
- setAttribute(background, "fill", "#FF8000");
+ /* setAttribute(background, "fill", "#FF8000"); */
setAttribute(ribbon, "stroke", "#FF8000");
setAttribute(elapsed2, "fill", "#FF8000");
- } else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
+ }
+ else if (subcontrollerStatus.general.control == art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.CONTROL_LOCAL)
{
- setAttribute(background, "fill", "#008000");
- setAttribute(ribbon, "stroke", "#008000");
+ /* setAttribute(background, "fill", "#008000");
+ setAttribute(ribbon, "stroke", "#008000");*/
setAttribute(elapsed2, "fill", "#008000");
} else
{
- setAttribute(background, "fill", "#00FF00");
- setAttribute(ribbon, "stroke", "#00FF00");
+ /* setAttribute(background, "fill", "#00FF00");
+ setAttribute(ribbon, "stroke", "#00FF00");*/
setAttribute(elapsed2, "fill", "#00FF00");
}
break;
@@ -285,46 +292,36 @@
try
{
plan = subcontrollerConfiguration.rtz32.getProgram(subcontrollerStatus.plan.number);
- }
- catch (Exception e)
+ } catch (Exception e)
{
}
}
-
+
if (plan != null)
{
-
+
String information = "";
- if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
- {
- information = art.client.models.Shared.getMessage("C");
- }
- else if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY)
- {
- information = art.client.models.Shared.getMessage("CTw");
- }
- else if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE)
- {
- information = art.client.models.Shared.getMessage("M-E");
- }
- else if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER)
- {
- information = art.client.models.Shared.getMessage("M");
- }
- else if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE)
- {
- information = art.client.models.Shared.getMessage("E");
- }
- else if(controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
- {
- information = art.client.models.Shared.getMessage("N");
- }
-
+ if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED)
+ information = "C";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER)
+ information = "M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER_SLAVE)
+ information = "M-E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE)
+ information = "E";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_SLAVE_MASTER)
+ information = "E-M";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_CENTRALIZED_TROLLEY)
+ information = "CTw";
+ else if (controllerInformation.mode == art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation.MODE_NON_CENTRALIZED)
+ information = "NC";
+ else
+ information = "?";
information = information + plan.number;
- /* switch (subcontrollerStatus.general.planMode)
+ switch (subcontrollerStatus.general.planMode)
{
case art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General.PLAN_MODE_DELAYED_ORDERS:
information = information + "d";
@@ -342,7 +339,7 @@
information = information + "t";
break;
}
- */
+
setText("Text information", information);
if (plan.offset > 0)
{
@@ -351,9 +348,8 @@
{
setText("Text offset", "");
}
-
setText("Text cycle", "" + plan.cycle);
-
+
if (subcontrollerRealtime != null)
{
try
@@ -367,12 +363,11 @@
float ratio = 1;
setAttribute(elapsed2, "width", (elapsedWidth * Math.min(1.0f, ratio)));
update(elapsed2);
- }
- catch (Exception ex)
+ } catch (Exception ex)
{
}
}
-
+
java.awt.Color bckColor = java.awt.Color.decode(background.getStyleAbsolute("fill").getStringValue());
java.awt.Color darkerColor = bckColor.darker();
String darkHex = String.format("#%02x%02x%02x", darkerColor.darker().getRed(), darkerColor.darker().getGreen(), darkerColor.darker().getBlue());
@@ -414,7 +409,7 @@
setAttribute(calendar, "fill", "#804080", 999);
setAttribute(run, "fill", "#804080", 999);
setAttribute(remote, "fill", "#804080", 999);
- setText("Text number", String.format("%05d", controller.getDeviceInformation().number));
+ setText("Text number", String.format("%04d", controller.getDeviceInformation().number));
setText("Text information", "");
setText("Text offset", "");
setText("Text cycle", "");
@@ -434,10 +429,10 @@
{
final String colorNoCommandsBorder = "#00007C";
final String colorNoCommandsBackground = "#7C7CFA";
-
+
final String colorCommandsBorder = "#007C00";
final String colorCommandsBackground = "#7CFA7C";
-
+
art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller controller = (art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller) getDevice();
art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation controllerInformation = (art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation) controller.getDeviceInformation();
@@ -446,7 +441,6 @@
SVGElement ribbon = getElement("Ribbon");
SVGElement emergency = getElement("Emergency");
-
SVGElement lock = getElement("Lock");
SVGElement run = getElement("Run");
SVGElement remote = getElement("Remote");
@@ -464,13 +458,14 @@
setAttribute(run, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
setAttribute(remote, "fill", !getDeviceCommands().isEmpty() ? colorCommandsBackground : colorNoCommandsBackground, 999);
- setText("Text number", String.format("%05d", controllerInformation.number));
+ setText("Text number", String.format("%04d", controllerInformation.number));
setAttribute("Text information", "display", "none", 999);
setAttribute("Text offset", "display", "none", 999);
setAttribute("Text cycle", "display", "none", 999);
setAttribute("Text elapsed", "display", "none", 999);
- }
+ }
+
// 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);
diff --git a/svgDevicesTest/src/Rtz/mockers/RtzMockerMap.java b/svgDevicesTest/src/Rtz/mockers/RtzMockerMap.java
index 8cabfb3..67891ea 100644
--- a/svgDevicesTest/src/Rtz/mockers/RtzMockerMap.java
+++ b/svgDevicesTest/src/Rtz/mockers/RtzMockerMap.java
@@ -27,7 +27,7 @@
public void updateDevice(boolean active)
{
// RTZ32_Controller.class.cast(device).getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_NON_CENTRALIZED;
- RTZ32_Controller.class.cast(device).getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_CENTRALIZED_MASTER;
+ RTZ32_Controller.class.cast(device).getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_NON_CENTRALIZED;
RTZ32_ControllerStatus status = (RTZ32_ControllerStatus)device.getDeviceStatus();
status.rtz32.general.control = RTZ32_Status_General.CONTROL_LOCAL;
diff --git a/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java b/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
index d63b45d..15af223 100644
--- a/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
+++ b/svgDevicesTest/src/Rtz/mockers/RtzMockerMapComplex.java
@@ -4,6 +4,8 @@
import art.library.interop.serialization.Serialization;
import art.library.model.devices.Device;
import art.library.model.devices.colors.controller.RTZ32.RTZ32_Controller;
+import art.library.model.devices.colors.controller.RTZ32.RTZ32_ControllerInformation;
+import art.library.model.devices.colors.controller.RTZ32.status.RTZ32_Status_General;
import devices.mockers.LocalFileDeviceMocker;
import java.io.File;
import java.util.Random;
@@ -43,60 +45,26 @@
RTZ32_Controller controller = (RTZ32_Controller) d;
+ d.setAlarm("alarm_offline", false);
+
+ controller.getDeviceAlarms().rtz32.flashing.alarm_flashing_bus_I2C = 1000;
+
+ controller.getDeviceInformation().mode = RTZ32_ControllerInformation.MODE_CENTRALIZED;
+
+// controller.getDeviceStatus().rtz32.centralized = new RTZ32_Status_Centralized();
+// {
+// controller.getDeviceStatus().rtz32.centralized.centralized = false;
+// }
+
+ controller.getDeviceStatus().rtz32.general.control = RTZ32_Status_General.CONTROL_LOCAL;
+
device.status = controller.status;
device.information = controller.information;
device.configuration = controller.configuration;
device.alarms = controller.alarms;
-// RTZ32_ControllerCommands commands = RTZ32_ControllerCommands.class.cast(this.commands);
-// {
-// if ((System.currentTimeMillis() / 1000) % 2 == 0)
-// {
-// commands.online = new RTZ32_Commands_Online();
-// commands.online.colorsMode = RTZ32_ControllerCommands.COLORS_MODE_COLORS;
-// commands.online.plan = new RTZ32_Commands_Plan();
-// commands.online.plan.number = rnd.nextInt(7) + 1;
-// commands.online.plan.offset = rnd.nextInt(255);
-// commands.online.realtime = rnd.nextBoolean();
-//
-
-// commands.online.computerMode = new RTZ32_Commands_Computer();
-// {
-// commands.online.computerMode.actuated = rnd.nextBoolean();
-// commands.online.computerMode.semiactuated = !commands.online.computerMode.actuated;
-// commands.online.control = RTZ32_ControllerCommands.CONTROL_COMPUTER;
-// }
-// }
-// else
-// {
-// commands.online = new RTZ32_Commands_Online();
-// commands.online.colorsMode = RTZ32_ControllerCommands.COLORS_MODE_FLASHING;
-// commands.online.plan = new RTZ32_Commands_Plan();
-// commands.online.plan.number = rnd.nextInt(7) + 1;
-// commands.online.plan.offset = rnd.nextInt(255);
-// commands.online.realtime = rnd.nextBoolean();
-//
-// commands.online.clearAlarms = rnd.nextBoolean();
-//
-// commands.online.computerMode = new RTZ32_Commands_Computer();
-// {
-// commands.online.computerMode.actuated = rnd.nextBoolean();
-// commands.online.computerMode.semiactuated = !commands.online.computerMode.actuated;
-// commands.online.control = RTZ32_ControllerCommands.CONTROL_LOCAL;
-// }
-// }
-//
-// commands.online.centralized = new RTZ32_Commands_Centralized();
-// {
-// commands.online.centralized.centralized = rnd.nextBoolean();
-// }
-//
-// commands.online.centralized = new RTZ32_Commands_Centralized();
-// {
-//// commands.online.centralized.centralized = true;
-// commands.online.centralized.centralized = rnd.nextBoolean();
-// }
-// }
+
+//
} catch (Exception ex)
{
}
@@ -105,7 +73,7 @@
@Override
public String getFilePath()
{
- return "C:\\Users\\Konstantin\\Documents\\LocalBackup\\Obras\\Zaragoza\\rtzserver\\data\\art.servers.rtzserver\\symbols\\18\\Controller.svg";
+ return "D:\\LocalBackup\\servers\\rtzserver\\data\\art.servers.rtzserver\\symbols\\22\\Controller.svg";
}
@Override
--
Gitblit v1.10.0