コード例 #1
0
    bool HIVSimpleDiagnostic::Configure(const Configuration * inputJson)
    {
        if( getEventOrConfig( inputJson ) == EventOrConfig::Event || JsonConfigurable::_dryrun )
        {
            initConfigTypeMap( "Negative_Diagnosis_Event", &negative_diagnosis_event, HIV_SD_Negative_Diagnosis_Event_DESC_TEXT );
        }

        ConfigurePositiveEventOrConfig( inputJson );
        bool ret = JsonConfigurable::Configure(inputJson);
        if( ret )
        {
            // error if the cascadeState is an abortState
            if (abortStates.find(cascadeState) != abortStates.end())
            {
                std::string abort_state_list ;
                for( auto state : abortStates )
                {
                    abort_state_list += state + ", " ;
                }
                if( abortStates.size() > 0 )
                {
                    abort_state_list = abort_state_list.substr( 0, abort_state_list.length() - 2 );
                }
                throw IncoherentConfigurationException( __FILE__, __LINE__, __FUNCTION__,
                                                        "Cascade_State", cascadeState.c_str(),
                                                        "Abort_States", abort_state_list.c_str(),
                                                        "The Cascade_State cannot be one of the Abort_States." );
            }

            //CheckPostiveEventConfig();
        }
        return ret ;
    }
コード例 #2
0
ファイル: HIVSimpleDiagnostic.cpp プロジェクト: clorton/EMOD
    bool HIVSimpleDiagnostic::Configure(const Configuration * inputJson)
    {
        if( getEventOrConfig( inputJson ) == EventOrConfig::Event || JsonConfigurable::_dryrun )
        {
            initConfigTypeMap( "Negative_Diagnosis_Event", &negative_diagnosis_event, HIV_SD_Negative_Diagnosis_Event_DESC_TEXT );
        }

        ConfigurePositiveEventOrConfig( inputJson );
        bool ret = BaseIntervention::Configure(inputJson);
        if( ret )
        {
            //CheckPostiveEventConfig();
        }
        return ret ;
    }