Changeset 368


Ignore:
Timestamp:
02/03/14 17:26:16 (6 years ago)
Author:
jls17
Message:
  • added support for filterApi calls (input-mapping, output-mapping, creates field-references)
Location:
branches/work_304
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/core/ARAssignHelper.cpp

    r208 r368  
    221221        { 
    222222                cout << "EXCEPTION ServiceAssignment of '" << this->object->GetName() << "': " << e.what() << endl; 
     223        } 
     224 
     225        return strm.str(); 
     226} 
     227 
     228string CARAssignHelper::FilterApiInputAssignment(const ARAssignStruct* assignList, int numItems, int nAction, IfElseState ifElse) 
     229{ 
     230        this->mode = AM_FILTERAPI_INPUT; 
     231 
     232        stringstream strm; 
     233        strm.str(""); 
     234        try 
     235        { 
     236                CTable tblFieldList("setFieldsList", "TblObjectList"); 
     237                tblFieldList.AddColumn(30, "Position"); 
     238                tblFieldList.AddColumn(70, "Value"); 
     239 
     240                for(int i=0; i< numItems; i++) 
     241                { 
     242                        stringstream position; 
     243                        position << (i+1); 
     244 
     245                        CRefItem refItem(*this->object, ifElse, nAction, REFM_SETFIELDS_FILTERAPI_INPUT); 
     246                         
     247                        stringstream assignText; 
     248                        CheckAssignment(0, NULL, ifElse, nAction, const_cast<ARAssignStruct&>(assignList[i]), assignText, refItem); 
     249 
     250                        CTableRow row("cssStdRow"); 
     251                        row.AddCell(position.str()); 
     252                        row.AddCell(assignText.str()); 
     253                        tblFieldList.AddRow(row);        
     254                } 
     255                strm << tblFieldList; 
     256        } 
     257        catch(exception& e) 
     258        { 
     259                cout << "EXCEPTION in FilterAPIAssignment of '" << this->object->GetName() << "': " << e.what() << endl; 
    223260        } 
    224261 
  • branches/work_304/core/ARAssignHelper.h

    r182 r368  
    3838        string OpenWindowAssignment(const ARFieldAssignList &action, int nAction, IfElseState ifElse, OpenWindowMode openCloseInfo); 
    3939        string ServiceAssignment(const ARFieldAssignList &action, int nAction, IfElseState ifElse, ServiceMappingMode serviceInfo); 
     40        string FilterApiInputAssignment(const ARAssignStruct* assignList, int numItems, int nAction, IfElseState ifElse); 
    4041 
    4142private: 
     
    5758                AM_OPENWINDOW, 
    5859                AM_SERVICE, 
     60                AM_FILTERAPI_INPUT, 
    5961        }; 
    6062 
  • branches/work_304/core/ARSetFieldHelper.cpp

    r366 r368  
    2929        multiMatchValue = 0; 
    3030        type = SFT_CURRENT; 
     31        filterApiInputValues = NULL; 
     32        filterApiInputNumItems = 0; 
    3133 
    3234        Parse(); 
     
    144146                                        type = SFT_FILTERAPI; 
    145147                                } 
     148                                filterApiInputValues = assignment.u.filterApi->inputValues; 
     149                                filterApiInputNumItems = assignment.u.filterApi->numItems; 
    146150                                this->schemaName = assignment.u.filterApi->serviceName; 
    147151                                return true; 
     
    200204        return sqlCommand; 
    201205} 
     206 
     207int CARSetFieldHelper::GetFilterAPINumItems() const 
     208{ 
     209        return filterApiInputNumItems; 
     210} 
     211 
     212const ARAssignStruct* CARSetFieldHelper::GetFilterAPIInputs() const 
     213{ 
     214        return filterApiInputValues; 
     215} 
  • branches/work_304/core/ARSetFieldHelper.h

    r242 r368  
    5050        const string& GetSqlCommand() const;    // the sql command in case type = SFT_SQL 
    5151 
     52        int GetFilterAPINumItems() const;       // in case of SFT_FILTERAPI, it returns the item count of the input mapping 
     53        const ARAssignStruct* GetFilterAPIInputs() const; // in case of SFT_FILTERAPI, it returns the input mapping 
     54 
    5255private: 
    5356        void Parse(); 
     
    7578        ARQualifierStruct* qualifier; 
    7679        string sqlCommand; 
     80 
     81        ARAssignStruct* filterApiInputValues; 
     82        int filterApiInputNumItems; 
    7783}; 
  • branches/work_304/doc/DocActionSetFieldsHelper.cpp

    r250 r368  
    1818#include "DocActionSetFieldsHelper.h" 
    1919#include "../core/ARSetFieldHelper.h" 
     20#include "../core/ARAssignHelper.h" 
    2021 
    2122CDocActionSetFieldsHelper::CDocActionSetFieldsHelper(CARInside &arInside, CARServerObject &arServerObject, const ARSetFieldsActionStruct& sFieldStruct, int structItemType, IfElseState ifElseMode, int numAction) 
     
    126127                        break; 
    127128                case SFT_FILTERAPI: 
     129                        { 
     130                                string schemaName = sfh.GetSchemaName(); 
     131                                strmSchema << sfh.GetSchemaName(); 
     132 
     133                                if (schemaName.substr(0, 1) == "$") 
     134                                { 
     135                                        CRefItem refItem(obj, ifElse, nAction, REFM_SETFIELDS_FILTERAPI_PLUGINNAME); 
     136                                        schemaName = arIn.TextFindFields(sfh.GetSchemaName(), "$", arIn.SchemaGetInsideId(fromSchema), rootLevel, true, &refItem); 
     137                                } 
     138 
     139                                // the html-documtation for this action is generated directly here 
     140                                strmSchemaDisplay << "FILTER API<br/>"; 
     141                                strmSchemaDisplay << "Plugin-Name: " << schemaName << "<br/><br/>" << endl; 
     142 
     143                                strmSchemaDisplay << "Input-Mapping: " << "<br/>"; 
     144                                CARAssignHelper docInput(arIn, rootLevel, obj, fromSchema, fromSchema); 
     145                                strmSchemaDisplay << docInput.FilterApiInputAssignment(sfh.GetFilterAPIInputs(), sfh.GetFilterAPINumItems(), nAction, ifElse); 
     146 
     147                                strmSchemaDisplay << "Output-Mapping: " << "<br/>"; 
     148                                CARAssignHelper assignHelper(arIn, rootLevel, obj, fromSchema, fromSchema); 
     149                                strmSchemaDisplay << assignHelper.SetFieldsAssignment(setFieldsStruct, nAction, ifElse); 
     150                        } 
     151                        break; 
    128152                case SFT_WEBSERVICE: 
    129153                case SFT_ATRIUM_ORCHESTRATOR: 
  • branches/work_304/util/RefItem.cpp

    r365 r368  
    423423                strm << "Hover-Field in 'SetFields' " << IfElse() << "-Action " << ActionIndex(); 
    424424                break; 
     425        case REFM_SETFIELDS_FILTERAPI_INPUT: 
     426                strm << "Value in FilterAPI-Input-Mapping " << IfElse() << "-Action " << ActionIndex(); 
     427                break; 
     428        case REFM_SETFIELDS_FILTERAPI_PLUGINNAME: 
     429                strm << "Plugin-Name in FilterAPI-Call " << IfElse() << "-Action " << ActionIndex(); 
     430                break; 
    425431        case REFM_PUSHFIELD_HOVERFIELD: 
    426432                strm << "Hover-Field in 'PushFields' " << IfElse() << "-Action " << ActionIndex(); 
  • branches/work_304/util/RefItem.h

    r365 r368  
    113113        REFM_SETFIELDS_WS_OUTPUT, 
    114114        REFM_SETFIELDS_HOVERFIELD, 
     115        REFM_SETFIELDS_FILTERAPI_INPUT, 
     116        REFM_SETFIELDS_FILTERAPI_PLUGINNAME, 
    115117        REFM_OPENWINDOW_SERVER, 
    116118        REFM_OPENWINDOW_FORM, 
Note: See TracChangeset for help on using the changeset viewer.