@Override public VirtualCase createProjectFile(ProjectFileCreationContext context) { return new VirtualCase(context); }
@Override public String queryNetwork(ScriptType scriptType, String scriptContent) { Objects.requireNonNull(scriptType); Objects.requireNonNull(scriptContent); return findService(NetworkCacheService.class).queryNetwork(this, scriptType, scriptContent); }
.build(); assertEquals("network2", virtualCase.getName()); assertTrue(virtualCase.getCase().isPresent()); assertTrue(virtualCase.getScript().isPresent()); assertEquals(2, virtualCase.getDependencies().size()); assertEquals(1, importedCase.getBackwardDependencies().size()); assertEquals(1, script.getBackwardDependencies().size()); assertNotNull(virtualCase.getNetwork()); assertNotNull(virtualCase.getNetwork()); virtualCase.delete(); assertTrue(importedCase.getBackwardDependencies().isEmpty()); assertTrue(script.getBackwardDependencies().isEmpty()); virtualCaseWithError.getNetwork(); fail(); } catch (ScriptException e) {
private static ScriptResult<Network> loadNetworkFromVirtualCase(VirtualCase virtualCase) { ProjectCase baseCase = (ProjectCase) virtualCase.getCase() .orElseThrow(() -> new AfsException("Case link is dead")); ScriptResult<Network> network = loadNetworkFromProjectCase(baseCase); if (network.getError() != null) { return network; } ModificationScript script = virtualCase.getScript() .orElseThrow(VirtualCase::createScriptLinkIsDeadException); LOGGER.info("Applying script to network of project case {}", virtualCase.getId()); return applyScript(network.getValue(), network.getOutput(), script); }
@Override public void removeListener(ProjectCaseListener l) { findService(NetworkCacheService.class).removeListener(this, l); }
return new VirtualCase(new ProjectFileCreationContext(info, context.getStorage(), context.getProject()));
@Override public void addListener(ProjectCaseListener l) { findService(NetworkCacheService.class).addListener(this, l); }
@Override public Network getNetwork() { return findService(NetworkCacheService.class).getNetwork(this); }
@Override public void invalidateNetworkCache() { findService(NetworkCacheService.class).invalidateCache(this); }
@Override protected void invalidate() { // invalidate network cache findService(NetworkCacheService.class).invalidateCache(this); super.invalidate(); } }