* @param mleSourceObj : Object containing the details of the host and the MLE.
* @return True or False
*/
public String addMleSource(MleSource mleSourceObj) {
TblMle tblMle;
MleData mleData = null;
try {
try {
mleData = mleSourceObj.getMleData();
// Verify if the MLE exists in the system.
tblMle = getMleDetails(mleData.getName(), mleData.getVersion(), mleData.getOsName(),
mleData.getOsVersion(), mleData.getOemName());
} catch (NoResultException nre){
throw new ASException(nre,ErrorCode.WS_MLE_DOES_NOT_EXIST, mleData.getName(), mleData.getVersion());
}
MwMleSourceJpaController mleSourceJpaController = new MwMleSourceJpaController(getEntityManagerFactory());
// Let us check if there is a mapping entry already for this MLE. If it does, then we need to return
// back appropriate error.
MwMleSource mleSourceCurrentObj = mleSourceJpaController.findByMleId(tblMle.getId());
if (mleSourceCurrentObj != null) {
log.error("White List host is already mapped to the MLE - " + tblMle.getName());
throw new ASException(ErrorCode.WS_MLE_SOURCE_MAPPING_ALREADY_EXISTS, mleData.getName());
}
// Else create a new entry in the DB.
MwMleSource mleSourceData = new MwMleSource();
mleSourceData.setMleId(tblMle);