@Override public ModificationScript createProjectFile(ProjectFileCreationContext context) { return new ModificationScript(context); }
.build(); assertNotNull(script); assertEquals("script", script.getName()); assertFalse(script.isFolder()); assertTrue(script.getDependencies().isEmpty()); assertEquals("println 'hello'", script.readScript()); boolean[] scriptUpdated = new boolean[1]; scriptUpdated[0] = false; ScriptListener listener = () -> scriptUpdated[0] = true; script.addListener(listener); script.writeScript("println 'bye'"); assertEquals("println 'bye'", script.readScript()); assertTrue(scriptUpdated[0]); script.removeListener(listener);
private static ScriptResult<Network> applyScript(Network network, String previousScriptOutput, ModificationScript script) { ScriptResult<Object> result = ScriptUtils.runScript(network, script.getScriptType(), script.readScript()); if (result.getError() == null) { return new ScriptResult<>(network, previousScriptOutput + result.getOutput(), null); } else { // return an empty network return new ScriptResult<>(null, result.getOutput(), result.getError()); } }
throw new AfsException("Case and folder do not belong to the same project"); if (!folder.getProject().getId().equals(script.getProject().getId())) { throw new AfsException("Script and folder do not belong to the same project"); context.getStorage().addDependency(info.getId(), VirtualCase.SCRIPT_DEPENDENCY_NAME, script.getId());
assertEquals(2, virtualCase.getDependencies().size()); assertEquals(1, importedCase.getBackwardDependencies().size()); assertEquals(1, script.getBackwardDependencies().size()); assertNotNull(virtualCase.getNetwork()); script.writeScript("print 'bye'"); assertNotNull(virtualCase.getNetwork()); assertTrue(script.getBackwardDependencies().isEmpty());
return new ModificationScript(new ProjectFileCreationContext(info, context.getStorage(), context.getProject()));