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();

Reply via email to