Repository: oozie
Updated Branches:
  refs/heads/master c7b2bb74b -> e68f723a3


OOZIE-3083 Make improved version Info backward compatible (gezapeti via 
asasvari)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/e68f723a
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/e68f723a
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/e68f723a

Branch: refs/heads/master
Commit: e68f723a320f48a52f3266cce5c037916ebff3e0
Parents: c7b2bb7
Author: Attila Sasvari <asasv...@cloudera.com>
Authored: Tue Jan 9 16:48:02 2018 +0100
Committer: Attila Sasvari <asasv...@cloudera.com>
Committed: Tue Jan 9 16:48:02 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/oozie/client/OozieClient.java     |  2 +-
 .../java/org/apache/oozie/client/rest/JsonTags.java   |  1 +
 .../org/apache/oozie/servlet/BaseAdminServlet.java    |  3 ++-
 .../java/org/apache/oozie/client/TestOozieCLI.java    | 13 +++++++++----
 .../org/apache/oozie/client/TestWorkflowClient.java   | 10 ++++++++--
 .../org/apache/oozie/servlet/TestAdminServlet.java    | 13 ++++++++++---
 .../org/apache/oozie/servlet/TestV1AdminServlet.java  | 14 +++++++++++---
 release-log.txt                                       |  1 +
 8 files changed, 43 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/client/src/main/java/org/apache/oozie/client/OozieClient.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/oozie/client/OozieClient.java 
