HCATALOG-576 HCATALOG-527 Broke backward compatibility


git-svn-id: https://svn.apache.org/repos/asf/incubator/hcatalog/trunk@1425221 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 5e121c5..34c6a5a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -156,6 +156,8 @@
   OPTIMIZATIONS
 
   BUG FIXES
+  HCAT-576 HCATALOG-527 Broke backward compatibility (gates)
+
   HCAT-567 HCatClient must allow retrieval of multiple partitions using a partial partition spec.(mithun via avandana)
 
   HCAT-556 HCatalog-trunk doesn't build against Hive-0.10.0 (mithun via avandana)
diff --git a/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java b/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
index dcf0918..4bcec34 100644
--- a/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
+++ b/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
@@ -70,6 +70,7 @@
      * @param databaseName the db name
      * @param tableName the table name
      * @param filter the partition filter
+     * @param properties implementation specific job properties
      */
     public static InputJobInfo create(String databaseName,
                                       String tableName,
@@ -78,6 +79,21 @@
         return new InputJobInfo(databaseName, tableName, filter, properties);
     }
 
+    /**
+     * Initializes a new InputJobInfo
+     * for reading data from a table.
+     * @param databaseName the db name
+     * @param tableName the table name
+     * @param filter the partition filter
+     */
+    @Deprecated
+    public static InputJobInfo create(String databaseName,
+                                      String tableName,
+                                      String filter) {
+        return create(databaseName, tableName, filter, null);
+    }
+
+
     private InputJobInfo(String databaseName,
                          String tableName,
                          String filter,
diff --git a/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java b/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java
new file mode 100644
index 0000000..9a9f432
--- /dev/null
+++ b/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java
@@ -0,0 +1,48 @@
+/**
+ * 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.hcatalog.mapreduce;
+
+import java.util.Properties;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class TestInputJobInfo extends HCatBaseTest {
+
+    @Test
+    public void test4ArgCreate() throws Exception {
+        Properties p = new Properties();
+        p.setProperty("key", "value");
+        InputJobInfo jobInfo = InputJobInfo.create("Db", "Table", "Filter", p);
+        Assert.assertEquals("Db", jobInfo.getDatabaseName());
+        Assert.assertEquals("Table", jobInfo.getTableName());
+        Assert.assertEquals("Filter", jobInfo.getFilter());
+        Assert.assertEquals("value", jobInfo.getProperties().getProperty("key"));
+    }
+
+    @Test
+    public void test3ArgCreate() throws Exception {
+        InputJobInfo jobInfo = InputJobInfo.create("Db", "Table", "Filter");
+        Assert.assertEquals("Db", jobInfo.getDatabaseName());
+        Assert.assertEquals("Table", jobInfo.getTableName());
+        Assert.assertEquals("Filter", jobInfo.getFilter());
+        Assert.assertEquals(0, jobInfo.getProperties().size());
+    }
+}