* Returns system directory.
* @return
*/
- public static File getDirectory() {
+ public static File getSystemDirectory() {
return dir;
}
+ public static File getSystemFile(String name) {
+ return new File(dir, name);
+ }
+
/**
* Returns this app's system property.
* @param key
}
// at
if (commandName.equals("@")) {
- op.output(String.format("current dir : %s", env.getCurrentDirectory().getAbsolutePath()));
- op.output(String.format("system dir : %s", env.getSystemDirectory().getAbsolutePath()));
+ final String currentDirectory = env.getCurrentDirectory().getAbsolutePath();
+ final String systemDirectory = Bootstrap.getSystemDirectory().getAbsolutePath();
+ op.output(String.format("current dir : %s", currentDirectory));
+ op.output(String.format("system dir : %s", systemDirectory));
return true;
}
// report -
*/
public final class ConnectorConfiguration {
+ static final String CONNECTOR_PROPERTIES_NAME = "connector.properties";
+
private static final Pattern idPattern = Pattern.compile("^([^\\.]+)\\.name *=");
/**
}
}
+ public static long lastModified() {
+ return getPath().lastModified();
+ }
+
private static File getPath() {
- return new File(Bootstrap.getDirectory(), Environment.CONNECTOR_PROPERTIES_NAME);
+ return Bootstrap.getSystemFile(CONNECTOR_PROPERTIES_NAME);
}
private static final class ConnectorPropertyComparator implements
package net.argius.stew;
-import static net.argius.stew.Bootstrap.getDirectory;
+import static net.argius.stew.Bootstrap.getSystemFile;
import java.io.*;
import java.sql.*;
*/
public final class Environment {
- static final String CONNECTOR_PROPERTIES_NAME = "connector.properties";
static final String ALIAS_PROPERTIES_NAME = "alias.properties";
private static final Logger log = Logger.getLogger(Environment.class);
private Connection conn;
private int timeoutSeconds;
- private File systemDirectory;
private File currentDirectory;
private long connectorTimestamp;
private AliasMap aliasMap;
this.connectorMap = new ConnectorMap();
loadConnectorMap();
// init directories
- this.systemDirectory = getDirectory();
this.currentDirectory = getInitialCurrentDirectory();
// init alias
- final File aliasPropFile = new File(this.systemDirectory, ALIAS_PROPERTIES_NAME);
+ final File aliasPropFile = getSystemFile(ALIAS_PROPERTIES_NAME);
this.aliasMap = new AliasMap(aliasPropFile);
if (aliasPropFile.exists()) {
try {
// never copy coconnector,conn,op into this
this.connectorMap = new ConnectorMap(src.connectorMap);
this.timeoutSeconds = src.timeoutSeconds;
- this.systemDirectory = src.systemDirectory;
this.currentDirectory = src.currentDirectory;
}
connectorMap = null;
connector = null;
conn = null;
- systemDirectory = null;
currentDirectory = null;
}
log.debug("released internal state of Environment");
* Loads and refreshes connector map.
*/
public void loadConnectorMap() {
- File connectorFile = new File(getDirectory(), CONNECTOR_PROPERTIES_NAME);
ConnectorMap m;
try {
- InputStream is = new FileInputStream(connectorFile);
- try {
- m = ConnectorConfiguration.load(is);
- } finally {
- is.close();
- }
+ m = ConnectorConfiguration.load();
} catch (IOException ex) {
m = new ConnectorMap();
}
connectorMap.clear();
}
connectorMap.putAll(m);
- connectorTimestamp = connectorFile.lastModified();
+ connectorTimestamp = ConnectorConfiguration.lastModified();
}
}
* @return whether updated or not
*/
public boolean updateConnectorMap() {
- File connectorFile = new File(getDirectory(), CONNECTOR_PROPERTIES_NAME);
- if (connectorFile.lastModified() > connectorTimestamp) {
+ if (ConnectorConfiguration.lastModified() > connectorTimestamp) {
loadConnectorMap();
return true;
}
this.currentDirectory = currentDirectory;
}
+ /**
+ * @return system directory
+ * @deprecated use Bootstrap.getSystemDirectory() instead
+ */
+ @Deprecated
public File getSystemDirectory() {
- return systemDirectory;
+ return Bootstrap.getSystemDirectory();
}
public AliasMap getAliasMap() {
this.currentConnector = c;
// auto-expansion
try {
- File confFile = new File(Bootstrap.getDirectory(), "autoexpansion.tsv");
+ File confFile = Bootstrap.getSystemFile("autoexpansion.tsv");
if (confFile.exists() && confFile.length() > 0) {
AnyAction aa = new AnyAction(this);
Scanner r = new Scanner(confFile);
private static void refreshAllAccelerators(Map<String, JMenuItem> itemMap) {
// This method is called everytime menu and popup-menu is created.
- File keyBindConf = new File(Bootstrap.getDirectory(), "keybind.conf");
+ File keyBindConf = Bootstrap.getSystemFile("keybind.conf");
if (!keyBindConf.exists()) {
return;
}
}
private void loadConfiguration() {
- Configuration cnf = Configuration.load(Bootstrap.getDirectory());
+ Configuration cnf = Configuration.load();
op.setSize(cnf.getSize());
op.setLocation(cnf.getLocation());
split2.setDividerLocation(cnf.getDividerLocation());
}
private void saveConfiguration() {
- Configuration cnf = Configuration.load(Bootstrap.getDirectory());
+ Configuration cnf = Configuration.load();
if ((op.getExtendedState() & Frame.MAXIMIZED_BOTH) == 0) {
// only not maximized
cnf.setSize(op.getSize());
private static final Logger log = Logger.getLogger(Configuration.class);
- private transient File directory;
-
private Dimension size;
private Point location;
private int dividerLocation;
this.postProcessMode = AnyActionKey.postProcessMode.toString();
}
- void setDirectory(File directory) {
- this.directory = directory;
- }
-
void save() {
- final File file = getFile(directory);
- log.debug("save Configuration to: [%s]", file);
+ final File file = getFile();
+ log.debug("save Configuration to: [%s]", file.getAbsolutePath());
try {
XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file));
try {
}
}
- static Configuration load(File directory) {
- final File file = getFile(directory);
- log.debug("load Configuration from: [%s]", file);
+ static Configuration load() {
+ final File file = getFile();
+ log.debug("load Configuration from: [%s]", file.getAbsolutePath());
if (file.exists()) {
try {
XMLDecoder decoder = new XMLDecoder(new FileInputStream(file));
try {
- final Configuration instance = (Configuration)decoder.readObject();
- instance.setDirectory(directory);
- return instance;
+ return (Configuration)decoder.readObject();
} finally {
decoder.close();
}
log.warn(ex);
}
}
- final Configuration instance = new Configuration();
- instance.setDirectory(directory);
- return instance;
+ return new Configuration();
}
- private static File getFile(File systemDirectory) {
- final File file = new File(systemDirectory, Configuration.class.getName() + ".xml");
- return file.getAbsoluteFile();
+ private static File getFile() {
+ return Bootstrap.getSystemFile(Configuration.class.getName() + ".xml");
}
public Dimension getSize() {