/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.purap.service.impl; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import org.kuali.kfs.module.purap.businessobject.PurchaseOrderSensitiveData; import org.kuali.kfs.module.purap.businessobject.SensitiveData; import org.kuali.kfs.module.purap.businessobject.SensitiveDataAssignment; import org.kuali.kfs.module.purap.businessobject.SensitiveDataAssignmentDetail; import org.kuali.kfs.module.purap.dataaccess.SensitiveDataDao; import org.kuali.kfs.module.purap.document.dataaccess.PurchaseOrderDao; import org.kuali.kfs.module.purap.service.SensitiveDataService; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.rice.krad.service.BusinessObjectService; public class SensitiveDataServiceImpl implements SensitiveDataService { private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(SensitiveDataServiceImpl.class); private SensitiveDataDao sensitiveDataDao; private PurchaseOrderDao purchaseOrderDao; public void setPurchaseOrderDao(PurchaseOrderDao purchaseOrderDao) { this.purchaseOrderDao = purchaseOrderDao; } public SensitiveDataDao getSensitiveDataDao() { return sensitiveDataDao; } public void setSensitiveDataDao(SensitiveDataDao sensitiveDataDao) { this.sensitiveDataDao = sensitiveDataDao; } /** * @see org.kuali.kfs.integration.service.SensitiveDataService#getSensitiveDataByCode(java.lang.String) */ public SensitiveData getSensitiveDataByCode(String sensitiveDataCode) { LOG.debug("getSensitiveDataByCode(String) started"); Map<String, Object> primaryKeys = new HashMap<String, Object>(); primaryKeys.put("sensitiveDataCode", sensitiveDataCode); return (SensitiveData)SpringContext.getBean(BusinessObjectService.class).findByPrimaryKey(SensitiveData.class, primaryKeys); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getAllSensitiveDatas() */ public List<SensitiveData> getAllSensitiveDatas() { LOG.debug("getSensitiveDataByPoId(Integer) started"); List<SensitiveData> sds = new ArrayList<SensitiveData>(); Collection<SensitiveData> sdColl = SpringContext.getBean(BusinessObjectService.class).findAll(SensitiveData.class); for (Object sd: sdColl) { sds.add((SensitiveData)sd); } return sds; } public List<SensitiveData> getSensitiveDatasAssignedByRelatedDocId(Integer accountsPayablePurchasingDocumentLinkIdentifier) { Integer poId = purchaseOrderDao.getPurchaseOrderIdForCurrentPurchaseOrderByRelatedDocId(accountsPayablePurchasingDocumentLinkIdentifier); return getSensitiveDatasAssignedByPoId(poId); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getSensitiveDatasAssignedByPoId() */ public List<SensitiveData> getSensitiveDatasAssignedByPoId(Integer poId) { LOG.debug("getSensitiveDatasAssignedByPoId(Integer) started"); return sensitiveDataDao.getSensitiveDatasAssignedByPoId(poId); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getSensitiveDatasAssignedByReqId(Integer) */ public List<SensitiveData> getSensitiveDatasAssignedByReqId(Integer reqId) { LOG.debug("getSensitiveDatasAssignedByReqId(Integer) started"); return sensitiveDataDao.getSensitiveDatasAssignedByReqId(reqId); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#deletePurchaseOrderSensitiveDatas(Integer) */ public void deletePurchaseOrderSensitiveDatas(Integer poId) { LOG.debug("deletePurchaseOrderSensitiveDatas(Integer) started"); sensitiveDataDao.deletePurchaseOrderSensitiveDatas(poId); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#savePurchaseOrderSensitiveDatas(List<PurchaseOrderSensitiveData>) */ public void savePurchaseOrderSensitiveDatas(List<PurchaseOrderSensitiveData> posds) { LOG.debug("savePurchaseOrderSensitiveDatas(List<PurchaseOrderSensitiveData>) started"); SpringContext.getBean(BusinessObjectService.class).save(posds); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getLastSensitiveDataAssignment(Integer) */ public SensitiveDataAssignment getLastSensitiveDataAssignment(Integer poId) { LOG.debug("getLastSensitiveDataAssignment(Integer) started"); return sensitiveDataDao.getLastSensitiveDataAssignment(poId); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getLastSensitiveDataAssignmentId(Integer) */ public Integer getLastSensitiveDataAssignmentId(Integer poId) { LOG.debug("getLastSensitiveDataAssignmentId(Integer) started"); return getLastSensitiveDataAssignment(poId).getSensitiveDataAssignmentIdentifier(); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#saveSensitiveDataAssignment(SensitiveDataAssignment) */ public void saveSensitiveDataAssignment(SensitiveDataAssignment sda) { LOG.debug("saveSensitiveDataAssignment(SensitiveDataAssignment) started"); SpringContext.getBean(BusinessObjectService.class).save(sda); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#getLastSensitiveDataAssignmentDetails(Integer) */ public List<SensitiveDataAssignmentDetail> getLastSensitiveDataAssignmentDetails(Integer poId) { LOG.debug("getLastSensitiveDataAssignmentDetails(Integer) started"); Integer sdaId = getLastSensitiveDataAssignmentId(poId); Map<String, Object> fieldValues = new HashMap<String, Object>(); fieldValues.put("sensitiveDataAssignmentIdentifier", sdaId); return (List<SensitiveDataAssignmentDetail>)SpringContext.getBean(BusinessObjectService.class).findMatching(SensitiveDataAssignmentDetail.class, fieldValues); } /** * @see org.kuali.kfs.module.purap.service.SensitiveDataService#saveSensitiveDataAssignmentDetails(List<SensitiveDataAssignmentDetail>) */ public void saveSensitiveDataAssignmentDetails(List<SensitiveDataAssignmentDetail> sdads) { LOG.debug("saveSensitiveDataAssignmentDetails(List<SensitiveDataAssignmentDetail>) started"); SpringContext.getBean(BusinessObjectService.class).save(sdads); } }