use of com.thecoderscorner.menu.mgr.NoDialogFacilities in project tcMenu by davetcc.
the class SimpleWebSocketExample method main.
public static void main(String[] args) throws Exception {
ConsoleHandler handler = new ConsoleHandler();
handler.setFormatter(new SimpleFormatter());
handler.setLevel(Level.FINEST);
Logger.getLogger("").addHandler(handler);
Logger.getLogger("").setLevel(Level.FINEST);
var tree = DomainFixtures.fullEspAmplifierTestTree();
var executor = Executors.newSingleThreadScheduledExecutor();
var clock = Clock.systemDefaultZone();
MenuCommandProtocol tagValProtocol = new TagValMenuCommandProtocol();
var menuManager = new MenuManagerServer(executor, tree, "WS Test", UUID.randomUUID(), new PropertiesAuthenticator("./auth.properties", new NoDialogFacilities()), clock);
menuManager.addConnectionManager(new WebSocketServerConnectionManager(tagValProtocol, 3333, clock));
menuManager.addConnectionManager(new SocketServerConnectionManager(tagValProtocol, executor, 3334, clock));
menuManager.start();
var menuList = menuManager.getManagedMenu().getMenuById(21).orElseThrow();
menuManager.updateMenuItem(menuList, List.of("salad", "pasta", "pizza"));
if (Boolean.getBoolean("sendSimulatedUpdates")) {
executor.scheduleAtFixedRate(() -> {
menuManager.updateMenuItem(menuList, randomListData());
}, 5000, 5000, TimeUnit.MILLISECONDS);
executor.scheduleAtFixedRate(() -> {
if (menuManager.isAnyRemoteConnection())
return;
var menuVolume = (AnalogMenuItem) tree.getMenuById(1).orElseThrow();
var menuLeftVU = (AnalogMenuItem) tree.getMenuById(15).orElseThrow();
var menuRightVU = (AnalogMenuItem) tree.getMenuById(16).orElseThrow();
int amt = (int) (Math.random() * 2000);
if (Math.random() > 0.5) {
menuManager.updateMenuItem(menuLeftVU, MenuItemHelper.getValueFor(menuLeftVU, tree, 0) + amt);
menuManager.updateMenuItem(menuRightVU, MenuItemHelper.getValueFor(menuRightVU, tree, 0) - amt);
} else {
menuManager.updateMenuItem(menuLeftVU, MenuItemHelper.getValueFor(menuLeftVU, tree, 0) - amt);
menuManager.updateMenuItem(menuRightVU, MenuItemHelper.getValueFor(menuRightVU, tree, 0) + amt);
}
menuManager.updateMenuItem(menuVolume, Math.random() * menuVolume.getMaxValue());
}, 150, 150, TimeUnit.MILLISECONDS);
}
}
Aggregations