View Javadoc

1   /*
2    * Copyright 2005-2008 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.kuali.rice.edl.impl.extract;
18  
19  import javax.persistence.CascadeType;
20  import javax.persistence.Column;
21  import javax.persistence.Entity;
22  import javax.persistence.FetchType;
23  import javax.persistence.GeneratedValue;
24  import javax.persistence.Id;
25  import javax.persistence.JoinColumn;
26  import javax.persistence.ManyToOne;
27  import javax.persistence.Table;
28  import javax.persistence.Version;
29  
30  import org.hibernate.annotations.GenericGenerator;
31  import org.hibernate.annotations.Parameter;
32  import org.kuali.rice.core.framework.persistence.jpa.OrmUtils;
33  import org.kuali.rice.edl.framework.extract.FieldDTO;
34  import org.kuali.rice.krad.service.KRADServiceLocator;
35  
36  /**
37   *
38   *
39   *
40   * @author Kuali Rice Team (rice.collab@kuali.org)
41   *
42   */
43  @Entity
44  @Table(name="KREW_EDL_FLD_DMP_T")
45  //@Sequence(name="KREW_EDL_FLD_DMP_S", property="fieldId")
46  public class Fields {
47  
48  	private static final long serialVersionUID = -6136544551121011531L;
49  
50      @Id
51      @GeneratedValue(generator="KREW_EDL_FLD_DMP_S")
52  	@GenericGenerator(name="KREW_EDL_FLD_DMP_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
53  			@Parameter(name="sequence_name",value="KREW_EDL_FLD_DMP_S"),
54  			@Parameter(name="value_column",value="id")
55  	})
56  	@Column(name="EDL_FIELD_DMP_ID")
57  	private Long fieldId;
58      @Column(name="DOC_HDR_ID")
59  	private String docId;
60      @Column(name="FLD_NM")
61  	private String fieldName;
62      @Column(name="FLD_VAL")
63  	private String fieldValue;
64      @Version
65  	@Column(name="VER_NBR")
66  	private Integer lockVerNbr;
67  
68      @ManyToOne(fetch=FetchType.EAGER, cascade={CascadeType.PERSIST})
69  	@JoinColumn(name="DOC_HDR_ID", insertable=false, updatable=false)
70  	private Dump dump;
71  
72      //@PrePersist
73      public void beforeInsert(){
74          OrmUtils.populateAutoIncValue(this, KRADServiceLocator.getEntityManagerFactory().createEntityManager());
75      }
76  
77  
78  	public Long getFieldId() {
79  		return fieldId;
80  	}
81  	public String getDocId() {
82  		return docId;
83  	}
84  	public void setDocId(final String docId) {
85  		this.docId = docId;
86  	}
87  	public String getFieldValue() {
88  		return fieldValue;
89  	}
90  	public void setFieldValue(final String fieldValue) {
91  		this.fieldValue = fieldValue;
92  	}
93  	public String getFiledName() {
94  		return fieldName;
95  	}
96  	public void setFieldName(final String filedName) {
97  		this.fieldName = filedName;
98  	}
99  	public Integer getLockVerNbr() {
100 		return lockVerNbr;
101 	}
102 	public void setLockVerNbr(final Integer lockVerNbr) {
103 		this.lockVerNbr = lockVerNbr;
104 	}
105 	public Dump getDump() {
106 		return dump;
107 	}
108 	public void setDump(final Dump dump) {
109 		this.dump = dump;
110 	}
111 	
112 	public static FieldDTO to(Fields field) {
113 		if (field == null) {
114 			return null;
115 		}
116 		FieldDTO fieldDTO = new FieldDTO();
117 		fieldDTO.setDocId(field.getDocId());
118 		fieldDTO.setFieldName(field.getFiledName());
119 		fieldDTO.setFieldValue(field.getFieldValue());
120 		fieldDTO.setLockVerNbr(field.getLockVerNbr());
121 		return fieldDTO;
122 	}
123 	
124 	public static Fields from(FieldDTO fieldDTO, Dump dump) {
125 		if (fieldDTO == null) {
126 			return null;
127 		}
128 		Fields fields = new Fields();
129 		fields.setDump(dump);
130 		fields.setDocId(fieldDTO.getDocId());
131 		fields.setFieldName(fieldDTO.getFiledName());
132 		fields.setFieldValue(fieldDTO.getFieldValue());
133 		fields.setLockVerNbr(fieldDTO.getLockVerNbr());
134 		return fields;
135 	}
136 }
137