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