You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/02/22 02:31:44 UTC
[10/13] kylin git commit: minor,
getConfigAsString read .override properties
minor, getConfigAsString read .override properties
Signed-off-by: Hongbin Ma <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/661f016b
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/661f016b
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/661f016b
Branch: refs/heads/master-hbase0.98
Commit: 661f016bbf8eae6d3ed8efb8ab1672ac212c62b4
Parents: 4c6fd2c
Author: Roger Shi <ro...@hotmail.com>
Authored: Tue Feb 21 18:38:51 2017 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Tue Feb 21 18:44:29 2017 +0800
----------------------------------------------------------------------
.../org/apache/kylin/common/KylinConfig.java | 70 +++++++++++---------
.../kylin/common/util/OrderedProperties.java | 6 ++
2 files changed, 46 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/661f016b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index e8127ec..4fcc61f 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -20,6 +20,7 @@ package org.apache.kylin.common;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -44,7 +45,6 @@ public class KylinConfig extends KylinConfigBase {
private static final long serialVersionUID = 1L;
private static final Logger logger = LoggerFactory.getLogger(KylinConfig.class);
-
/** Kylin properties file name */
public static final String KYLIN_CONF_PROPERTIES_FILE = "kylin.properties";
public static final String KYLIN_CONF = "KYLIN_CONF";
@@ -182,11 +182,11 @@ public class KylinConfig extends KylinConfigBase {
props.load(new StringReader(propsInStr));
return createKylinConfig(props);
}
-
+
public static KylinConfig createKylinConfig(KylinConfig another) {
return createKylinConfig(another.getAllProperties());
}
-
+
public static KylinConfig createKylinConfig(Properties prop) {
KylinConfig kylinConfig = new KylinConfig();
kylinConfig.reloadKylinConfig(prop);
@@ -225,31 +225,58 @@ public class KylinConfig extends KylinConfigBase {
}
public static Properties getKylinProperties() {
+ Properties conf = new Properties();
+ try {
+ OrderedProperties orderedProperties = getKylinOrderedProperties();
+ for (Map.Entry<String, String> each: orderedProperties.entrySet()) {
+ conf.put(each.getKey(), each.getValue());
+ }
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+
+ return conf;
+ }
+
+ public static OrderedProperties getKylinOrderedProperties() throws FileNotFoundException {
File propFile = getKylinPropertiesFile();
if (propFile == null || !propFile.exists()) {
logger.error("fail to locate " + KYLIN_CONF_PROPERTIES_FILE);
throw new RuntimeException("fail to locate " + KYLIN_CONF_PROPERTIES_FILE);
}
- Properties conf = new Properties();
+
+ final InputStream is = new FileInputStream(propFile);
try {
- FileInputStream is = new FileInputStream(propFile);
- conf.load(is);
- IOUtils.closeQuietly(is);
- conf = BCC.check(conf);
+ OrderedProperties orderedProperties = new OrderedProperties();
+ orderedProperties.load(is);
+ orderedProperties = BCC.check(orderedProperties);
File propOverrideFile = new File(propFile.getParentFile(), propFile.getName() + ".override");
if (propOverrideFile.exists()) {
FileInputStream ois = new FileInputStream(propOverrideFile);
- Properties propOverride = new Properties();
- propOverride.load(ois);
- IOUtils.closeQuietly(ois);
- conf.putAll(BCC.check(propOverride));
+ try {
+ OrderedProperties propOverride = new OrderedProperties();
+ propOverride.load(ois);
+ orderedProperties.putAll(BCC.check(propOverride));
+ } finally {
+ IOUtils.closeQuietly(ois);
+ }
}
+ return orderedProperties;
} catch (IOException e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(is);
}
+ }
- return conf;
+ public static String getConfigAsString() throws IOException {
+ OrderedProperties orderedProperties = getKylinOrderedProperties();
+ final StringBuilder sb = new StringBuilder();
+ for (Map.Entry<String, String> entry : orderedProperties.entrySet()) {
+ sb.append(entry.getKey() + "=" + entry.getValue()).append('\n');
+ }
+ return sb.toString();
}
/**
@@ -301,23 +328,6 @@ public class KylinConfig extends KylinConfigBase {
}
}
- public String getConfigAsString() throws IOException {
- final File propertiesFile = getKylinPropertiesFile();
- final InputStream is = new FileInputStream(propertiesFile);
- try {
- OrderedProperties orderedProperties = new OrderedProperties();
- orderedProperties.load(is);
- orderedProperties = BCC.check(orderedProperties);
- final StringBuilder sb = new StringBuilder();
- for (Map.Entry<String, String> entry : orderedProperties.entrySet()) {
- sb.append(entry.getKey() + "=" + entry.getValue()).append('\n');
- }
- return sb.toString();
- } finally {
- IOUtils.closeQuietly(is);
- }
- }
-
public KylinConfig base() {
return this;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/661f016b/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java b/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
index 0e5a3f9..ffeced1 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/OrderedProperties.java
@@ -183,6 +183,12 @@ public final class OrderedProperties implements Serializable {
return new LinkedHashSet<Map.Entry<String, String>>(properties.entrySet());
}
+ public void putAll(OrderedProperties others) {
+ for (Map.Entry<String, String> each : others.entrySet()) {
+ properties.put(each.getKey(), each.getValue());
+ }
+ }
+
/**
* See {@link Properties#load(InputStream)}.
*/