2 * Copyright © 2020 IBM, Bell Canada.
4 * Licensed under the Apache 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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package org.onap.ccsdk.cds.error.catalog.services.domain
19 import java.io.Serializable
21 import javax.persistence.CascadeType
22 import javax.persistence.Column
23 import javax.persistence.Entity
24 import javax.persistence.FetchType
25 import javax.persistence.Id
26 import javax.persistence.Lob
27 import javax.persistence.ManyToMany
28 import javax.persistence.Table
29 import javax.persistence.UniqueConstraint
32 * Provide Error Message Model Entity
38 @Table(name = "ERROR_MESSAGES", uniqueConstraints = [UniqueConstraint(columnNames = ["message_id"])])
39 class ErrorMessageModel : Serializable {
42 var id: String = UUID.randomUUID().toString()
44 @Column(name = "message_id", nullable = false)
45 lateinit var messageID: String
48 @Column(name = "cause")
49 var cause: String = ""
52 @Column(name = "action")
53 lateinit var action: String
55 @ManyToMany(mappedBy = "errorMessages", fetch = FetchType.EAGER, cascade = [CascadeType.PERSIST])
56 val domains: MutableSet<Domain> = mutableSetOf()
59 private const val serialVersionUID = 1L
64 constructor(messageId: String, cause: String, action: String) {
65 this.messageID = messageId