Changeset 558


Ignore:
Timestamp:
06/12/14 18:30:35 (5 years ago)
Author:
jls17
Message:
  • further work on the CARQualification class (replaced pFormId and sFormId with class-member-variables)
  • little fix for the EXTERNAL function if it is used in runif
Location:
branches/work_311
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/work_311/core/ARQualification.cpp

    r557 r558  
    2020#include "../output/URLLink.h" 
    2121 
    22 CARQualification::CARQualification(CARInside &arIn, const CRefItem &referenceItem) 
     22CARQualification::CARQualification(CARInside &arIn, const CRefItem &referenceItem, int currentFormId, int rootLevel) 
    2323: refItem(referenceItem) 
    2424{ 
     
    2626        this->tmpFormId = 0; 
    2727        arsStructItemType = AR_STRUCT_ITEM_XML_NONE; 
     28 
     29        this->primaryFormId = currentFormId; 
     30        this->secondaryFormId = currentFormId; 
     31 
     32        this->primaryFormDelimiter = '\''; 
     33        this->secondaryFormDelimiter = '\''; 
     34 
     35        this->rootLevel = rootLevel; 
     36} 
     37 
     38CARQualification::CARQualification(CARInside &arIn, const CRefItem &referenceItem, int currentFormId, int otherFormId, int rootLevel) 
     39: refItem(referenceItem) 
     40{ 
     41        this->arIn = &arIn; 
     42        this->tmpFormId = 0; 
     43        arsStructItemType = AR_STRUCT_ITEM_XML_NONE; 
     44 
     45        this->primaryFormId = currentFormId; 
     46        this->secondaryFormId = otherFormId; 
     47 
     48        this->primaryFormDelimiter = '$'; 
     49        this->secondaryFormDelimiter = '\''; 
     50 
     51        this->rootLevel = rootLevel; 
    2852} 
    2953 
     
    3357 
    3458 
    35 void CARQualification::CheckQuery(const ARQualifierStruct *query, int pFormId, int sFormId, stringstream &qText, int rootLevel) 
     59void CARQualification::CheckQuery(const ARQualifierStruct *query, stringstream &qText) 
    3660{ 
    3761        qualLevels.push_back(query); 
     
    4771                        { 
    4872                                if (query->u.andor.operandLeft->operation != query->operation && query->u.andor.operandLeft->operation != AR_COND_OP_REL_OP) qText << "("; 
    49                                 CheckQuery(query->u.andor.operandLeft, pFormId, sFormId, qText, rootLevel); 
     73                                CheckQuery(query->u.andor.operandLeft, qText); 
    5074                                if (query->u.andor.operandLeft->operation != query->operation && query->u.andor.operandLeft->operation != AR_COND_OP_REL_OP) qText << ")"; 
    5175 
     
    5781 
    5882                                if (query->u.andor.operandRight->operation != query->operation && query->u.andor.operandRight->operation != AR_COND_OP_REL_OP) qText << "("; 
    59                                 CheckQuery(query->u.andor.operandRight, pFormId, sFormId, qText, rootLevel); 
     83                                CheckQuery(query->u.andor.operandRight, qText); 
    6084                                if (query->u.andor.operandRight->operation != query->operation && query->u.andor.operandRight->operation != AR_COND_OP_REL_OP) qText << ")"; 
    6185                        } 
     
    6690                        { 
    6791                                if (query->u.notQual->operation != AR_COND_OP_REL_OP) qText << "("; 
    68                                 CheckQuery(query->u.notQual, pFormId, sFormId, qText, rootLevel); 
     92                                CheckQuery(query->u.notQual, qText); 
    6993                                if (query->u.notQual->operation != AR_COND_OP_REL_OP) qText << ")";  
    7094                        } 
    7195                        break; 
    7296                case AR_COND_OP_REL_OP: 
    73                         CheckOperand(&query->u.relOp->operandLeft, NULL, refItem, pFormId, sFormId, qText, rootLevel); 
     97                        CheckOperand(&query->u.relOp->operandLeft, NULL, qText); 
    7498                        switch (query->u.relOp->operation)  
    7599                        {                
     
    96120                                break; 
    97121                        } 
    98                         CheckOperand(&query->u.relOp->operandRight, NULL, refItem, pFormId, sFormId, qText, rootLevel); 
     122                        CheckOperand(&query->u.relOp->operandRight, NULL, qText); 
    99123                        break; 
    100124                case AR_COND_OP_FROM_FIELD: //A qualification located in a field on the form. 
    101                         qText << "EXTERNAL ($" << arIn->LinkToField(pFormId, query->u.fieldId, rootLevel) << "$)"; 
    102  
    103                         arIn->AddFieldReference(pFormId, query->u.fieldId, refItem); 
     125                        qText << "EXTERNAL(" << primaryFormDelimiter << arIn->LinkToField(primaryFormId, query->u.fieldId, rootLevel) << primaryFormDelimiter << ")"; 
     126 
     127                        arIn->AddFieldReference(primaryFormId, query->u.fieldId, refItem); 
    104128                        break; 
    105129                } 
     
    108132} 
    109133 
    110 void CARQualification::CheckOperand(ARFieldValueOrArithStruct *operand, ARFieldValueOrArithStruct *parent, const CRefItem &refItem, int pFormId, int sFormId, stringstream &qText, int rootLevel) 
     134void CARQualification::CheckOperand(ARFieldValueOrArithStruct *operand, ARFieldValueOrArithStruct *parent, stringstream &qText) 
    111135{                
    112136        switch(operand->tag) 
    113137        { 
    114138        case AR_FIELD: //Foreign field id 
    115                 tmpFormId = sFormId; 
    116  
    117                 qText << "'" << arIn->LinkToField(sFormId, operand->u.fieldId, rootLevel) << "'";                                
    118  
    119                 if(!arIn->FieldreferenceExists(sFormId, operand->u.fieldId, refItem)) 
    120                 { 
    121                         arIn->AddFieldReference(sFormId, operand->u.fieldId, refItem); 
     139                tmpFormId = secondaryFormId; 
     140 
     141                qText << primaryFormDelimiter << arIn->LinkToField(secondaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     142 
     143                if(!arIn->FieldreferenceExists(secondaryFormId, operand->u.fieldId, refItem)) 
     144                { 
     145                        arIn->AddFieldReference(secondaryFormId, operand->u.fieldId, refItem); 
    122146                } 
    123147                break;   
    124148        case AR_FIELD_TRAN: 
    125                 tmpFormId = pFormId; 
    126  
    127                 qText << "'TR." << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "'";             
    128  
    129                 if(!arIn->FieldreferenceExists(pFormId, operand->u.fieldId, refItem)) 
    130                 { 
    131                         arIn->AddFieldReference(pFormId, operand->u.fieldId, refItem); 
     149                tmpFormId = primaryFormId; 
     150 
     151                qText << primaryFormDelimiter << "TR." << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     152 
     153                if(!arIn->FieldreferenceExists(primaryFormId, operand->u.fieldId, refItem)) 
     154                { 
     155                        arIn->AddFieldReference(primaryFormId, operand->u.fieldId, refItem); 
    132156                } 
    133157                break;   
    134158        case AR_FIELD_DB: 
    135                 tmpFormId = pFormId; 
    136  
    137                 qText << "'DB." << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "'";                             
    138  
    139                 if(!arIn->FieldreferenceExists(pFormId, operand->u.fieldId, refItem)) 
    140                 { 
    141                         arIn->AddFieldReference(pFormId, operand->u.fieldId, refItem); 
     159                tmpFormId = primaryFormId; 
     160 
     161                qText << primaryFormDelimiter << "DB." << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     162 
     163                if(!arIn->FieldreferenceExists(primaryFormId, operand->u.fieldId, refItem)) 
     164                { 
     165                        arIn->AddFieldReference(primaryFormId, operand->u.fieldId, refItem); 
    142166                } 
    143167                break;   
    144168        case AR_FIELD_CURRENT: 
    145                 tmpFormId = pFormId; 
    146  
    147                 if(arsStructItemType == AR_STRUCT_ITEM_XML_ACTIVE_LINK && pFormId == sFormId) 
    148                         qText << "$" << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "$"; 
    149                 else if(arsStructItemType == AR_STRUCT_ITEM_XML_FILTER && pFormId == sFormId) 
    150                         qText << "$" << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "$"; 
    151                 else if(arsStructItemType == AR_STRUCT_ITEM_XML_CHAR_MENU && pFormId == sFormId) 
    152                         qText << "$" << arIn->LinkToMenuField(pFormId, operand->u.fieldId, rootLevel) << "$"; 
     169                tmpFormId = primaryFormId; 
     170 
     171                if(arsStructItemType == AR_STRUCT_ITEM_XML_ACTIVE_LINK && primaryFormId == secondaryFormId) 
     172                        qText << primaryFormDelimiter << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     173                else if(arsStructItemType == AR_STRUCT_ITEM_XML_FILTER && primaryFormId == secondaryFormId) 
     174                        qText << primaryFormDelimiter << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     175                else if(arsStructItemType == AR_STRUCT_ITEM_XML_CHAR_MENU && primaryFormId == secondaryFormId) 
     176                        qText << primaryFormDelimiter << arIn->LinkToMenuField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
    153177                else 
    154178                { 
    155                         if (pFormId != sFormId) 
    156                                 qText << "$" << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "$"; 
     179                        if (primaryFormId != secondaryFormId) 
     180                                qText << primaryFormDelimiter << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
    157181                        else 
    158                                 qText << "'" << arIn->LinkToField(pFormId, operand->u.fieldId, rootLevel) << "'"; 
    159                 } 
    160  
    161                 if(arsStructItemType != AR_STRUCT_ITEM_XML_CHAR_MENU && !arIn->FieldreferenceExists(pFormId, operand->u.fieldId, refItem)) 
    162                 { 
    163                         arIn->AddFieldReference(pFormId, operand->u.fieldId, refItem); 
     182                                qText << primaryFormDelimiter << arIn->LinkToField(primaryFormId, operand->u.fieldId, rootLevel) << primaryFormDelimiter; 
     183                } 
     184 
     185                if(arsStructItemType != AR_STRUCT_ITEM_XML_CHAR_MENU && !arIn->FieldreferenceExists(primaryFormId, operand->u.fieldId, refItem)) 
     186                { 
     187                        arIn->AddFieldReference(primaryFormId, operand->u.fieldId, refItem); 
    164188                } 
    165189 
     
    183207                        try 
    184208                        { 
    185                                 int tmpFieldId = FindCurrentEnumFieldId(pFormId, sFormId); 
     209                                int tmpFieldId = FindCurrentEnumFieldId(); 
    186210                                string tmp = arIn->GetFieldEnumValue(tmpFormId, tmpFieldId, data->u.intVal); 
    187211 
     
    261285                case AR_ARITH_OP_ADD: 
    262286                        if (addBracket) qText << "("; 
    263                         CheckOperand(&operand->u.arithOp->operandLeft, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     287                        CheckOperand(&operand->u.arithOp->operandLeft, operand, qText); 
    264288                        qText << CAREnum::Operand(AR_ARITH_OP_ADD); 
    265                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     289                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    266290                        if (addBracket) qText << ")"; 
    267291                        break; 
    268292                case AR_ARITH_OP_SUBTRACT: 
    269293                        if (addBracket) qText << "("; 
    270                         CheckOperand(&operand->u.arithOp->operandLeft, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     294                        CheckOperand(&operand->u.arithOp->operandLeft, operand, qText); 
    271295                        qText << CAREnum::Operand(AR_ARITH_OP_SUBTRACT); 
    272                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     296                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    273297                        if (addBracket) qText << ")"; 
    274298                        break; 
    275299                case AR_ARITH_OP_MULTIPLY: 
    276300                        if (addBracket) qText << "("; 
    277                         CheckOperand(&operand->u.arithOp->operandLeft, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     301                        CheckOperand(&operand->u.arithOp->operandLeft, operand, qText); 
    278302                        qText << CAREnum::Operand(AR_ARITH_OP_MULTIPLY); 
    279                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     303                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    280304                        if (addBracket) qText << ")"; 
    281305                        break; 
    282306                case AR_ARITH_OP_DIVIDE: 
    283307                        if (addBracket) qText << "("; 
    284                         CheckOperand(&operand->u.arithOp->operandLeft, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     308                        CheckOperand(&operand->u.arithOp->operandLeft, operand, qText); 
    285309                        qText << CAREnum::Operand(AR_ARITH_OP_DIVIDE); 
    286                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     310                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    287311                        if (addBracket) qText << ")"; 
    288312                        break; 
    289313                case AR_ARITH_OP_MODULO: 
    290314                        if (addBracket) qText << "("; 
    291                         CheckOperand(&operand->u.arithOp->operandLeft, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     315                        CheckOperand(&operand->u.arithOp->operandLeft, operand, qText); 
    292316                        qText << CAREnum::Operand(AR_ARITH_OP_MODULO); 
    293                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     317                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    294318                        if (addBracket) qText << ")"; 
    295319                        break; 
    296320                case AR_ARITH_OP_NEGATE: 
    297321                        qText << CAREnum::Operand(AR_ARITH_OP_NEGATE); 
    298                         CheckOperand(&operand->u.arithOp->operandRight, operand, refItem, pFormId, sFormId, qText, rootLevel); 
     322                        CheckOperand(&operand->u.arithOp->operandRight, operand, qText); 
    299323                        break; 
    300324                } 
     
    303327        case AR_STAT_HISTORY: 
    304328                { 
    305                         qText << "'" << arIn->LinkToField(pFormId, 15, rootLevel) << "."; 
    306  
    307                         if(!arIn->FieldreferenceExists(pFormId, 15, refItem)) 
    308                         { 
    309                                 arIn->AddFieldReference(pFormId, 15, refItem); 
    310                         } 
    311  
    312                         string tmp = arIn->GetFieldEnumValue(pFormId, 7, operand->u.statHistory.enumVal);                                                                
     329                        qText << "'" << arIn->LinkToField(primaryFormId, 15, rootLevel) << "."; 
     330 
     331                        if(!arIn->FieldreferenceExists(primaryFormId, 15, refItem)) 
     332                        { 
     333                                arIn->AddFieldReference(primaryFormId, 15, refItem); 
     334                        } 
     335 
     336                        string tmp = arIn->GetFieldEnumValue(primaryFormId, 7, operand->u.statHistory.enumVal);                                                          
    313337                        if(!tmp.empty()) 
    314338                                qText << tmp; 
     
    332356        case AR_CURRENCY_FLD_TRAN: 
    333357                { 
    334                         CDocCurrencyField docCurrency(pFormId, *operand->u.currencyField); 
     358                        CDocCurrencyField docCurrency(primaryFormId, *operand->u.currencyField); 
    335359                        char *prefix = getFieldPrefix(operand); 
    336360                         
    337                         qText << "'"; 
     361                        qText << primaryFormDelimiter; 
    338362                        if (prefix != NULL) qText << prefix; 
    339363                        docCurrency.GetResolvedAndLinkedField(qText, refItem, rootLevel); 
    340                         qText << "'"; 
     364                        qText << primaryFormDelimiter; 
    341365                } 
    342366                break; 
     
    344368} 
    345369 
    346 int CARQualification::FindCurrentEnumFieldId(int pFormId, int sFormId) 
     370int CARQualification::FindCurrentEnumFieldId() 
    347371{ 
    348372        int pos = (int)qualLevels.size() - 1; 
     
    357381                        { 
    358382                        case AR_FIELD: 
    359                                 tmpFormId = sFormId; 
     383                                tmpFormId = secondaryFormId; 
    360384                                return current->u.relOp->operandLeft.u.fieldId; 
    361385                        case AR_FIELD_TRAN: 
    362386                        case AR_FIELD_DB: 
    363387                        case AR_FIELD_CURRENT: 
    364                                 tmpFormId = pFormId; 
     388                                tmpFormId = primaryFormId; 
    365389                                return current->u.relOp->operandLeft.u.fieldId; 
    366390                        } 
     
    369393                        { 
    370394                        case AR_FIELD: 
    371                                 tmpFormId = sFormId; 
     395                                tmpFormId = secondaryFormId; 
    372396                                return current->u.relOp->operandRight.u.fieldId; 
    373397                        case AR_FIELD_TRAN: 
    374398                        case AR_FIELD_DB: 
    375399                        case AR_FIELD_CURRENT: 
    376                                 tmpFormId = pFormId; 
     400                                tmpFormId = primaryFormId; 
    377401                                return current->u.relOp->operandRight.u.fieldId; 
    378402                        } 
  • branches/work_311/core/ARQualification.h

    r557 r558  
    2121{ 
    2222public: 
    23         CARQualification(CARInside &arIn, const CRefItem &referenceItem); 
     23        // use this constructor in case only one form is involved (e.g. run if) 
     24        CARQualification(CARInside &arIn, const CRefItem &referenceItem, int currentFormId, int rootLevel); 
     25        // use this constructor in case two forms are involved (e.g. setfield-if, pushfield-if) 
     26        CARQualification(CARInside &arIn, const CRefItem &referenceItem, int currentFormId, int otherFormId, int rootLevel); 
     27 
    2428        ~CARQualification(void); 
    2529 
    26         void CheckQuery(const ARQualifierStruct *query, int pFormId, int sformId, stringstream &qText, int rootLevel); 
     30        void CheckQuery(const ARQualifierStruct *query, stringstream &qText); 
    2731 
    2832        int arsStructItemType;; 
     
    3135        CARInside *arIn; 
    3236        CRefItem refItem; 
    33         void CheckOperand(ARFieldValueOrArithStruct *operand, ARFieldValueOrArithStruct *parent, const CRefItem &refItem, int pFormId, int sFormId, stringstream &qText, int rootLevel); 
    34         int FindCurrentEnumFieldId(int pFormId, int sFormId); 
     37        int primaryFormId; 
     38        int secondaryFormId; 
     39        int rootLevel; 
     40        char primaryFormDelimiter; 
     41        char secondaryFormDelimiter; 
     42 
     43        void CheckOperand(ARFieldValueOrArithStruct *operand, ARFieldValueOrArithStruct *parent, stringstream &qText); 
     44        int FindCurrentEnumFieldId(); 
    3545        char* getFieldPrefix(ARFieldValueOrArithStruct *operand); 
    3646 
  • branches/work_311/doc/DocActionSetFieldsHelper.cpp

    r557 r558  
    106106                                CRefItem refItem(obj, ifElse, nAction, REFM_SETFIELDS_QUALIFICATION); 
    107107 
    108                                 CARQualification arQual(arIn, refItem); 
     108                                CARQualification arQual(arIn, refItem, pFormId, sFormId, rootLevel); 
    109109                                arQual.arsStructItemType = arStructItemType; 
    110                                 arQual.CheckQuery(sfh.GetQualifier(), pFormId, sFormId, strmTmpQual, rootLevel); 
     110                                arQual.CheckQuery(sfh.GetQualifier(), strmTmpQual); 
    111111 
    112112                                if(strmTmpQual.str().length() > 0) 
  • branches/work_311/doc/DocAlActionStruct.cpp

    r557 r558  
    549549                // push field if ************************************** 
    550550                strm << "<br/>Push Field If<br/>" << endl; 
    551                 stringstream strmTmpQual; 
    552  
    553                 CRefItem refItem(*this->obj, ifElse, nAction, REFM_PUSHFIELD_IF); 
    554                 CARQualification arQual(*arIn, refItem); 
    555551 
    556552                int pFormId = this->arIn->SchemaGetInsideId(schemaName); 
    557553                int sFormId = this->arIn->SchemaGetInsideId(pushSchema); 
    558554 
    559                 arQual.CheckQuery(&action.pushFieldsList.pushFieldsList[0].field.qualifier, pFormId, sFormId, strmTmpQual, rootLevel); 
     555                stringstream strmTmpQual; 
     556                CRefItem refItem(*this->obj, ifElse, nAction, REFM_PUSHFIELD_IF); 
     557                CARQualification arQual(*arIn, refItem, pFormId, sFormId, rootLevel); 
     558 
     559                arQual.CheckQuery(&action.pushFieldsList.pushFieldsList[0].field.qualifier, strmTmpQual); 
    560560 
    561561                if(strmTmpQual.str().length() > 0) 
     
    10161016 
    10171017                                CRefItem refItem(*this->obj, ifElse, nAction, REFM_OPENWINDOW_QUALIFICATION); 
    1018  
    1019                                 strmTmpQual.str(""); 
    1020                                 CARQualification arQual(*this->arIn, refItem); 
    10211018                                int pFormId = schemaInsideId; // this->arIn->SchemaGetInsideId(schemaName.c_str()); 
    10221019                                int sFormId = this->arIn->SchemaGetInsideId(openWindowSchema); 
    1023                                 arQual.CheckQuery(&action.query, pFormId, sFormId, strmTmpQual, rootLevel); 
     1020 
     1021                                strmTmpQual.str(""); 
     1022                                CARQualification arQual(*this->arIn, refItem, pFormId, sFormId, rootLevel); 
     1023                                arQual.CheckQuery(&action.query, strmTmpQual); 
    10241024 
    10251025                                strm << "<p>Qualification:<br/>" << endl; 
  • branches/work_311/doc/DocAlDetails.cpp

    r557 r558  
    269269                        CRefItem refItem(this->al, REFM_RUNIF); 
    270270 
    271                         CARQualification arQual(*this->pInside, refItem); 
    272                         arQual.CheckQuery(&this->al.GetRunIf(), schemaInsideId, schemaInsideId, strmTmp, rootLevel); 
     271                        CARQualification arQual(*this->pInside, refItem, schemaInsideId, rootLevel); 
     272                        arQual.CheckQuery(&this->al.GetRunIf(), strmTmp); 
    273273                } 
    274274                else 
  • branches/work_311/doc/DocCharMenuDetails.cpp

    r557 r558  
    397397                        CRefItem refItemQuery(this->menu, REFM_CHARMENU_QUALIFICATION); 
    398398 
    399                         CARQualification arQual(*this->pInside, refItemQuery); 
     399                        CARQualification arQual(*this->pInside, refItemQuery, schema.GetInsideId(), querySchema.GetInsideId(), rootLevel); 
    400400                        arQual.arsStructItemType = AR_STRUCT_ITEM_XML_CHAR_MENU; 
    401                         arQual.CheckQuery(&menu.qualifier, schema.GetInsideId(), querySchema.GetInsideId(), strmQuery, rootLevel); 
     401                        arQual.CheckQuery(&menu.qualifier, strmQuery); 
    402402 
    403403                        if(strmQuery.str().length() > 0) 
  • branches/work_311/doc/DocEscalationDetails.cpp

    r557 r558  
    211211                if(this->escalation.GetRunIf().operation != AR_COND_OP_NONE) 
    212212                {                
     213                        int pFormId = this->pInside->SchemaGetInsideId(schemaName); 
     214 
    213215                        CRefItem refItem(this->escalation, REFM_RUNIF); 
    214  
    215                         CARQualification arQual(*this->pInside, refItem); 
    216                         int pFormId = this->pInside->SchemaGetInsideId(schemaName); 
    217                         int sFormId = pFormId; 
    218                         arQual.CheckQuery(&this->escalation.GetRunIf(), pFormId, sFormId, strmQuery, rootLevel); 
     216                        CARQualification arQual(*this->pInside, refItem, pFormId, rootLevel); 
     217                        arQual.CheckQuery(&this->escalation.GetRunIf(), strmQuery); 
    219218                } 
    220219                else 
  • branches/work_311/doc/DocFieldDetails.cpp

    r557 r558  
    562562                                {                
    563563                                        CRefItem refItem; // Dont change; reference to nothing, because table field references are already created 
    564                                         CARQualification arQual(*this->pInside, refItem); 
    565564                                        CARSchema tableSchema(tableSchemaName); 
    566  
    567                                         arQual.CheckQuery(&fLimit.qualifier, schema.GetInsideId(), tableSchema.GetInsideId(), strmQuery, rootLevel); 
     565                                        CARQualification arQual(*this->pInside, refItem, schema.GetInsideId(), tableSchema.GetInsideId(), rootLevel); 
     566 
     567                                        arQual.CheckQuery(&fLimit.qualifier, strmQuery); 
    568568                                } 
    569569                                else 
  • branches/work_311/doc/DocFilterActionStruct.cpp

    r557 r558  
    430430                stringstream strmTmpQual; 
    431431 
    432                 CRefItem refItem(*this->obj, ifElse, nAction, REFM_PUSHFIELD_IF); 
    433                 CARQualification arQual(*arIn, refItem); 
    434                 arQual.arsStructItemType = AR_STRUCT_ITEM_XML_FILTER; 
    435  
    436432                int pFormId = this->arIn->SchemaGetInsideId(schemaName); 
    437433                int sFormId = this->arIn->SchemaGetInsideId(pushSchema); 
    438434 
    439                 arQual.CheckQuery(&action.pushFieldsList.pushFieldsList[0].field.qualifier, pFormId, sFormId, strmTmpQual, rootLevel); 
     435                CRefItem refItem(*this->obj, ifElse, nAction, REFM_PUSHFIELD_IF); 
     436                CARQualification arQual(*arIn, refItem, pFormId, sFormId, rootLevel); 
     437                arQual.arsStructItemType = AR_STRUCT_ITEM_XML_FILTER; 
     438 
     439                arQual.CheckQuery(&action.pushFieldsList.pushFieldsList[0].field.qualifier, strmTmpQual); 
    440440 
    441441                if(strmTmpQual.str().length() > 0) 
  • branches/work_311/doc/DocFilterDetails.cpp

    r557 r558  
    198198                {                
    199199                        CRefItem refItem(this->filter, REFM_RUNIF); 
    200                         CARQualification arQual(*this->pInside, refItem); 
    201200                        CARSchema wfSchema(schemaName); 
    202201 
    203                         arQual.CheckQuery(&this->filter.GetRunIf(), wfSchema.GetInsideId(), wfSchema.GetInsideId(), strmQuery, rootLevel); 
     202                        CARQualification arQual(*this->pInside, refItem, wfSchema.GetInsideId(), rootLevel); 
     203                        arQual.CheckQuery(&this->filter.GetRunIf(), strmQuery); 
    204204                } 
    205205                else 
  • branches/work_311/doc/DocSchemaDetails.cpp

    r557 r558  
    12021202                                { 
    12031203                                        stringstream strmQuery; 
    1204                                         CRefItem refItem(this->schema, REFM_SCHEMA_JOIN_QUALIFICATION); 
    1205                                         CARQualification arQual(*this->pInside, refItem); 
    1206  
    12071204                                        CARSchema memberA(compSchema.u.join.memberA); 
    12081205                                        CARSchema memberB(compSchema.u.join.memberB); 
    1209  
    1210                                         arQual.CheckQuery(&compSchema.u.join.joinQual, memberA.GetInsideId(), memberB.GetInsideId(), strmQuery, rootLevel); 
     1206                                        CRefItem refItem(this->schema, REFM_SCHEMA_JOIN_QUALIFICATION); 
     1207 
     1208                                        CARQualification arQual(*this->pInside, refItem, memberA.GetInsideId(), memberB.GetInsideId(), rootLevel); 
     1209                                        arQual.CheckQuery(&compSchema.u.join.joinQual, strmQuery); 
    12111210 
    12121211                                        strm << "Qualification: " << strmQuery.str(); 
     
    21272126                { 
    21282127                        CRefItem refItem(this->schema, REFM_SCHEMA_AUDIT_QUALIFICATION); 
    2129                         CARQualification arQual(*this->pInside, refItem); 
    2130                         arQual.CheckQuery(&audit.query, pFormId, pFormId, qualStrm, rootLevel); 
     2128                        CARQualification arQual(*this->pInside, refItem, pFormId, rootLevel); 
     2129                        arQual.CheckQuery(&audit.query, qualStrm); 
    21312130                } 
    21322131                else 
     
    22222221                { 
    22232222                        CRefItem refItem(this->schema, REFM_SCHEMA_ARCHIVE_QUALIFICATION); 
    2224                         CARQualification arQual(*this->pInside, refItem); 
    2225                         arQual.CheckQuery(&archive.query, pFormId, pFormId, qualStrm, rootLevel); 
     2223                        CARQualification arQual(*this->pInside, refItem, pFormId, rootLevel); 
     2224                        arQual.CheckQuery(&archive.query, qualStrm); 
    22262225                } 
    22272226                else 
  • branches/work_311/scan/ScanFields.cpp

    r557 r558  
    9595                                        stringstream strmQuery; 
    9696                                        CRefItem refItem(field, REFM_TABLEFIELD_QUALIFICATION); 
    97  
    98                                         CARQualification arQual(*arIn, refItem); 
    9997                                        int pFormId = field.GetSchema().GetInsideId(); 
    10098                                        int sFormId = tableSourceSchema.GetInsideId(); 
    10199 
    102                                         arQual.CheckQuery(&fLimit.qualifier, pFormId, sFormId, strmQuery, rootLevel); 
     100                                        CARQualification arQual(*arIn, refItem, pFormId, sFormId, rootLevel); 
     101                                        arQual.CheckQuery(&fLimit.qualifier, strmQuery); 
    103102                                } 
    104103                        } 
Note: See TracChangeset for help on using the changeset viewer.