Ignore:
Timestamp:
07/22/21 14:05:58 (3 years ago)
Author:
yushan
Message:

workflow graph : enable unary and binary arithmetic filters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/field.cpp

    r2182 r2193  
    559559  { 
    560560    if (buildWorkflowGraphDone_) return true ; 
     561 
    561562     
    562563    const bool detectMissingValues = (!detect_missing_value.isEmpty() && !default_value.isEmpty() && detect_missing_value == true); 
    563564    const double defaultValue = detectMissingValues ? default_value : (!default_value.isEmpty() ? default_value : 0.0); 
    564565    bool buildGraph_ = !build_workflow_graph.isEmpty() && build_workflow_graph == true ; 
    565     info(100)<<"=== Workflow Graph === field id="<<this->getId()<<" build_workflow_graph="<<buildGraph_<<std::endl; 
     566 
    566567    if (!inputFilter) inputFilter = std::shared_ptr<CPassThroughFilter>(new CPassThroughFilter(gc));  
    567       
     568     
    568569    if (hasDirectFieldReference()) 
    569570    { 
    570571      CField* fieldRef = getDirectFieldReference(); 
    571       info(100)<<"=== Workflow Graph === fieldRef id="<<fieldRef->getId()<<std::endl; 
    572  
     572       
    573573      //------ build_workflow_graph start 
    574574      if(buildGraph_) 
     
    580580        this->build_workflow_graph.set(fieldRef->build_workflow_graph); 
    581581        buildGraph_ = !build_workflow_graph.isEmpty() && build_workflow_graph == true ; 
    582         info(100)<<"=== Workflow Graph === field id="<<this->getId()<<" updated build_workflow_graph="<<buildGraph_<<std::endl; 
    583582      } 
    584583 
    585584       
    586       if(buildGraph_) this->build_workflow_graph.set(build_workflow_graph); 
     585      // if(buildGraph_) this->build_workflow_graph.set(build_workflow_graph); 
    587586      //------ build_workflow_graph end 
    588587 
     
    604603      boost::scoped_ptr<IFilterExprNode> expr(parseExpr(getExpression() + '\0')); 
    605604      filterExpr = expr->reduce(gc, *this); 
     605       
     606       
    606607      if (!filterExpr) return false ; // workflow graph cannot be built at this stage 
    607608    } 
     
    636637      if(buildGraph_)  
    637638      { 
    638         info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a transformation filter 2 ============== "<<getDirectFieldReference()->getInstantDataFilter()<<" _ "<<inputFilter<<std::endl; 
    639639        inputFilter->graphEnabled=true; 
    640640        inputFilter->graphPackage = new CGraphPackage; 
     
    648648      if (hasExpression()) 
    649649      { 
    650          if (filterExpr) lastFilter=filterExpr ; 
     650         if (filterExpr)  
     651         { 
     652           lastFilter=filterExpr ; 
     653         } 
    651654      } 
    652655       
     
    716719    if(buildGraph_)  
    717720    { 
    718       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToFileServer  ============== "<<getTemporalDataFilter(gc, fileOut_->output_freq)<<" _ "<<clientToServerStoreFilter_<<std::endl; 
    719721      clientToServerStoreFilter_->graphPackage = new CGraphPackage; 
    720722      clientToServerStoreFilter_->graphEnabled = true; 
     
    731733    if(buildGraph_)  
    732734    { 
    733       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToCouplerOut  ============== "<<instantDataFilter<<" _ "<<clientToServerStoreFilter_<<std::endl; 
    734735      clientToServerStoreFilter_->graphPackage = new CGraphPackage; 
    735736      clientToServerStoreFilter_->graphEnabled = true; 
     
    753754    if(buildGraph_ )  
    754755    { 
    755       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToModelInput  ============== "<<modelToClientSourceFilter_<<" _ "<<inputFilter<<" ***** "<<std::endl; 
    756756      modelToClientSourceFilter_->graphPackage = new CGraphPackage; 
    757757      modelToClientSourceFilter_->graphEnabled = true; 
     
    770770    if(buildGraph_) 
    771771    { 
    772       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToClientInput  ============== "<<serverFromClientSourceFilter_ << " _ "<<inputFilter<<" ***** "<<std::endl; 
    773772      serverFromClientSourceFilter_->graphPackage = new CGraphPackage; 
    774773      serverFromClientSourceFilter_->graphEnabled = true; 
     
    789788    if(buildGraph_) 
    790789    { 
    791       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToServerInput  ============== "<<clientFromServerSourceFilter_ << " _ "<<inputFilter<<std::endl; 
    792790      clientFromServerSourceFilter_->graphPackage = new CGraphPackage; 
    793791      clientFromServerSourceFilter_->graphEnabled = true; 
     
    810808    if(buildGraph_) 
    811809    { 
    812       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToCouplerIn  ============== "<<clientFromClientSourceFilter_ << " _ "<<inputFilter<<std::endl; 
    813810      clientFromClientSourceFilter_->graphPackage = new CGraphPackage; 
    814811      clientFromClientSourceFilter_->graphEnabled = true; 
     
    827824    if(buildGraph_) 
    828825    { 
    829       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToFileWriter  ============== "<<instantDataFilter << " _ "<<fileWriterStoreFilter_<<std::endl; 
    830826      fileWriterStoreFilter_->graphPackage = new CGraphPackage; 
    831827      fileWriterStoreFilter_->graphEnabled = true; 
     
    844840    if(buildGraph_) 
    845841    { 
    846       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToFileReader  ============== "<<fileReaderSourceFilter_ << " _ "<<inputFilter<<std::endl; 
    847842      fileReaderSourceFilter_->graphPackage = new CGraphPackage; 
    848843      fileReaderSourceFilter_->graphEnabled = true; 
     
    862857    if(buildGraph_) 
    863858    { 
    864       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToModelOutput  ============== "<<instantDataFilter << " _ "<<clientToModelStoreFilter_<<std::endl; 
    865859      clientToModelStoreFilter_->graphPackage = new CGraphPackage; 
    866860      clientToModelStoreFilter_->graphEnabled = true; 
     
    878872    if(buildGraph_) 
    879873    { 
    880       info(100)<<"=== Workflow Graph === field "<<this->getId()<<" calls a connectToServerToClient  ============== "<<instantDataFilter << " _ "<<serverToClientStoreFilter_<<std::endl; 
    881874      serverToClientStoreFilter_->graphPackage = new CGraphPackage; 
    882875      serverToClientStoreFilter_->graphEnabled = true; 
Note: See TracChangeset for help on using the changeset viewer.