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.error.catalog.core
19 import com.fasterxml.jackson.annotation.JsonFormat
20 import org.slf4j.event.Level
21 import org.onap.ccsdk.error.catalog.core.ErrorMessageLibConstants.ERROR_CATALOG_DEFAULT_ERROR_CODE
22 import java.time.LocalDateTime
24 open class ErrorPayload {
25 var code: Int = ERROR_CATALOG_DEFAULT_ERROR_CODE
26 var status: String = ""
27 @get:JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
28 var timestamp: LocalDateTime = LocalDateTime.now()
29 var message: String = ""
30 var debugMessage: String = ""
31 var logLevel: String = Level.ERROR.name
32 val subErrors: ArrayList<ErrorMessage> = ArrayList()
37 code: Int = ERROR_CATALOG_DEFAULT_ERROR_CODE,
40 logLevel: String = Level.ERROR.name,
41 debugMessage: String = ""
45 this.message = message
46 this.logLevel = logLevel
47 this.debugMessage = debugMessage
51 code: Int = ERROR_CATALOG_DEFAULT_ERROR_CODE,
54 logLevel: String = Level.ERROR.name,
55 debugMessage: String = "",
56 errorMessage: ErrorMessage
60 this.message = message
61 this.logLevel = logLevel
62 this.debugMessage = debugMessage
63 this.subErrors.add(errorMessage)
66 fun isEqualTo(errorPayload: ErrorPayload): Boolean {
67 return (this.code == errorPayload.code && this.status == errorPayload.status && this.message == errorPayload.message &&
68 this.logLevel == errorPayload.logLevel && this.debugMessage == errorPayload.debugMessage &&
69 this.subErrors == errorPayload.subErrors)
78 data class ErrorMessage(
84 data class ErrorCatalog(
91 fun getMessage(): String {
92 return "Cause: $cause ${System.lineSeparator()} Action : $action"