@Override public void dispose() { projectCase.removeListener(this); }
@Override public void execute(ProjectFile projectCase, ProjectCaseExportParameters config) { TaskMonitor monitor = projectCase.getFileSystem().getTaskMonitor(); UUID taskId = monitor.startTask(projectCase).getId(); try (OutputStream outputStream = createOutputStream(config)) { monitor.updateTaskMessage(taskId, MessageFormat.format(RESOURCE_BUNDLE.getString("ExportCaseToIIDM"), config.getFilePath())); NetworkXml.write(((ProjectCase) projectCase).getNetwork(), outputStream); } catch (IOException e) { throw new UncheckedIOException(e); } finally { monitor.stopTask(taskId); } } }
private <T> void queryNetwork(String groovyScript, JavaType valueType, Consumer<T> updater, LastTaskOnlyExecutor lastTaskOnlyExecutor) { lastTaskOnlyExecutor.execute(() -> { try { String json = projectCase.queryNetwork(ScriptType.GROOVY, groovyScript); if (json != null) { T obj = mapper.readValue(json, valueType); Platform.runLater(() -> updater.accept(obj)); } } catch (Exception e) { Platform.runLater(() -> { updater.accept(null); GseUtil.showDialogError(e); }); } }); }
projectCase.addListener(this);
Network network = aCase.getNetwork(); network.getVariantManager().allowVariantMultiThreadAccess(true);