Refractor config to take another element that String

This commit is contained in:
jeffcheasey88 2023-02-22 15:22:34 +01:00
parent eace65ad53
commit b1674d44a1
3 changed files with 49 additions and 13 deletions

View file

@ -10,13 +10,13 @@ import java.lang.reflect.Field;
public class Configuration { public class Configuration {
private String db_host; private String db_host;
private String db_port; private int db_port;
private String db_user; private String db_user;
private String db_database; private String db_database;
private String db_password; private String db_password;
private String tcp_port; private int tcp_port;
private String use_ssl; private boolean use_ssl;
private String ssl_keystore; private String ssl_keystore;
private String ssl_keystorePasswd; private String ssl_keystorePasswd;
@ -38,11 +38,49 @@ public class Configuration {
Field field = getClass().getDeclaredField(split[0]); Field field = getClass().getDeclaredField(split[0]);
if(field == null) continue; if(field == null) continue;
field.setAccessible(true); field.setAccessible(true);
field.set(this, split[1]); injectValue(field, split[1]);
} }
reader.close(); reader.close();
} }
private void injectValue(Field field, String value) throws IllegalAccessException{
if(field.getType().isPrimitive()){
switch(field.getType().getName()){
case "boolean":
field.setBoolean(this, Boolean.parseBoolean(value));
break;
case "byte":
field.setByte(this, Byte.parseByte(value));
break;
case "char":
field.setChar(this, value.charAt(0));
break;
case "double":
field.setDouble(this, Double.parseDouble(value));
break;
case "float":
field.setFloat(this, Float.parseFloat(value));
break;
case "int":
field.setInt(this, Integer.parseInt(value));
break;
case "long":
field.setLong(this, Long.parseLong(value));
break;
case "short":
field.setShort(this, Short.parseShort(value));
break;
default: throw new IllegalArgumentException(value);
}
return;
}
if(field.getType().equals(String.class)){
field.set(this, value);
return;
}
throw new IllegalArgumentException(value);
}
public void save() throws Exception{ public void save() throws Exception{
if(!_file.exists()){ if(!_file.exists()){
File parent = _file.getParentFile(); File parent = _file.getParentFile();
@ -65,7 +103,7 @@ public class Configuration {
return this.db_host; return this.db_host;
} }
public String getDbPort(){ public int getDbPort(){
return this.db_port; return this.db_port;
} }
@ -90,10 +128,10 @@ public class Configuration {
} }
public int getTcpPort(){ public int getTcpPort(){
return Integer.parseInt(this.tcp_port); return this.tcp_port;
} }
public boolean useSsl(){ public boolean useSsl(){
return Boolean.parseBoolean(this.use_ssl); return this.use_ssl;
} }
} }

View file

@ -32,10 +32,10 @@ public class Main {
Router router = new Router(); Router router = new Router();
router.setDefault(new Response() { router.setDefault(new Response(){
@Override @Override
public Pattern getPattern() { public Pattern getPattern(){
return null; return null;
} }
@ -72,7 +72,7 @@ public class Main {
server = (SSLServerSocket) ssf.createServerSocket(config.getTcpPort()); server = (SSLServerSocket) ssf.createServerSocket(config.getTcpPort());
while (!server.isClosed()) { while (!server.isClosed()) {
SSLSocket socket = (SSLSocket) server.accept(); Socket socket = server.accept();
Client client = new Client(socket, router); Client client = new Client(socket, router);
client.start(); client.start();
} }

View file

@ -5,13 +5,11 @@ import java.util.Arrays;
public class Client extends Thread{ public class Client extends Thread{
private Socket socket; // A quoi il sert ??
private HttpReader reader; private HttpReader reader;
private HttpWriter writer; private HttpWriter writer;
private Router router; private Router router;
public Client(Socket socket, Router router) throws Exception{ public Client(Socket socket, Router router) throws Exception{
this.socket = socket;
this.reader = new HttpReader(socket); this.reader = new HttpReader(socket);
this.writer = new HttpWriter(socket); this.writer = new HttpWriter(socket);
this.router = router; this.router = router;