@Override public AstScriptNode visit(AstScriptNode script, State state) { AstScriptNode newScript = new AstScriptNode(); newScript.setRegionInfo(script.getRegionInfo()); newScript.getProperties().addAll(script.getProperties()); state.streams = newScript.getStreams(); for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } return newScript; }
@Override public AstScriptNode visit(AstScriptNode script, State state) { AstScriptNode newScript = new AstScriptNode(); newScript.setRegionInfo(script.getRegionInfo()); newScript.getProperties().addAll(script.getProperties()); state.streams = newScript.getStreams(); for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } return newScript; }
@Override public AstScriptNode visit(AstScriptNode script, State state) { AstScriptNode newScript = new AstScriptNode(); newScript.setRegionInfo(script.getRegionInfo()); newScript.getProperties().addAll(script.getProperties()); state.streams = newScript.getStreams(); for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } // remove all associated streams from the main script // But this appears to be a NOOP. Acceptables are not added as streams! for (AstAcceptNode accept : state.accepts.values()) { newScript.getStreams().removeAll(accept.getAcceptables()); } return newScript; }
@Override public AstScriptNode visit(AstScriptNode script, State state) { AstScriptNode newScript = new AstScriptNode(); newScript.setRegionInfo(script.getRegionInfo()); newScript.getProperties().addAll(script.getProperties()); state.streams = newScript.getStreams(); for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } return newScript; }
public ChannelFuture prepare(String expectedScript) throws Exception { if (preparedFuture != null) { throw new IllegalStateException("Script already prepared"); } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Expected script:\n" + expectedScript); } final ScriptParser parser = new Parser(); AstScriptNode scriptAST = parser.parse(new ByteArrayInputStream(expectedScript.getBytes(UTF_8))); final ScriptValidator validator = new ScriptValidator(); validator.validate(scriptAST); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Parsed script:\n" + scriptAST); } RegionInfo scriptInfo = scriptAST.getRegionInfo(); progress = new ScriptProgress(scriptInfo, expectedScript); final GenerateConfigurationVisitor visitor = new GenerateConfigurationVisitor(bootstrapFactory, addressFactory); configuration = scriptAST.accept(visitor, new GenerateConfigurationVisitor.State(barriersByName)); preparedFuture = prepareConfiguration(); return preparedFuture; }