use of org.ballerinalang.model.tree.clauses.WindowClauseNode in project ballerina by ballerina-lang.
the class SiddhiQueryBuilder method visit.
@Override
public void visit(BLangStreamingInput streamingInput) {
streamingInputClause = new StringBuilder();
streamingInputClause.append(((BLangSimpleVarRef) streamingInput.getStreamReference()).getVariableName().value);
WhereNode beforeWhereNode = streamingInput.getBeforeStreamingCondition();
WhereNode afterWhereNode = streamingInput.getAfterStreamingCondition();
WindowClauseNode windowClauseNode = streamingInput.getWindowClause();
if (beforeWhereNode != null) {
((BLangWhere) beforeWhereNode).accept(this);
streamingInputClause.append(" ").append(whereClause);
}
if (windowClauseNode != null) {
((BLangWindow) windowClauseNode).accept(this);
streamingInputClause.append(" ").append(windowClause);
}
if (afterWhereNode != null) {
((BLangWhere) afterWhereNode).accept(this);
streamingInputClause.append(" ").append(whereClause);
}
if (streamingInput.getAlias() != null) {
streamingInputClause.append(" as ").append(streamingInput.getAlias()).append(" ");
}
BLangExpression streamReference = (BLangExpression) streamingInput.getStreamReference();
if (streamReference != null) {
streamReference.accept(this);
streamIds.add(varRef);
varRef = "";
addInRefs(streamReference);
}
}
use of org.ballerinalang.model.tree.clauses.WindowClauseNode in project ballerina by ballerina-lang.
the class BLangPackageBuilder method endWindowsClauseNode.
public void endWindowsClauseNode(DiagnosticPos pos, Set<Whitespace> ws) {
WindowClauseNode windowClauseNode = this.windowClausesStack.peek();
((BLangWindow) windowClauseNode).pos = pos;
windowClauseNode.addWS(ws);
windowClauseNode.setFunctionInvocation(this.exprNodeStack.pop());
if (!this.whereClauseStack.empty()) {
this.streamingInputStack.peek().setWindowTraversedAfterWhere(true);
} else {
this.streamingInputStack.peek().setWindowTraversedAfterWhere(false);
}
}
use of org.ballerinalang.model.tree.clauses.WindowClauseNode in project ballerina by ballerina-lang.
the class BLangPackageBuilder method startWindowClauseNode.
public void startWindowClauseNode(DiagnosticPos pos, Set<Whitespace> ws) {
WindowClauseNode windowClauseNode = TreeBuilder.createWindowClauseNode();
((BLangWindow) windowClauseNode).pos = pos;
windowClauseNode.addWS(ws);
this.windowClausesStack.push(windowClauseNode);
}
use of org.ballerinalang.model.tree.clauses.WindowClauseNode in project ballerina by ballerina-lang.
the class SemanticAnalyzer method visit.
public void visit(BLangStreamingInput streamingInput) {
BLangExpression streamRef = (BLangExpression) streamingInput.getStreamReference();
typeChecker.checkExpr(streamRef, env);
WhereNode beforeWhereNode = streamingInput.getBeforeStreamingCondition();
if (beforeWhereNode != null) {
((BLangWhere) beforeWhereNode).accept(this);
}
WindowClauseNode windowClauseNode = streamingInput.getWindowClause();
if (windowClauseNode != null) {
((BLangWindow) windowClauseNode).accept(this);
}
WhereNode afterWhereNode = streamingInput.getAfterStreamingCondition();
if (afterWhereNode != null) {
((BLangWhere) afterWhereNode).accept(this);
}
}
Aggregations