From 5cb4138b49fb11f6b50bcce65598c62736c22238 Mon Sep 17 00:00:00 2001 From: argius Date: Fri, 13 Dec 2013 21:54:20 +0900 Subject: [PATCH] fix a potential bug in Environment class and refactor it --- src/net/argius/stew/Environment.java | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/net/argius/stew/Environment.java b/src/net/argius/stew/Environment.java index 01b5dbd..9eb24f5 100644 --- a/src/net/argius/stew/Environment.java +++ b/src/net/argius/stew/Environment.java @@ -27,16 +27,9 @@ public final class Environment { private long connectorTimestamp; private AliasMap aliasMap; - /** - * A constructor. - */ - public Environment() { - initializeQueryTimeout(); - // init connections - this.connectorMap = new ConnectorMap(); - loadConnectorMap(); - // init directories - this.currentDirectory = getInitialCurrentDirectory(); + private Environment(ConnectorMap connectorMap, File currentDirectory) { + this.connectorMap = connectorMap; + this.currentDirectory = currentDirectory; // init alias final File aliasPropFile = getSystemFile(ALIAS_PROPERTIES_NAME); this.aliasMap = new AliasMap(aliasPropFile); @@ -50,14 +43,22 @@ public final class Environment { } /** + * A constructor. + */ + public Environment() { + this(new ConnectorMap(), getInitialCurrentDirectory()); // init directories + initializeQueryTimeout(); + loadConnectorMap(); + } + + /** * A constructor (for copy). * @param src */ public Environment(Environment src) { - // never copy coconnector,conn,op into this - this.connectorMap = new ConnectorMap(src.connectorMap); + // never copy coconnector,conn,op,aliasMap into this + this(new ConnectorMap(src.connectorMap), src.currentDirectory); this.timeoutSeconds = src.timeoutSeconds; - this.currentDirectory = src.currentDirectory; } /** -- 2.11.0