@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 protected boolean equalTo(AstRegion that) { return that instanceof AstScriptNode && equalTo((AstScriptNode) that); }
@Override public AstScriptNode visitScriptNode(ScriptNodeContext ctx) { node = new AstScriptNode(); super.visitScriptNode(ctx); node.setRegionInfo(asSequentialRegion(childInfos, ctx)); return node; }
@Override public R done() { AstScriptNode scriptNode = result.node; scriptNode.getStreams().add(node); return result; }
@Override public Configuration visit(AstScriptNode script, State state) { state.configuration = new Configuration(); for (AstPropertyNode property : script.getProperties()) { property.accept(this, state); } for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } return state.configuration; }
@Override public R done() { AstScriptNode scriptNode = result.node; scriptNode.getProperties().add(node); return result; }
public AstScriptNodeBuilder() { this(new AstScriptNode()); }
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; }
public void validate(AstScriptNode scriptAST) throws Exception { ValidateStreamsVisitor validateStreams = new ValidateStreamsVisitor(); scriptAST.accept(validateStreams, new ValidateStreamsVisitor.State()); }
@Override public R done() { AstScriptNode scriptNode = result.node; scriptNode.getStreams().add(node); return result; }
@Override public AstScriptNode visitPropertyNode(PropertyNodeContext ctx) { AstPropertyNodeVisitor visitor = new AstPropertyNodeVisitor(factory, environment); AstPropertyNode propertyNode = visitor.visitPropertyNode(ctx); if (propertyNode != null) { node.getProperties().add(propertyNode); childInfos().add(propertyNode.getRegionInfo()); } return node; }
@Override public AstScriptNode parse(InputStream input) throws ScriptParseException { try { AstScriptNode script = parser.parse(input); InjectEventsVisitor injectEvents = new InjectEventsVisitor(); InjectEventsVisitor.State injectEventsState = new InjectEventsVisitor.State(); script = script.accept(injectEvents, injectEventsState); InjectBarriersVisitor injectBarriers = new InjectBarriersVisitor(); script = script.accept(injectBarriers, new InjectBarriersVisitor.State()); InjectFlushVisitor injectFlush = new InjectFlushVisitor(); script = script.accept(injectFlush, new InjectFlushVisitor.State()); AssociateStreamsVisitor associateStreams = new AssociateStreamsVisitor(); script = script.accept(associateStreams, new AssociateStreamsVisitor.State()); return script; } catch (ScriptParseException e) { throw e; } catch (Exception e) { throw new ScriptParseException(e); } } }
@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 final AstScriptNodeBuilder done() { AstScriptNode scriptNode = result.node; scriptNode.getStreams().add(node); return result; } }
@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 R done() { AstScriptNode scriptNode = result.node; scriptNode.getStreams().add(node); return result; } }
@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) { for (AstStreamNode stream : script.getStreams()) { stream.accept(this, state); } return null; }
@Override public AstScriptNode visitStreamNode(StreamNodeContext ctx) { AstStreamNodeVisitor visitor = new AstStreamNodeVisitor(factory, environment); AstStreamNode streamNode = visitor.visitStreamNode(ctx); if (streamNode != null) { node.getStreams().add(streamNode); childInfos().add(streamNode.getRegionInfo()); } return node; }