dc46487c8abb22675640631fd01033535af438ea
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ServiceProviderPlugin / src / oic / simulator / serviceprovider / resource / StandardConfiguration.java
1 package oic.simulator.serviceprovider.resource;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.net.URISyntaxException;
6 import java.net.URL;
7 import java.util.HashMap;
8 import java.util.Iterator;
9 import java.util.Map;
10
11 import oic.simulator.serviceprovider.Activator;
12 import oic.simulator.serviceprovider.utils.Constants;
13
14 import org.eclipse.core.runtime.FileLocator;
15 import org.osgi.framework.Bundle;
16
17 public class StandardConfiguration {
18
19     // A map of filename of standard resources as the key and the complete
20     // location of the file(including the filename) as the value.
21     Map<String, String> stdConfigFiles;
22
23     public StandardConfiguration() {
24         stdConfigFiles = new HashMap<String, String>();
25         addFiles();
26         populateStandardConfigurationList();
27     }
28
29     private void addFiles() {
30         stdConfigFiles.put(Constants.RAML_FILE_PREFIX + "light.raml", null);
31     }
32
33     private void populateStandardConfigurationList() {
34         if (stdConfigFiles.isEmpty()) {
35             return;
36         }
37         Iterator<String> fileItr = stdConfigFiles.keySet().iterator();
38         String fileName;
39         URL url;
40         File file;
41         String filePath;
42         Bundle bundle = Activator.getDefault().getBundle();
43         while (fileItr.hasNext()) {
44             fileName = fileItr.next();
45             url = bundle.getEntry(Constants.CONFIG_DIRECTORY_PATH + "/"
46                     + fileName);
47             if (null == url) {
48                 return;
49             }
50             try {
51                 file = new File(FileLocator.resolve(url).toURI());
52             } catch (URISyntaxException | IOException e) {
53                 System.out.println(e.getMessage());
54                 return;
55             }
56             filePath = file.getAbsolutePath();
57             stdConfigFiles.put(fileName, filePath);
58         }
59     }
60
61     public Map<String, String> getStandardResourceConfigurationList() {
62         return stdConfigFiles;
63     }
64
65     public void setStandardResourceConfigurationList(
66             Map<String, String> stdConfigFiles) {
67         this.stdConfigFiles = stdConfigFiles;
68     }
69
70     public String getFilePath(String fileName) {
71         return stdConfigFiles.get(fileName);
72     }
73 }