package com.floreantpos.config; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.prefs.Preferences; import org.apache.derby.jdbc.ClientDriver; import com.floreantpos.main.Application; public class ApplicationConfig { public static final String DATABASE_URL = "DATABASE_URL"; public static final String DATABASE_PORT = "DATABASE_PORT"; public static final String DATABASE_NAME = "DATABASE_NAME"; public static final String DATABASE_USER = "DATABASE_USER"; public static final String DATABASE_PASSWORD = "DATABASE_PASS"; private final static Preferences pref = Preferences.userNodeForPackage(Application.class); public static int getTerminalId() { return pref.getInt("TERMINAL_ID", -1); } public static void setTerminalId(int id) { pref.putInt("TERMINAL_ID", id); } public static Preferences getPreferences() { return pref; } public static boolean getBoolean(String key, boolean defaultValue) { return pref.getBoolean(key, defaultValue); } public static String getString(String key) { return pref.get(key, null); } public static String getString(String key, String defaultValue) { return pref.get(key, defaultValue); } public static void put(String key, boolean value) { pref.putBoolean(key, value); } public static void put(String key, String value) { pref.put(key, value); } public static String getDatabaseURL() { return pref.get(DATABASE_URL, "localhost"); } public static String getConnectionURL() { return "jdbc:derby://" + getDatabaseURL() + ":" + getDatabasePort() + "/" + getDatabaseName(); } public static void setDatabaseURL(String url) { pref.put(DATABASE_URL, url); } public static String getDatabasePort() { return pref.get(DATABASE_PORT, "1527"); } public static void setDatabasePort(String port) { pref.put(DATABASE_PORT, port); } public static String getDatabaseName() { return pref.get(DATABASE_NAME, "posdb"); } public static void setDatabaseName(String name) { pref.put(DATABASE_NAME, name); } public static String getDatabaseUser() { return pref.get(DATABASE_USER, "app"); } public static void setDatabaseUser(String user) { pref.put(DATABASE_USER, user); } public static String getDatabasePassword() { return pref.get(DATABASE_PASSWORD, "sa"); } public static void setDatabasePassword(String password) { pref.put(DATABASE_PASSWORD, password); } public static boolean checkDatabaseConnection(String url, String port, String databaseName, String user, String password) { url = "jdbc:derby://" + url + ":" + port + "/" + databaseName; new ClientDriver(); Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); return true; } catch (SQLException e) { return false; } finally { try { connection.close(); }catch(Throwable t) {} } } public static boolean checkDatabaseConnection() { return checkDatabaseConnection(getDatabaseURL(), getDatabasePort(), getDatabaseName(), getDatabaseUser(), getDatabasePassword()); } }