0ee9cc83a94592536832e07d7bf174dad7a00dea
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / util / genxsd / ConfigTranslatorForDocs.java
1 /** 
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 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.onap.aai.util.genxsd;
22
23 import java.io.File;
24 import java.io.FilenameFilter;
25 import java.util.ArrayList;
26 import java.util.Arrays;
27 import java.util.Collections;
28 import java.util.EnumMap;
29 import java.util.List;
30 import java.util.Map;
31 import java.util.TreeMap;
32
33 import org.onap.aai.setup.ConfigTranslator;
34 import org.onap.aai.setup.SchemaLocationsBean;
35 import org.onap.aai.setup.SchemaVersion;
36 import org.onap.aai.setup.SchemaVersions;
37 import org.springframework.context.annotation.Configuration;
38
39 public class ConfigTranslatorForDocs extends ConfigTranslator {
40
41         public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
42                 super(bean, schemaVersions);
43         }
44
45         @Override
46         public Map<SchemaVersion, List<String>> getNodeFiles() {
47                 List<SchemaVersion> versionsToGen = new ArrayList<>();
48                 versionsToGen = schemaVersions.getVersions();
49                 Collections.sort(versionsToGen);
50                 Collections.reverse(versionsToGen);
51                 Map<SchemaVersion, List<String>> mp = new TreeMap<>();
52                 for (SchemaVersion v : versionsToGen) {
53                         File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase());
54                         File [] fileSet = dir.listFiles();
55                         List<String> files = new ArrayList<>();
56                         for(File f: fileSet ) {
57                                 files.add(f.getAbsolutePath());
58                         }
59                         
60                         mp.put(v, files);
61                 }
62                 return mp;
63         }
64
65         @Override
66         public Map<SchemaVersion, List<String>> getEdgeFiles() {
67                 List<SchemaVersion> versionsToGen = new ArrayList<>();
68                 versionsToGen = schemaVersions.getVersions();
69                 Collections.sort(versionsToGen);
70                 Collections.reverse(versionsToGen);
71                 Map<SchemaVersion, List<String>> mp = new TreeMap<>();
72                 for (SchemaVersion v : versionsToGen) {
73                         File dir = new File(bean.getEdgeDirectory());
74                         File [] fileSet = dir.listFiles(new FilenameFilter() {
75                                 @Override
76                                 public boolean accept(File dir, String name) {
77                                         return name.contains("_"+v.toString().toLowerCase());
78                                 }
79                         });
80                         List<String> files = new ArrayList<>();
81                         for(File f: fileSet ) {
82                                 files.add(f.getAbsolutePath());
83                         }                       
84                         mp.put(v, files);
85                 }
86                 return mp;
87         }
88 }