public static ProcessId fromKey(String key) { for (ProcessId processId : values()) { if (processId.getKey().equals(key)) { return processId; } } throw new IllegalArgumentException(format("Process [%s] does not exist", key)); }
@Test public void all_values_are_unique() { Set<Integer> ipcIndices = new HashSet<>(); Set<String> keys = new HashSet<>(); for (ProcessId processId : ProcessId.values()) { ipcIndices.add(processId.getIpcIndex()); keys.add(processId.getKey()); } assertThat(ipcIndices).hasSize(ProcessId.values().length); assertThat(keys).hasSize(ProcessId.values().length); }
@Override public void define(WebService.NewController controller) { WebService.NewAction action = controller.createAction("logs") .setDescription("Get system logs in plain-text format. Requires system administration permission.") .setResponseExample(getClass().getResource("logs-example.log")) .setSince("5.2") .setHandler(this); action .createParam(PROCESS_PROPERTY) .setPossibleValues(stream(ProcessId.values()) .map(ProcessId::getKey) .sorted() .collect(MoreCollectors.toList(ProcessId.values().length))) .setDefaultValue(ProcessId.APP.getKey()) .setSince("6.2") .setDescription("Process to get logs from"); }
@Override public void define(WebService.NewController controller) { WebService.NewAction action = controller.createAction("logs") .setDescription("Get system logs in plain-text format. Requires system administration permission.") .setResponseExample(getClass().getResource("logs-example.log")) .setSince("5.2") .setHandler(this); action .createParam(PROCESS_PROPERTY) .setPossibleValues(stream(ProcessId.values()) .map(ProcessId::getKey) .sorted() .collect(MoreCollectors.toList(ProcessId.values().length))) .setDefaultValue(ProcessId.APP.getKey()) .setSince("6.2") .setDescription("Process to get logs from"); }