package fi.pyramus.services.entities.grading;
import fi.otavanopisto.pyramus.dao.DAOFactory;
import fi.otavanopisto.pyramus.dao.grading.CourseAssessmentDAO;
import fi.otavanopisto.pyramus.dao.grading.TransferCreditDAO;
import fi.otavanopisto.pyramus.domainmodel.grading.Credit;
import fi.pyramus.services.entities.EntityFactory;
import fi.pyramus.services.entities.EntityFactoryVault;
public class CreditEntityFactory implements EntityFactory<CreditEntity> {
public CreditEntity buildFromDomainObject(Object domainObject) {
if (domainObject == null)
return null;
Credit credit = (Credit) domainObject;
TransferCreditDAO transferCreditDAO = DAOFactory.getInstance().getTransferCreditDAO();
CourseAssessmentDAO courseAssessmentDAO = DAOFactory.getInstance().getCourseAssessmentDAO();
switch (credit.getCreditType()) {
case CourseAssessment:
return EntityFactoryVault.buildFromDomainObject(courseAssessmentDAO.findById(credit.getId()));
case TransferCredit:
return EntityFactoryVault.buildFromDomainObject(transferCreditDAO.findById(credit.getId()));
}
return null;
}
}