aboutsummaryrefslogtreecommitdiffstats
path: root/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationObject.java
blob: f41c134f3f32f5c0f8d6691b9e927f11a44d81c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 * Copyright © 2019 AT&T Intellectual Property.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *         http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * 
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *         https://creativecommons.org/licenses/by/4.0/
 * 
 * Unless required by applicable law or agreed to in writing, documentation
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/
package org.onap.observations;

import com.att.eelf.i18n.EELFResolvableErrorEnum;
import com.att.eelf.i18n.EELFResourceManager;
import javax.ws.rs.core.Response.Status;
import org.apache.log4j.Level;


public class ObservationObject implements ObservationInterface {

    // *************************************************************************************************
    // Interface class that matches the ObservationInteface pattern
    // This will be used in case we decide to provide external overrides and we need to instantiate
    // For now, we'll just use the Enum itself.
    //
    //
    private Enum<?> value = null;
    private Level level = null;;
    private String message = null;
    private Status status = null;
    private String domain = null;
    private Boolean metric = false;
    private Boolean audit = false;

    public ObservationObject(ObservationInterface o) {
        this.value   = o.getValue();
        this.level   = o.getLevel();
        this.message = o.getMessage();
        this.status  = o.getStatus();
        this.domain  = o.getDomain();
        this.metric  = o.getMetric();
        this.audit   = o.getAudit();

    }

    public Enum<?> getValue() {
        return value;
    }

    @Override
    public String getMessage() {
        return message;
    }

    @Override
    public Status getStatus() {
        return status;
    }

    @Override
    public String getDomain() {
        return domain;
    }

    @Override
    public Level getLevel() {
        return level;
    }

    @Override
    public String name() {
        return value.name();
    }

    @Override
    public Boolean getAudit() {
        return audit;
    }

    @Override
    public Boolean getMetric() {
        return metric;
    }

    public String getMessage(String... arguments) {
        return EELFResourceManager.format((EELFResolvableErrorEnum) value, arguments);
    }

    public void setValue(Enum<?> value) {
        this.value = value;
    }

    public void setLevel(Level level) {
        this.level = level;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void setStatus(Status status) {
        this.status = status;
    }


}