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 ; }
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 ; }