From 5cd4edcec12672a74b07df52ac11aa4c1bfdc258 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Tue, 28 Jan 2025 18:08:28 +0100 Subject: [PATCH] Don't add channels until fully initialized. --- .../manager/events/ChannelManager.java | 17 +++++++++++++++++ .../org/jdrupes/vmoperator/vmmgmt/VmMgmt.java | 2 ++ 2 files changed, 19 insertions(+) diff --git a/org.jdrupes.vmoperator.manager.events/src/org/jdrupes/vmoperator/manager/events/ChannelManager.java b/org.jdrupes.vmoperator.manager.events/src/org/jdrupes/vmoperator/manager/events/ChannelManager.java index 2cf7a85..ce0e4f0 100644 --- a/org.jdrupes.vmoperator.manager.events/src/org/jdrupes/vmoperator/manager/events/ChannelManager.java +++ b/org.jdrupes.vmoperator.manager.events/src/org/jdrupes/vmoperator/manager/events/ChannelManager.java @@ -62,6 +62,11 @@ public class ChannelManager this(k -> null); } + /** + * Return all keys. + * + * @return the keys. + */ @Override public Set keys() { return entries.keySet(); @@ -113,6 +118,18 @@ public class ChannelManager return this; } + /** + * Creates a new channel without adding it to the channel manager. + * After fully initializing the channel, it should be added to the + * manager using {@link #put(K, C)}. + * + * @param key the key + * @return the c + */ + public C createChannel(K key) { + return supplier.apply(key); + } + /** * Returns the {@link Channel} for the given name, creating it using * the supplier passed to the constructor if it doesn't exist yet. diff --git a/org.jdrupes.vmoperator.vmmgmt/src/org/jdrupes/vmoperator/vmmgmt/VmMgmt.java b/org.jdrupes.vmoperator.vmmgmt/src/org/jdrupes/vmoperator/vmmgmt/VmMgmt.java index dbe17ca..3842cbc 100644 --- a/org.jdrupes.vmoperator.vmmgmt/src/org/jdrupes/vmoperator/vmmgmt/VmMgmt.java +++ b/org.jdrupes.vmoperator.vmmgmt/src/org/jdrupes/vmoperator/vmmgmt/VmMgmt.java @@ -352,6 +352,8 @@ public class VmMgmt extends FreeMarkerConlet { case "stop": fire(new ModifyVm(vmName, "state", "Stopped", vmChannel)); break; + case "openConsole": + break; case "cpus": fire(new ModifyVm(vmName, "currentCpus", new BigDecimal(event.param(1).toString()).toBigInteger(),