You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by ro...@apache.org on 2014/11/28 14:10:46 UTC
[2/8] incubator-falcon git commit: FALCON-698 Fix checkstyle bugs in
test files in falcon-regression. Contributed by Ruslan Ostafiychuk and Raghav
Kumar Gautam
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/FeedAclTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/FeedAclTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/FeedAclTest.java
index 46019fa..8996923 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/FeedAclTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/FeedAclTest.java
@@ -7,14 +7,13 @@
* "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
+ * 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.
+ * 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.falcon.regression.security;
@@ -27,8 +26,7 @@ import org.apache.falcon.regression.core.interfaces.IEntityManagerHelper;
import org.apache.falcon.regression.core.util.AssertUtil;
import org.apache.falcon.regression.core.util.BundleUtil;
import org.apache.falcon.regression.core.util.HadoopUtil;
-import org.apache.falcon.regression.core.util.KerberosHelper;
-import org.apache.falcon.regression.core.util.MathUtil;
+import org.apache.falcon.regression.core.util.MatrixUtil;
import org.apache.falcon.regression.core.util.OSUtil;
import org.apache.falcon.regression.testHelper.BaseTestClass;
import org.apache.hadoop.fs.FileSystem;
@@ -44,6 +42,9 @@ import org.testng.annotations.Test;
import java.io.IOException;
import java.lang.reflect.Method;
+/**
+ * Tests ACL of feed with different operations.
+ */
@Test(groups = "authorization")
public class FeedAclTest extends BaseTestClass {
private static final Logger LOGGER = Logger.getLogger(FeedAclTest.class);
@@ -75,7 +76,7 @@ public class FeedAclTest extends BaseTestClass {
}
/**
- * Test feed read operation by different types of user
+ * Test feed read operation by different types of user.
* @param user the user that would attempt operation
* @param op the read operation that would be performed
* @param isAllowed is operation expected to go through
@@ -87,31 +88,32 @@ public class FeedAclTest extends BaseTestClass {
bundles[0].submitClusters(prism);
bundles[0].submitFeeds(prism);
final boolean executeRes = op.executeAs(user, feedHelper, feedString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserReadOpsPermissions")
public Object[][] generateUserReadOpsPermissions() {
final EntityOp[] falconReadOps = {EntityOp.status, EntityOp.dependency,
- EntityOp.listing, EntityOp.definition};
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME, MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
+ EntityOp.listing, EntityOp.definition, };
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME, },
falconReadOps,
new Boolean[]{true}
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
new String[]{MerlinConstants.DIFFERENT_USER_NAME},
falconReadOps,
new Boolean[]{false}
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
- * Test edit operation on submitted feed by different users
+ * Test edit operation on submitted feed by different users.
* @param user the user that would attempt operation
* @param op the edit operation that would be performed
* @param isAllowed is operation expected to go through
@@ -128,32 +130,33 @@ public class FeedAclTest extends BaseTestClass {
feedString = feedMerlin.toString();
}
final boolean executeRes = op.executeAs(user, feedHelper, feedString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserSubmittedEditOpsPermission")
public Object[][] generateUserSubmittedEditOpsPermission() {
final EntityOp[] falconEditOps = {EntityOp.delete, EntityOp.update};
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME, MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME, },
falconEditOps,
new Boolean[]{true}
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
new String[]{MerlinConstants.DIFFERENT_USER_NAME},
falconEditOps,
new Boolean[]{false}
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
- * Test edit operation on scheduled feed by different users
+ * Test edit operation on scheduled feed by different users.
* @param user the user that would attempt operation
* @param op the edit operation that would be performed
* @param isAllowed is operation expected to go through
@@ -164,7 +167,7 @@ public class FeedAclTest extends BaseTestClass {
throws Exception {
bundles[0].submitClusters(prism);
bundles[0].submitAndScheduleAllFeeds();
- if(op == EntityOp.resume) {
+ if (op == EntityOp.resume) {
feedHelper.suspend(feedString);
} else if (op == EntityOp.update) {
FeedMerlin feedMerlin = new FeedMerlin(feedString);
@@ -172,28 +175,29 @@ public class FeedAclTest extends BaseTestClass {
feedString = feedMerlin.toString();
}
final boolean executeRes = op.executeAs(user, feedHelper, feedString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserScheduledEditOpsPermission")
public Object[][] generateUserScheduledEditOpsPermission() {
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME, MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
- new EntityOp[]{EntityOp.delete, EntityOp.update, EntityOp.suspend, EntityOp.resume},
- new Boolean[]{true}
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME, },
+ new EntityOp[]{EntityOp.delete, EntityOp.update, EntityOp.suspend, EntityOp.resume, },
+ new Boolean[]{true, }
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.DIFFERENT_USER_NAME},
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.DIFFERENT_USER_NAME, },
new EntityOp[]{EntityOp.delete, EntityOp.update,
- EntityOp.suspend, EntityOp.resume},
- new Boolean[]{false}
+ EntityOp.suspend, EntityOp.resume, },
+ new Boolean[]{false, }
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
@@ -207,28 +211,28 @@ public class FeedAclTest extends BaseTestClass {
AssertUtil.assertSucceeded(feedHelper.submitAndSchedule(oldFeed));
final FeedMerlin feedMerlin = new FeedMerlin(oldFeed);
feedMerlin.setACL(MerlinConstants.DIFFERENT_USER_NAME,
- MerlinConstants.DIFFERENT_USER_GROUP, "*");
+ MerlinConstants.DIFFERENT_USER_GROUP, "*");
final String newFeed = feedMerlin.toString();
AssertUtil.assertSucceeded(feedHelper.update(oldFeed, newFeed));
//check that current user can't access the feed
for(EntityOp op : new EntityOp[]{EntityOp.status, EntityOp.dependency, EntityOp.listing,
- EntityOp.definition}) {
+ EntityOp.definition, }) {
final boolean executeRes =
- op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, feedHelper, newFeed);
+ op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, feedHelper, newFeed);
Assert.assertFalse(executeRes, "Unexpected result: user "
- + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
+ + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
}
//check that different user can access the feed
for(EntityOp op : new EntityOp[]{EntityOp.status, EntityOp.dependency, EntityOp.listing,
- EntityOp.definition}) {
+ EntityOp.definition, }) {
final boolean executeRes =
- op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, feedHelper, newFeed);
+ op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, feedHelper, newFeed);
Assert.assertTrue(executeRes, "Unexpected result: user "
- + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
+ + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
}
//check modification permissions
AssertUtil.assertSucceeded(feedHelper.update(newFeed, oldFeed,
- MerlinConstants.DIFFERENT_USER_NAME));
+ MerlinConstants.DIFFERENT_USER_NAME));
}
@AfterMethod(alwaysRun = true)
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/ProcessAclTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/ProcessAclTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/ProcessAclTest.java
index 2a623e6..7d1213e 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/ProcessAclTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/security/ProcessAclTest.java
@@ -7,14 +7,13 @@
* "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
+ * 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.
+ * 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.falcon.regression.security;
@@ -27,8 +26,7 @@ import org.apache.falcon.regression.core.interfaces.IEntityManagerHelper;
import org.apache.falcon.regression.core.util.AssertUtil;
import org.apache.falcon.regression.core.util.BundleUtil;
import org.apache.falcon.regression.core.util.HadoopUtil;
-import org.apache.falcon.regression.core.util.KerberosHelper;
-import org.apache.falcon.regression.core.util.MathUtil;
+import org.apache.falcon.regression.core.util.MatrixUtil;
import org.apache.falcon.regression.core.util.OSUtil;
import org.apache.falcon.regression.testHelper.BaseTestClass;
import org.apache.hadoop.fs.FileSystem;
@@ -47,6 +45,9 @@ import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Date;
+/**
+ * Tests ACL of process with different operations.
+ */
@Test(groups = "authorization")
public class ProcessAclTest extends BaseTestClass {
private static final Logger LOGGER = Logger.getLogger(ProcessAclTest.class);
@@ -57,7 +58,7 @@ public class ProcessAclTest extends BaseTestClass {
private String aggregateWorkflowDir = baseTestDir + "/aggregator";
private String feedInputPath = baseTestDir + "/input" + MINUTE_DATE_PATTERN;
private final IEntityManagerHelper processHelper = prism.getProcessHelper();
- String processString;
+ private String processString;
@BeforeClass(alwaysRun = true)
public void uploadWorkflow() throws Exception {
@@ -82,7 +83,7 @@ public class ProcessAclTest extends BaseTestClass {
}
/**
- * Test process read operation by different types of user
+ * Test process read operation by different types of user.
* @param user the user that would attempt operation
* @param op the read operation that would be performed
* @param isAllowed is operation expected to go through
@@ -93,33 +94,33 @@ public class ProcessAclTest extends BaseTestClass {
throws Exception {
bundles[0].submitProcess(true);
final boolean executeRes = op.executeAs(user, processHelper, processString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserReadOpsPermissions")
public Object[][] generateUserReadOpsPermissions() {
final EntityOp[] falconReadOps = {EntityOp.status, EntityOp.dependency,
- EntityOp.listing, EntityOp.definition};
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME,
- MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
+ EntityOp.listing, EntityOp.definition, };
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME, },
falconReadOps,
new Boolean[]{true}
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
new String[]{MerlinConstants.DIFFERENT_USER_NAME},
falconReadOps,
new Boolean[]{false}
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
- * Test edit operation on submitted process by different users
+ * Test edit operation on submitted process by different users.
* @param user the user that would attempt operation
* @param op the edit operation that would be performed
* @param isAllowed is operation expected to go through
@@ -135,32 +136,35 @@ public class ProcessAclTest extends BaseTestClass {
processString = processMerlin.toString();
}
final boolean executeRes = op.executeAs(user, processHelper, processString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserSubmittedEditOpsPermission")
public Object[][] generateUserSubmittedEditOpsPermission() {
final EntityOp[] falconEditOps = {EntityOp.delete, EntityOp.update};
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME, MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{
+ MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME,
+ },
falconEditOps,
new Boolean[]{true}
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.DIFFERENT_USER_NAME},
- falconEditOps,
- new Boolean[]{false}
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
+ new String[]{MerlinConstants.DIFFERENT_USER_NAME},
+ falconEditOps,
+ new Boolean[]{false}
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
- * Test edit operation on scheduled process by different users
+ * Test edit operation on scheduled process by different users.
* @param user the user that would attempt operation
* @param op the edit operation that would be performed
* @param isAllowed is operation expected to go through
@@ -170,7 +174,7 @@ public class ProcessAclTest extends BaseTestClass {
public void othersEditScheduledProcess(final String user, final EntityOp op, boolean isAllowed)
throws Exception {
bundles[0].submitFeedsScheduleProcess();
- if(op == EntityOp.resume) {
+ if (op == EntityOp.resume) {
processHelper.suspend(processString);
} else if (op == EntityOp.update) {
ProcessMerlin processMerlin = new ProcessMerlin(processString);
@@ -178,28 +182,33 @@ public class ProcessAclTest extends BaseTestClass {
processString = processMerlin.toString();
}
final boolean executeRes = op.executeAs(user, processHelper, processString);
- Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user +
- " performing: " + op);
+ Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
+ + " performing: " + op);
}
@DataProvider(name = "generateUserScheduledEditOpsPermission")
public Object[][] generateUserScheduledEditOpsPermission() {
- final Object[][] allowedCombinations = MathUtil.crossProduct(
- new String[]{MerlinConstants.FALCON_SUPER_USER_NAME, MerlinConstants.FALCON_SUPER_USER2_NAME,
- MerlinConstants.USER2_NAME},
+ final Object[][] allowedCombinations = MatrixUtil.crossProduct(
+ new String[]{
+ MerlinConstants.FALCON_SUPER_USER_NAME,
+ MerlinConstants.FALCON_SUPER_USER2_NAME,
+ MerlinConstants.USER2_NAME,
+ },
new EntityOp[]{EntityOp.delete, EntityOp.update, EntityOp.suspend, EntityOp.resume},
new Boolean[]{true}
);
- final Object[][] notAllowedCombinations = MathUtil.crossProduct(
+ final Object[][] notAllowedCombinations = MatrixUtil.crossProduct(
new String[]{MerlinConstants.DIFFERENT_USER_NAME},
- new EntityOp[]{EntityOp.delete, EntityOp.update,
- EntityOp.suspend, EntityOp.resume},
+ new EntityOp[]{
+ EntityOp.delete, EntityOp.update,
+ EntityOp.suspend, EntityOp.resume,
+ },
new Boolean[]{false}
);
- return MathUtil.append(allowedCombinations, notAllowedCombinations);
+ return MatrixUtil.append(allowedCombinations, notAllowedCombinations);
}
/**
@@ -213,28 +222,28 @@ public class ProcessAclTest extends BaseTestClass {
AssertUtil.assertSucceeded(prism.getProcessHelper().submitAndSchedule(oldProcess));
final ProcessMerlin processMerlin = new ProcessMerlin(oldProcess);
processMerlin.setACL(MerlinConstants.DIFFERENT_USER_NAME,
- MerlinConstants.DIFFERENT_USER_GROUP, "*");
+ MerlinConstants.DIFFERENT_USER_GROUP, "*");
final String newProcess = processMerlin.toString();
AssertUtil.assertSucceeded(processHelper.update(oldProcess, newProcess));
//check that current user can't access the feed
for(EntityOp op : new EntityOp[]{EntityOp.status, EntityOp.dependency, EntityOp.listing,
- EntityOp.definition}) {
+ EntityOp.definition, }) {
final boolean executeRes =
- op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, processHelper, newProcess);
+ op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, processHelper, newProcess);
Assert.assertFalse(executeRes, "Unexpected result: user "
- + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
+ + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
}
//check that different user can access the feed
for(EntityOp op : new EntityOp[]{EntityOp.status, EntityOp.dependency, EntityOp.listing,
- EntityOp.definition}) {
+ EntityOp.definition, }) {
final boolean executeRes =
- op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, processHelper, newProcess);
+ op.executeAs(MerlinConstants.DIFFERENT_USER_NAME, processHelper, newProcess);
Assert.assertTrue(executeRes, "Unexpected result: user "
- + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
+ + MerlinConstants.DIFFERENT_USER_GROUP + " was not able to perform: " + op);
}
//check modification permissions
AssertUtil.assertSucceeded(processHelper.update(newProcess, oldProcess,
- MerlinConstants.DIFFERENT_USER_NAME));
+ MerlinConstants.DIFFERENT_USER_NAME));
}
@AfterMethod(alwaysRun = true)
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/LineageGraphTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/LineageGraphTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/LineageGraphTest.java
index 5cbe321..74743cc 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/LineageGraphTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/LineageGraphTest.java
@@ -55,22 +55,25 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+/**
+ * Tests for Lineage UI graph.
+ */
@Test(groups = "lineage-ui")
public class LineageGraphTest extends BaseUITestClass {
private ColoHelper cluster = servers.get(0);
private String baseTestDir = baseHDFSDir + "/LineageGraphTest";
private String aggregateWorkflowDir = baseTestDir + "/aggregator";
- private static final Logger logger = Logger.getLogger(LineageGraphTest.class);
- String feedInputPath = baseTestDir + "/input" + MINUTE_DATE_PATTERN;
+ private static final Logger LOGGER = Logger.getLogger(LineageGraphTest.class);
+ private String feedInputPath = baseTestDir + "/input" + MINUTE_DATE_PATTERN;
private FileSystem clusterFS = serverFS.get(0);
private OozieClient clusterOC = serverOC.get(0);
private String processName = null;
private String inputFeedName = null;
private String outputFeedName = null;
- int inputEnd = 4;
+ private int inputEnd = 4;
private List<Vertex> piVertices;
- LineageHelper lineageHelper = new LineageHelper(prism);
+ private LineageHelper lineageHelper = new LineageHelper(prism);
/**
* Adjusts bundle and schedules it. Provides process with data, waits till some instances got
@@ -78,8 +81,8 @@ public class LineageGraphTest extends BaseUITestClass {
*/
@BeforeClass
public void setUp()
- throws IOException, JAXBException, URISyntaxException, AuthenticationException,
- OozieClientException, InterruptedException {
+ throws IOException, JAXBException, URISyntaxException, AuthenticationException,
+ OozieClientException, InterruptedException {
uploadDirToClusters(aggregateWorkflowDir, OSUtil.RESOURCES_OOZIE);
bundles[0] = BundleUtil.readELBundle();
bundles[0] = new Bundle(bundles[0], cluster);
@@ -87,7 +90,7 @@ public class LineageGraphTest extends BaseUITestClass {
bundles[0].setProcessWorkflow(aggregateWorkflowDir);
String startTime = TimeUtil.getTimeWrtSystemTime(0);
String endTime = TimeUtil.addMinsToTime(startTime, 5);
- logger.info("Start time: " + startTime + "\tEnd time: " + endTime);
+ LOGGER.info("Start time: " + startTime + "\tEnd time: " + endTime);
/**prepare process definition*/
bundles[0].setProcessValidity(startTime, endTime);
@@ -98,13 +101,13 @@ public class LineageGraphTest extends BaseUITestClass {
bundles[0].setProcessInput("now(0,0)", String.format("now(0,%d)", inputEnd - 1));
/**provide necessary data for first 3 instances to run*/
- logger.info("Creating necessary data...");
+ LOGGER.info("Creating necessary data...");
String prefix = bundles[0].getFeedDataPathPrefix();
HadoopUtil.deleteDirIfExists(prefix.substring(1), clusterFS);
List<String> dataDates = TimeUtil.getMinuteDatesOnEitherSide(
TimeUtil.addMinsToTime(startTime, -2), endTime, 0);
HadoopUtil.flattenAndPutDataInFolder(clusterFS, OSUtil.NORMAL_INPUT, prefix, dataDates);
- logger.info("Process data: " + Util.prettyPrintXml(bundles[0].getProcessData()));
+ LOGGER.info("Process data: " + Util.prettyPrintXml(bundles[0].getProcessData()));
bundles[0].submitBundle(prism);
processName = bundles[0].getProcessName();
@@ -158,16 +161,16 @@ public class LineageGraphTest extends BaseUITestClass {
Assert.assertEquals(processInstancesUI.get(0), nominalTime);
/* input feed validations */
List<String> inpInstancesUI = map.get(inputFeedName);
- logger.info("InputFeed instances on lineage UI : " + inpInstancesUI);
- logger.info("InputFeed instances from API : " + inpInstancesAPI);
+ LOGGER.info("InputFeed instances on lineage UI : " + inpInstancesUI);
+ LOGGER.info("InputFeed instances from API : " + inpInstancesAPI);
Assert.assertEquals(inpInstancesUI.size(), inpInstancesAPI.size());
for (Vertex inpInstanceAPI : inpInstancesAPI) {
Assert.assertTrue(inpInstancesUI.contains(inpInstanceAPI.getNominalTime()));
}
/* output feed validation */
List<String> outInstancesUI = map.get(outputFeedName);
- logger.info("Expected outputFeed instances : " + outInstancesUI);
- logger.info("Actual instance : " + outInstancesAPI);
+ LOGGER.info("Expected outputFeed instances : " + outInstancesUI);
+ LOGGER.info("Actual instance : " + outInstancesAPI);
Assert.assertEquals(outInstancesUI.size(), outInstancesAPI.size());
for (Vertex outInstanceAPI : outInstancesAPI) {
Assert.assertTrue(outInstancesUI.contains(outInstanceAPI.getNominalTime()));
@@ -177,7 +180,7 @@ public class LineageGraphTest extends BaseUITestClass {
}
/**
- * Clicks on each vertex and check the content of info panel
+ * Clicks on each vertex and check the content of info panel.
*/
@Test
public void testVerticesInfo()
@@ -207,8 +210,8 @@ public class LineageGraphTest extends BaseUITestClass {
Assert.assertEquals(info.get("Runs on"), clusterName,
String.format(message, "cluster", processName));
}
- Assert.assertEquals(info.get("Owned by"), System.getProperty("user" +
- ".name"), "Entity should be owned by current system user.");
+ Assert.assertEquals(info.get("Owned by"), System.getProperty("user"
+ + ".name"), "Entity should be owned by current system user.");
}
}
processPage.refresh();
@@ -257,9 +260,6 @@ public class LineageGraphTest extends BaseUITestClass {
lineageHelper = new LineageHelper(prism);
VerticesResult processResult = lineageHelper.getVerticesByName(processName);
Vertex processVertex = processResult.getResults().get(0);
- List<Vertex> piVertices =
- lineageHelper.getVerticesByDirection(processVertex.getId(),
- Direction.inComingVertices).filterByType(Vertex.VERTEX_TYPE.PROCESS_INSTANCE);
for (Vertex piVertex : piVertices) {
String nominalTime = piVertex.getNominalTime();
processPage.openLineage(nominalTime);
@@ -324,18 +324,20 @@ public class LineageGraphTest extends BaseUITestClass {
isEdgePresent =
isPointNearTheVertex(startPointAPI, vertexRadius, startPointUI, 5)
&& isPointNearTheVertex(endPointAPI, vertexRadius, endPointUI, 5);
- if (isEdgePresent) break;
+ if (isEdgePresent) {
+ break;
+ }
}
Assert.assertTrue(
- isEdgePresent, String.format("Edge %s-->%s isn't present on lineage or " +
- "painted incorrectly.", startVertexAPI.getName(), endVertexAPI.getName()));
+ isEdgePresent, String.format("Edge %s-->%s isn't present on lineage or "
+ + "painted incorrectly.", startVertexAPI.getName(), endVertexAPI.getName()));
}
processPage.refresh();
}
}
/**
- * Test which opens and closes Lineage info and checks content of it
+ * Test which opens and closes Lineage info and checks content of it.
*/
@Test
public void testLineageOpenClose() {
@@ -354,7 +356,7 @@ public class LineageGraphTest extends BaseUITestClass {
}
/**
- * Evaluates if endpoint is in permissible region near the vertex
+ * Evaluates if endpoint is in permissible region near the vertex.
*
* @param center coordinates of vertex center
* @param radius radius of vertex
@@ -362,8 +364,8 @@ public class LineageGraphTest extends BaseUITestClass {
*/
private boolean isPointNearTheVertex(Point center, int radius, Point point, int deviation) {
double distance = Math.sqrt(
- Math.pow(point.getX() - center.getX(), 2) +
- Math.pow(point.getY() - center.getY(), 2));
+ Math.pow(point.getX() - center.getX(), 2)
+ + Math.pow(point.getY() - center.getY(), 2));
return distance <= radius + deviation;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/ProcessUITest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/ProcessUITest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/ProcessUITest.java
index 9282d2c..2fa302e 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/ProcessUITest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ui/ProcessUITest.java
@@ -62,24 +62,27 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
+/**
+ * UI tests with submitted/scheduled process.
+ */
@Test(groups = "lineage-ui")
public class ProcessUITest extends BaseUITestClass {
private ColoHelper cluster = servers.get(0);
private String baseTestDir = baseHDFSDir + "/TestProcessUI";
private String aggregateWorkflowDir = baseTestDir + "/aggregator";
- private static final Logger logger = Logger.getLogger(ProcessUITest.class);
- String feedInputPath = baseTestDir + "/input";
- final String feedOutputPath = baseTestDir + "/output";
+ private static final Logger LOGGER = Logger.getLogger(ProcessUITest.class);
+ private final String feedInputPath = baseTestDir + "/input";
+ private final String feedOutputPath = baseTestDir + "/output";
private FileSystem clusterFS = serverFS.get(0);
private OozieClient clusterOC = serverOC.get(0);
private SoftAssert softAssert = new SoftAssert();
@BeforeMethod
public void setUp()
- throws IOException, JAXBException, NoSuchMethodException, IllegalAccessException,
- InvocationTargetException, URISyntaxException, AuthenticationException,
- InterruptedException {
+ throws IOException, JAXBException, NoSuchMethodException, IllegalAccessException,
+ InvocationTargetException, URISyntaxException, AuthenticationException,
+ InterruptedException {
CleanupUtil.cleanAllEntities(prism);
uploadDirToClusters(aggregateWorkflowDir, OSUtil.RESOURCES_OOZIE);
openBrowser();
@@ -89,7 +92,7 @@ public class ProcessUITest extends BaseUITestClass {
bundles[0].setProcessWorkflow(aggregateWorkflowDir);
String startTime = TimeUtil.getTimeWrtSystemTime(0);
String endTime = TimeUtil.addMinsToTime(startTime, 5);
- logger.info("Start time: " + startTime + "\tEnd time: " + endTime);
+ LOGGER.info("Start time: " + startTime + "\tEnd time: " + endTime);
//prepare process definition
bundles[0].setProcessValidity(startTime, endTime);
@@ -110,7 +113,7 @@ public class ProcessUITest extends BaseUITestClass {
bundles[0].setProcessData(process.toString());
//provide necessary data for first 3 instances to run
- logger.info("Creating necessary data...");
+ LOGGER.info("Creating necessary data...");
String prefix = bundles[0].getFeedDataPathPrefix();
HadoopUtil.deleteDirIfExists(prefix.substring(1), clusterFS);
List<String> dataDates = TimeUtil.getMinuteDatesOnEitherSide(
@@ -129,7 +132,7 @@ public class ProcessUITest extends BaseUITestClass {
prefix + "_00" + k + "/", dataDates);
}
- logger.info("Process data: " + Util.prettyPrintXml(bundles[0].getProcessData()));
+ LOGGER.info("Process data: " + Util.prettyPrintXml(bundles[0].getProcessData()));
FeedMerlin[] inputFeeds;
FeedMerlin[] outputFeeds;
final FeedMerlin inputMerlin = new FeedMerlin(bundles[0].getInputFeedFromBundle());
@@ -166,12 +169,12 @@ public class ProcessUITest extends BaseUITestClass {
/**
* Test checks that UI show expected statuses of submitted Process (SUBMITTED and RUNNING)
* then checks instances icons to be relevant to statuses of oozie actions
- * and checks that Lineage links are available only for SUCCEEDED instances
+ * and checks that Lineage links are available only for SUCCEEDED instances.
*/
@Test
public void testProcessUI()
- throws URISyntaxException, IOException, AuthenticationException, JAXBException,
- OozieClientException, InterruptedException {
+ throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+ OozieClientException, InterruptedException {
//check Process statuses via UI
EntitiesPage page = new EntitiesPage(driver, cluster, EntityType.PROCESS);
@@ -217,7 +220,7 @@ public class ProcessUITest extends BaseUITestClass {
//check that Lineage links are available only for SUCCEEDED instances
boolean isPresent = page.isLineageLinkPresent(oozieDate);
- if(actions.get(date) == CoordinatorAction.Status.SUCCEEDED) {
+ if (actions.get(date) == CoordinatorAction.Status.SUCCEEDED) {
softAssert.assertTrue(isPresent, "Lineage button should be present for instance: " + oozieDate);
} else {
softAssert.assertFalse(isPresent, "Lineage button should not be present for instance: " + oozieDate);
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java
deleted file mode 100644
index 1ab0140..0000000
--- a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * 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.ivory.entity.common;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
-
-public class Configuration implements Iterable<Map.Entry<String, String>>, Cloneable {
-
- private final Map<String, String> properties;
-
- public Configuration() {
- properties = new ConcurrentHashMap<String, String>();
- }
-
- public Configuration(Map<String, String> properties) {
- this.properties = properties;
- }
-
- public void addConfiguration(Configuration config) {
- for (Entry<String, String> entry : config) {
- properties.put(entry.getKey(), entry.getValue());
- }
- }
-
- public Configuration addAndReturnNewConfiguration(Configuration config) {
- Map<String, String> newProperties = new ConcurrentHashMap<String, String>(properties);
- for (Entry<String, String> entry : config) {
- newProperties.put(entry.getKey(), entry.getValue());
- }
- return new Configuration(newProperties);
- }
-
- public String getConf(String name) {
- return properties.get(name);
- }
-
- public void setConf(String name, String value) {
- properties.put(name, value);
- }
-
- public void setConf(String name, String value, String defaultValue) {
- if (value == null) {
- properties.put(name, defaultValue);
- } else {
- properties.put(name, value);
- }
- }
-
- @Override
- public Iterator<Entry<String, String>> iterator() {
- return properties.entrySet().iterator();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java.ignore
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java.ignore b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java.ignore
new file mode 100644
index 0000000..1ab0140
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/Configuration.java.ignore
@@ -0,0 +1,73 @@
+/**
+ * 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.ivory.entity.common;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class Configuration implements Iterable<Map.Entry<String, String>>, Cloneable {
+
+ private final Map<String, String> properties;
+
+ public Configuration() {
+ properties = new ConcurrentHashMap<String, String>();
+ }
+
+ public Configuration(Map<String, String> properties) {
+ this.properties = properties;
+ }
+
+ public void addConfiguration(Configuration config) {
+ for (Entry<String, String> entry : config) {
+ properties.put(entry.getKey(), entry.getValue());
+ }
+ }
+
+ public Configuration addAndReturnNewConfiguration(Configuration config) {
+ Map<String, String> newProperties = new ConcurrentHashMap<String, String>(properties);
+ for (Entry<String, String> entry : config) {
+ newProperties.put(entry.getKey(), entry.getValue());
+ }
+ return new Configuration(newProperties);
+ }
+
+ public String getConf(String name) {
+ return properties.get(name);
+ }
+
+ public void setConf(String name, String value) {
+ properties.put(name, value);
+ }
+
+ public void setConf(String name, String value, String defaultValue) {
+ if (value == null) {
+ properties.put(name, defaultValue);
+ } else {
+ properties.put(name, value);
+ }
+ }
+
+ @Override
+ public Iterator<Entry<String, String>> iterator() {
+ return properties.entrySet().iterator();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java
deleted file mode 100644
index f02ed34..0000000
--- a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * 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.ivory.entity.common;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class DateValidator {
-
- private Pattern pattern;
- private Matcher matcher;
-
- private static final String DATE_PATTERN = "(2\\d\\d\\d|19\\d\\d)-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5][0-9])Z";
-
- public DateValidator() {
- pattern = Pattern.compile(DATE_PATTERN);
- }
-
- /**
- * Validate date format with regular expression
- *
- * @param date
- * date address for validation
- * @return true valid date fromat, false invalid date format
- */
- public boolean validate(final String date) {
-
- matcher = pattern.matcher(date);
-
- if (matcher.matches()) {
-
- matcher.reset();
-
- if (matcher.find()) {
-
- int year = Integer.parseInt(matcher.group(1));
- String month = matcher.group(2);
- String day = matcher.group(3);
-
- if (day.equals("31")
- && (month.equals("4") || month.equals("6")
- || month.equals("9") || month.equals("11")
- || month.equals("04") || month.equals("06") || month
- .equals("09"))) {
- return false; // only 1,3,5,7,8,10,12 has 31 days
- } else if (month.equals("2") || month.equals("02")) {
- // leap year
- if (year % 4 == 0) {
- if (day.equals("30") || day.equals("31")) {
- return false;
- } else {
- return true;
- }
- } else {
- if (day.equals("29") || day.equals("30")
- || day.equals("31")) {
- return false;
- } else {
- return true;
- }
- }
- } else {
- return true;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java.ignore
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java.ignore b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java.ignore
new file mode 100644
index 0000000..f02ed34
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/DateValidator.java.ignore
@@ -0,0 +1,87 @@
+/**
+ * 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.ivory.entity.common;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class DateValidator {
+
+ private Pattern pattern;
+ private Matcher matcher;
+
+ private static final String DATE_PATTERN = "(2\\d\\d\\d|19\\d\\d)-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5][0-9])Z";
+
+ public DateValidator() {
+ pattern = Pattern.compile(DATE_PATTERN);
+ }
+
+ /**
+ * Validate date format with regular expression
+ *
+ * @param date
+ * date address for validation
+ * @return true valid date fromat, false invalid date format
+ */
+ public boolean validate(final String date) {
+
+ matcher = pattern.matcher(date);
+
+ if (matcher.matches()) {
+
+ matcher.reset();
+
+ if (matcher.find()) {
+
+ int year = Integer.parseInt(matcher.group(1));
+ String month = matcher.group(2);
+ String day = matcher.group(3);
+
+ if (day.equals("31")
+ && (month.equals("4") || month.equals("6")
+ || month.equals("9") || month.equals("11")
+ || month.equals("04") || month.equals("06") || month
+ .equals("09"))) {
+ return false; // only 1,3,5,7,8,10,12 has 31 days
+ } else if (month.equals("2") || month.equals("02")) {
+ // leap year
+ if (year % 4 == 0) {
+ if (day.equals("30") || day.equals("31")) {
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ if (day.equals("29") || day.equals("30")
+ || day.equals("31")) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+ } else {
+ return true;
+ }
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java
deleted file mode 100644
index 67f9d4c..0000000
--- a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 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.ivory.entity.common;
-
-import java.util.Calendar;
-
-public enum TimeUnit {
- MINUTE(Calendar.MINUTE), HOUR(Calendar.HOUR), DAY(Calendar.DATE), MONTH(Calendar.MONTH), END_OF_DAY(Calendar.DATE), END_OF_MONTH(
- Calendar.MONTH), NONE(-1);
-
- private int calendarUnit;
-
- private TimeUnit(int calendarUnit) {
- this.calendarUnit = calendarUnit;
- }
-
- public int getCalendarUnit() {
- return calendarUnit;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java.ignore
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java.ignore b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java.ignore
new file mode 100644
index 0000000..67f9d4c
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/2ndLateData/TimeUnit.java.ignore
@@ -0,0 +1,36 @@
+/**
+ * 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.ivory.entity.common;
+
+import java.util.Calendar;
+
+public enum TimeUnit {
+ MINUTE(Calendar.MINUTE), HOUR(Calendar.HOUR), DAY(Calendar.DATE), MONTH(Calendar.MONTH), END_OF_DAY(Calendar.DATE), END_OF_MONTH(
+ Calendar.MONTH), NONE(-1);
+
+ private int calendarUnit;
+
+ private TimeUnit(int calendarUnit) {
+ this.calendarUnit = calendarUnit;
+ }
+
+ public int getCalendarUnit() {
+ return calendarUnit;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore
new file mode 100644
index 0000000..f992f21
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore
@@ -0,0 +1,412 @@
+///**
+// * 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.ivory.messaging;
+//
+//import org.apache.hadoop.conf.Configuration;
+//import org.apache.hadoop.fs.FileSystem;
+//import org.apache.hadoop.fs.Path;
+//import org.apache.hadoop.io.IOUtils;
+//import org.apache.log4j.Logger;
+//
+//import java.io.ByteArrayOutputStream;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.util.HashMap;
+//import java.util.Map;
+//
+///**
+// * Value Object which is stored in JMS Topic as TextMessage
+// *
+// */
+//public class EntityInstanceMessage {
+//
+// private final Map<ARG, String> msgs = new HashMap<ARG, String>();
+// private static final String MSG_SEPERATOR = "$";
+// private static final int ARG_LENGTH = EntityInstanceMessage.ARG.values().length;
+// private static final Logger LOG = Logger
+// .getLogger(EntityInstanceMessage.class);
+// private static final String IVORY_PROCESS_TOPIC_NAME = "IVORY.PROCESS.TOPIC";
+//
+// /**
+// * Enum for arguments that are used in coordinators to pass arguments to
+// * parent workflow
+// */
+//
+// public enum entityOperation {
+// GENERATE, DELETE, ARCHIVE, REPLICATE, CHMOD
+// }
+//
+// public enum ARG {
+// PROCESS_NAME(0, "entityName"), FEED_NAME(1, "feedNames"), FEED_INSTANCE_PATH(
+// 2, "feedInstancePaths"), WORKFLOW_ID(3, "workflowId"), RUN_ID(
+// 4, "runId"), NOMINAL_TIME(5, "nominalTime"), TIME_STAMP(6,
+// "timeStamp"), BROKER_URL(7, "brokerUrl"), BROKER_IMPL_CLASS(8,
+// "brokerImplClass"), ENTITY_TYPE(9, "entityType"), OPERATION(10,
+// "operation"), LOG_FILE(11, "logFile"), TOPIC_NAME(12,
+// "topicName"), STATUS(13, "status"), BROKER_TTL(14, "broker.ttlInMins");
+//
+// private int argOrder;
+// private String argName;
+//
+// private ARG(int argOrder, String argName) {
+// this.argOrder = argOrder;
+// this.argName = argName;
+// }
+//
+// public int ORDER() {
+// return this.argOrder;
+// }
+//
+// public String NAME() {
+// return this.argName;
+// }
+// }
+//
+// public String getProcessName() {
+// return this.msgs.get(ARG.PROCESS_NAME);
+// }
+//
+// public void setProcessName(String processName) {
+// this.msgs.put(ARG.PROCESS_NAME, processName);
+// }
+//
+// public String getTopicName() {
+// return this.msgs.get(ARG.TOPIC_NAME);
+// }
+//
+// public void setTopicName(String topicName) {
+// this.msgs.put(ARG.TOPIC_NAME, topicName);
+// }
+//
+// public String getFeedName() {
+// return this.msgs.get(ARG.FEED_NAME);
+// }
+//
+// public void setFeedName(String feedName) {
+// this.msgs.put(ARG.FEED_NAME, feedName);
+// }
+//
+// public String getFeedInstancePath() {
+// return this.msgs.get(ARG.FEED_INSTANCE_PATH);
+// }
+//
+// public void setFeedInstancePath(String feedInstancePath) {
+// this.msgs.put(ARG.FEED_INSTANCE_PATH, feedInstancePath);
+// }
+//
+// public String getWorkflowId() {
+// return this.msgs.get(ARG.WORKFLOW_ID);
+// }
+//
+// public void setWorkflowId(String workflowId) {
+// this.msgs.put(ARG.WORKFLOW_ID, workflowId);
+// }
+//
+// public String getRunId() {
+// return this.msgs.get(ARG.RUN_ID);
+// }
+//
+// public void setRunId(String runId) {
+// this.msgs.put(ARG.RUN_ID, runId);
+// }
+//
+// public String getNominalTime() {
+// return this.msgs.get(ARG.NOMINAL_TIME);
+// }
+//
+// public void setNominalTime(String nominalTime) {
+// this.msgs.put(ARG.NOMINAL_TIME, nominalTime);
+// }
+//
+// public String getTimeStamp() {
+// return this.msgs.get(ARG.TIME_STAMP);
+// }
+//
+// public void setTimeStamp(String timeStamp) {
+// this.msgs.put(ARG.TIME_STAMP, timeStamp);
+// }
+//
+// public String getBrokerUrl() {
+// return this.msgs.get(ARG.BROKER_URL);
+// }
+//
+// public void setBrokerUrl(String brokerUrl) {
+// this.msgs.put(ARG.BROKER_URL, brokerUrl);
+// }
+//
+// public String getBrokerImplClass() {
+// return this.msgs.get(ARG.BROKER_IMPL_CLASS);
+// }
+//
+// public void setBrokerImplClass(String brokerImplClass) {
+// this.msgs.put(ARG.BROKER_IMPL_CLASS, brokerImplClass);
+// }
+//
+// public String getEntityType() {
+// return this.msgs.get(ARG.ENTITY_TYPE);
+// }
+//
+// public void setEntityType(String entityType) {
+// this.msgs.put(ARG.ENTITY_TYPE, entityType);
+// }
+//
+// public String getOperation() {
+// return this.msgs.get(ARG.OPERATION);
+// }
+//
+// public void setOperation(String operation) {
+// this.msgs.put(ARG.OPERATION, operation);
+// }
+//
+// public String getLogFile() {
+// return this.msgs.get(ARG.LOG_FILE);
+// }
+//
+// public void setLogFile(String logFile) {
+// this.msgs.put(ARG.LOG_FILE, logFile);
+// }
+//
+// public String getStatus() {
+// return this.msgs.get(ARG.STATUS);
+// }
+//
+// public void setStatus(String status) {
+// this.msgs.put(ARG.STATUS, status);
+// }
+//
+// public String getBrokerTTL() {
+// return this.msgs.get(ARG.BROKER_TTL);
+// }
+//
+// public void setBrokerTTL(String brokerTTL) {
+// this.msgs.put(ARG.BROKER_TTL, brokerTTL);
+// }
+//
+// @Override
+// public String toString() {
+// if (getEntityType().equalsIgnoreCase("PROCESS")
+// && getTopicName().equals(IVORY_PROCESS_TOPIC_NAME)) {
+// return getIvoryMessage();
+// }
+// if (getEntityType().equalsIgnoreCase("FEED")) {
+// return getFeedMessage();
+// }
+// return getProcessMessage();
+//
+// }
+//
+// private String getProcessMessage() {
+// return getProcessName() + MSG_SEPERATOR + getFeedName() + MSG_SEPERATOR
+// + getFeedInstancePath() + MSG_SEPERATOR + getWorkflowId()
+// + MSG_SEPERATOR + getRunId() + MSG_SEPERATOR + getNominalTime()
+// + MSG_SEPERATOR + getTimeStamp();
+// }
+//
+// private String getIvoryMessage() {
+// return getProcessName() + MSG_SEPERATOR + getFeedName() + MSG_SEPERATOR
+// + getFeedInstancePath() + MSG_SEPERATOR + getWorkflowId()
+// + MSG_SEPERATOR + getRunId() + MSG_SEPERATOR + getNominalTime()
+// + MSG_SEPERATOR + getTimeStamp() + MSG_SEPERATOR + getStatus();
+// }
+//
+// private String getFeedMessage() {
+// return getFeedName() + MSG_SEPERATOR
+// + getFeedInstancePath() + MSG_SEPERATOR + getOperation()
+// + MSG_SEPERATOR + getWorkflowId() + MSG_SEPERATOR + getRunId()
+// + MSG_SEPERATOR + getNominalTime() + MSG_SEPERATOR
+// + getTimeStamp();
+// }
+//
+// /**
+// *
+// * @param args
+// * - String array passed from oozie action for jms messaging
+// * @return ProcessMessage - Value object which is stored in JMS topic
+// */
+// public static EntityInstanceMessage[] argsToMessage(String[] args) {
+//
+// assert args.length == ARG_LENGTH : "Required number of arguments: "
+// + ARG_LENGTH;
+//
+// String[] feedNames = getFeedNames(args);
+//
+// String[] feedPaths;
+// try {
+// feedPaths = getFeedPaths(args);
+// } catch (IOException e) {
+// LOG.error("Error getting instance paths: ", e);
+// throw new RuntimeException(e);
+// }
+//
+// EntityInstanceMessage[] processMessages = new EntityInstanceMessage[feedPaths.length];
+// for (int i = 0; i < feedPaths.length; i++) {
+// EntityInstanceMessage instanceMessage = new EntityInstanceMessage();
+// instanceMessage
+// .setProcessName(args[EntityInstanceMessage.ARG.PROCESS_NAME
+// .ORDER()]);
+// if (args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()]
+// .equalsIgnoreCase("PROCESS")) {
+// instanceMessage.setFeedName(feedNames[i]);
+// } else {
+// instanceMessage
+// .setFeedName(args[EntityInstanceMessage.ARG.FEED_NAME
+// .ORDER()]);
+// }
+// instanceMessage.setFeedInstancePath(feedPaths[i]);
+// instanceMessage
+// .setWorkflowId(args[EntityInstanceMessage.ARG.WORKFLOW_ID
+// .ORDER()]);
+// instanceMessage.setRunId(args[EntityInstanceMessage.ARG.RUN_ID
+// .ORDER()]);
+// instanceMessage
+// .setNominalTime(args[EntityInstanceMessage.ARG.NOMINAL_TIME
+// .ORDER()]);
+// instanceMessage
+// .setTimeStamp(args[EntityInstanceMessage.ARG.TIME_STAMP
+// .ORDER()]);
+// instanceMessage
+// .setBrokerUrl(args[EntityInstanceMessage.ARG.BROKER_URL
+// .ORDER()]);
+// instanceMessage
+// .setBrokerImplClass(args[EntityInstanceMessage.ARG.BROKER_IMPL_CLASS
+// .ORDER()]);
+// instanceMessage
+// .setEntityType(args[EntityInstanceMessage.ARG.ENTITY_TYPE
+// .ORDER()]);
+// instanceMessage
+// .setOperation(args[EntityInstanceMessage.ARG.OPERATION
+// .ORDER()]);
+// instanceMessage.setLogFile(args[EntityInstanceMessage.ARG.LOG_FILE
+// .ORDER()]);
+// instanceMessage
+// .setTopicName(args[EntityInstanceMessage.ARG.TOPIC_NAME
+// .ORDER()]);
+// instanceMessage.setStatus(args[EntityInstanceMessage.ARG.STATUS
+// .ORDER()]);
+// instanceMessage.setBrokerTTL(args[EntityInstanceMessage.ARG.BROKER_TTL
+// .ORDER()]);
+//
+// processMessages[i] = instanceMessage;
+// }
+// return processMessages;
+// }
+//
+// private static String[] getFeedNames(String[] args) {
+// String topicName = args[ARG.TOPIC_NAME.argOrder];
+// if (topicName.equals(IVORY_PROCESS_TOPIC_NAME)) {
+// return new String[] { args[EntityInstanceMessage.ARG.FEED_NAME
+// .ORDER()] };
+// }
+// return args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()].split(",");
+// }
+//
+// private static String[] getFeedPaths(String[] args) throws IOException {
+// String entityType = args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()];
+// String topicName = args[EntityInstanceMessage.ARG.TOPIC_NAME.ORDER()];
+//
+// if (entityType.equalsIgnoreCase("PROCESS")
+// && topicName.equals(IVORY_PROCESS_TOPIC_NAME)) {
+// LOG.debug("Returning instance paths for Ivory Topic: "
+// + args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]);
+// return new String[] { args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH
+// .ORDER()] };
+// }
+//
+// if (entityType.equalsIgnoreCase("PROCESS")) {
+// LOG.debug("Returning instance paths for process: "
+// + args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]);
+// return args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]
+// .split(",");
+// }
+// //
+// Path logFile = new Path(
+// args[EntityInstanceMessage.ARG.LOG_FILE.ORDER()]);
+// FileSystem fs = FileSystem.get(logFile.toUri(), new Configuration());
+// ByteArrayOutputStream writer = new ByteArrayOutputStream();
+// InputStream instance = fs.open(logFile);
+// IOUtils.copyBytes(instance, writer, 4096, true);
+// String[] instancePaths = writer.toString().split("=");
+// if (instancePaths.length == 1) {
+// LOG.debug("Returning 0 instance paths for feed ");
+// return new String[0];
+// } else {
+// LOG.debug("Returning instance paths for feed " + instancePaths[1]);
+// return instancePaths[1].split(",");
+// }
+//
+// }
+//
+// /**
+// *
+// * @param instanceMessages
+// * - value object which is stored in JMS topic as TextMessage
+// * @return - String array.
+// */
+// public static String[] messageToArgs(
+// EntityInstanceMessage[] instanceMessages) {
+// String[] args = new String[ARG_LENGTH];
+//
+// args[EntityInstanceMessage.ARG.PROCESS_NAME.ORDER()] = instanceMessages[0]
+// .getProcessName();
+// StringBuilder feedNames = new StringBuilder();
+// StringBuilder feedPaths = new StringBuilder();
+//
+// for (EntityInstanceMessage instanceMessage : instanceMessages) {
+// feedNames.append(instanceMessage.getFeedName()).append(",");
+// feedPaths.append(instanceMessage.getFeedInstancePath()).append(",");
+// }
+// if (instanceMessages[0].getEntityType().equalsIgnoreCase("PROCESS")) {
+// args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()] = feedNames
+// .toString();
+//
+// } else {
+// args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()] = instanceMessages[0]
+// .getFeedName();
+// }
+// args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()] = feedPaths
+// .toString();
+// args[EntityInstanceMessage.ARG.WORKFLOW_ID.ORDER()] = instanceMessages[0]
+// .getWorkflowId();
+// args[EntityInstanceMessage.ARG.RUN_ID.ORDER()] = instanceMessages[0]
+// .getRunId();
+// args[EntityInstanceMessage.ARG.NOMINAL_TIME.ORDER()] = instanceMessages[0]
+// .getNominalTime();
+// args[EntityInstanceMessage.ARG.TIME_STAMP.ORDER()] = instanceMessages[0]
+// .getTimeStamp();
+// args[EntityInstanceMessage.ARG.BROKER_URL.ORDER()] = instanceMessages[0]
+// .getBrokerUrl();
+// args[EntityInstanceMessage.ARG.BROKER_IMPL_CLASS.ORDER()] = instanceMessages[0]
+// .getBrokerImplClass();
+// args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()] = instanceMessages[0]
+// .getEntityType();
+// args[EntityInstanceMessage.ARG.OPERATION.ORDER()] = instanceMessages[0]
+// .getOperation();
+// args[EntityInstanceMessage.ARG.LOG_FILE.ORDER()] = instanceMessages[0]
+// .getLogFile();
+// args[EntityInstanceMessage.ARG.TOPIC_NAME.ORDER()] = instanceMessages[0]
+// .getTopicName();
+// args[EntityInstanceMessage.ARG.STATUS.ORDER()] = instanceMessages[0]
+// .getStatus();
+// args[EntityInstanceMessage.ARG.BROKER_TTL.ORDER()] = instanceMessages[0]
+// .getBrokerTTL();
+//
+// return args;
+// }
+//
+//}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore.java b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore.java
deleted file mode 100644
index f992f21..0000000
--- a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessage.java.ignore.java
+++ /dev/null
@@ -1,412 +0,0 @@
-///**
-// * 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.ivory.messaging;
-//
-//import org.apache.hadoop.conf.Configuration;
-//import org.apache.hadoop.fs.FileSystem;
-//import org.apache.hadoop.fs.Path;
-//import org.apache.hadoop.io.IOUtils;
-//import org.apache.log4j.Logger;
-//
-//import java.io.ByteArrayOutputStream;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.util.HashMap;
-//import java.util.Map;
-//
-///**
-// * Value Object which is stored in JMS Topic as TextMessage
-// *
-// */
-//public class EntityInstanceMessage {
-//
-// private final Map<ARG, String> msgs = new HashMap<ARG, String>();
-// private static final String MSG_SEPERATOR = "$";
-// private static final int ARG_LENGTH = EntityInstanceMessage.ARG.values().length;
-// private static final Logger LOG = Logger
-// .getLogger(EntityInstanceMessage.class);
-// private static final String IVORY_PROCESS_TOPIC_NAME = "IVORY.PROCESS.TOPIC";
-//
-// /**
-// * Enum for arguments that are used in coordinators to pass arguments to
-// * parent workflow
-// */
-//
-// public enum entityOperation {
-// GENERATE, DELETE, ARCHIVE, REPLICATE, CHMOD
-// }
-//
-// public enum ARG {
-// PROCESS_NAME(0, "entityName"), FEED_NAME(1, "feedNames"), FEED_INSTANCE_PATH(
-// 2, "feedInstancePaths"), WORKFLOW_ID(3, "workflowId"), RUN_ID(
-// 4, "runId"), NOMINAL_TIME(5, "nominalTime"), TIME_STAMP(6,
-// "timeStamp"), BROKER_URL(7, "brokerUrl"), BROKER_IMPL_CLASS(8,
-// "brokerImplClass"), ENTITY_TYPE(9, "entityType"), OPERATION(10,
-// "operation"), LOG_FILE(11, "logFile"), TOPIC_NAME(12,
-// "topicName"), STATUS(13, "status"), BROKER_TTL(14, "broker.ttlInMins");
-//
-// private int argOrder;
-// private String argName;
-//
-// private ARG(int argOrder, String argName) {
-// this.argOrder = argOrder;
-// this.argName = argName;
-// }
-//
-// public int ORDER() {
-// return this.argOrder;
-// }
-//
-// public String NAME() {
-// return this.argName;
-// }
-// }
-//
-// public String getProcessName() {
-// return this.msgs.get(ARG.PROCESS_NAME);
-// }
-//
-// public void setProcessName(String processName) {
-// this.msgs.put(ARG.PROCESS_NAME, processName);
-// }
-//
-// public String getTopicName() {
-// return this.msgs.get(ARG.TOPIC_NAME);
-// }
-//
-// public void setTopicName(String topicName) {
-// this.msgs.put(ARG.TOPIC_NAME, topicName);
-// }
-//
-// public String getFeedName() {
-// return this.msgs.get(ARG.FEED_NAME);
-// }
-//
-// public void setFeedName(String feedName) {
-// this.msgs.put(ARG.FEED_NAME, feedName);
-// }
-//
-// public String getFeedInstancePath() {
-// return this.msgs.get(ARG.FEED_INSTANCE_PATH);
-// }
-//
-// public void setFeedInstancePath(String feedInstancePath) {
-// this.msgs.put(ARG.FEED_INSTANCE_PATH, feedInstancePath);
-// }
-//
-// public String getWorkflowId() {
-// return this.msgs.get(ARG.WORKFLOW_ID);
-// }
-//
-// public void setWorkflowId(String workflowId) {
-// this.msgs.put(ARG.WORKFLOW_ID, workflowId);
-// }
-//
-// public String getRunId() {
-// return this.msgs.get(ARG.RUN_ID);
-// }
-//
-// public void setRunId(String runId) {
-// this.msgs.put(ARG.RUN_ID, runId);
-// }
-//
-// public String getNominalTime() {
-// return this.msgs.get(ARG.NOMINAL_TIME);
-// }
-//
-// public void setNominalTime(String nominalTime) {
-// this.msgs.put(ARG.NOMINAL_TIME, nominalTime);
-// }
-//
-// public String getTimeStamp() {
-// return this.msgs.get(ARG.TIME_STAMP);
-// }
-//
-// public void setTimeStamp(String timeStamp) {
-// this.msgs.put(ARG.TIME_STAMP, timeStamp);
-// }
-//
-// public String getBrokerUrl() {
-// return this.msgs.get(ARG.BROKER_URL);
-// }
-//
-// public void setBrokerUrl(String brokerUrl) {
-// this.msgs.put(ARG.BROKER_URL, brokerUrl);
-// }
-//
-// public String getBrokerImplClass() {
-// return this.msgs.get(ARG.BROKER_IMPL_CLASS);
-// }
-//
-// public void setBrokerImplClass(String brokerImplClass) {
-// this.msgs.put(ARG.BROKER_IMPL_CLASS, brokerImplClass);
-// }
-//
-// public String getEntityType() {
-// return this.msgs.get(ARG.ENTITY_TYPE);
-// }
-//
-// public void setEntityType(String entityType) {
-// this.msgs.put(ARG.ENTITY_TYPE, entityType);
-// }
-//
-// public String getOperation() {
-// return this.msgs.get(ARG.OPERATION);
-// }
-//
-// public void setOperation(String operation) {
-// this.msgs.put(ARG.OPERATION, operation);
-// }
-//
-// public String getLogFile() {
-// return this.msgs.get(ARG.LOG_FILE);
-// }
-//
-// public void setLogFile(String logFile) {
-// this.msgs.put(ARG.LOG_FILE, logFile);
-// }
-//
-// public String getStatus() {
-// return this.msgs.get(ARG.STATUS);
-// }
-//
-// public void setStatus(String status) {
-// this.msgs.put(ARG.STATUS, status);
-// }
-//
-// public String getBrokerTTL() {
-// return this.msgs.get(ARG.BROKER_TTL);
-// }
-//
-// public void setBrokerTTL(String brokerTTL) {
-// this.msgs.put(ARG.BROKER_TTL, brokerTTL);
-// }
-//
-// @Override
-// public String toString() {
-// if (getEntityType().equalsIgnoreCase("PROCESS")
-// && getTopicName().equals(IVORY_PROCESS_TOPIC_NAME)) {
-// return getIvoryMessage();
-// }
-// if (getEntityType().equalsIgnoreCase("FEED")) {
-// return getFeedMessage();
-// }
-// return getProcessMessage();
-//
-// }
-//
-// private String getProcessMessage() {
-// return getProcessName() + MSG_SEPERATOR + getFeedName() + MSG_SEPERATOR
-// + getFeedInstancePath() + MSG_SEPERATOR + getWorkflowId()
-// + MSG_SEPERATOR + getRunId() + MSG_SEPERATOR + getNominalTime()
-// + MSG_SEPERATOR + getTimeStamp();
-// }
-//
-// private String getIvoryMessage() {
-// return getProcessName() + MSG_SEPERATOR + getFeedName() + MSG_SEPERATOR
-// + getFeedInstancePath() + MSG_SEPERATOR + getWorkflowId()
-// + MSG_SEPERATOR + getRunId() + MSG_SEPERATOR + getNominalTime()
-// + MSG_SEPERATOR + getTimeStamp() + MSG_SEPERATOR + getStatus();
-// }
-//
-// private String getFeedMessage() {
-// return getFeedName() + MSG_SEPERATOR
-// + getFeedInstancePath() + MSG_SEPERATOR + getOperation()
-// + MSG_SEPERATOR + getWorkflowId() + MSG_SEPERATOR + getRunId()
-// + MSG_SEPERATOR + getNominalTime() + MSG_SEPERATOR
-// + getTimeStamp();
-// }
-//
-// /**
-// *
-// * @param args
-// * - String array passed from oozie action for jms messaging
-// * @return ProcessMessage - Value object which is stored in JMS topic
-// */
-// public static EntityInstanceMessage[] argsToMessage(String[] args) {
-//
-// assert args.length == ARG_LENGTH : "Required number of arguments: "
-// + ARG_LENGTH;
-//
-// String[] feedNames = getFeedNames(args);
-//
-// String[] feedPaths;
-// try {
-// feedPaths = getFeedPaths(args);
-// } catch (IOException e) {
-// LOG.error("Error getting instance paths: ", e);
-// throw new RuntimeException(e);
-// }
-//
-// EntityInstanceMessage[] processMessages = new EntityInstanceMessage[feedPaths.length];
-// for (int i = 0; i < feedPaths.length; i++) {
-// EntityInstanceMessage instanceMessage = new EntityInstanceMessage();
-// instanceMessage
-// .setProcessName(args[EntityInstanceMessage.ARG.PROCESS_NAME
-// .ORDER()]);
-// if (args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()]
-// .equalsIgnoreCase("PROCESS")) {
-// instanceMessage.setFeedName(feedNames[i]);
-// } else {
-// instanceMessage
-// .setFeedName(args[EntityInstanceMessage.ARG.FEED_NAME
-// .ORDER()]);
-// }
-// instanceMessage.setFeedInstancePath(feedPaths[i]);
-// instanceMessage
-// .setWorkflowId(args[EntityInstanceMessage.ARG.WORKFLOW_ID
-// .ORDER()]);
-// instanceMessage.setRunId(args[EntityInstanceMessage.ARG.RUN_ID
-// .ORDER()]);
-// instanceMessage
-// .setNominalTime(args[EntityInstanceMessage.ARG.NOMINAL_TIME
-// .ORDER()]);
-// instanceMessage
-// .setTimeStamp(args[EntityInstanceMessage.ARG.TIME_STAMP
-// .ORDER()]);
-// instanceMessage
-// .setBrokerUrl(args[EntityInstanceMessage.ARG.BROKER_URL
-// .ORDER()]);
-// instanceMessage
-// .setBrokerImplClass(args[EntityInstanceMessage.ARG.BROKER_IMPL_CLASS
-// .ORDER()]);
-// instanceMessage
-// .setEntityType(args[EntityInstanceMessage.ARG.ENTITY_TYPE
-// .ORDER()]);
-// instanceMessage
-// .setOperation(args[EntityInstanceMessage.ARG.OPERATION
-// .ORDER()]);
-// instanceMessage.setLogFile(args[EntityInstanceMessage.ARG.LOG_FILE
-// .ORDER()]);
-// instanceMessage
-// .setTopicName(args[EntityInstanceMessage.ARG.TOPIC_NAME
-// .ORDER()]);
-// instanceMessage.setStatus(args[EntityInstanceMessage.ARG.STATUS
-// .ORDER()]);
-// instanceMessage.setBrokerTTL(args[EntityInstanceMessage.ARG.BROKER_TTL
-// .ORDER()]);
-//
-// processMessages[i] = instanceMessage;
-// }
-// return processMessages;
-// }
-//
-// private static String[] getFeedNames(String[] args) {
-// String topicName = args[ARG.TOPIC_NAME.argOrder];
-// if (topicName.equals(IVORY_PROCESS_TOPIC_NAME)) {
-// return new String[] { args[EntityInstanceMessage.ARG.FEED_NAME
-// .ORDER()] };
-// }
-// return args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()].split(",");
-// }
-//
-// private static String[] getFeedPaths(String[] args) throws IOException {
-// String entityType = args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()];
-// String topicName = args[EntityInstanceMessage.ARG.TOPIC_NAME.ORDER()];
-//
-// if (entityType.equalsIgnoreCase("PROCESS")
-// && topicName.equals(IVORY_PROCESS_TOPIC_NAME)) {
-// LOG.debug("Returning instance paths for Ivory Topic: "
-// + args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]);
-// return new String[] { args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH
-// .ORDER()] };
-// }
-//
-// if (entityType.equalsIgnoreCase("PROCESS")) {
-// LOG.debug("Returning instance paths for process: "
-// + args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]);
-// return args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()]
-// .split(",");
-// }
-// //
-// Path logFile = new Path(
-// args[EntityInstanceMessage.ARG.LOG_FILE.ORDER()]);
-// FileSystem fs = FileSystem.get(logFile.toUri(), new Configuration());
-// ByteArrayOutputStream writer = new ByteArrayOutputStream();
-// InputStream instance = fs.open(logFile);
-// IOUtils.copyBytes(instance, writer, 4096, true);
-// String[] instancePaths = writer.toString().split("=");
-// if (instancePaths.length == 1) {
-// LOG.debug("Returning 0 instance paths for feed ");
-// return new String[0];
-// } else {
-// LOG.debug("Returning instance paths for feed " + instancePaths[1]);
-// return instancePaths[1].split(",");
-// }
-//
-// }
-//
-// /**
-// *
-// * @param instanceMessages
-// * - value object which is stored in JMS topic as TextMessage
-// * @return - String array.
-// */
-// public static String[] messageToArgs(
-// EntityInstanceMessage[] instanceMessages) {
-// String[] args = new String[ARG_LENGTH];
-//
-// args[EntityInstanceMessage.ARG.PROCESS_NAME.ORDER()] = instanceMessages[0]
-// .getProcessName();
-// StringBuilder feedNames = new StringBuilder();
-// StringBuilder feedPaths = new StringBuilder();
-//
-// for (EntityInstanceMessage instanceMessage : instanceMessages) {
-// feedNames.append(instanceMessage.getFeedName()).append(",");
-// feedPaths.append(instanceMessage.getFeedInstancePath()).append(",");
-// }
-// if (instanceMessages[0].getEntityType().equalsIgnoreCase("PROCESS")) {
-// args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()] = feedNames
-// .toString();
-//
-// } else {
-// args[EntityInstanceMessage.ARG.FEED_NAME.ORDER()] = instanceMessages[0]
-// .getFeedName();
-// }
-// args[EntityInstanceMessage.ARG.FEED_INSTANCE_PATH.ORDER()] = feedPaths
-// .toString();
-// args[EntityInstanceMessage.ARG.WORKFLOW_ID.ORDER()] = instanceMessages[0]
-// .getWorkflowId();
-// args[EntityInstanceMessage.ARG.RUN_ID.ORDER()] = instanceMessages[0]
-// .getRunId();
-// args[EntityInstanceMessage.ARG.NOMINAL_TIME.ORDER()] = instanceMessages[0]
-// .getNominalTime();
-// args[EntityInstanceMessage.ARG.TIME_STAMP.ORDER()] = instanceMessages[0]
-// .getTimeStamp();
-// args[EntityInstanceMessage.ARG.BROKER_URL.ORDER()] = instanceMessages[0]
-// .getBrokerUrl();
-// args[EntityInstanceMessage.ARG.BROKER_IMPL_CLASS.ORDER()] = instanceMessages[0]
-// .getBrokerImplClass();
-// args[EntityInstanceMessage.ARG.ENTITY_TYPE.ORDER()] = instanceMessages[0]
-// .getEntityType();
-// args[EntityInstanceMessage.ARG.OPERATION.ORDER()] = instanceMessages[0]
-// .getOperation();
-// args[EntityInstanceMessage.ARG.LOG_FILE.ORDER()] = instanceMessages[0]
-// .getLogFile();
-// args[EntityInstanceMessage.ARG.TOPIC_NAME.ORDER()] = instanceMessages[0]
-// .getTopicName();
-// args[EntityInstanceMessage.ARG.STATUS.ORDER()] = instanceMessages[0]
-// .getStatus();
-// args[EntityInstanceMessage.ARG.BROKER_TTL.ORDER()] = instanceMessages[0]
-// .getBrokerTTL();
-//
-// return args;
-// }
-//
-//}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore
new file mode 100644
index 0000000..f7e8bbb
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore
@@ -0,0 +1,61 @@
+///**
+// * 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.ivory.messaging;
+//
+//import javax.jms.JMSException;
+//import javax.jms.Session;
+//import javax.jms.TextMessage;
+//
+//import org.apache.log4j.Logger;
+//
+///**
+// * Ivory JMS message creator- creates JMS TextMessage
+// */
+//public class EntityInstanceMessageCreator {
+//
+// private static final Logger LOG = Logger
+// .getLogger(EntityInstanceMessageCreator.class);
+//
+// private TextMessage textMessage;
+//
+// private final EntityInstanceMessage args;
+//
+// public EntityInstanceMessageCreator(EntityInstanceMessage args) {
+// this.args = args;
+// }
+//
+// public TextMessage createMessage(Session session) throws JMSException {
+// this.textMessage = session.createTextMessage();
+// this.textMessage.setText(this.args.toString());
+// LOG.debug("Sending Message: " + this.textMessage.getText());
+// // System.out.println("Sending Message: " + this.textMessage);
+// return this.textMessage;
+// }
+//
+// @Override
+// public String toString() {
+// try {
+// return this.textMessage.getText();
+// } catch (JMSException e) {
+// return e.getMessage();
+// }
+//
+// }
+//
+//}
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/387604d1/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore.java b/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore.java
deleted file mode 100644
index f7e8bbb..0000000
--- a/falcon-regression/merlin/src/test/resources/OozieExampleInputData/normalInput/EntityInstanceMessageCreator.java.ignore.java
+++ /dev/null
@@ -1,61 +0,0 @@
-///**
-// * 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.ivory.messaging;
-//
-//import javax.jms.JMSException;
-//import javax.jms.Session;
-//import javax.jms.TextMessage;
-//
-//import org.apache.log4j.Logger;
-//
-///**
-// * Ivory JMS message creator- creates JMS TextMessage
-// */
-//public class EntityInstanceMessageCreator {
-//
-// private static final Logger LOG = Logger
-// .getLogger(EntityInstanceMessageCreator.class);
-//
-// private TextMessage textMessage;
-//
-// private final EntityInstanceMessage args;
-//
-// public EntityInstanceMessageCreator(EntityInstanceMessage args) {
-// this.args = args;
-// }
-//
-// public TextMessage createMessage(Session session) throws JMSException {
-// this.textMessage = session.createTextMessage();
-// this.textMessage.setText(this.args.toString());
-// LOG.debug("Sending Message: " + this.textMessage.getText());
-// // System.out.println("Sending Message: " + this.textMessage);
-// return this.textMessage;
-// }
-//
-// @Override
-// public String toString() {
-// try {
-// return this.textMessage.getText();
-// } catch (JMSException e) {
-// return e.getMessage();
-// }
-//
-// }
-//
-//}