push addional code
[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 public class ErrorMessage {
30   private final ErrorLevel level;
31   private final String message;
32
33   public ErrorMessage(ErrorLevel level, String message) {
34     this.level = level;
35     this.message = message;
36   }
37
38   public ErrorLevel getLevel() {
39     return level;
40   }
41
42   public String getMessage() {
43     return message;
44   }
45
46   @Override
47   public boolean equals(Object object) {
48     if (this == object) {
49       return true;
50     }
51     if (object == null || getClass() != object.getClass()) {
52       return false;
53     }
54
55     ErrorMessage that = (ErrorMessage) object;
56
57     return level == that.level && message.equals(that.message);
58
59   }
60
61   @Override
62   public int hashCode() {
63     int result = level.hashCode();
64     result = 31 * result + message.hashCode();
65     return result;
66   }
67
68   public static class ErrorMessageUtil {
69
70     /**
71      * Add message list.
72      *
73      * @param fileName the file name
74      * @param errorMap the error map
75      * @return the list
76      */
77     public static List<ErrorMessage> addMessage(String fileName,
78                                                 Map<String, List<ErrorMessage>> errorMap) {
79       List<ErrorMessage> fileErrorList;
80       fileErrorList = errorMap.get(fileName);
81       if (CollectionUtils.isEmpty(fileErrorList)) {
82         fileErrorList = new ArrayList<>();
83         errorMap.put(fileName, fileErrorList);
84       }
85
86       return fileErrorList;
87     }
88   }
89
90
91 }