001 /** 002 * Copyright 2005-2012 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 package edu.sampleu.travel.bo; 017 018 import java.util.ArrayList; 019 import java.util.LinkedHashMap; 020 import java.util.List; 021 022 import org.apache.struts.upload.FormFile; 023 import org.kuali.rice.krad.bo.MultiDocumentAttachment; 024 import org.kuali.rice.krad.bo.PersistableAttachment; 025 import org.kuali.rice.krad.bo.PersistableAttachmentList; 026 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 027 028 public class AttachmentSample extends PersistableBusinessObjectBase implements PersistableAttachment, PersistableAttachmentList<MultiAttachmentSample> { 029 030 private String id; 031 private String description; 032 033 private String fileName; 034 private String contentType; 035 private byte[] attachmentContent; 036 private transient FormFile attachmentFile; 037 038 private List<MultiAttachmentSample> attachments; 039 040 public AttachmentSample() { 041 this.attachments = new ArrayList<MultiAttachmentSample>(); 042 } 043 044 public String getId() { 045 return this.id; 046 } 047 048 public void setId(String id) { 049 this.id = id; 050 } 051 052 public String getDescription() { 053 return this.description; 054 } 055 056 public void setDescription(String description) { 057 this.description = description; 058 } 059 060 public String getFileName() { 061 return this.fileName; 062 } 063 064 public void setFileName(String fileName) { 065 this.fileName = fileName; 066 } 067 068 public String getContentType() { 069 return this.contentType; 070 } 071 072 public void setContentType(String contentType) { 073 this.contentType = contentType; 074 } 075 076 public byte[] getAttachmentContent() { 077 return this.attachmentContent; 078 } 079 080 public void setAttachmentContent(byte[] attachmentContent) { 081 this.attachmentContent = attachmentContent; 082 } 083 084 public FormFile getAttachmentFile() { 085 return this.attachmentFile; 086 } 087 088 public void setAttachmentFile(FormFile attachmentFile) { 089 this.attachmentFile = attachmentFile; 090 } 091 092 @Override 093 public List<MultiAttachmentSample> getAttachments() { 094 return this.attachments; 095 } 096 097 @Override 098 public void setAttachments(List<MultiAttachmentSample> attachments) { 099 List<MultiAttachmentSample> list = new ArrayList<MultiAttachmentSample>(); 100 for (MultiAttachmentSample multiAttachment : attachments) { 101 MultiAttachmentSample attachment = new MultiAttachmentSample(); 102 attachment.setId(multiAttachment.getId()); 103 attachment.setAttachmentContent(multiAttachment.getAttachmentContent()); 104 attachment.setFileName(multiAttachment.getFileName()); 105 attachment.setContentType(multiAttachment.getContentType()); 106 list.add(attachment); 107 } 108 this.attachments = list; 109 } 110 111 protected LinkedHashMap toStringMapper() { 112 LinkedHashMap<String, Object> toStringMap = new LinkedHashMap<String, Object>(); 113 toStringMap.put("id", id); 114 return toStringMap; 115 } 116 117 @Override 118 public List buildListOfDeletionAwareLists() { 119 List managedLists = super.buildListOfDeletionAwareLists(); 120 managedLists.add(this.attachments); 121 return managedLists; 122 } 123 }