You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apex.apache.org by "Pramod Immaneni (JIRA)" <ji...@apache.org> on 2017/03/02 13:39:45 UTC

[jira] [Commented] (APEXCORE-577) Visitor API for DAG

    [ https://issues.apache.org/jira/browse/APEXCORE-577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15892255#comment-15892255 ] 

Pramod Immaneni commented on APEXCORE-577:
------------------------------------------

This lifecycle seems very localized and constrained. I suggest the following lifecycle.

visitor->prePopulateDAG
populateDAG
visitor->postPopulateDAG
visitor->preSetProperties
setProperties and attributes from property file
visitor->postSetProperties
visitor->preValidateDAG - No need for validation of DAG structure or ordering
validate
visitor->postValidateDAG - Let the visitor developer do what they want to do with walking with operators or streams. You can provide convenience methods in the interface to get access to operators and streams in a topographical order)

> Visitor API for DAG
> -------------------
>
>                 Key: APEXCORE-577
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-577
>             Project: Apache Apex Core
>          Issue Type: Sub-task
>            Reporter: Tushar Gosavi
>            Assignee: Tushar Gosavi
>
> Support an Visitor like api for DAG, which could be used to write plugins for Apex.
> change DAG interface to add a visitor
> {code}
> registerVisitor(DagVisitor visitor)
> {code}
> The DagVisitor interface
> {code}
> interface DagVisitor {
>   boolean startDAG(DAG* dag);
>   boolean visitOperator(OperatorMeta *ometa)
>   boolean visitStream(StreamMeta *smeta);
>   boolean endDAG()
> }
> {code}
> dev thread discussions
> https://lists.apache.org/thread.html/1c37e0954cee029c9de537cc35ecb35beebdf49aba17de89bd2ce9ed@%3Cdev.apex.apache.org%3E



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)