Repository: tajo Updated Branches: refs/heads/master a5d14f808 -> 101413e31
TAJO-912: Tsql prints wrong version. (Mai Hai Thanh via hyunsik) Project: http://git-wip-us.apache.org/repos/asf/tajo/repo Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/101413e3 Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/101413e3 Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/101413e3 Branch: refs/heads/master Commit: 101413e319cd1be0e2570c6759e52d98aee89725 Parents: a5d14f8 Author: Hyunsik Choi <[email protected]> Authored: Fri Jul 11 13:04:54 2014 +0900 Committer: Hyunsik Choi <[email protected]> Committed: Fri Jul 11 13:04:54 2014 +0900 ---------------------------------------------------------------------- CHANGES | 2 + .../java/org/apache/tajo/cli/HelpCommand.java | 58 ++++++++++++++++---- .../java/org/apache/tajo/TajoConstants.java | 2 +- 3 files changed, 51 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tajo/blob/101413e3/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index e25928c..c0208aa 100644 --- a/CHANGES +++ b/CHANGES @@ -82,6 +82,8 @@ Release 0.9.0 - unreleased BUG FIXES + TAJO-912: Tsql prints wrong version. (Mai Hai Thanh via hyunsik) + TAJO-902: Unicode delimiter does not work correctly. (jinho) TAJO-905: When to_date() parses some date without day, the result will be http://git-wip-us.apache.org/repos/asf/tajo/blob/101413e3/tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java ---------------------------------------------------------------------- diff --git a/tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java b/tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java index 53bc404..8d908ec 100644 --- a/tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java +++ b/tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java @@ -18,11 +18,18 @@ package org.apache.tajo.cli; -import org.apache.tajo.TajoConstants; +import org.apache.tajo.util.VersionInfo; +import java.io.IOException; import java.io.PrintWriter; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.ProtocolException; +import java.net.URL; public class HelpCommand extends TajoShellCommand { + private String targetDocVersion = ""; + public HelpCommand(TajoCli.TajoCliContext context) { super(context); } @@ -34,7 +41,10 @@ public class HelpCommand extends TajoShellCommand { @Override public void invoke(String[] cmd) throws Exception { - String docVersion = getDocumentationVersion(); + if(targetDocVersion.equalsIgnoreCase("")) { + targetDocVersion = getDocumentationVersion(); + } + PrintWriter sout = context.getOutput(); sout.println(); @@ -71,21 +81,49 @@ public class HelpCommand extends TajoShellCommand { sout.println(); sout.println("Documentations"); - sout.println(" tsql guide http://tajo.apache.org/docs/"+ docVersion +"/cli.html"); - sout.println(" Query language http://tajo.apache.org/docs/"+ docVersion +"/sql_language.html"); - sout.println(" Functions http://tajo.apache.org/docs/"+ docVersion +"/functions.html"); - sout.println(" Backup & restore http://tajo.apache.org/docs/"+ docVersion +"/backup_and_restore.html"); - sout.println(" Configuration http://tajo.apache.org/docs/"+ docVersion +"/configuration.html"); + sout.println(" tsql guide http://tajo.apache.org/docs/"+ targetDocVersion +"/cli.html"); + sout.println(" Query language http://tajo.apache.org/docs/"+ targetDocVersion +"/sql_language.html"); + sout.println(" Functions http://tajo.apache.org/docs/"+ targetDocVersion +"/functions.html"); + sout.println(" Backup & restore http://tajo.apache.org/docs/"+ targetDocVersion +"/backup_and_restore.html"); + sout.println(" Configuration http://tajo.apache.org/docs/"+ targetDocVersion +"/configuration.html"); sout.println(); } private String getDocumentationVersion() { - int delimiterIdx = TajoConstants.TAJO_VERSION.indexOf("-"); + String tajoVersion = "", docVersion = "", docDefaultVersion = "current"; + String tajoFullVersion = VersionInfo.getVersion(); + + int delimiterIdx = tajoFullVersion.indexOf("-"); if (delimiterIdx > -1) { - return TajoConstants.TAJO_VERSION.substring(0, delimiterIdx); + tajoVersion = tajoFullVersion.substring(0, delimiterIdx); } else { - return TajoConstants.TAJO_VERSION; + tajoVersion = tajoFullVersion; } + + if(tajoVersion.equalsIgnoreCase("")) { + docVersion = docDefaultVersion; + } else { + try { + URL u = new URL("http://tajo.apache.org/docs/"+ tajoVersion + "/"); + HttpURLConnection huc = (HttpURLConnection) u.openConnection(); + huc.setConnectTimeout(1000); + huc.setReadTimeout(1000); + huc.setRequestMethod("HEAD"); + if(huc.getResponseCode() == HttpURLConnection.HTTP_OK) { + docVersion = tajoVersion; + } else { + docVersion = docDefaultVersion; + } + } catch (MalformedURLException e0) { + docVersion = docDefaultVersion; + } catch (ProtocolException e1) { + docVersion = docDefaultVersion; + } catch (IOException e2) { + docVersion = docDefaultVersion; + } + } + + return docVersion; } @Override http://git-wip-us.apache.org/repos/asf/tajo/blob/101413e3/tajo-common/src/main/java/org/apache/tajo/TajoConstants.java ---------------------------------------------------------------------- diff --git a/tajo-common/src/main/java/org/apache/tajo/TajoConstants.java b/tajo-common/src/main/java/org/apache/tajo/TajoConstants.java index 028ca81..5f28f1c 100644 --- a/tajo-common/src/main/java/org/apache/tajo/TajoConstants.java +++ b/tajo-common/src/main/java/org/apache/tajo/TajoConstants.java @@ -19,7 +19,7 @@ package org.apache.tajo; public class TajoConstants { - public static final String TAJO_VERSION = "0.8.0-SNAPSHOT"; + public static final String TAJO_VERSION = "0.9.0-SNAPSHOT"; public static final String SYSTEM_CONF_FILENAME = "system_conf.xml"; public static final String SYSTEM_DIR_NAME = "system";
