Remove dead code
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-core / src / main / java / org / openecomp / sdc / validation / services / ValidationFactory.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 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 package org.openecomp.sdc.validation.services;
21
22 import org.apache.commons.collections4.CollectionUtils;
23 import org.onap.config.api.Configuration;
24 import org.onap.config.api.ConfigurationManager;
25 import org.openecomp.core.utilities.CommonMethods;
26 import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration;
27 import org.openecomp.sdc.logging.api.Logger;
28 import org.openecomp.sdc.logging.api.LoggerFactory;
29 import org.openecomp.sdc.validation.Validator;
30 import org.openecomp.sdc.validation.type.ConfigConstants;
31
32 import java.io.File;
33 import java.util.ArrayList;
34 import java.util.List;
35 import java.util.Map;
36
37 public class ValidationFactory {
38   private static final List<Validator> validators = new ArrayList<>();
39   private static Map<String, ImplementationConfiguration> validationImplMap;
40   private static Logger logger =
41       (Logger) LoggerFactory.getLogger(ValidationFactory.class);
42   private static File file;
43
44
45   static {
46     Configuration config = ConfigurationManager.lookup();
47     validationImplMap = config.populateMap(ConfigConstants.Namespace,
48         ConfigConstants.Validator_Impl_Key, ImplementationConfiguration.class);
49     validationImplMap.putAll(config.populateMap(ConfigConstants.Mandatory_Namespace,
50         ConfigConstants.Validator_Impl_Key, ImplementationConfiguration.class));
51   }
52
53   /**
54    * Initialize a validator.
55    */
56   public static List<Validator> getValidators() {
57     synchronized (validators) {
58       if (CollectionUtils.isEmpty(validators)) {
59         validationImplMap.values().stream()
60             .filter(implementationConfiguration -> implementationConfiguration
61                 .isEnable()).forEachOrdered(implementationConfiguration -> validators.add
62             (cerateValidatorImpl(implementationConfiguration)));
63       }
64     }
65     return validators;
66   }
67
68   private static Validator cerateValidatorImpl(ImplementationConfiguration validatorConf) {
69     Validator validator =
70         CommonMethods.newInstance(validatorConf.getImplementationClass(), Validator.class);
71     validator.init(validatorConf.getProperties());
72
73     logger.debug("created validator" + validatorConf.getImplementationClass());
74     return validator;
75   }
76 }