126 lines
3.5 KiB
C++
126 lines
3.5 KiB
C++
/*
|
|
* @file ModuleErroInfo.cpp
|
|
* @author Haidong Wang
|
|
* @date 2011-10-21
|
|
* @brief 模块参数检查的错误信息结果定义
|
|
*/
|
|
|
|
#include "ModuleCheckResult.h"
|
|
|
|
namespace pai {
|
|
namespace module {
|
|
|
|
CModuleParameterErrorInfo::CModuleParameterErrorInfo(const std::string& strParameterItemID,const std::string& strMessage)
|
|
:m_strParamItemID(strParameterItemID)
|
|
,m_strMessage(strMessage)
|
|
{
|
|
|
|
}
|
|
std::string CModuleParameterErrorInfo::GetParameterItemID() const
|
|
{
|
|
return m_strParamItemID;
|
|
}
|
|
/**
|
|
* @brief 获取该模块参数Validate后产生的错误信息
|
|
*/
|
|
std::string CModuleParameterErrorInfo::GetMessage() const
|
|
{
|
|
return m_strMessage;
|
|
}
|
|
|
|
void CModuleParameterErrorInfo::SetMessage(const std::string& strMessage)
|
|
{
|
|
m_strMessage=strMessage;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////
|
|
CModuleCheckResult::CModuleCheckResult(int iModuleStepID)
|
|
:m_iModuleStepID(iModuleStepID), m_vecParameterErroInfos()
|
|
{
|
|
|
|
}
|
|
|
|
bool CModuleCheckResult::IsEmpty() const
|
|
{
|
|
return m_vecParameterErroInfos.empty();
|
|
}
|
|
/**
|
|
* @brief 增加模块参数错误信息
|
|
* @param iParameterItemIndex 模块参数在对应模块的参数容器中的索引
|
|
* @param strMessage 该模块参数的错误信息
|
|
*/
|
|
void CModuleCheckResult::AddParameterErroInfo(const std::string& strParameterItemID,const std::string& strMessage)
|
|
{
|
|
AddParameterErroInfo(CModuleParameterErrorInfo(strParameterItemID,strMessage));
|
|
}
|
|
/**
|
|
* @brief 增加模块参数错误信息
|
|
* @param parameterErroInfo 模块参数错误信息
|
|
*/
|
|
void CModuleCheckResult::AddParameterErroInfo(const CModuleParameterErrorInfo& parameterErroInfo)
|
|
{
|
|
std::string strParameterIndexD=parameterErroInfo.GetParameterItemID();
|
|
for(std::vector<CModuleParameterErrorInfo>::iterator it=m_vecParameterErroInfos.begin(); it!=m_vecParameterErroInfos.end(); ++it)
|
|
{
|
|
if((*it).GetParameterItemID()==strParameterIndexD)
|
|
{
|
|
it->SetMessage(parameterErroInfo.GetMessage());
|
|
return;
|
|
}
|
|
}
|
|
m_vecParameterErroInfos.push_back(parameterErroInfo);
|
|
}
|
|
/**
|
|
* @brief 移除模块参数错误信息
|
|
* @param iParameterItemIndex 模块参数在对应模块的参数容器中的索引
|
|
*/
|
|
bool CModuleCheckResult::RemoveParameterErroInfo(const std::string& strParameterItemID)
|
|
{
|
|
for(std::vector<CModuleParameterErrorInfo>::iterator it=m_vecParameterErroInfos.begin(); it!=m_vecParameterErroInfos.end(); ++it)
|
|
{
|
|
if((*it).GetParameterItemID()==strParameterItemID)
|
|
{
|
|
m_vecParameterErroInfos.erase(it);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
/**
|
|
* @brief 得出所有出错的参数的索引
|
|
* @brief[out] vecParameterItemIndices 所有出错的参数的索引
|
|
*/
|
|
void CModuleCheckResult::GetErroInfoParameterIDs(std::vector<std::string>& vecParameterItemIDs) const
|
|
{
|
|
for(std::vector<CModuleParameterErrorInfo>::const_iterator it=m_vecParameterErroInfos.begin(); it!=m_vecParameterErroInfos.end(); ++it)
|
|
{
|
|
vecParameterItemIDs.push_back((*it).GetParameterItemID());
|
|
}
|
|
}
|
|
/**
|
|
* @brief 根据指定的参数索引得出对应的参数错误信息
|
|
* @param iParameterItemIndex 模块参数在对应模块的参数容器中的索引
|
|
* @return 参数错误信息
|
|
*/
|
|
std::string CModuleCheckResult::GetErrorMessage(const std::string& strParameterItemID) const
|
|
{
|
|
for(std::vector<CModuleParameterErrorInfo>::const_iterator it=m_vecParameterErroInfos.begin(); it!=m_vecParameterErroInfos.end(); ++it)
|
|
{
|
|
if((*it).GetParameterItemID()==strParameterItemID)
|
|
{
|
|
return (*it).GetMessage();
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
/**
|
|
* @brief 清空所有错误信息
|
|
*/
|
|
void CModuleCheckResult::Clear()
|
|
{
|
|
m_vecParameterErroInfos.clear();
|
|
}
|
|
|
|
}
|
|
}
|