Author: rkanter
Date: Mon Oct 28 18:51:55 2013
New Revision: 1536485

URL: http://svn.apache.org/r1536485
Log:
OOZIE-1565 OOZIE-1481 should only affect v2 of the API, not v1 (rkanter)

Added:
    
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2JobServlet.java
Modified:
    oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
    oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
    
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV1JobServlet.java
    oozie/trunk/release-log.txt

Modified: 
oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java?rev=1536485&r1=1536484&r2=1536485&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java 
(original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java 
Mon Oct 28 18:51:55 2013
@@ -815,7 +815,7 @@ public class V1JobServlet extends BaseJo
         // Get default number of coordinator actions to be retrieved
         int defaultLen = 
Services.get().getConf().getInt(COORD_ACTIONS_DEFAULT_LENGTH, 1000);
         int len = (lenStr != null) ? Integer.parseInt(lenStr) : 0;
-        len = (len < 0) ? defaultLen : len;
+        len = getCoordinatorJobLength(defaultLen, len);
         try {
             CoordinatorJobBean coordJob = coordEngine.getCoordJob(jobId, 
filter, start, len, order);
             jobBean = coordJob;
@@ -828,6 +828,18 @@ public class V1JobServlet extends BaseJo
     }
 
     /**
+     * Given the requested length and the default length, determine how many 
coordinator jobs to return.
+     * Used by {@link 
#getCoordinatorJob(javax.servlet.http.HttpServletRequest, 
javax.servlet.http.HttpServletResponse)}
+     *
+     * @param defaultLen The default length
+     * @param len The requested length
+     * @return The length to use
+     */
+    protected int getCoordinatorJobLength(int defaultLen, int len) {
+        return (len < 1) ? defaultLen : len;
+    }
+
+    /**
      * Get bundle job info
      *
      * @param request servlet request

Modified: 
oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java?rev=1536485&r1=1536484&r2=1536485&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java 
(original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java 
Mon Oct 28 18:51:55 2013
@@ -49,6 +49,10 @@ public class V2JobServlet extends V1JobS
         return actionBean;
     }
 
+    @Override
+    protected int getCoordinatorJobLength(int defaultLen, int len) {
+        return (len < 0) ? defaultLen : len;
+    }
 
     @Override
     protected String getJMSTopicName(HttpServletRequest request, 
HttpServletResponse response) throws XServletException,

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV1JobServlet.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV1JobServlet.java?rev=1536485&r1=1536484&r2=1536485&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV1JobServlet.java 
(original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV1JobServlet.java 
Mon Oct 28 18:51:55 2013
@@ -235,23 +235,7 @@ public class TestV1JobServlet extends Da
                 MockCoordinatorEngineService.reset();
                 params = new HashMap<String, String>();
                 params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
-                params.put(RestConstants.OFFSET_PARAM, "-1"); //OozieCLI
-                params.put(RestConstants.LEN_PARAM, "-1");
-                url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
-                conn = (HttpURLConnection) url.openConnection();
-                conn.setRequestMethod("GET");
-                assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
-                
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
-                obj = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
-                assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
-                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
-                assertEquals(MockCoordinatorEngineService.offset, new 
Integer(1));
-                assertEquals(MockCoordinatorEngineService.length, new 
Integer(1000));
-
-                MockCoordinatorEngineService.reset();
-                params = new HashMap<String, String>();
-                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
-                params.put(RestConstants.OFFSET_PARAM, "0");  
//oozie-console.js
+                params.put(RestConstants.OFFSET_PARAM, "0");  
//oozie-console.js and older clients
                 params.put(RestConstants.LEN_PARAM, "0");
                 url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
                 conn = (HttpURLConnection) url.openConnection();
@@ -262,7 +246,7 @@ public class TestV1JobServlet extends Da
                 assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
                 assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
                 assertEquals(MockCoordinatorEngineService.offset, new 
Integer(1));
-                assertEquals(MockCoordinatorEngineService.length, new 
Integer(0));
+                assertEquals(MockCoordinatorEngineService.length, new 
Integer(1000));
 
                 MockCoordinatorEngineService.reset();
                 params = new HashMap<String, String>();

Added: 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2JobServlet.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2JobServlet.java?rev=1536485&view=auto
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2JobServlet.java 
(added)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2JobServlet.java 
Mon Oct 28 18:51:55 2013
@@ -0,0 +1,121 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.oozie.servlet;
+
+import org.apache.oozie.client.rest.RestConstants;
+import org.apache.oozie.client.rest.JsonTags;
+import org.json.simple.JSONObject;
+import org.json.simple.JSONValue;
+
+import javax.servlet.http.HttpServletResponse;
+
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.Callable;
+
+public class TestV2JobServlet extends DagServletTestCase {
+
+    static {
+        new V2JobServlet();
+    }
+
+    private static final boolean IS_SECURITY_ENABLED = false;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    public void testJobInfo() throws Exception {
+        runTest("/v2/job/*", V2JobServlet.class, IS_SECURITY_ENABLED, new 
Callable<Void>() {
+            public Void call() throws Exception {
+                MockCoordinatorEngineService.reset();
+                Map<String, String> params = new HashMap<String, String>();
+                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
+                URL url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
+                HttpURLConnection conn = (HttpURLConnection) 
url.openConnection();
+                conn.setRequestMethod("GET");
+                assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
+                
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
+                JSONObject obj = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
+                assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
+                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
+
+                MockCoordinatorEngineService.reset();
+                params = new HashMap<String, String>();
+                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
+                params.put(RestConstants.OFFSET_PARAM, "2");
+                params.put(RestConstants.LEN_PARAM, "50");
+                url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
+                conn = (HttpURLConnection) url.openConnection();
+                conn.setRequestMethod("GET");
+                assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
+                
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
+                obj = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
+                assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
+                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
+                assertEquals(MockCoordinatorEngineService.offset, new 
Integer(2));
+                assertEquals(MockCoordinatorEngineService.length, new 
Integer(50));
+
+                MockCoordinatorEngineService.reset();
+                params = new HashMap<String, String>();
+                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
+                params.put(RestConstants.OFFSET_PARAM, "-1"); //OozieCLI
+                params.put(RestConstants.LEN_PARAM, "-1");
+                url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
+                conn = (HttpURLConnection) url.openConnection();
+                conn.setRequestMethod("GET");
+                assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
+                
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
+                obj = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
+                assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
+                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
+                assertEquals(MockCoordinatorEngineService.offset, new 
Integer(1));
+                assertEquals(MockCoordinatorEngineService.length, new 
Integer(1000));
+
+                MockCoordinatorEngineService.reset();
+                params = new HashMap<String, String>();
+                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
+                params.put(RestConstants.OFFSET_PARAM, "0");  
//oozie-console.js
+                params.put(RestConstants.LEN_PARAM, "0");
+                url = createURL(MockCoordinatorEngineService.JOB_ID + 1, 
params);
+                conn = (HttpURLConnection) url.openConnection();
+                conn.setRequestMethod("GET");
+                assertEquals(HttpServletResponse.SC_OK, 
conn.getResponseCode());
+                
assertTrue(conn.getHeaderField("content-type").startsWith(RestConstants.JSON_CONTENT_TYPE));
+                obj = (JSONObject) JSONValue.parse(new 
InputStreamReader(conn.getInputStream()));
+                assertEquals(MockCoordinatorEngineService.JOB_ID + 1, 
obj.get(JsonTags.COORDINATOR_JOB_ID));
+                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
+                assertEquals(MockCoordinatorEngineService.offset, new 
Integer(1));
+                assertEquals(MockCoordinatorEngineService.length, new 
Integer(0));
+
+                MockCoordinatorEngineService.reset();
+                params = new HashMap<String, String>();
+                params.put(RestConstants.JOB_SHOW_PARAM, 
RestConstants.JOB_SHOW_INFO);
+                url = createURL(MockCoordinatorEngineService.JOB_ID + 
(MockCoordinatorEngineService.coordJobs.size() + 1), params);
+                conn = (HttpURLConnection) url.openConnection();
+                conn.setRequestMethod("GET");
+                assertEquals(HttpServletResponse.SC_BAD_REQUEST, 
conn.getResponseCode());
+                assertEquals(RestConstants.JOB_SHOW_INFO, 
MockCoordinatorEngineService.did);
+                return null;
+            }
+        });
+    }
+}

Modified: oozie/trunk/release-log.txt
URL: 
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1536485&r1=1536484&r2=1536485&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Mon Oct 28 18:51:55 2013
@@ -64,6 +64,7 @@ OOZIE-1440 Build fails in certain enviro
 
 -- Oozie 4.0.1 release (unreleased)
 
+OOZIE-1565 OOZIE-1481 should only affect v2 of the API, not v1 (rkanter)
 OOZIE-1551 Change hadoop-2 profile to use 2.2.0 (rkanter,rohini,mona via 
rkanter)
 OOZIE-1573 coord:tzOffset() gives incorrect offset for daylight saving 
timezones (rohini)
 OOZIE-1582 Bump up Tomcat version to 6.0.37 (rkanter)


Reply via email to