001/**
002 * Copyright 2005-2016 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 */
016package org.kuali.rice.ksb.messaging.bam;
017
018import org.hibernate.annotations.GenericGenerator;
019import org.hibernate.annotations.Parameter;
020import org.kuali.rice.ksb.api.messaging.AsynchronousCallback;
021
022import javax.persistence.Basic;
023import javax.persistence.CascadeType;
024import javax.persistence.Column;
025import javax.persistence.Entity;
026import javax.persistence.FetchType;
027import javax.persistence.GeneratedValue;
028import javax.persistence.Id;
029import javax.persistence.Lob;
030import javax.persistence.OneToMany;
031import javax.persistence.Table;
032import javax.persistence.Transient;
033import java.io.Serializable;
034import java.sql.Timestamp;
035import java.util.ArrayList;
036import java.util.List;
037
038
039/**
040 * An entry in the BAM representing a service method invocation.
041 *
042 * @author Kuali Rice Team (rice.collab@kuali.org)
043 */
044@Entity
045@Table(name="KRSB_BAM_T")
046//@Sequence(name="KRSB_BAM_S", property="bamId")
047public class BAMTargetEntry implements Serializable {
048
049        private static final long serialVersionUID = -8376674801367598316L;
050
051        @Id
052        @GeneratedValue(generator="KRSB_BAM_S")
053        @GenericGenerator(name="KRSB_BAM_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
054                        @Parameter(name="sequence_name",value="KRSB_BAM_S"),
055                        @Parameter(name="value_column",value="id")
056        })
057        @Column(name="BAM_ID")
058        private Long bamId;
059        @Column(name="SVC_NM")
060        private String serviceName;
061        @Column(name="MTHD_NM")
062        private String methodName;
063        @Column(name="THRD_NM")
064        private String threadName;
065        @Column(name="CALL_DT")
066        private Timestamp callDate;
067        @Column(name="SVC_URL")
068        private String serviceURL;
069        @Column(name="TGT_TO_STR")
070        private String targetToString;
071        @Column(name="EXCPN_TO_STR")
072        private String exceptionToString;
073        @Lob
074        @Basic(fetch=FetchType.LAZY)
075        @Column(name="EXCPN_MSG", length=4000)
076        private String exceptionMessage;
077        @Column(name="SRVR_IND")
078        private Boolean serverInvocation;
079        @OneToMany(cascade=CascadeType.ALL, mappedBy="bamParamId")
080        private List<BAMParam> bamParams = new ArrayList<BAMParam>();
081        
082        //for async calls not bam
083        @Transient
084        private AsynchronousCallback callback;
085                
086        public void addBamParam(BAMParam bamParam) {
087                this.bamParams.add(bamParam);
088        }
089        public String getExceptionToString() {
090                return this.exceptionToString;
091        }
092        public void setExceptionToString(String exceptionToString) {
093                this.exceptionToString = exceptionToString;
094        }
095        public String getServiceName() {
096                return this.serviceName;
097        }
098        public void setServiceName(String serviceName) {
099                this.serviceName = serviceName;
100        }
101        public String getServiceURL() {
102                return this.serviceURL;
103        }
104        public void setServiceURL(String serviceURL) {
105                this.serviceURL = serviceURL;
106        }
107        public String getTargetToString() {
108                return this.targetToString;
109        }
110        public void setTargetToString(String targetToString) {
111                this.targetToString = targetToString;
112        }
113        public Long getBamId() {
114                return this.bamId;
115        }
116        public void setBamId(Long bamId) {
117                this.bamId = bamId;
118        }
119        public String getExceptionMessage() {
120                return this.exceptionMessage;
121        }
122        public void setExceptionMessage(String exceptionMessage) {
123                this.exceptionMessage = exceptionMessage;
124        }
125        public Boolean getServerInvocation() {
126                return this.serverInvocation;
127        }
128        public void setServerInvocation(Boolean clientInvocation) {
129                this.serverInvocation = clientInvocation;
130        }
131        public Timestamp getCallDate() {
132                return this.callDate;
133        }
134        public void setCallDate(Timestamp callDate) {
135                this.callDate = callDate;
136        }
137        public String getMethodName() {
138                return this.methodName;
139        }
140        public void setMethodName(String methodName) {
141                this.methodName = methodName;
142        }
143        public String getThreadName() {
144                return this.threadName;
145        }
146        public void setThreadName(String threadName) {
147                this.threadName = threadName;
148        }
149        public List<BAMParam> getBamParams() {
150                return this.bamParams;
151        }
152        public void setBamParams(List<BAMParam> bamParams) {
153                this.bamParams = bamParams;
154        }
155        public AsynchronousCallback getCallback() {
156                return this.callback;
157        }
158        public void setCallback(AsynchronousCallback callback) {
159                this.callback = callback;
160        }
161}
162