-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhttpserver_src_main_java_com_httpserveremanuel_httpserver_config_ConfigurationManager.java
More file actions
73 lines (60 loc) · 2.19 KB
/
Copy pathhttpserver_src_main_java_com_httpserveremanuel_httpserver_config_ConfigurationManager.java
File metadata and controls
73 lines (60 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.httpserveremanuel.httpserver.config;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.httpserveremanuel.httpserver.util.Json;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class ConfigurationManager {
public static ConfigurationManager myConfigurationManager;
private static Configuration myCurrentconfiguration;
private ConfigurationManager() {
}
public static ConfigurationManager getInstance(){
if(myConfigurationManager == null)
myConfigurationManager = new ConfigurationManager();
return myConfigurationManager;
}
//
//USed to load a configuration file by the path provided
//
public void localConfiguration(String filePath) {
FileReader fileReader = null;
try {
fileReader = new FileReader(filePath);
} catch (FileNotFoundException e) {
throw new HTTPConfigurationException(e);
}
StringBuffer sb = new StringBuffer();
// NOw we going to read everything in the file so we need a while or for loop
int i;
try {
while ( ( i = fileReader.read()) != -1){
sb.append((char)i);
}
}catch (IOException e){
throw new HTTPConfigurationException(e);
}
JsonNode conf = null;
try {
conf = Json.parse(sb.toString());
} catch (IOException e) {
throw new HTTPConfigurationException("Error parsing the COnfiguration file",e);
}
//We use that note from our Json file
try {
myCurrentconfiguration = Json.fromJson(conf, Configuration.class);
} catch (JsonProcessingException e) {
throw new HTTPConfigurationException("Error parsing the confiuration file,internal",e);
}
}
//
//Returns the Current loaded Configuration
//
public Configuration getCurrentConfiguration(){
if( myCurrentconfiguration == null){
throw new HTTPConfigurationException("NO Curretn Configuration Set.");
}
return myCurrentconfiguration;
}
}