001package org.kuali.ole.deliver.bo; 002 003import org.apache.commons.collections.CollectionUtils; 004import org.apache.commons.lang3.StringUtils; 005import org.kuali.ole.deliver.api.OlePatronLostBarcodeContract; 006import org.kuali.ole.deliver.api.OlePatronLostBarcodeDefinition; 007import org.kuali.ole.sys.context.SpringContext; 008import org.kuali.rice.kim.api.identity.Person; 009import org.kuali.rice.kim.api.identity.PersonService; 010import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 011import org.kuali.rice.krad.service.KRADServiceLocator; 012 013import java.sql.Date; 014import java.sql.Timestamp; 015import java.util.HashMap; 016import java.util.List; 017import java.util.Map; 018 019/** 020 * OlePatronDocument provides OlePatronDocument information through getter and setter. 021 */ 022public class OlePatronLostBarcode extends PersistableBusinessObjectBase implements OlePatronLostBarcodeContract { 023 024 private String olePatronLostBarcodeId; 025 private String olePatronId; 026 private Timestamp invalidOrLostBarcodeEffDate; 027 private String invalidOrLostBarcodeNumber; 028 private OlePatronDocument olePatronDocument; 029 private boolean revertBarcode; 030 private String status; 031 private String description; 032 private String operatorId; 033 private String operatorName; 034 private boolean active; 035 public String getOlePatronLostBarcodeId() { 036 return olePatronLostBarcodeId; 037 } 038 039 public void setOlePatronLostBarcodeId(String olePatronLostBarcodeId) { 040 this.olePatronLostBarcodeId = olePatronLostBarcodeId; 041 } 042 043 public String getOlePatronId() { 044 return olePatronId; 045 } 046 047 public void setOlePatronId(String olePatronId) { 048 this.olePatronId = olePatronId; 049 } 050 051 @Override 052 public Timestamp getInvalidOrLostBarcodeEffDate() { 053 return invalidOrLostBarcodeEffDate; 054 } 055 056 public void setInvalidOrLostBarcodeEffDate(Timestamp invalidOrLostBarcodeEffDate) { 057 this.invalidOrLostBarcodeEffDate = invalidOrLostBarcodeEffDate; 058 } 059 060 public String getInvalidOrLostBarcodeNumber() { 061 return invalidOrLostBarcodeNumber; 062 } 063 064 public void setInvalidOrLostBarcodeNumber(String invalidOrLostBarcodeNumber) { 065 this.invalidOrLostBarcodeNumber = invalidOrLostBarcodeNumber; 066 } 067 068 public OlePatronDocument getOlePatronDocument() { 069 if (null == olePatronDocument) { 070 String patronId = getOlePatronId(); 071 if (StringUtils.isNotEmpty(patronId)) { 072 Map<String, String> parameterMap = new HashMap<>(); 073 parameterMap.put("olePatronId", patronId); 074 olePatronDocument = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OlePatronDocument.class, parameterMap); 075 } 076 } 077 return olePatronDocument; 078 } 079 080 public void setOlePatronDocument(OlePatronDocument olePatronDocument) { 081 this.olePatronDocument = olePatronDocument; 082 } 083 084 /** 085 * This method converts the PersistableBusinessObjectBase OlePatronNotes into immutable object OlePatronNotesDefinition 086 * 087 * @param bo 088 * @return OlePatronNotesDefinition 089 */ 090 public static OlePatronLostBarcodeDefinition to(org.kuali.ole.deliver.bo.OlePatronLostBarcode bo) { 091 if (bo == null) { 092 return null; 093 } 094 return OlePatronLostBarcodeDefinition.Builder.create(bo).build(); 095 } 096 097 /** 098 * This method converts the immutable object OlePatronNotesDefinition into PersistableBusinessObjectBase OlePatronNotes 099 * 100 * @param im 101 * @return bo 102 */ 103 public static org.kuali.ole.deliver.bo.OlePatronLostBarcode from(OlePatronLostBarcodeDefinition im) { 104 if (im == null) { 105 return null; 106 } 107 108 org.kuali.ole.deliver.bo.OlePatronLostBarcode bo = new org.kuali.ole.deliver.bo.OlePatronLostBarcode(); 109 bo.olePatronLostBarcodeId = im.getOlePatronLostBarcodeId(); 110 bo.olePatronId = im.getOlePatronId(); 111 //bo.olePatron = OlePatronDocument.from(im.getOlePatron()); 112 bo.invalidOrLostBarcodeEffDate = im.getInvalidOrLostBarcodeEffDate(); 113 bo.invalidOrLostBarcodeNumber = im.getInvalidOrLostBarcodeNumber(); 114 bo.versionNumber = im.getVersionNumber(); 115 116 return bo; 117 } 118 119 public boolean isRevertBarcode() { 120 return revertBarcode; 121 } 122 123 public void setRevertBarcode(boolean revertBarcode) { 124 this.revertBarcode = revertBarcode; 125 } 126 127 @Override 128 public String getId() { 129 return this.olePatronLostBarcodeId; 130 } 131 132 public String getStatus() { 133 return status; 134 } 135 136 public void setStatus(String status) { 137 this.status = status; 138 } 139 140 public String getDescription() { 141 return description; 142 } 143 144 public void setDescription(String description) { 145 this.description = description; 146 } 147 148 public boolean isActive() { 149 return active; 150 } 151 152 public void setActive(boolean active) { 153 this.active = active; 154 } 155 156 public String getOperatorId() { 157 getOperatorName(); 158 return operatorId; 159 } 160 161 public void setOperatorId(String operatorId) { 162 this.operatorId = operatorId; 163 } 164 165 public String getOperatorName() { 166 if(!StringUtils.isNotBlank(operatorName)) { 167 Person people = SpringContext.getBean(PersonService.class).getPerson(operatorId); 168 operatorName = people.getPrincipalName(); 169 } 170 return operatorName; 171 } 172 173 public void setOperatorName(String operatorName) { 174 this.operatorName = operatorName; 175 } 176}