package qa.qcri.aidr.trainer.api.service.impl; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import qa.qcri.aidr.dbmanager.dto.DocumentDTO; import qa.qcri.aidr.dbmanager.dto.DocumentNominalLabelDTO; import qa.qcri.aidr.dbmanager.dto.DocumentNominalLabelIdDTO; import qa.qcri.aidr.dbmanager.dto.NominalLabelDTO; import qa.qcri.aidr.dbmanager.ejb.remote.facade.DocumentNominalLabelResourceFacade; import qa.qcri.aidr.dbmanager.ejb.remote.facade.DocumentResourceFacade; import qa.qcri.aidr.dbmanager.ejb.remote.facade.NominalLabelResourceFacade; import qa.qcri.aidr.dbmanager.ejb.remote.facade.TaskManagerRemote; import qa.qcri.aidr.dbmanager.entities.task.DocumentNominalLabel; import qa.qcri.aidr.trainer.api.service.DocumentNominalLabelService; /** * Created with IntelliJ IDEA. * User: jilucas * Date: 9/29/13 * Time: 4:54 PM * To change this template use File | Settings | File Templates. */ @Service("documentNominalLabelService") @Transactional(readOnly = true, propagation = Propagation.REQUIRED) public class DocumentNominalLabelServiceImpl implements DocumentNominalLabelService { private static Logger logger=Logger.getLogger(DocumentNominalLabelServiceImpl.class); //@Autowired //private DocumentNominalLabelDao documentNominalLabelDao; @Autowired TaskManagerRemote<DocumentNominalLabelDTO, Long> taskManager; @Autowired DocumentNominalLabelResourceFacade remoteDocumentNominalLabelEJB; @Autowired NominalLabelResourceFacade remoteNominalLabelEJB; @Autowired DocumentResourceFacade remoteDocumentEJB; @Override public void saveDocumentNominalLabel(DocumentNominalLabel documentNominalLabel) { //documentNominalLabelDao.saveDocumentNominalLabel(documentNominalLabel); DocumentNominalLabelIdDTO id = new DocumentNominalLabelIdDTO(documentNominalLabel.getDocument().getDocumentId(), documentNominalLabel.getNominalLabel().getNominalLabelId(), documentNominalLabel.getId().getUserId()); try { DocumentDTO doc = remoteDocumentEJB.findDocumentByID(documentNominalLabel.getDocument().getDocumentId()); NominalLabelDTO nb = remoteNominalLabelEJB.getNominalLabelByID(documentNominalLabel.getNominalLabel().getNominalLabelId()); DocumentNominalLabelDTO dto = new DocumentNominalLabelDTO(id, nb, doc); taskManager.saveDocumentNominalLabel(dto); } catch (Exception e) { logger.error("Exception while saving documentNominalLabel",e); } } @Override public boolean foundDuplicateEntry(DocumentNominalLabel documentNominalLabel) { //return documentNominalLabelDao.foundDuplicate(documentNominalLabel); //To change body of implemented methods use File | Settings | File Templates. try { DocumentNominalLabelIdDTO id = new DocumentNominalLabelIdDTO(documentNominalLabel.getDocument().getDocumentId(), documentNominalLabel.getNominalLabel().getNominalLabelId(), documentNominalLabel.getId().getUserId()); return remoteDocumentNominalLabelEJB.isDocumentExists(id); } catch (Exception e) { logger.error("Exception while finding Duplicate Entry for documentNominalLabel",e); return false; } } }