View Javadoc
1   /**
2    * Copyright 2005-2014 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  package org.kuali.rice.ksb.messaging.bam;
17  
18  import org.kuali.rice.krad.data.jpa.converters.Boolean01Converter;
19  import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator;
20  import org.kuali.rice.ksb.api.messaging.AsynchronousCallback;
21  
22  import javax.persistence.Basic;
23  import javax.persistence.CascadeType;
24  import javax.persistence.Column;
25  import javax.persistence.Convert;
26  import javax.persistence.Entity;
27  import javax.persistence.FetchType;
28  import javax.persistence.GeneratedValue;
29  import javax.persistence.Id;
30  import javax.persistence.Lob;
31  import javax.persistence.OneToMany;
32  import javax.persistence.Table;
33  import javax.persistence.Transient;
34  import java.io.Serializable;
35  import java.sql.Timestamp;
36  import java.util.ArrayList;
37  import java.util.List;
38  
39  /**
40   * An entry in the BAM representing a service method invocation.
41   *
42   * @author Kuali Rice Team (rice.collab@kuali.org)
43   */
44  @Entity
45  @Table(name = "KRSB_BAM_T")
46  public class BAMTargetEntry implements Serializable {
47  
48  	private static final long serialVersionUID = -8376674801367598316L;
49  
50  	@Id
51  	@GeneratedValue(generator = "KRSB_BAM_S")
52      @PortableSequenceGenerator(name = "KRSB_BAM_S")
53  	@Column(name = "BAM_ID")
54  	private Long bamId;
55  
56  	@Column(name = "SVC_NM")
57  	private String serviceName;
58  
59  	@Column(name = "MTHD_NM")
60  	private String methodName;
61  
62  	@Column(name = "THRD_NM")
63  	private String threadName;
64  
65  	@Column(name = "CALL_DT")
66  	private Timestamp callDate;
67  
68  	@Column(name = "SVC_URL")
69  	private String serviceURL;
70  
71  	@Column(name = "TGT_TO_STR")
72  	private String targetToString;
73  
74  	@Column(name = "EXCPN_TO_STR")
75  	private String exceptionToString;
76  
77  	@Lob
78  	@Basic(fetch = FetchType.LAZY)
79  	@Column(name = "EXCPN_MSG", length=4000)
80  	private String exceptionMessage;
81  
82  	@Column(name = "SRVR_IND")
83      @Convert(converter = Boolean01Converter.class)
84  	private Boolean serverInvocation;
85  
86  	@OneToMany(cascade = CascadeType.ALL, mappedBy = "bamTargetEntry")
87  	private List<BAMParam> bamParams = new ArrayList<BAMParam>();
88  	
89  	//for async calls not bam
90  	@Transient
91  	private AsynchronousCallback callback;
92  		
93  	public void addBamParam(BAMParam bamParam) {
94  		this.bamParams.add(bamParam);
95  	}
96  	public String getExceptionToString() {
97  		return this.exceptionToString;
98  	}
99  	public void setExceptionToString(String exceptionToString) {
100 		this.exceptionToString = exceptionToString;
101 	}
102 	public String getServiceName() {
103 		return this.serviceName;
104 	}
105 	public void setServiceName(String serviceName) {
106 		this.serviceName = serviceName;
107 	}
108 	public String getServiceURL() {
109 		return this.serviceURL;
110 	}
111 	public void setServiceURL(String serviceURL) {
112 		this.serviceURL = serviceURL;
113 	}
114 	public String getTargetToString() {
115 		return this.targetToString;
116 	}
117 	public void setTargetToString(String targetToString) {
118 		this.targetToString = targetToString;
119 	}
120 	public Long getBamId() {
121 		return this.bamId;
122 	}
123 	public void setBamId(Long bamId) {
124 		this.bamId = bamId;
125 	}
126 	public String getExceptionMessage() {
127 		return this.exceptionMessage;
128 	}
129 	public void setExceptionMessage(String exceptionMessage) {
130 		this.exceptionMessage = exceptionMessage;
131 	}
132 	public Boolean getServerInvocation() {
133 		return this.serverInvocation;
134 	}
135 	public void setServerInvocation(Boolean clientInvocation) {
136 		this.serverInvocation = clientInvocation;
137 	}
138 	public Timestamp getCallDate() {
139 		return this.callDate;
140 	}
141 	public void setCallDate(Timestamp callDate) {
142 		this.callDate = callDate;
143 	}
144 	public String getMethodName() {
145 		return this.methodName;
146 	}
147 	public void setMethodName(String methodName) {
148 		this.methodName = methodName;
149 	}
150 	public String getThreadName() {
151 		return this.threadName;
152 	}
153 	public void setThreadName(String threadName) {
154 		this.threadName = threadName;
155 	}
156 	public List<BAMParam> getBamParams() {
157 		return this.bamParams;
158 	}
159 	public void setBamParams(List<BAMParam> bamParams) {
160 		this.bamParams = bamParams;
161 	}
162 	public AsynchronousCallback getCallback() {
163 		return this.callback;
164 	}
165 	public void setCallback(AsynchronousCallback callback) {
166 		this.callback = callback;
167 	}
168 }
169