Search in sources :

Example 1 with WindowClauseNode

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);
    }
}
Also used : BLangSimpleVarRef(org.wso2.ballerinalang.compiler.tree.expressions.BLangSimpleVarRef) BLangWindow(org.wso2.ballerinalang.compiler.tree.clauses.BLangWindow) WhereNode(org.ballerinalang.model.tree.clauses.WhereNode) WindowClauseNode(org.ballerinalang.model.tree.clauses.WindowClauseNode) BLangWhere(org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere) BLangExpression(org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)

Example 2 with WindowClauseNode

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);
    }
}
Also used : WindowClauseNode(org.ballerinalang.model.tree.clauses.WindowClauseNode)

Example 3 with WindowClauseNode

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);
}
Also used : WindowClauseNode(org.ballerinalang.model.tree.clauses.WindowClauseNode)

Example 4 with 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);
    }
}
Also used : BLangWindow(org.wso2.ballerinalang.compiler.tree.clauses.BLangWindow) WhereNode(org.ballerinalang.model.tree.clauses.WhereNode) WindowClauseNode(org.ballerinalang.model.tree.clauses.WindowClauseNode) BLangWhere(org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere) BLangExpression(org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)

Aggregations

WindowClauseNode (org.ballerinalang.model.tree.clauses.WindowClauseNode)4 WhereNode (org.ballerinalang.model.tree.clauses.WhereNode)2 BLangWhere (org.wso2.ballerinalang.compiler.tree.clauses.BLangWhere)2 BLangWindow (org.wso2.ballerinalang.compiler.tree.clauses.BLangWindow)2 BLangExpression (org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression)2 BLangSimpleVarRef (org.wso2.ballerinalang.compiler.tree.expressions.BLangSimpleVarRef)1