Enhancements for the aai-common library
[aai/aai-common.git] / aai-schema-ingest / src / main / java / org / onap / aai / validation / CheckEverythingStrategy.java
1 /** 
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-18 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 /**
22  * 
23  */
24
25 package org.onap.aai.validation;
26
27 import java.util.ArrayList;
28 import java.util.List;
29
30 import org.apache.commons.lang.StringUtils;
31
32 /**
33  * When an error is found, mark that it is NOT ok to
34  * continue with installation/whatever other caller function,
35  * and keep track of the message but
36  * keep validating so all issues are found in one run.
37  */
38 public class CheckEverythingStrategy implements SchemaErrorStrategy {
39     private boolean isOK = true;
40     private List<String> errorMsgs = new ArrayList<>();
41
42     /*
43      * (non-Javadoc)
44      * 
45      * @see org.onap.aai.edges.validation.SchemaErrorStrategy#isOK()
46      */
47     @Override
48     public boolean isOK() {
49         return isOK;
50     }
51
52     /*
53      * (non-Javadoc)
54      * 
55      * @see org.onap.aai.edges.validation.SchemaErrorStrategy#getErrorMsg()
56      */
57     @Override
58     public String getErrorMsg() {
59         if (errorMsgs.isEmpty()) {
60             return "No errors found.";
61         } else {
62             return StringUtils.join(errorMsgs.iterator(), "\n");
63         }
64     }
65
66     /*
67      * (non-Javadoc)
68      * 
69      * @see org.onap.aai.edges.validation.SchemaErrorStrategy#notifyOnError(java.lang.String)
70      */
71     @Override
72     public void notifyOnError(String errorMsg) {
73         isOK = false;
74         errorMsgs.add(errorMsg);
75     }
76
77 }