001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 /* 017 * Created on Aug 19, 2004 018 * 019 */ 020 package org.kuali.kfs.pdp.dataaccess.impl; 021 022 import java.sql.Timestamp; 023 import java.util.Calendar; 024 import java.util.Date; 025 import java.util.GregorianCalendar; 026 import java.util.List; 027 028 import org.apache.ojb.broker.query.Criteria; 029 import org.apache.ojb.broker.query.QueryByCriteria; 030 import org.kuali.kfs.pdp.PdpPropertyConstants; 031 import org.kuali.kfs.pdp.businessobject.PaymentProcess; 032 import org.kuali.kfs.pdp.dataaccess.ProcessDao; 033 import org.kuali.rice.kim.bo.Person; 034 import org.kuali.rice.kns.dao.impl.PlatformAwareDaoBaseOjb; 035 import org.kuali.rice.kim.service.PersonService; 036 import org.kuali.rice.kns.util.KualiInteger; 037 038 039 /** 040 * 041 */ 042 public class ProcessDaoOjb extends PlatformAwareDaoBaseOjb implements ProcessDao { 043 private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(ProcessDaoOjb.class); 044 045 private org.kuali.rice.kim.service.PersonService userService; 046 047 public void setPersonService(org.kuali.rice.kim.service.PersonService u) { 048 userService = u; 049 } 050 051 public ProcessDaoOjb() { 052 super(); 053 } 054 055 public PaymentProcess createProcessToRun(Integer procId) { 056 LOG.debug("createProcess() started"); 057 058 Date d = new Date(); 059 Timestamp now = new Timestamp(d.getTime()); 060 061 PaymentProcess p = new PaymentProcess(); 062 p.setProcessTimestamp(now); 063 p.setId(new KualiInteger(procId)); 064 p.setExtractedInd(false); 065 066 getPersistenceBrokerTemplate().store(p); 067 068 return p; 069 } 070 071 public List<PaymentProcess> getAllExtractsToRun() { 072 Criteria c = new Criteria(); 073 c.addEqualTo(PdpPropertyConstants.PaymentProcess.EXTRACTED_IND, false); 074 c.addEqualTo(PdpPropertyConstants.PaymentProcess.FORMATTED_IND, true); 075 return (List<PaymentProcess>) getPersistenceBrokerTemplate().getCollectionByQuery(new QueryByCriteria(PaymentProcess.class, c)); 076 } 077 078 public void setExtractProcessAsComplete(PaymentProcess paymentProcess) { 079 paymentProcess.setExtractedInd(true); 080 getPersistenceBrokerTemplate().store(paymentProcess); 081 } 082 083 public PaymentProcess get(Integer procId) { 084 LOG.debug("get() started"); 085 086 Criteria c = new Criteria(); 087 c.addEqualTo("id", procId); 088 089 PaymentProcess p = (PaymentProcess) getPersistenceBrokerTemplate().getObjectByQuery(new QueryByCriteria(PaymentProcess.class, c)); 090 if (p != null) { 091 092 return p; 093 } 094 else { 095 return null; 096 } 097 } 098 099 } 100