//CYCLONE MATRIX HOST NODE APPLICATION
//Hermann L. Johnson, 2019
//Free for unmodified distribution and non-commercial use.
/*
Parameters
----------
Manages the operating parameters.
*/
import java.io.*;
import java.util.*;
public class Parameters {
private String default_root_directory;
private String default_config_file;
private boolean HELP;
private String MODE;
private String SHASUM;
private String MACFINDER_EXECUTABLE;
private String DEFAULTGW_EXECUTABLE;
private String CLIENT_DEFAULT_IP;
private int CLIENT_REFRESH_TIME;
private int CLIENT_MAX_PULL;
private int[] CLIENT_UPLOAD_PORTS;
private int CLIENT_DOWNLOAD_PORT;
private int[] SERVER_UPLOAD_PORTS;
private int[] SERVER_DOWNLOAD_PORTS;
private int SERVER_MAX_CONNECTIONS;
private String[] LOCATION_WHITELIST;
private String[] LOCATION_BLACKLIST;
private String ROOT_DIRECTORY;
private String CONFIG_FILE;
private String LOG_PARAMS;
private String[] MAC_IN_BLACKLIST;
private String[] MAC_OUT_BLACKLIST;
private String[] MAC_IN_WHITELIST;
private String[] MAC_OUT_WHITELIST;
private int DAYS_OLD_LIMIT;
private String IMPORT_DATAFILE;
private String[] command_line_parameters;
public Parameters() {
default_root_directory = "CYCLONE";
default_config_file = ".config";
HELP = false;
MODE = "gui";
SHASUM = "shasum";
MACFINDER_EXECUTABLE = "macfinder";
DEFAULTGW_EXECUTABLE = "defaultgwfinder";
CLIENT_DEFAULT_IP = "192.168.0.1";
CLIENT_REFRESH_TIME = 300;
CLIENT_MAX_PULL = Integer.MAX_VALUE;
CLIENT_UPLOAD_PORTS = new int[2];
CLIENT_UPLOAD_PORTS[0] = 443;
CLIENT_UPLOAD_PORTS[1] = 444;
CLIENT_DOWNLOAD_PORT = 80;
SERVER_UPLOAD_PORTS = new int[2];
SERVER_UPLOAD_PORTS[0] = 443;
SERVER_UPLOAD_PORTS[1] = 444;
SERVER_DOWNLOAD_PORTS = new int[1];
SERVER_DOWNLOAD_PORTS[0] = 80;
SERVER_MAX_CONNECTIONS = 10;
LOCATION_WHITELIST = new String[1];
LOCATION_WHITELIST[0] = "";
LOCATION_BLACKLIST = new String[1];
LOCATION_BLACKLIST[0] = "";
ROOT_DIRECTORY = default_root_directory;
CONFIG_FILE = default_config_file;
LOG_PARAMS = "";
MAC_IN_BLACKLIST = new String[1];
MAC_IN_BLACKLIST[0] = "";
MAC_OUT_BLACKLIST = new String[1];
MAC_OUT_BLACKLIST[0] = "";
MAC_IN_WHITELIST = new String[1];
MAC_IN_WHITELIST[0] = "";
MAC_OUT_WHITELIST = new String[1];
MAC_OUT_WHITELIST[0] = "";
DAYS_OLD_LIMIT = 0;
IMPORT_DATAFILE = "";
}
public synchronized void take(String[] incomingParameters) {
command_line_parameters = new String[incomingParameters.length];
for(int count=0;count<incomingParameters.length;count++)
command_line_parameters[count] = incomingParameters[count];
String combined = new String("");
String parm_value = new String("");
int int_parm_value = 0;
for(int count=0;count<incomingParameters.length;count++) {
combined = combined + incomingParameters[count] +" ";
}
if(combined.equals("")) return;
try {
if(combined.indexOf("-?") >= 0)
HELP = true;
if(combined.indexOf("-mode=gui") >= 0)
MODE = "gui";
else if(combined.indexOf("-mode=stdio1") >= 0)
MODE = "stdio1";
else if(combined.indexOf("-mode=stdio2") >= 0)
MODE = "stdio2";
else if(combined.indexOf("-mode=stdio3") >= 0)
MODE = "stdio3";
else if(combined.indexOf("-mode=stdio4") >= 0)
MODE = "stdio4";
else if(combined.indexOf("-mode=stdiosingle1") >= 0)
MODE = "stdiosingle1";
else if(combined.indexOf("-mode=stdiosingle2") >= 0)
MODE = "stdiosingle2";
else if(combined.indexOf("-mode=stdiosingle3") >= 0)
MODE = "stdiosingle3";
else if(combined.indexOf("-mode=stdiosingle4") >= 0)
MODE = "stdiosingle4";
else if(combined.indexOf("-mode=secondary") >= 0)
MODE = "secondary";
//if, because it starts with "secondary" and would skip else.
if(combined.indexOf("-mode=secondarysinglec") >= 0)
MODE = "secondarysinglec";
else if(combined.indexOf("-mode=secondarysingles") >= 0)
MODE = "secondarysingles";
parm_value = takeString(combined,"-shasum_executable=");
if(!parm_value.equals("")) SHASUM = parm_value;
parm_value = takeString(combined,"-macfinder_executable=");
if(!parm_value.equals("")) MACFINDER_EXECUTABLE = parm_value;
parm_value = takeString(combined,"-defaultgw_executable=");
if(!parm_value.equals("")) DEFAULTGW_EXECUTABLE = parm_value;
parm_value = takeString(combined,"-client_default_ip=");
if(!parm_value.equals("")) CLIENT_DEFAULT_IP = parm_value;
int_parm_value = takeNumeric(combined,"-client_refresh_time=");
if(int_parm_value>0) CLIENT_REFRESH_TIME = int_parm_value;
int_parm_value = takeNumeric(combined,"-client_max_pull=");
if(int_parm_value>0) CLIENT_MAX_PULL = int_parm_value;
parm_value = takeString(combined,"-client_upload_ports=");
if(!parm_value.equals("")) fillClientUploadPorts(parm_value);
int_parm_value = takeNumeric(combined,"-client_download_port=");
if(int_parm_value>0) CLIENT_DOWNLOAD_PORT = int_parm_value;
parm_value = takeString(combined,"-server_upload_ports=");
if(!parm_value.equals("")) fillServerUploadPorts(parm_value);
parm_value = takeString(combined,"-server_download_ports=");
if(!parm_value.equals("")) fillServerDownloadPorts(parm_value);
int_parm_value = takeNumeric(combined,"-server_max_connections=");
if(int_parm_value>0) SERVER_MAX_CONNECTIONS = int_parm_value;
parm_value = takeString(combined,"-location_whitelist=");
if(!parm_value.equals("")) fillLocationWhitelist(parm_value);
parm_value = takeString(combined,"-location_blacklist=");
if(!parm_value.equals("")) fillLocationBlacklist(parm_value);
parm_value = takeString(combined,"-root_directory=");
if(!parm_value.equals("")) ROOT_DIRECTORY = parm_value;
parm_value = takeString(combined,"-config=");
if(!parm_value.equals("")) CONFIG_FILE = parm_value;
parm_value = takeString(combined,"-log=");
if(!parm_value.equals("")) LOG_PARAMS = parm_value;
parm_value = takeString(combined,"-mac_in_blacklist=");
if(!parm_value.equals("")) fillMacInBlacklist(parm_value);
parm_value = takeString(combined,"-mac_out_blacklist=");
if(!parm_value.equals("")) fillMacOutBlacklist(parm_value);
parm_value = takeString(combined,"-mac_in_whitelist=");
if(!parm_value.equals("")) fillMacInWhitelist(parm_value);
parm_value = takeString(combined,"-mac_out_whitelist=");
if(!parm_value.equals("")) fillMacOutWhitelist(parm_value);
int_parm_value = takeNumeric(combined,"-days_old_limit=");
if(int_parm_value>0) DAYS_OLD_LIMIT = int_parm_value;
parm_value = takeString(combined,"-import_datafile=");
if(!parm_value.equals("")) IMPORT_DATAFILE = parm_value;
} catch(Exception e) {
System.err.println("Error Parameters:1A- Should not be possible.");
}
}
private synchronized void fillServerUploadPorts(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
SERVER_UPLOAD_PORTS[0] = Integer.parseInt(forbreaking);
else {
int currentIndex = 0;
SERVER_UPLOAD_PORTS = new int[st.countTokens()];
while (st.hasMoreTokens()) {
SERVER_UPLOAD_PORTS[currentIndex] = Integer.parseInt(
st.nextToken());
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
SERVER_UPLOAD_PORTS = new int[2];
SERVER_UPLOAD_PORTS[0] = 443;
SERVER_UPLOAD_PORTS[1] = 444;
}
}
private synchronized void fillClientUploadPorts(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
CLIENT_UPLOAD_PORTS[0] = Integer.parseInt(forbreaking);
else {
int currentIndex = 0;
CLIENT_UPLOAD_PORTS = new int[st.countTokens()];
while (st.hasMoreTokens()) {
CLIENT_UPLOAD_PORTS[currentIndex] = Integer.parseInt(
st.nextToken());
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
CLIENT_UPLOAD_PORTS = new int[1];
CLIENT_UPLOAD_PORTS[0] = 80;
}
}
private synchronized void fillServerDownloadPorts(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
SERVER_DOWNLOAD_PORTS[0] = Integer.parseInt(forbreaking);
else {
int currentIndex = 0;
SERVER_DOWNLOAD_PORTS = new int[st.countTokens()];
while (st.hasMoreTokens()) {
SERVER_DOWNLOAD_PORTS[currentIndex] = Integer.parseInt(
st.nextToken());
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
SERVER_DOWNLOAD_PORTS = new int[1];
SERVER_DOWNLOAD_PORTS[0] = 80;
}
}
private synchronized void fillLocationWhitelist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
LOCATION_WHITELIST[0] = forbreaking;
else {
int currentIndex = 0;
LOCATION_WHITELIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
LOCATION_WHITELIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
LOCATION_WHITELIST = new String[1];
LOCATION_WHITELIST[0] = "";
}
}
private synchronized void fillLocationBlacklist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
LOCATION_BLACKLIST[0] = forbreaking;
else {
int currentIndex = 0;
LOCATION_BLACKLIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
LOCATION_BLACKLIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
LOCATION_BLACKLIST = new String[1];
LOCATION_BLACKLIST[0] = "";
}
}
private synchronized void fillMacInBlacklist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
MAC_IN_BLACKLIST[0] = forbreaking;
else {
int currentIndex = 0;
MAC_IN_BLACKLIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
MAC_IN_BLACKLIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
MAC_IN_BLACKLIST = new String[1];
MAC_IN_BLACKLIST[0] = "";
}
}
private synchronized void fillMacOutBlacklist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
MAC_OUT_BLACKLIST[0] = forbreaking;
else {
int currentIndex = 0;
MAC_OUT_BLACKLIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
MAC_OUT_BLACKLIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
MAC_OUT_BLACKLIST = new String[1];
MAC_OUT_BLACKLIST[0] = "";
}
}
private synchronized void fillMacInWhitelist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
MAC_IN_WHITELIST[0] = forbreaking;
else {
int currentIndex = 0;
MAC_IN_WHITELIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
MAC_IN_WHITELIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
MAC_IN_WHITELIST = new String[1];
MAC_IN_WHITELIST[0] = "";
}
}
private synchronized void fillMacOutWhitelist(String forbreaking) {
try {
StringTokenizer st = new StringTokenizer(forbreaking,",");
if(st.countTokens()==1)
MAC_OUT_WHITELIST[0] = forbreaking;
else {
int currentIndex = 0;
MAC_OUT_WHITELIST = new String[st.countTokens()];
while (st.hasMoreTokens()) {
MAC_OUT_WHITELIST[currentIndex] = st.nextToken();
currentIndex++;
}
}
} catch(Exception e) {
System.err.println("Problem parsing server ports.");
MAC_OUT_WHITELIST = new String[1];
MAC_OUT_WHITELIST[0] = "";
}
}
private static int takeNumeric(String combined, String searchFor) {
int returnInt = 0;
String identified = "";
try {
identified = takeString(combined,searchFor);
if(!identified.equals(""))
returnInt = Integer.parseInt(identified);
else returnInt = 0;
} catch(Exception e) {
System.err.println("Bad numeric parameter found!");
returnInt = 0;
}
return returnInt;
}
private static String takeString(String combined, String searchFor) {
int indexA = 0;
int indexB = 0;
if((indexA=combined.indexOf(searchFor)) >= 0) {
if((indexB=combined.indexOf(" ",indexA)) >= 0) {
return combined.substring(combined.indexOf(
"=",indexA)+1,indexB);
}
}
return "";
}
public synchronized void writeConfiguration() {
File configFile;
try {
//If the default configuration file location is used
if(CONFIG_FILE.equals(default_config_file))
configFile = new File(ROOT_DIRECTORY,CONFIG_FILE);
else
configFile = new File(CONFIG_FILE);
//In case the directory is not present.
configFile.getParentFile().mkdir();
PrintStream outfilestream = new PrintStream(
new BufferedOutputStream(
new FileOutputStream(configFile)));
outputParametersToStream(outfilestream);
outfilestream.flush();
outfilestream.close();
} catch(Exception e) {
System.err.println("Problem writing configuration file.");
}
}
private synchronized void processConfigFileLine(String currentLine) {
try {
StringTokenizer st = new StringTokenizer(currentLine," ");
st.nextToken();
if(currentLine.startsWith("MODE")) MODE = st.nextToken();
else if(currentLine.startsWith("SHASUM")) SHASUM = st.nextToken();
else if(currentLine.startsWith("MACFINDER_EXECUTABLE"))
MACFINDER_EXECUTABLE = st.nextToken();
else if(currentLine.startsWith("DEFAULTGW_EXECUTABLE"))
DEFAULTGW_EXECUTABLE = st.nextToken();
else if(currentLine.startsWith("CLIENT_DEFAULT_IP"))
CLIENT_DEFAULT_IP = st.nextToken();
else if(currentLine.startsWith("CLIENT_REFRESH_TIME"))
CLIENT_REFRESH_TIME = Integer.parseInt(st.nextToken());
else if(currentLine.startsWith("CLIENT_MAX_PULL"))
CLIENT_MAX_PULL = Integer.parseInt(st.nextToken());
else if(currentLine.startsWith("CLIENT_UPLOAD_PORTS"))
fillClientUploadPorts(st.nextToken());
else if(currentLine.startsWith("CLIENT_DOWNLOAD_PORT"))
CLIENT_DOWNLOAD_PORT = Integer.parseInt(st.nextToken());
else if(currentLine.startsWith("SERVER_UPLOAD_PORTS"))
fillServerUploadPorts(st.nextToken());
else if(currentLine.startsWith("SERVER_DOWNLOAD_PORTS"))
fillServerDownloadPorts(st.nextToken());
else if(currentLine.startsWith("SERVER_MAX_CONNECTIONS"))
SERVER_MAX_CONNECTIONS = Integer.parseInt(st.nextToken());
else if(currentLine.startsWith("LOCATION_WHITELIST"))
fillLocationWhitelist(st.nextToken());
else if(currentLine.startsWith("LOCATION_BLACKLIST"))
fillLocationBlacklist(st.nextToken());
else if(currentLine.startsWith("ROOT_DIRECTORY"))
ROOT_DIRECTORY = st.nextToken();
else if(currentLine.startsWith("CONFIG_FILE"))
CONFIG_FILE = st.nextToken();
else if(currentLine.startsWith("LOG_PARAMS"))
LOG_PARAMS = st.nextToken();
else if(currentLine.startsWith("MAC_IN_BLACKLIST"))
fillMacInBlacklist(st.nextToken());
else if(currentLine.startsWith("MAC_OUT_BLACKLIST"))
fillMacOutBlacklist(st.nextToken());
else if(currentLine.startsWith("MAC_IN_WHITELIST"))
fillMacInWhitelist(st.nextToken());
else if(currentLine.startsWith("MAC_OUT_WHITELIST"))
fillMacOutWhitelist(st.nextToken());
else if(currentLine.startsWith("DAYS_OLD_LIMIT"))
DAYS_OLD_LIMIT = Integer.parseInt(st.nextToken());
else if(currentLine.startsWith("IMPORT_DATAFILE"))
IMPORT_DATAFILE = st.nextToken();
} catch(Exception e) {
System.err.println("Error processing Config line: "+currentLine);
}
}
public synchronized void readConfigFile() {
//This method does not override command line parameters, therefore
//the take(String[]) method is called at the end.
File configFile;
try {
//If the default configuration file location is used
if(CONFIG_FILE.equals(default_config_file))
configFile = new File(ROOT_DIRECTORY,CONFIG_FILE);
else
configFile = new File(CONFIG_FILE);
String currentLine;
BufferedReader reader = new BufferedReader(
new FileReader(configFile));
while(reader.ready()) {
currentLine = reader.readLine();
processConfigFileLine(currentLine);
}
} catch(Exception e) {
System.err.println("Problem reading configuration file.");
}
take(command_line_parameters);
}
public synchronized void outputParametersToStream(PrintStream stream) {
stream.println("HELP: "+get_HELP());
stream.println("MODE: "+get_MODE());
stream.println("SHASUM: "+get_SHASUM());
stream.println("MACFINDER_EXECUTABLE: "+get_MACFINDER_EXECUTABLE());
stream.println("DEFAULTGW_EXECUTABLE: "+get_DEFAULTGW_EXECUTABLE());
stream.println("CLIENT_DEFAULT_IP: "+get_CLIENT_DEFAULT_IP());
stream.println("CLIENT_REFRESH_TIME: "+get_CLIENT_REFRESH_TIME());
stream.println("CLIENT_MAX_PULL: "+get_CLIENT_MAX_PULL());
stream.print ("CLIENT_UPLOAD_PORTS: ");
for(int count=0;count<get_CLIENT_UPLOAD_PORTS().length;count++) {
stream.print(get_CLIENT_UPLOAD_PORTS()[count]);
if(count<(get_CLIENT_UPLOAD_PORTS().length-1)) stream.print(",");
}
stream.println();
stream.println("CLIENT_DOWNLOAD_PORT: "+get_CLIENT_DOWNLOAD_PORT());
stream.print ("SERVER_UPLOAD_PORTS: ");
for(int count=0;count<get_SERVER_UPLOAD_PORTS().length;count++) {
stream.print(get_SERVER_UPLOAD_PORTS()[count]);
if(count<(get_SERVER_UPLOAD_PORTS().length-1)) stream.print(",");
}
stream.println();
stream.print ("SERVER_DOWNLOAD_PORTS: ");
for(int count=0;count<get_SERVER_DOWNLOAD_PORTS().length;count++) {
stream.print(get_SERVER_DOWNLOAD_PORTS()[count]);
if(count<(get_SERVER_DOWNLOAD_PORTS().length-1)) stream.print(",");
}
stream.println();
stream.println("SERVER_MAX_CONNECTIONS: "+get_SERVER_MAX_CONNECTIONS());
stream.print ("LOCATION_WHITELIST: ");
for(int count=0;count<get_LOCATION_WHITELIST().length;count++) {
stream.print(get_LOCATION_WHITELIST()[count]);
if(count<(get_LOCATION_WHITELIST().length-1)) stream.print(",");
}
stream.println();
stream.print ("LOCATION_BLACKLIST: ");
for(int count=0;count<get_LOCATION_BLACKLIST().length;count++) {
stream.print(get_LOCATION_BLACKLIST()[count]);
if(count<(get_LOCATION_BLACKLIST().length-1)) stream.print(",");
}
stream.println();
stream.println("ROOT_DIRECTORY: "+get_ROOT_DIRECTORY());
stream.println("CONFIG_FILE: "+get_CONFIG_FILE());
stream.println("LOG_PARAMS: "+get_LOG_PARAMS());
stream.print ("MAC_IN_BLACKLIST: ");
for(int count=0;count<get_MAC_IN_BLACKLIST().length;count++) {
stream.print(get_MAC_IN_BLACKLIST()[count]);
if(count<(get_MAC_IN_BLACKLIST().length-1)) stream.print(",");
}
stream.println();
stream.print ("MAC_OUT_BLACKLIST: ");
for(int count=0;count<get_MAC_OUT_BLACKLIST().length;count++) {
stream.print(get_MAC_OUT_BLACKLIST()[count]);
if(count<(get_MAC_OUT_BLACKLIST().length-1)) stream.print(",");
}
stream.println();
stream.print ("MAC_IN_WHITELIST: ");
for(int count=0;count<get_MAC_IN_WHITELIST().length;count++) {
stream.print(get_MAC_IN_WHITELIST()[count]);
if(count<(get_MAC_IN_WHITELIST().length-1)) stream.print(",");
}
stream.println();
stream.print ("MAC_OUT_WHITELIST: ");
for(int count=0;count<get_MAC_OUT_WHITELIST().length;count++) {
stream.print(get_MAC_OUT_WHITELIST()[count]);
if(count<(get_MAC_OUT_WHITELIST().length-1)) stream.print(",");
}
stream.println();
stream.println("DAYS_OLD_LIMIT: "+get_DAYS_OLD_LIMIT());
stream.println("IMPORT_DATAFILE: "+get_IMPORT_DATAFILE());
}
public synchronized boolean get_HELP() {
return HELP;
}
public synchronized String get_MODE() {
return MODE;
}
public synchronized String get_SHASUM() {
return SHASUM;
}
public synchronized String get_MACFINDER_EXECUTABLE() {
return MACFINDER_EXECUTABLE;
}
public synchronized String get_DEFAULTGW_EXECUTABLE() {
return DEFAULTGW_EXECUTABLE;
}
public synchronized String get_CLIENT_DEFAULT_IP() {
return CLIENT_DEFAULT_IP;
}
public synchronized int get_CLIENT_REFRESH_TIME() {
return CLIENT_REFRESH_TIME;
}
public synchronized int get_CLIENT_MAX_PULL() {
return CLIENT_MAX_PULL;
}
public synchronized int[] get_CLIENT_UPLOAD_PORTS() {
return CLIENT_UPLOAD_PORTS;
}
public synchronized int get_CLIENT_DOWNLOAD_PORT() {
return CLIENT_DOWNLOAD_PORT;
}
public synchronized int[] get_SERVER_UPLOAD_PORTS() {
return SERVER_UPLOAD_PORTS;
}
public synchronized int[] get_SERVER_DOWNLOAD_PORTS() {
return SERVER_DOWNLOAD_PORTS;
}
public synchronized int get_SERVER_MAX_CONNECTIONS() {
return SERVER_MAX_CONNECTIONS;
}
public synchronized String[] get_LOCATION_WHITELIST() {
return LOCATION_WHITELIST;
}
public synchronized String[] get_LOCATION_BLACKLIST() {
return LOCATION_BLACKLIST;
}
public synchronized String get_ROOT_DIRECTORY() {
return ROOT_DIRECTORY;
}
public synchronized String get_CONFIG_FILE() {
return CONFIG_FILE;
}
public synchronized String get_LOG_PARAMS() {
return LOG_PARAMS;
}
public synchronized String[] get_MAC_IN_BLACKLIST() {
return MAC_IN_BLACKLIST;
}
public synchronized String[] get_MAC_OUT_BLACKLIST() {
return MAC_OUT_BLACKLIST;
}
public synchronized String[] get_MAC_IN_WHITELIST() {
return MAC_IN_WHITELIST;
}
public synchronized String[] get_MAC_OUT_WHITELIST() {
return MAC_OUT_WHITELIST;
}
public synchronized int get_DAYS_OLD_LIMIT() {
return DAYS_OLD_LIMIT;
}
public synchronized String get_IMPORT_DATAFILE() {
return IMPORT_DATAFILE;
}
}