Changeset 373


Ignore:
Timestamp:
02/03/14 17:28:41 (6 years ago)
Author:
jls17
Message:
Location:
branches/work_304/doc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/doc/DocActionSetFieldsHelper.cpp

    r372 r373  
    163163                        break; 
    164164                case SFT_WEBSERVICE: 
     165                        { 
     166                                //NumItems = action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems; 
     167                                //action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[X].u.value 
     168                                //0 = Unknown 
     169                                //1 = Unknown 
     170                                //2 = Unknown 
     171                                //3 = Unknown 
     172                                //4 = WSDL Location 
     173                                //5 = Web Service 
     174                                //6 = Operation 
     175                                //7 = URI 
     176                                //8 = URN 
     177                                //9 = Input Mappings 
     178                                //10 = Output Mappings 
     179                                //11 = Port 
     180 
     181                                //populate operation string from input #6 
     182                                string operation = ""; 
     183                                string form = ""; 
     184 
     185                                TiXmlDocument operationXML; 
     186                                operationXML.Parse(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[6].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
     187                                TiXmlHandle opHandle(&operationXML); 
     188                                TiXmlElement *opElement = opHandle.FirstChild("operation").FirstChild("inputMapping").ToElement(); 
     189                                if (opElement) 
     190                                        operation = opElement->Attribute("name"); 
     191 
     192                                strmSchemaDisplay << "Read Value for Field from: WEB SERVICE<br/>"; 
     193                                strmSchemaDisplay << "WSDL Location: " << (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 4 ? CARValue::ValueToString(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[4].u.value) : "") << "<br/>";  
     194                                strmSchemaDisplay << "Web Service: " << (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 5 ? CARValue::ValueToString(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[5].u.value) : "") << "<br/>";  
     195                                strmSchemaDisplay << "Port: " << (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 11 ? CARValue::ValueToString(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[11].u.value) : "") << "<br/>";  
     196                                strmSchemaDisplay << "Operation: " << operation << "<br/>"; 
     197                                strmSchemaDisplay << "URI: " << (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 7 ? CARValue::ValueToString(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[7].u.value) : "") << "<br/>";  
     198                                strmSchemaDisplay << "URN: " << (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 8 ? CARValue::ValueToString(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[8].u.value) : "") << "<br/>";  
     199 
     200                                //process input mapping 
     201                                if (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 9) 
     202                                { 
     203                                        stringstream input; 
     204                                        input.str(""); 
     205 
     206                                        TiXmlDocument inputXML; 
     207                                        inputXML.Parse(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[9].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
     208                                        TiXmlHandle inputHandle(&inputXML); 
     209                                        TiXmlNode *element = inputHandle.FirstChild("arDocMapping").FirstChild("formMapping").ToNode(); 
     210 
     211                                        CTable tblInputMappingList("pushFieldsList", "TblObjectList"); 
     212                                        tblInputMappingList.AddColumn(30, "Element"); 
     213                                        tblInputMappingList.AddColumn(70, "Field"); 
     214                                        input << processMappingXML(element, "", tblInputMappingList, "", WMM_INPUT); 
     215                                        input << tblInputMappingList; 
     216                                        strmSchemaDisplay << "<BR/>"; 
     217                                        strmSchemaDisplay << "Input Mapping: " << input.str() << "<BR/>"; 
     218                                } 
     219 
     220                                //process output mapping 
     221                                if (setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 10) 
     222                                { 
     223                                        stringstream output; 
     224                                        output.str(""); 
     225 
     226                                        TiXmlDocument outputXML; 
     227                                        outputXML.Parse(setFieldsStruct.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[10].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
     228                                        TiXmlHandle outputHandle(&outputXML); 
     229                                        TiXmlNode *element = outputHandle.FirstChild("arDocMapping").FirstChild("formMapping").ToNode(); 
     230 
     231                                        CTable tblOutputMappingList("pushFieldsList", "TblObjectList"); 
     232                                        tblOutputMappingList.AddColumn(30, "Element"); 
     233                                        tblOutputMappingList.AddColumn(70, "Field"); 
     234 
     235                                        output << processMappingXML(element, "", tblOutputMappingList, "", WMM_OUTPUT); 
     236                                        output << tblOutputMappingList; 
     237                                        strmSchemaDisplay << "Output Mapping: " << output.str(); 
     238                                } 
     239 
     240                                // we've generated our own html-table with input/output mapping. So avoid default table. 
     241                                useDefaultFieldMappingTable = false; 
     242                        } 
     243                        break; 
    165244                case SFT_ATRIUM_ORCHESTRATOR: 
    166245                        { 
     
    221300        } 
    222301} 
     302 
     303string CDocActionSetFieldsHelper::processMappingXML( TiXmlNode* pParent, string sParent, CTable &tblFieldList, string form, WebserviceMappingMode type) 
     304{ 
     305        if ( !pParent ) 
     306                return ""; 
     307 
     308        stringstream strm; 
     309 
     310        TiXmlNode* pChild; 
     311        int t = pParent->Type(); 
     312 
     313        switch ( t ) 
     314        { 
     315        case TiXmlNode::ELEMENT: 
     316                if (strcmp("element",pParent->Value()) == 0) 
     317                { 
     318                        sParent = pParent->ToElement()->Attribute("name"); 
     319                } 
     320                else if (strcmp("formMapping",pParent->Value()) == 0) 
     321                { 
     322                        form = pParent->FirstChild("form")->ToElement()->Attribute("formName"); 
     323                } 
     324                else if (strcmp("fieldMapping",pParent->Value()) == 0) 
     325                { 
     326                        int fieldID = atoi(pParent->ToElement()->Attribute("arFieldId")); 
     327 
     328                        CTableRow row("cssStdRow"); 
     329                        row.AddCell(CTableCell(sParent)); 
     330                        row.AddCell(CTableCell(arIn.LinkToField(form, fieldID, rootLevel))); 
     331                        //row.AddCell(CTableCell(form + " - "+arIn->LinkToField(form, fieldID, rootLevel))); 
     332                        tblFieldList.AddRow(row);        
     333 
     334                        int msgId = 0; 
     335                        switch (type) 
     336                        { 
     337                        case WMM_INPUT: msgId = REFM_SETFIELDS_WS_INPUT; break; 
     338                        case WMM_OUTPUT: msgId = REFM_SETFIELDS_WS_OUTPUT; break; 
     339                        } 
     340                        CRefItem refItem(this->obj, ifElse, 0, msgId); 
     341                        arIn.AddFieldReference(arIn.SchemaGetInsideId(form), fieldID, refItem); 
     342                } 
     343                break; 
     344        } 
     345        for ( pChild = pParent->FirstChild(); pChild != 0; pChild = pChild->NextSibling())  
     346        { 
     347                strm << processMappingXML( pChild, sParent, tblFieldList, form, type); 
     348        } 
     349 
     350        return strm.str(); 
     351} 
  • branches/work_304/doc/DocActionSetFieldsHelper.h

    r372 r373  
    1818#include "../ARInside.h" 
    1919#include "../core/ARQualification.h" 
     20#include <tinyxml/tinyxml.h> 
    2021 
    2122class CDocActionSetFieldsHelper 
     
    2728        void SetFieldsGetSecondaryForm(const string& fromSchema, stringstream &strmSchema, stringstream &strmSchemaDisplay, stringstream &strmServer, stringstream &strmQual); 
    2829        void ShowActionWithServerName(bool showIt); 
     30 
     31        enum WebserviceMappingMode  
     32        { 
     33                WMM_INPUT, 
     34                WMM_OUTPUT 
     35        }; 
    2936 
    3037private: 
     
    4047private: 
    4148        void GenerateDefaultMappingTable(const string& fromSchema, std::stringstream &strmSchema, std::stringstream &strmSchemaDisplay, std::stringstream &strmServer, std::stringstream &strmQual); 
     49        string processMappingXML( TiXmlNode* pParent, string sParent, CTable &tblFieldList, string form, WebserviceMappingMode type); 
    4250}; 
  • branches/work_304/doc/DocFilterActionStruct.cpp

    r372 r373  
    1818#include "DocFilterActionStruct.h" 
    1919#include "DocAllMatchingIdsTable.h" 
    20 #include <tinyxml/tinyxml.h> 
    2120 
    2221CDocFilterActionStruct::CDocFilterActionStruct(CARInside &arIn, CARServerObject &obj, string schemaName, int rootLevel, int structItemType) 
     
    362361                        tmpDisplayName = readFromSchemaName; 
    363362 
    364                 //check if it is a webservice set fields 
    365                 if(strcmp(tmpDisplayName.c_str(), "ARSYS.ARF.WEBSERVICE")==0) 
    366                 { 
    367                         //NumItems = action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems; 
    368                         //action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[X].u.value 
    369                         //0 = Unknown 
    370                         //1 = Unknown 
    371                         //2 = Unknown 
    372                         //3 = Unknown 
    373                         //4 = WSDL Location 
    374                         //5 = Web Service 
    375                         //6 = Operation 
    376                         //7 = URI 
    377                         //8 = URN 
    378                         //9 = Input Mappings 
    379                         //10 = Output Mappings 
    380                         //11 = Port 
    381  
    382                         //populate operation string from input #6 
    383                         string operation = ""; 
    384                         string form = ""; 
    385  
    386                         TiXmlDocument operationXML; 
    387                         operationXML.Parse(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[6].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
    388                         TiXmlHandle opHandle(&operationXML); 
    389                         TiXmlElement *opElement = opHandle.FirstChild("operation").FirstChild("inputMapping").ToElement(); 
    390                         if (opElement) 
    391                                 operation = opElement->Attribute("name"); 
    392  
    393                         strm << "Read Value for Field from: WEB SERVICE<br/>"; 
    394                         strm << "WSDL Location: " << (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 4 ? CARValue::ValueToString(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[4].u.value) : "") << "<br/>";  
    395                         strm << "Web Service: " << (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 5 ? CARValue::ValueToString(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[5].u.value) : "") << "<br/>";  
    396                         strm << "Port: " << (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 11 ? CARValue::ValueToString(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[11].u.value) : "") << "<br/>";  
    397                         strm << "Operation: " << operation << "<br/>"; 
    398                         strm << "URI: " << (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 7 ? CARValue::ValueToString(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[7].u.value) : "") << "<br/>";  
    399                         strm << "URN: " << (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 8 ? CARValue::ValueToString(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[8].u.value) : "") << "<br/>";  
    400  
    401                         //process input mapping 
    402                         if (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 9) 
    403                         { 
    404                                 stringstream input; 
    405                                 input.str(""); 
    406  
    407                                 TiXmlDocument inputXML; 
    408                                 inputXML.Parse(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[9].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
    409                                 TiXmlHandle inputHandle(&inputXML); 
    410                                 TiXmlNode *element = inputHandle.FirstChild("arDocMapping").FirstChild("formMapping").ToNode(); 
    411  
    412                                 CTable tblInputMappingList("pushFieldsList", "TblObjectList"); 
    413                                 tblInputMappingList.AddColumn(30, "Element"); 
    414                                 tblInputMappingList.AddColumn(70, "Field"); 
    415                                 input << processMappingXML(element, "", tblInputMappingList, "", WMM_INPUT); 
    416                                 input << tblInputMappingList; 
    417                                 strm << "<BR/>"; 
    418                                 strm << "Input Mapping: " << input.str() << "<BR/>"; 
    419                         } 
    420  
    421                         //process output mapping 
    422                         if (action.fieldList.fieldAssignList[0].assignment.u.filterApi->numItems > 10) 
    423                         { 
    424                                 stringstream output; 
    425                                 output.str(""); 
    426  
    427                                 TiXmlDocument outputXML; 
    428                                 outputXML.Parse(action.fieldList.fieldAssignList[0].assignment.u.filterApi->inputValues[10].u.value.u.charVal, 0, TIXML_DEFAULT_ENCODING); 
    429                                 TiXmlHandle outputHandle(&outputXML); 
    430                                 TiXmlNode *element = outputHandle.FirstChild("arDocMapping").FirstChild("formMapping").ToNode(); 
    431  
    432                                 CTable tblOutputMappingList("pushFieldsList", "TblObjectList"); 
    433                                 tblOutputMappingList.AddColumn(30, "Element"); 
    434                                 tblOutputMappingList.AddColumn(70, "Field"); 
    435  
    436                                 output << processMappingXML(element, "", tblOutputMappingList, "", WMM_OUTPUT); 
    437                                 output << tblOutputMappingList; 
    438                                 strm << "Output Mapping: " << output.str(); 
    439                         } 
    440                 } 
    441363                else 
    442364                { 
     
    719641} 
    720642 
    721 string CDocFilterActionStruct::processMappingXML( TiXmlNode* pParent, string sParent, CTable &tblFieldList, string form, WebserviceMappingMode type) 
    722 { 
    723         if ( !pParent ) 
    724                 return ""; 
    725  
    726         stringstream strm; 
    727  
    728         TiXmlNode* pChild; 
    729         int t = pParent->Type(); 
    730  
    731         switch ( t ) 
    732         { 
    733         case TiXmlNode::ELEMENT: 
    734                 if (strcmp("element",pParent->Value()) == 0) 
    735                 { 
    736                         sParent = pParent->ToElement()->Attribute("name"); 
    737                 } 
    738                 else if (strcmp("formMapping",pParent->Value()) == 0) 
    739                 { 
    740                         form = pParent->FirstChild("form")->ToElement()->Attribute("formName"); 
    741                 } 
    742                 else if (strcmp("fieldMapping",pParent->Value()) == 0) 
    743                 { 
    744                         int fieldID = atoi(pParent->ToElement()->Attribute("arFieldId")); 
    745  
    746                         CTableRow row("cssStdRow"); 
    747                         row.AddCell(CTableCell(sParent)); 
    748                         row.AddCell(CTableCell(arIn->LinkToField(form, fieldID, rootLevel))); 
    749                         //row.AddCell(CTableCell(form + " - "+arIn->LinkToField(form, fieldID, rootLevel))); 
    750                         tblFieldList.AddRow(row);        
    751  
    752                         int msgId = 0; 
    753                         switch (type) 
    754                         { 
    755                         case WMM_INPUT: msgId = REFM_SETFIELDS_WS_INPUT; break; 
    756                         case WMM_OUTPUT: msgId = REFM_SETFIELDS_WS_OUTPUT; break; 
    757                         } 
    758                         CRefItem refItem(*this->obj, ifElse, 0, msgId); 
    759                         arIn->AddFieldReference(arIn->SchemaGetInsideId(form), fieldID, refItem); 
    760                 } 
    761                 break; 
    762         } 
    763         for ( pChild = pParent->FirstChild(); pChild != 0; pChild = pChild->NextSibling())  
    764         { 
    765                 strm << processMappingXML( pChild, sParent, tblFieldList, form, type); 
    766         } 
    767  
    768         return strm.str(); 
    769 } 
    770  
    771643#if AR_CURRENT_API_VERSION >= AR_API_VERSION_750 
    772644// AR_FILTER_ACTION_SERVICE 
  • branches/work_304/doc/DocFilterActionStruct.h

    r372 r373  
    1919#include "../core/ARAssignHelper.h" 
    2020#include "../core/ARQualification.h" 
    21 #include <tinyxml/tinyxml.h> 
    2221 
    2322using namespace OUTPUT; 
     
    4039        int structItemType; 
    4140        IfElseState ifElse; 
    42  
    43         enum WebserviceMappingMode  
    44         { 
    45                 WMM_INPUT, 
    46                 WMM_OUTPUT 
    47         }; 
    4841 
    4942        //AR_FILTER_ACTION_NONE 
     
    8376        string FilterActionGotoGuideLabel(ARGotoGuideLabelStruct &action, int nAction); 
    8477 
    85         string processMappingXML( TiXmlNode* pParent, string sParent, CTable &tblFieldList, string form, WebserviceMappingMode type); 
    86  
    8778#if AR_CURRENT_API_VERSION >= AR_API_VERSION_750 
    8879        // AR_FILTER_ACTION_SERVICE 
Note: See TracChangeset for help on using the changeset viewer.