This is an automated email from the ASF dual-hosted git repository. asq pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-crail.git
The following commit(s) were added to refs/heads/master by this push: new a6e622f Create CrailConfiguration instance by calling one of three new static functions instead of constructor. a6e622f is described below commit a6e622fc2310ca522aaf9f640ec6d408e2878a78 Author: Adrian Schuepbach <a...@apache.org> AuthorDate: Wed Mar 6 22:45:13 2019 +0100 Create CrailConfiguration instance by calling one of three new static functions instead of constructor. The new three functions allow to either create a configuration based on the default configuration file, an explicitely passed configuration file or to create an empty configuration. The constructor is niot directly accessible anymore. These are the new functions: createEmptyConfiguration(); createConfigurationFromFile(); createConfigurationFromFile(String path); Close #72 Signed-off-by: Adrian Schuepbach <a...@apache.org> --- .../org/apache/crail/conf/CrailConfiguration.java | 33 +++++++++++++++++----- .../org/apache/crail/tools/CrailBenchmark.java | 2 +- .../java/org/apache/crail/tools/CrailFsck.java | 12 ++++---- .../src/test/java/org/apache/crail/ClientTest.java | 2 +- .../apache/crail/hdfs/CrailHadoopFileSystem.java | 2 +- .../java/org/apache/crail/namenode/NameNode.java | 2 +- .../nvmf/client/NvmfStagingBufferCacheTest.java | 4 +-- .../org/apache/crail/storage/StorageServer.java | 2 +- 8 files changed, 39 insertions(+), 20 deletions(-) diff --git a/client/src/main/java/org/apache/crail/conf/CrailConfiguration.java b/client/src/main/java/org/apache/crail/conf/CrailConfiguration.java index 579c587..3c44e9a 100644 --- a/client/src/main/java/org/apache/crail/conf/CrailConfiguration.java +++ b/client/src/main/java/org/apache/crail/conf/CrailConfiguration.java @@ -33,9 +33,32 @@ public class CrailConfiguration { private static final Logger LOG = CrailUtils.getLogger(); private ConcurrentHashMap<String, String> conf; - public CrailConfiguration() throws IOException { + private CrailConfiguration() { conf = new ConcurrentHashMap<>(); - Properties properties = loadProperties("crail-site.conf"); + } + + public static CrailConfiguration createEmptyConfiguration() { + return new CrailConfiguration(); + } + + public static CrailConfiguration createConfigurationFromFile() throws IOException { + CrailConfiguration cconf = createEmptyConfiguration(); + String base = System.getenv("CRAIL_HOME"); + if (base == null || base.isEmpty()) { + throw new IllegalArgumentException("CRAIL_HOME environment variable is not set or empty"); + } + cconf.loadConfigurationFromFile(base + File.separator + "conf" + File.separator + "crail-site.conf"); + return (cconf); + } + + public static CrailConfiguration createConfigurationFromFile(String path) throws IOException { + CrailConfiguration cconf = createEmptyConfiguration(); + cconf.loadConfigurationFromFile(path); + return (cconf); + } + + private void loadConfigurationFromFile(String path) throws IOException { + Properties properties = loadProperties(path); mergeProperties(properties); } @@ -67,11 +90,7 @@ public class CrailConfiguration { private static Properties loadProperties(String resourceName) throws IOException { Properties properties = new Properties(); - String base = System.getenv("CRAIL_HOME"); - if (base == null || base.isEmpty()) { - throw new IllegalArgumentException("CRAIL_HOME environment variable is not set or empty"); - } - FileInputStream inputStream = new FileInputStream(new File(base + "/conf/" + resourceName)); + FileInputStream inputStream = new FileInputStream(new File(resourceName)); try { properties.load(inputStream); diff --git a/client/src/main/java/org/apache/crail/tools/CrailBenchmark.java b/client/src/main/java/org/apache/crail/tools/CrailBenchmark.java index 76ebc7a..269f9c9 100644 --- a/client/src/main/java/org/apache/crail/tools/CrailBenchmark.java +++ b/client/src/main/java/org/apache/crail/tools/CrailBenchmark.java @@ -60,7 +60,7 @@ public class CrailBenchmark { public CrailBenchmark(int warmup) throws Exception { this.warmup = warmup; - this.conf = new CrailConfiguration(); + this.conf = CrailConfiguration.createConfigurationFromFile(); this.fs = null; } diff --git a/client/src/main/java/org/apache/crail/tools/CrailFsck.java b/client/src/main/java/org/apache/crail/tools/CrailFsck.java index 0b5da83..71436dd 100644 --- a/client/src/main/java/org/apache/crail/tools/CrailFsck.java +++ b/client/src/main/java/org/apache/crail/tools/CrailFsck.java @@ -54,7 +54,7 @@ public class CrailFsck { public void getLocations(String filename, long offset, long length) throws Exception { System.out.println("getLocations, filename " + filename + ", offset " + offset + ", len " + length); - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailStore fs = CrailStore.newInstance(conf); CrailBlockLocation locations[] = fs.lookup(filename).get().getBlockLocations(offset, length); @@ -66,7 +66,7 @@ public class CrailFsck { public void blockStatistics(String filename) throws Exception { HashMap<String, AtomicInteger> stats = new HashMap<String, AtomicInteger>(); - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailStore fs = CrailStore.newInstance(conf); CrailNode node = fs.lookup(filename).get(); @@ -96,14 +96,14 @@ public class CrailFsck { } public void namenodeDump() throws Exception { - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CoreDataStore fs = new CoreDataStore(conf); fs.dumpNameNode(); fs.close(); } public void directoryDump(String filename, boolean randomize) throws Exception { - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailConstants.updateConstants(conf); CoreDataStore fs = new CoreDataStore(conf); DirectoryInputStream iter = fs._listEntries(filename, randomize); @@ -121,7 +121,7 @@ public class CrailFsck { } public void ping() throws Exception { - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailConstants.updateConstants(conf); CoreDataStore fs = new CoreDataStore(conf); fs.ping(); @@ -130,7 +130,7 @@ public class CrailFsck { public void createDirectory(String filename, int storageClass, int locationClass) throws Exception { System.out.println("createDirectory, filename " + filename + ", storageClass " + storageClass + ", locationClass " + locationClass); - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailStore fs = CrailStore.newInstance(conf); fs.create(filename, CrailNodeType.DIRECTORY, CrailStorageClass.get(storageClass), CrailLocationClass.get(locationClass), true).get().syncDir(); fs.close(); diff --git a/client/src/test/java/org/apache/crail/ClientTest.java b/client/src/test/java/org/apache/crail/ClientTest.java index 2e02a5e..d132192 100644 --- a/client/src/test/java/org/apache/crail/ClientTest.java +++ b/client/src/test/java/org/apache/crail/ClientTest.java @@ -38,7 +38,7 @@ public class ClientTest { @Before public void init() throws Exception { - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); fs = CrailStore.newInstance(conf); fs.create(basePath, CrailNodeType.DIRECTORY, CrailStorageClass.DEFAULT, CrailLocationClass.DEFAULT, true).get(); } diff --git a/hdfs/src/main/java/org/apache/crail/hdfs/CrailHadoopFileSystem.java b/hdfs/src/main/java/org/apache/crail/hdfs/CrailHadoopFileSystem.java index 404d845..668bb95 100644 --- a/hdfs/src/main/java/org/apache/crail/hdfs/CrailHadoopFileSystem.java +++ b/hdfs/src/main/java/org/apache/crail/hdfs/CrailHadoopFileSystem.java @@ -67,7 +67,7 @@ public class CrailHadoopFileSystem extends FileSystem { setConf(conf); try { - CrailConfiguration crailConf = new CrailConfiguration(); + CrailConfiguration crailConf = CrailConfiguration.createConfigurationFromFile(); this.dfs = CrailStore.newInstance(crailConf); Path _workingDir = new Path("/user/" + CrailConstants.USER); this.workingDir = new Path("/user/" + CrailConstants.USER).makeQualified(uri, _workingDir); diff --git a/namenode/src/main/java/org/apache/crail/namenode/NameNode.java b/namenode/src/main/java/org/apache/crail/namenode/NameNode.java index 3ec6db8..ace6384 100644 --- a/namenode/src/main/java/org/apache/crail/namenode/NameNode.java +++ b/namenode/src/main/java/org/apache/crail/namenode/NameNode.java @@ -41,7 +41,7 @@ public class NameNode { public static void main(String args[]) throws Exception { LOG.info("initalizing namenode "); - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailConstants.updateConstants(conf); URI uri = CrailUtils.getPrimaryNameNode(); diff --git a/storage-nvmf/src/test/java/org/apache/crail/storage/nvmf/client/NvmfStagingBufferCacheTest.java b/storage-nvmf/src/test/java/org/apache/crail/storage/nvmf/client/NvmfStagingBufferCacheTest.java index 5d8a995..bf6a880 100644 --- a/storage-nvmf/src/test/java/org/apache/crail/storage/nvmf/client/NvmfStagingBufferCacheTest.java +++ b/storage-nvmf/src/test/java/org/apache/crail/storage/nvmf/client/NvmfStagingBufferCacheTest.java @@ -36,7 +36,7 @@ public class NvmfStagingBufferCacheTest { @BeforeClass public static void init() throws IOException { - CrailConstants.updateConstants(new CrailConfiguration()); + CrailConstants.updateConstants(CrailConfiguration.createConfigurationFromFile()); } private static CrailBufferCache bufferCache; @@ -86,4 +86,4 @@ public class NvmfStagingBufferCacheTest { assertTrue(buffers.remove(bufferCacheEntry[i].getBuffer())); } } -} \ No newline at end of file +} diff --git a/storage/src/main/java/org/apache/crail/storage/StorageServer.java b/storage/src/main/java/org/apache/crail/storage/StorageServer.java index 9dce8b2..8345f44 100644 --- a/storage/src/main/java/org/apache/crail/storage/StorageServer.java +++ b/storage/src/main/java/org/apache/crail/storage/StorageServer.java @@ -49,7 +49,7 @@ public interface StorageServer extends Configurable, Runnable { public static void main(String[] args) throws Exception { Logger LOG = CrailUtils.getLogger(); - CrailConfiguration conf = new CrailConfiguration(); + CrailConfiguration conf = CrailConfiguration.createConfigurationFromFile(); CrailConstants.updateConstants(conf); CrailConstants.printConf(); CrailConstants.verify();