/** * PendingJobsDAO.java * Copyright (C) 2008 Zphinx Software Solutions * This software 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 General Public License for more details. * * THERE IS NO WARRANTY FOR THIS SOFTWARE, TO THE EXTENT PERMITTED BY * APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING WITH ZPHINX SOFTWARE SOLUTIONS * AND/OR OTHER PARTIES WHO PROVIDE THIS SOFTWARE "AS IS" WITHOUT WARRANTY * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM * IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF * ALL NECESSARY SERVICING, REPAIR OR CORRECTION. * * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS * THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY * GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE * USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF * DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD * PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), * EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF * SUCH DAMAGES. * * For further information, please go to http://spine.zphinx.co.uk/ * **/ package com.zphinx.spine.examples.dao; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.log4j.Logger; import com.zphinx.spine.Universal; import com.zphinx.spine.data.impl.AbstractDataBaseDAO; import com.zphinx.spine.examples.beans.PendingJob; import com.zphinx.spine.vo.ResultObject; import com.zphinx.spine.vo.dto.DataTransferObject; import com.zphinx.spine.vo.dto.DataTransportBean; /** * PendingJobsDAO:- An example database dao * * @author David Ladapo * @version $1.0 *

* Copyright ©Zphinx Software Solutions *

*/ public class PendingJobsDAO extends AbstractDataBaseDAO { /** * The Log instance for this application. */ private static Logger log = Universal.getLogger(PendingJobsDAO.class.getName()); /** * Public Constructor */ public PendingJobsDAO() { super(); log.debug("Constructing " + PendingJobsDAO.class.getSimpleName() + " instance . .. . "); } /* * (non-Javadoc) * * @see com.zphinx.spine.data.DataAbstract#fetchData(com.zphinx.spine.vo.dto.DataTransferObject) */ @Override public Object fetchData(DataTransferObject obj) { ResultObject res = null; if(obj != null){ log.debug("Running fetchdata . ."); log.debug("\n\rThe object is: " + this.getClass().getSimpleName()); log.debug("\n\rThe connection is: " + this.getConnection() + "\n\r"); DataTransportBean dtb = (DataTransportBean) obj; List list = SearchJobs(dtb.getId()); res = new ResultObject(); res.setObj(list); } else{ log.debug("The object is: null"); } return res; } /** * Fetches a list of pending jobs based on user id, this implementation does not search a db, it just creates a list specifically for the test user id * * @param id The id of the user in question * @returnA list of pending jobs */ private List SearchJobs(String id) { ArrayList list = new ArrayList(5); for (int i = 0; i < 3; i++){ PendingJob pJob = new PendingJob(); pJob.setId(Universal.getUniqueId()); pJob.setCreationDate(System.currentTimeMillis()); pJob.setModifiedDate(new Date()); pJob.setName(Universal.getRandom(8)); pJob.setDescription("A new Job in collection, collection number: "+i); pJob.setOwnerId(id); list.add(pJob); } return list; } }