Ignore:
Timestamp:
07/02/19 11:42:27 (5 years ago)
Author:
yushan
Message:

MARK: Dynamic workflow graph developement. Branch up to date with trunk @1676. Using vis.js

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/filter/unary_arithmetic_filter.cpp

    r1677 r1679  
    3030  CDataPacketPtr CUnaryArithmeticFilter::apply(std::vector<CDataPacketPtr> data) 
    3131  { 
    32     if(this->tag) 
     32    bool building_graph = this->tag ? data[0]->timestamp >= this->start_graph && data[0]->timestamp <= this->end_graph : false; 
     33 
     34    if(building_graph) 
    3335    { 
    3436      this->filterID = InvalidableObject::filterIdGenerator++; 
     37      int edgeID = InvalidableObject::edgeIdGenerator++; 
    3538       
    36       if(CWorkflowGraph::mapFieldToFilters_ptr==0) CWorkflowGraph::mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int> >; 
    37       if(CWorkflowGraph::mapFilters_ptr==0) CWorkflowGraph::mapFilters_ptr = new std::unordered_map <int, StdString>; 
     39      if(CWorkflowGraph::mapFieldToFilters_ptr_with_info==0) CWorkflowGraph::mapFieldToFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_edge >; 
     40      if(CWorkflowGraph::mapFilters_ptr_with_info==0) CWorkflowGraph::mapFilters_ptr_with_info = new std::unordered_map <int, graph_info_box_node>; 
    3841 
    39  
    40       (*CWorkflowGraph::mapFilters_ptr)[this->filterID] = op_expression +" F Filter" ; 
    4142      std::cout<<"CunaryArithmeticFilter::apply filter tag = "<<this->tag<<std::endl; 
    4243 
    43       StdString str = data[0]->fieldID +" ts=" + to_string(data[0]->timestamp); 
    44       (*CWorkflowGraph::mapFieldToFilters_ptr)[str].push_back(data[0]->src_filterID); 
    45       (*CWorkflowGraph::mapFieldToFilters_ptr)[str].push_back(this->filterID);    
     44      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_name = "F Filter"; 
     45      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_class = 2; 
     46      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].filter_filled = 1; 
     47      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].expected_entry_nb = 1; 
     48      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].date = data[0]->date; 
     49      (*CWorkflowGraph::mapFilters_ptr_with_info)[this->filterID].timestamp = data[0]->timestamp; 
     50 
     51      if(CWorkflowGraph::build_begin) 
     52      { 
     53 
     54        CWorkflowGraph::addEdge(edgeID, this->filterID, data[0]); 
     55 
     56        (*CWorkflowGraph::mapFilters_ptr_with_info)[data[0]->src_filterID].filter_filled = 0 ;  
     57      } 
     58      else CWorkflowGraph::build_begin = true; 
    4659   
    4760    } 
     
    5164    packet->timestamp = data[0]->timestamp; 
    5265    packet->status = data[0]->status; 
    53     packet->fieldID = this->output_field_id; 
     66    packet->field = this->field; 
    5467 
    5568    if (packet->status == CDataPacket::NO_ERROR) 
    5669      packet->data.reference(op(data[0]->data)); 
    5770 
    58     if(this->tag) packet->src_filterID = this->filterID; 
     71    if(building_graph) packet->src_filterID = this->filterID; 
    5972 
    6073    return packet; 
Note: See TracChangeset for help on using the changeset viewer.