001package org.kuali.ole.service.impl; 002 003import org.kuali.ole.ingest.OlePatronRecordHandler; 004import org.kuali.ole.deliver.bo.OlePatronDocument; 005import org.kuali.ole.deliver.bo.OlePatronDocuments; 006import org.kuali.ole.service.OlePatronWebService; 007import org.kuali.rice.krad.service.BusinessObjectService; 008import org.kuali.rice.krad.service.KRADServiceLocator; 009 010import java.util.ArrayList; 011import java.util.Collection; 012import java.util.List; 013 014/** 015 * Created with IntelliJ IDEA. 016 * User: ? 017 * Date: 2/19/13 018 * Time: 6:02 PM 019 * To change this template use File | Settings | File Templates. 020 */ 021public class OlePatronWebServiceImpl implements OlePatronWebService { 022 023 private BusinessObjectService businessObjectService; 024 private OlePatronRecordHandler olePatronRecordHandler; 025 026 /** 027 * Returns the businessObjectService instance. 028 * If it is not null returns existing businessObjectService else creates new 029 * @return businessObjectService 030 */ 031 protected BusinessObjectService getBusinessObjectService() { 032 if (businessObjectService == null) { 033 businessObjectService = KRADServiceLocator.getBusinessObjectService(); 034 } 035 return businessObjectService; 036 } 037 038 public OlePatronRecordHandler getOlePatronRecordHandler() { 039 if (null == olePatronRecordHandler) { 040 olePatronRecordHandler = new OlePatronRecordHandler(); 041 } 042 return olePatronRecordHandler; 043 } 044 045 /** 046 * Sets the olePatronRecordHandler which is of type OlePatronRecordHandler 047 * @param olePatronRecordHandler(OlePatronRecordHandler) 048 */ 049 public void setOlePatronRecordHandler(OlePatronRecordHandler olePatronRecordHandler) { 050 this.olePatronRecordHandler = olePatronRecordHandler; 051 } 052 053 @Override 054 public String getPatronRecords() { 055 056 String patronXML = new String(); 057 StringBuffer patronRecords = new StringBuffer(); 058 OlePatronDocuments olePatronDocuments = new OlePatronDocuments(); 059 060 List<OlePatronDocument> olePatronDocumentList = new ArrayList<OlePatronDocument>(); 061 Collection<OlePatronDocument> olePatronDocumentRecords = getBusinessObjectService().findAll(OlePatronDocument.class); 062 for (OlePatronDocument olePatronDocument : olePatronDocumentRecords) { 063 olePatronDocument.setFirstName(olePatronDocument.getEntity().getNames().get(0).getFirstName()); 064 olePatronDocument.setLastName(olePatronDocument.getEntity().getNames().get(0).getLastName()); 065 olePatronDocument.setBorrowerType(olePatronDocument.getOleBorrowerType().getBorrowerTypeName()); 066 olePatronDocumentList.add(olePatronDocument); 067 olePatronDocuments.setOlePatronDocuments(olePatronDocumentList); 068 } 069 patronXML = getOlePatronRecordHandler().generatePatronXML(olePatronDocuments); 070 return patronXML; 071 } 072 073}