c49062acc0255aa51c94b49cda68dd6da8244304
[sdc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2020 Nokia 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.impl.validators;
21
22 import java.util.Set;
23
24 class FileExtensionUtils {
25
26     private static final Set<String> VALID_PM_DICTIONARY_EXTENSIONS = Set.of(
27         "pmdict.yml",
28         "pmdict.yaml",
29         "pm_dict.yml",
30         "pm_dict.yaml",
31         "pmdictionary.yml",
32         "pmdictionary.yaml",
33         "pm_dictionary.yml",
34         "pm_dictionary.yaml"
35     );
36     private static final Set<String> VALID_YAML_EXTENSIONS = Set.of(
37         ".yaml",
38         ".yml",
39         ".env"
40     );
41
42     static boolean isYaml(String fileName) {
43         return isValidExt(fileName, VALID_YAML_EXTENSIONS);
44     }
45
46     static boolean isPmDictionary(String fileName) {
47         return isValidExt(fileName, VALID_PM_DICTIONARY_EXTENSIONS);
48     }
49
50     private static boolean isValidExt(String fileName, Set<String> validExtensions) {
51         String fileNameLower = fileName.toLowerCase();
52         return validExtensions.stream()
53             .anyMatch(fileNameLower::endsWith);
54     }
55 }