b/client/src/main/java/org/apache/oozie/client/OozieClient.java
index 7e41ef8..e581e50 100644
--- a/client/src/main/java/org/apache/oozie/client/OozieClient.java
+++ b/client/src/main/java/org/apache/oozie/client/OozieClient.java
@@ -2174,7 +2174,7 @@ public class OozieClient {
             if ((conn.getResponseCode() == HttpURLConnection.HTTP_OK)) {
                 Reader reader = new InputStreamReader(conn.getInputStream());
                 JSONObject json = (JSONObject) JSONValue.parse(reader);
-                return (String) json.get(JsonTags.BUILD_INFO);
+                return json.get(JsonTags.BUILD_INFO).toString();
             }
             else {
                 handleError(conn);

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java 
b/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java
index e041354..446e5be 100644
--- a/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java
+++ b/client/src/main/java/org/apache/oozie/client/rest/JsonTags.java
@@ -26,6 +26,7 @@ public interface JsonTags {
     String OOZIE_SAFE_MODE = "safeMode"; //Applicable for V0 only
     String OOZIE_SYSTEM_MODE = "systemMode";
     String BUILD_INFO = "buildInfo";
+    String BUILD_VERSION = "buildVersion";
     String QUEUE_DUMP = "queueDump";
     String CALLABLE_DUMP = "callableDump";
     String UNIQUE_MAP_DUMP = "uniqueMapDump";

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java 
b/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java
index 7f57fec..85610eb 100644
--- a/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/BaseAdminServlet.java
@@ -149,7 +149,8 @@ public abstract class BaseAdminServlet extends 
JsonRestServlet {
         }
         else if (resource.equals(RestConstants.ADMIN_BUILD_VERSION_RESOURCE)) {
             JSONObject json = new JSONObject();
-            json.put(JsonTags.BUILD_INFO, BuildInfo.getBuildInfo().toString());
+            json.put(JsonTags.BUILD_VERSION, 
BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION));
+            json.put(JsonTags.BUILD_INFO, BuildInfo.getBuildInfo());
             sendJsonResponse(response, HttpServletResponse.SC_OK, json);
         }
         else if (resource.equals(RestConstants.ADMIN_QUEUE_DUMP_RESOURCE)) {

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java 
b/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java
index cf76631..8c2aa98 100644
--- a/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java
+++ b/core/src/test/java/org/apache/oozie/client/TestOozieCLI.java
@@ -51,6 +51,7 @@ import org.apache.oozie.servlet.V2JobServlet;
 import org.apache.oozie.servlet.V2ValidateServlet;
 import org.apache.oozie.util.IOUtils;
 import org.apache.oozie.util.XConfiguration;
+import org.json.simple.JSONValue;
 
 //hardcoding options instead using constants on purpose, to detect changes to 
option names if any and correct docs.
 public class TestOozieCLI extends DagServletTestCase {
@@ -981,11 +982,15 @@ public class TestOozieCLI extends DagServletTestCase {
                 HeaderTestingVersionServlet.OOZIE_HEADERS.clear();
 
                 String oozieUrl = getContextURL();
-                String[] args = new String[]{"admin", "-version", "-oozie", 
oozieUrl};
+                String[] args = new String[] { "admin", "-version", "-oozie", 
oozieUrl };
                 String out = runOozieCLIAndGetStdout(args);
-                assertEquals("Oozie server build version: " + 
BuildInfo.getBuildInfo() +
-                        SYSTEM_LINE_SEPARATOR, out);
-
+                assertTrue(out, out.startsWith("Oozie server build version: 
{"));
+                assertTrue(out, out.endsWith(SYSTEM_LINE_SEPARATOR));
+                assertTrue(out, out.contains("build.time"));
+                assertTrue(out, out.contains("build.version"));
+                assertTrue(out, out.contains("build.user"));
+                assertTrue(out, out.contains("vc.url"));
+                assertTrue(out, out.contains("vc.revision"));
                 return null;
             }
         });

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java 
b/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java
index fdd04d3..e440c3a 100644
--- a/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java
+++ b/core/src/test/java/org/apache/oozie/client/TestWorkflowClient.java
@@ -39,6 +39,8 @@ import org.apache.oozie.servlet.V2AdminServlet;
 import org.apache.oozie.servlet.V2JobServlet;
 import org.apache.oozie.servlet.V2SLAServlet;
 import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.JSONValue;
 
 import java.io.*;
 import java.net.HttpURLConnection;
@@ -412,8 +414,12 @@ public class TestWorkflowClient extends DagServletTestCase 
{
             public Void call() throws Exception {
                 String oozieUrl = getContextURL();
                 OozieClient wc = new OozieClient(oozieUrl);
-                assertEquals(BuildInfo.getBuildInfo().toString(),
-                             wc.getServerBuildVersion());
+                String buildVersion = wc.getServerBuildVersion();
+                JSONObject buildInfo = (JSONObject) 
JSONValue.parse(buildVersion);
+                for (String buildInfoKey : 
BuildInfo.getBuildInfo().stringPropertyNames()) {
+                    assertEquals("Build value difference in key " + 
buildInfoKey,
+                            
BuildInfo.getBuildInfo().getProperty(buildInfoKey), 
buildInfo.get(buildInfoKey));
+                }
                 return null;
             }
         });

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java 
b/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java
index 0d7b362..f91d22f 100644
--- a/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java
+++ b/core/src/test/java/org/apache/oozie/servlet/TestAdminServlet.java
@@ -18,6 +18,7 @@
 
 package org.apache.oozie.servlet;
 
+import org.apache.commons.io.IOUtils;
 import org.apache.oozie.client.rest.JsonTags;
 import org.apache.oozie.client.rest.RestConstants;
 import org.apache.oozie.service.Services;
@@ -27,6 +28,7 @@ import org.json.simple.JSONValue;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStreamReader;
+import java.io.StringReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.Collections;
@@ -214,9 +216,14 @@ public class TestAdminServlet extends DagServletTestCase {
                 conn.setRequestMethod("GET");
                 assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
                 
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
-                JSONObject json = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
-                assertEquals(BuildInfo.getBuildInfo().toString(),
-                             json.get(JsonTags.BUILD_INFO));
+                final String response = 
IOUtils.toString(conn.getInputStream());
+                JSONObject json = (JSONObject) JSONValue.parse(new 
StringReader(response));
+                
assertEquals(BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION), 
json.get(JsonTags.BUILD_VERSION));
+                JSONObject buildInfo = (JSONObject) 
json.get(JsonTags.BUILD_INFO);
+                for (String buildInfoKey : 
BuildInfo.getBuildInfo().stringPropertyNames()) {
+                    assertEquals("Build value difference in key " + 
buildInfoKey,
+                            
BuildInfo.getBuildInfo().getProperty(buildInfoKey), 
buildInfo.get(buildInfoKey));
+                }
                 return null;
             }
         });

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java 
b/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java
index 0113751..534f572 100644
--- a/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java
+++ b/core/src/test/java/org/apache/oozie/servlet/TestV1AdminServlet.java
@@ -19,6 +19,7 @@
 package org.apache.oozie.servlet;
 
 import java.io.InputStreamReader;
+import java.io.StringReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.Collections;
@@ -27,6 +28,8 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.util.Shell;
 
 import org.apache.oozie.BuildInfo;
@@ -220,9 +223,14 @@ public class TestV1AdminServlet extends DagServletTestCase 
{
                 conn.setRequestMethod("GET");
                 assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
                 
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
-                JSONObject json = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
-                assertEquals(BuildInfo.getBuildInfo().toString(),
-                             json.get(JsonTags.BUILD_INFO));
+                final String response = 
IOUtils.toString(conn.getInputStream());
+                JSONObject json = (JSONObject) JSONValue.parse(new 
StringReader(response));
+                
assertEquals(BuildInfo.getBuildInfo().getProperty(BuildInfo.BUILD_VERSION), 
json.get(JsonTags.BUILD_VERSION));
+                JSONObject buildInfo = (JSONObject) 
json.get(JsonTags.BUILD_INFO);
+                for (String buildInfoKey : 
BuildInfo.getBuildInfo().stringPropertyNames()) {
+                    assertEquals("Build value difference in key " + 
buildInfoKey,
+                            
BuildInfo.getBuildInfo().getProperty(buildInfoKey), 
buildInfo.get(buildInfoKey));
+                }
                 return null;
             }
         });

http://git-wip-us.apache.org/repos/asf/oozie/blob/e68f723a/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 5829699..c4ace0b 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.0.0 release (trunk - unreleased)
 
+OOZIE-3083 Make improved version Info backward compatible (gezapeti via 
asasvari)
 OOZIE-2150 Shell launcher should print shell script (jtolar via andras.piros)
 OOZIE-3147 Misleading documentation of oozie.service.PurgeService.purge.limit 
configuration property (okalinin via andras.piros)
 OOZIE-3148 Rerun Failing Tests through Maven surefire (asasvari)

Reply via email to