1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.kuali.rice.kew.notes;
18
19 import java.io.InputStream;
20
21 import javax.persistence.Column;
22 import javax.persistence.Entity;
23 import javax.persistence.FetchType;
24 import javax.persistence.GeneratedValue;
25 import javax.persistence.Id;
26 import javax.persistence.JoinColumn;
27 import javax.persistence.ManyToOne;
28 import javax.persistence.NamedQueries;
29 import javax.persistence.NamedQuery;
30 import javax.persistence.Table;
31 import javax.persistence.Transient;
32 import javax.persistence.Version;
33
34 import org.hibernate.annotations.GenericGenerator;
35 import org.hibernate.annotations.Parameter;
36 import org.kuali.rice.core.framework.persistence.jpa.OrmUtils;
37 import org.kuali.rice.krad.service.KRADServiceLocator;
38
39
40
41
42
43
44
45
46 @Entity(name="org.kuali.rice.kew.notes.Attachment")
47 @Table(name="KREW_ATT_T")
48
49 @NamedQueries({
50 @NamedQuery(name="Attachment.FindAttachmentById",query="select a from org.kuali.rice.kew.notes.Attachment as a where a.attachmentId = :attachmentId")
51 })
52 public class Attachment {
53
54 @Id
55 @GeneratedValue(generator="KREW_DOC_NTE_S")
56 @GenericGenerator(name="KREW_DOC_NTE_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
57 @Parameter(name="sequence_name",value="KREW_DOC_NTE_S"),
58 @Parameter(name="value_column",value="id")
59 })
60 @Column(name="ATTACHMENT_ID")
61 private String attachmentId;
62 @Transient
63 private String noteId;
64 @Column(name="FILE_NM")
65 private String fileName;
66 @Column(name="FILE_LOC")
67 private String fileLoc;
68 @Column(name="MIME_TYP")
69 private String mimeType;
70 @Version
71 @Column(name="VER_NBR")
72 private Integer lockVerNbr;
73 @Transient
74 private InputStream attachedObject;
75 @ManyToOne(fetch=FetchType.EAGER)
76 @JoinColumn(name="NTE_ID")
77 private Note note;
78
79 public String getAttachmentId() {
80 return attachmentId;
81 }
82 public void setAttachmentId(String attachmentId) {
83 this.attachmentId = attachmentId;
84 }
85 public String getFileLoc() {
86 return fileLoc;
87 }
88 public void setFileLoc(String fileLoc) {
89 this.fileLoc = fileLoc;
90 }
91 public String getFileName() {
92 return fileName;
93 }
94 public void setFileName(String fileName) {
95 this.fileName = fileName;
96 }
97 public Integer getLockVerNbr() {
98 return lockVerNbr;
99 }
100 public void setLockVerNbr(Integer lockVerNbr) {
101 this.lockVerNbr = lockVerNbr;
102 }
103 public String getMimeType() {
104 return mimeType;
105 }
106 public void setMimeType(String mimeType) {
107 this.mimeType = mimeType;
108 }
109 public String getNoteId() {
110
111 if (noteId == null && note != null){
112 return note.getNoteId();
113 }
114 return noteId;
115 }
116 public void setNoteId(String noteId) {
117 this.noteId = noteId;
118 }
119 public Note getNote() {
120 return note;
121 }
122 public void setNote(Note note) {
123 this.note = note;
124 }
125 public InputStream getAttachedObject() {
126 return attachedObject;
127 }
128 public void setAttachedObject(InputStream attachedObject) {
129 this.attachedObject = attachedObject;
130 }
131
132
133 public void beforeInsert(){
134 OrmUtils.populateAutoIncValue(this, KRADServiceLocator.getEntityManagerFactory().createEntityManager());
135 }
136
137 }
138