ghy
Alejandro Acuña
2025-03-12 26319e4c5bfbee722c15b8e7ccca9b6127bb1cb8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package Bollard;
 
import art.library.model.devices.DeviceGraphicsRuntime;
import com.kitfox.svg.SVGDiagram;
import com.kitfox.svg.SVGElement;
 
 
public class BollardCommandsAspect extends DeviceGraphicsRuntime
{
 
    public BollardCommandsAspect(art.library.model.devices.Device device, SVGDiagram diagram)
    {
        super(device, diagram);
    }
 
    public BollardCommandsAspect(art.library.model.devices.Device device, art.library.model.devices.DeviceCommands deviceCommands, SVGDiagram diagram)
    {
        super(device, deviceCommands, diagram);
    }
 
  private boolean flashOn = false;
    public void timer()
    {
        flashOn = !flashOn;
        commands();
    }
    public void commands()
    {
        art.library.model.devices.bollard.BollardCommands deviceCommands = (art.library.model.devices.bollard.BollardCommands) getDeviceCommands();
        SVGElement bollard_down = getElement("bollard-down");
        SVGElement bollard_up = getElement("bollard-up");
        SVGElement lock = getElement("lock");
        SVGElement unlock = getElement("unlock");
        SVGElement lock_disabled = getElement("lock-disabled");
        
        setAttribute(bollard_down, "display", "none",999);
        setAttribute(bollard_up, "display", "none",999);
        setAttribute(lock, "display", "none",999);
        setAttribute(unlock, "display", "none",999);
     
        setAttribute(lock_disabled, "display", "inline", 999);
 
        if (deviceCommands.general != null)
        {
            if (deviceCommands.general.lock != null)
            {
                switch (deviceCommands.general.lock.lock)
                {
                    case art.library.model.devices.bollard.commands.BollardCommands_Lock.LOCK_LOCK_DOWN:
                        setAttribute(bollard_down, "display", "inline", 999);
                        setAttribute(lock, "display", "inline", 999);
                        setAttribute(lock_disabled, "display", "none", 999);
                        break;
                    case art.library.model.devices.bollard.commands.BollardCommands_Lock.LOCK_LOCK_UP:
                        setAttribute(bollard_up, "display", "inline", 999);
                        setAttribute(lock, "display", "inline", 999);
                        setAttribute(lock_disabled, "display", "none", 999);
                        break;
                    case art.library.model.devices.bollard.commands.BollardCommands_Lock.LOCK_UNLOCK:
                        setAttribute(unlock, "display", "inline", 999);
                        setAttribute(lock_disabled, "display", "none", 999);
                        break;
                }
            } 
            else if (deviceCommands.general.position != null)
            {
                switch (deviceCommands.general.position.position)
                {
                    case art.library.model.devices.bollard.commands.BollardCommands_Position.POSITION_DOWN:
                    case art.library.model.devices.bollard.commands.BollardCommands_Position.POSITION_NOTHING:
                        setAttribute(bollard_down, "display", "inline", 999);
                        break;
                    case art.library.model.devices.bollard.commands.BollardCommands_Position.POSITION_UP:
                        setAttribute(bollard_up, "display", "inline", 999);
                        break;
                }
            }
        }
    }
//    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);                        
//     
}