001 /** 002 * Copyright (c) 2010 Yahoo! Inc. All rights reserved. 003 * Licensed under the Apache License, Version 2.0 (the "License"); 004 * you may not use this file except in compliance with the License. 005 * You may obtain a copy of the License at 006 * 007 * http://www.apache.org/licenses/LICENSE-2.0 008 * 009 * Unless required by applicable law or agreed to in writing, software 010 * distributed under the License is distributed on an "AS IS" BASIS, 011 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012 * See the License for the specific language governing permissions and 013 * limitations under the License. See accompanying LICENSE file. 014 */ 015 package org.apache.oozie.client.rest; 016 017 import java.util.Date; 018 019 import javax.persistence.Basic; 020 import javax.persistence.Column; 021 import javax.persistence.DiscriminatorColumn; 022 import javax.persistence.DiscriminatorType; 023 import javax.persistence.Entity; 024 import javax.persistence.GeneratedValue; 025 import javax.persistence.GenerationType; 026 import javax.persistence.Id; 027 import javax.persistence.Lob; 028 import javax.persistence.SequenceGenerator; 029 import javax.persistence.Table; 030 import javax.persistence.Transient; 031 032 import org.apache.oozie.client.SLAEvent; 033 import org.json.simple.JSONObject; 034 035 @Entity 036 @Table(name = "SLA_EVENTS") 037 @DiscriminatorColumn(name = "bean_type", discriminatorType = DiscriminatorType.STRING) 038 public class JsonSLAEvent implements SLAEvent, JsonBean { 039 // Primary key 040 @Id 041 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EVENT_SEQ") 042 @SequenceGenerator(name = "EVENT_SEQ", sequenceName = "EVENT_SEQ", allocationSize = 50) 043 private long event_id; 044 045 @Basic 046 @Column(name = "sla_id") 047 private String slaId; 048 049 @Transient 050 private SlaAppType appType = null; 051 052 @Basic 053 @Column(name = "app_name") 054 private String appName = null; 055 056 @Basic 057 @Column(name = "user_name") 058 private String user = null; 059 060 @Basic 061 @Column(name = "group_name") 062 private String groupName = null; 063 064 @Basic 065 @Column(name = "parent_client_id") 066 private String parentClientId = null; 067 068 @Basic 069 @Column(name = "parent_sla_id") 070 private String parentSlaId = null; 071 072 @Transient 073 private Date expectedStart = null; 074 075 @Transient 076 private Date expectedEnd = null; 077 078 @Transient 079 private Date statusTimestamp = null; 080 081 @Column(name = "notification_msg") 082 @Lob 083 private String notificationMsg = null; 084 085 @Basic 086 @Column(name = "alert_contact") 087 private String alertContact = null; 088 089 @Basic 090 @Column(name = "dev_contact") 091 private String devContact = null; 092 093 @Basic 094 @Column(name = "qa_contact") 095 private String qaContact = null; 096 097 @Basic 098 @Column(name = "se_contact") 099 private String seContact = null; 100 101 @Basic 102 @Column(name = "alert_frequency") 103 private String alertFrequency = null; 104 105 @Basic 106 @Column(name = "alert_percentage") 107 private String alertPercentage = null; 108 109 @Column(name = "upstream_apps") 110 @Lob 111 private String upstreamApps = null; 112 113 @Transient 114 private Status jobStatus = null; 115 116 @Column(name = "job_data") 117 @Lob 118 private String jobData = null; 119 120 public long getEvent_id() { 121 return event_id; 122 } 123 124 public void setEvent_id(long id) { 125 this.event_id = id; 126 } 127 128 public String getSlaId() { 129 return slaId; 130 } 131 132 public void setSlaId(String slaId) { 133 this.slaId = slaId; 134 } 135 136 /* 137 * public String getClientId() { return clientId; } 138 * 139 * public void setClientId(String clientId) { this.clientId = clientId; } 140 */ 141 public SlaAppType getAppType() { 142 return appType; 143 } 144 145 public void setAppType(SlaAppType appType) { 146 this.appType = appType; 147 } 148 149 public String getAppName() { 150 return appName; 151 } 152 153 public void setAppName(String appName) { 154 this.appName = appName; 155 } 156 157 public String getUser() { 158 return user; 159 } 160 161 public void setUser(String user) { 162 this.user = user; 163 } 164 165 public String getGroupName() { 166 return groupName; 167 } 168 169 public void setGroupName(String groupName) { 170 this.groupName = groupName; 171 } 172 173 public String getParentClientId() { 174 return parentClientId; 175 } 176 177 public void setParentClientId(String parentClientId) { 178 this.parentClientId = parentClientId; 179 } 180 181 public String getParentSlaId() { 182 return parentSlaId; 183 } 184 185 public void setParentSlaId(String parentSlaId) { 186 this.parentSlaId = parentSlaId; 187 } 188 189 public Date getExpectedStart() { 190 return expectedStart; 191 } 192 193 public void setExpectedStart(Date expectedStart) { 194 this.expectedStart = expectedStart; 195 } 196 197 public Date getExpectedEnd() { 198 return expectedEnd; 199 } 200 201 public void setExpectedEnd(Date expectedEnd) { 202 this.expectedEnd = expectedEnd; 203 } 204 205 public Date getStatusTimestamp() { 206 return statusTimestamp; 207 } 208 209 public void setStatusTimestamp(Date statusTimestamp) { 210 this.statusTimestamp = statusTimestamp; 211 } 212 213 public String getNotificationMsg() { 214 return notificationMsg; 215 } 216 217 public void setNotificationMsg(String notificationMsg) { 218 this.notificationMsg = notificationMsg; 219 } 220 221 public String getAlertContact() { 222 return alertContact; 223 } 224 225 public void setAlertContact(String alertContact) { 226 this.alertContact = alertContact; 227 } 228 229 public String getDevContact() { 230 return devContact; 231 } 232 233 public void setDevContact(String devContact) { 234 this.devContact = devContact; 235 } 236 237 public String getQaContact() { 238 return qaContact; 239 } 240 241 public void setQaContact(String qaContact) { 242 this.qaContact = qaContact; 243 } 244 245 public String getSeContact() { 246 return seContact; 247 } 248 249 public void setSeContact(String seContact) { 250 this.seContact = seContact; 251 } 252 253 public String getAlertFrequency() { 254 return alertFrequency; 255 } 256 257 public void setAlertFrequency(String alertFrequency) { 258 this.alertFrequency = alertFrequency; 259 } 260 261 public String getAlertPercentage() { 262 return alertPercentage; 263 } 264 265 public void setAlertPercentage(String alertPercentage) { 266 this.alertPercentage = alertPercentage; 267 } 268 269 public String getUpstreamApps() { 270 return upstreamApps; 271 } 272 273 public void setUpstreamApps(String upstreamApps) { 274 this.upstreamApps = upstreamApps; 275 } 276 277 public Status getJobStatus() { 278 return jobStatus; 279 } 280 281 public void setJobStatus(Status jobStatus) { 282 this.jobStatus = jobStatus; 283 } 284 285 public String getJobData() { 286 return jobData; 287 } 288 289 public void setJobData(String jobData) { 290 this.jobData = jobData; 291 } 292 293 @Override 294 public JSONObject toJSONObject() { 295 // TODO Auto-generated method stub 296 return null; 297 } 298 299 public JsonSLAEvent() { 300 301 } 302 303 @SuppressWarnings("unchecked") 304 public JsonSLAEvent(JSONObject json) { 305 306 } 307 308 }