112 if (zoneEvent ==
null) {
113 System.err.println(
"ZoneEvent is null");
120 System.out.println(
"Zone event type: " + type);
125 int locationId = zoneEvent.getLocationId();
126 System.out.println(
"Zone location ID: " + locationId);
131 int sublocationId = zoneEvent.getSublocationId();
132 System.out.println(
"Zone sublocation ID: " + sublocationId);
137 int id = zoneEvent.getId();
138 System.out.println(
"Zone ID: " +
id);
143 String name = zoneEvent.getName();
144 System.out.println(
"Zone name: " + name);
149 String alias = zoneEvent.getAlias();
150 System.out.println(
"Zone alias: " + alias);
163 System.out.println(
"Created new zone event: " + newZoneEvent.getName() +
" (" + newZoneEvent.getAlias() +
")");
185 System.out.println(
"=== Advanced Zone Features ===");
187 if (zoneManager ==
null) {
194 public void onZoneEvent(
ZoneEvent event) {
195 System.out.println(
"Listener 1: Zone event - " + event.getName());
201 public void onZoneEvent(
ZoneEvent event) {
202 System.out.println(
"Listener 2: Zone event - " + event.getName());
208 zoneManager.addZoneListener(listener1);
209 System.out.println(
"Added first zone listener");
214 }
catch (InterruptedException e) {
215 Thread.currentThread().interrupt();
220 zoneManager.addZoneListener(listener2);
221 System.out.println(
"Added second zone listener");
227 }
catch (InterruptedException e) {
228 Thread.currentThread().interrupt();
234 zoneManager.removeZoneListener(listener1);
235 System.out.println(
"Removed first zone listener");
240 }
catch (InterruptedException e) {
241 Thread.currentThread().interrupt();
246 zoneManager.removeZoneListener(listener2);
247 System.out.println(
"Removed second zone listener");