[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-datatypes-lib / src / main / java / org / openecomp / sdc / datatypes / error / ErrorMessage.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.datatypes.error;
22
23 import org.apache.commons.collections4.CollectionUtils;
24
25 import java.util.ArrayList;
26 import java.util.List;
27 import java.util.Map;
28
29
30 public class ErrorMessage {
31   private final ErrorLevel level;
32   private final String message;
33
34   public ErrorMessage(ErrorLevel level, String message) {
35     this.level = level;
36     this.message = message;
37   }
38
39   public ErrorLevel getLevel() {
40     return level;
41   }
42
43   public String getMessage() {
44     return message;
45   }
46
47   @Override
48   public int hashCode() {
49     int result = level.hashCode();
50     result = 31 * result + message.hashCode();
51     return result;
52   }
53
54   @Override
55   public boolean equals(Object object) {
56     if (this == object) {
57       return true;
58     }
59     if (object == null || getClass() != object.getClass()) {
60       return false;
61     }
62
63     ErrorMessage that = (ErrorMessage) object;
64
65     return level == that.level && message.equals(that.message);
66
67   }
68
69   public static class ErrorMessageUtil {
70
71     /**
72      * Add message list.
73      *
74      * @param fileName the file name
75      * @param errorMap the error map
76      * @return the list
77      */
78     public static List<ErrorMessage> addMessage(String fileName,
79                                                 Map<String, List<ErrorMessage>> errorMap) {
80       List<ErrorMessage> fileErrorList;
81       fileErrorList = errorMap.get(fileName);
82       if (CollectionUtils.isEmpty(fileErrorList)) {
83         fileErrorList = new ArrayList<>();
84         errorMap.put(fileName, fileErrorList);
85       }
86
87       return fileErrorList;
88     }
89   }
90
91
92 }