Skip to content

Commit a410710

Browse files
committed
feat: added ui events for plans and table items
1 parent a1dda73 commit a410710

File tree

4 files changed

+79
-4
lines changed

4 files changed

+79
-4
lines changed

app/queue-server/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@
3535
<version>2.19.1</version>
3636
</dependency>
3737
</dependencies>
38-
</project>
38+
</project>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.phoebus.applications.queueserver.view;
2+
3+
import org.phoebus.applications.queueserver.api.QueueItem;
4+
import java.util.ArrayList;
5+
import java.util.List;
6+
import java.util.function.Consumer;
7+
import java.util.logging.Logger;
8+
import java.util.logging.Level;
9+
10+
public class ItemUpdateEvent {
11+
private static final ItemUpdateEvent instance = new ItemUpdateEvent();
12+
private final List<Consumer<QueueItem>> listeners = new ArrayList<>();
13+
private static final Logger LOG = Logger.getLogger(ItemUpdateEvent.class.getName());
14+
15+
private ItemUpdateEvent() {}
16+
17+
public static ItemUpdateEvent getInstance() {
18+
return instance;
19+
}
20+
21+
public void addListener(Consumer<QueueItem> listener) {
22+
listeners.add(listener);
23+
}
24+
25+
public void notifyItemUpdated(QueueItem updatedItem) {
26+
for (Consumer<QueueItem> listener : listeners) {
27+
try {
28+
listener.accept(updatedItem);
29+
} catch (Exception e) {
30+
LOG.log(Level.WARNING, "Item update listener error", e);
31+
}
32+
}
33+
}
34+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.phoebus.applications.queueserver.view;
2+
3+
import org.phoebus.applications.queueserver.api.QueueItem;
4+
5+
import java.util.List;
6+
import java.util.concurrent.CopyOnWriteArrayList;
7+
import java.util.function.Consumer;
8+
import java.util.logging.Level;
9+
import java.util.logging.Logger;
10+
11+
public class PlanEditEvent {
12+
13+
private static final PlanEditEvent INSTANCE = new PlanEditEvent();
14+
15+
private final List<Consumer<QueueItem>> listeners = new CopyOnWriteArrayList<>();
16+
private static final Logger LOG = Logger.getLogger(PlanEditEvent.class.getName());
17+
18+
private PlanEditEvent() {}
19+
20+
public static PlanEditEvent getInstance() {
21+
return INSTANCE;
22+
}
23+
24+
public void addListener(Consumer<QueueItem> listener) {
25+
listeners.add(listener);
26+
}
27+
28+
public void removeListener(Consumer<QueueItem> listener) {
29+
listeners.remove(listener);
30+
}
31+
32+
public void notifyEditRequested(QueueItem itemToEdit) {
33+
for (Consumer<QueueItem> listener : listeners) {
34+
try {
35+
listener.accept(itemToEdit);
36+
} catch (Exception e) {
37+
LOG.log(Level.WARNING, "Error in plan edit listener", e);
38+
}
39+
}
40+
}
41+
}

app/queue-server/src/main/java/org/phoebus/applications/queueserver/util/UiSignals.java renamed to app/queue-server/src/main/java/org/phoebus/applications/queueserver/view/UiSignalEvent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
package org.phoebus.applications.queueserver.util;
1+
package org.phoebus.applications.queueserver.view;
22

33
import javafx.beans.property.BooleanProperty;
44
import javafx.beans.property.SimpleBooleanProperty;
55

6-
public final class UiSignals {
6+
public final class UiSignalEvent {
77

88
private static final BooleanProperty ENV_DESTROY_ARMED =
99
new SimpleBooleanProperty(false);
1010

11-
private UiSignals() {}
11+
private UiSignalEvent() {}
1212

1313
public static BooleanProperty envDestroyArmedProperty() {
1414
return ENV_DESTROY_ARMED;

0 commit comments

Comments
 (0)