You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by ra...@apache.org on 2015/07/16 02:21:50 UTC
falcon git commit: FALCON-1278 Submitted entity properties must have
unique names contributed by Raghav Kumar Gautam
Repository: falcon
Updated Branches:
refs/heads/master 9f69ae271 -> 5f58c380b
FALCON-1278 Submitted entity properties must have unique names contributed by Raghav Kumar Gautam
Project: http://git-wip-us.apache.org/repos/asf/falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/5f58c380
Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/5f58c380
Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/5f58c380
Branch: refs/heads/master
Commit: 5f58c380bf28d91a40d7a1a640bec742b4b72e12
Parents: 9f69ae2
Author: Raghav Kumar Gautam <ra...@apache.org>
Authored: Wed Jul 15 17:19:11 2015 -0700
Committer: Raghav Kumar Gautam <ra...@apache.org>
Committed: Wed Jul 15 17:21:37 2015 -0700
----------------------------------------------------------------------
falcon-regression/CHANGES.txt | 2 +
.../regression/Entities/ClusterMerlin.java | 24 +++++++--
.../falcon/regression/Entities/FeedMerlin.java | 42 +++++++--------
.../regression/Entities/ProcessMerlin.java | 57 +++++++++++---------
.../falcon/regression/core/bundle/Bundle.java | 11 ++--
.../falcon/regression/core/util/BundleUtil.java | 42 ++++-----------
.../regression/ui/search/ClusterWizardPage.java | 2 +-
.../falcon/regression/AuthorizationTest.java | 6 +--
.../regression/EmbeddedPigScriptTest.java | 15 ++----
.../apache/falcon/regression/LogMoverTest.java | 24 ++++-----
.../regression/prism/EntityDryRunTest.java | 6 +--
.../falcon/regression/prism/FeedDelayTest.java | 4 +-
.../regression/prism/PrismFeedUpdateTest.java | 5 +-
.../prism/ProcessPartitionExpVariableTest.java | 11 ++--
.../prism/UpdateAtSpecificTimeTest.java | 4 +-
.../falcon/regression/security/FeedAclTest.java | 8 +--
.../regression/security/ProcessAclTest.java | 8 +--
17 files changed, 119 insertions(+), 152 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/CHANGES.txt
----------------------------------------------------------------------
diff --git a/falcon-regression/CHANGES.txt b/falcon-regression/CHANGES.txt
index b062872..ebfc0cb 100644
--- a/falcon-regression/CHANGES.txt
+++ b/falcon-regression/CHANGES.txt
@@ -357,6 +357,8 @@ Trunk (Unreleased)
FALCON-681 delete duplicate feed retention test from falcon regression (SamarthG)
BUG FIXES
+ FALCON-1278 Submitted entity properties must have unique names (Raghav Kumar Gautam)
+
FALCON-1300 Use xml instead of properties for log4j (Raghav Kumar Gautam via Ruslan Ostafiychuk)
FALCON-1290 Push Enter in start/end filter on entity page, start instance is included (Ruslan Ostafiychuk)
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ClusterMerlin.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ClusterMerlin.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ClusterMerlin.java
index 0198e19..fe1338a 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ClusterMerlin.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ClusterMerlin.java
@@ -169,11 +169,29 @@ public class ClusterMerlin extends Cluster {
getLocations().getLocations().add(newLocation);
}
- public void addProperty(String name, String value) {
- Property property = new Property();
+ /**
+ * Add/replace a property.
+ * @param name name of the property
+ * @param value value of the property
+ * @return this
+ */
+ public ClusterMerlin withProperty(String name, String value) {
+ final List<Property> properties = getProperties().getProperties();
+ //if property with same name exists, just replace the value
+ for (Property property : properties) {
+ if (property.getName().equals(name)) {
+ LOGGER.info(String.format("Overwriting property name = %s oldVal = %s newVal = %s",
+ property.getName(), property.getValue(), value));
+ property.setValue(value);
+ return this;
+ }
+ }
+ //if property is not added already, add it
+ final Property property = new Property();
property.setName(name);
property.setValue(value);
- getProperties().getProperties().add(property);
+ properties.add(property);
+ return this;
}
public void addInterface(Interfacetype type, String endpoint, String version) {
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/FeedMerlin.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/FeedMerlin.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/FeedMerlin.java
index 787ddc1..ba1d228 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/FeedMerlin.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/FeedMerlin.java
@@ -88,26 +88,27 @@ public class FeedMerlin extends Feed {
}
/**
- * Sets custom feed property.
- * @param propertyName custom property name
- * @param propertyValue custom property value
+ * Add/replace a property.
+ * @param name name of the property
+ * @param value value of the property
+ * @return this
*/
- public FeedMerlin setFeedProperty(String propertyName, String propertyValue) {
- boolean found = false;
- for (Property prop : this.getProperties().getProperties()) {
- //check if it is present
- if (prop.getName().equalsIgnoreCase(propertyName)) {
- prop.setValue(propertyValue);
- found = true;
- break;
+ public FeedMerlin withProperty(String name, String value) {
+ final List<Property> properties = getProperties().getProperties();
+ //if property with same name exists, just replace the value
+ for (Property property : properties) {
+ if (property.getName().equals(name)) {
+ LOGGER.info(String.format("Overwriting property name = %s oldVal = %s newVal = %s",
+ property.getName(), property.getValue(), value));
+ property.setValue(value);
+ return this;
}
}
- if (!found) {
- Property property = new Property();
- property.setName(propertyName);
- property.setValue(propertyValue);
- this.getProperties().getProperties().add(property);
- }
+ //if property is not added already, add it
+ final Property property = new Property();
+ property.setName(name);
+ property.setValue(value);
+ properties.add(property);
return this;
}
@@ -288,13 +289,6 @@ public class FeedMerlin extends Feed {
}
}
- public void addProperty(String someProp, String someVal) {
- Property property = new Property();
- property.setName(someProp);
- property.setValue(someVal);
- this.getProperties().getProperties().add(property);
- }
-
/**
* Sets unique names for the feed.
* @return mapping of old name to new name
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ProcessMerlin.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ProcessMerlin.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ProcessMerlin.java
index 615587d..ae5c70c 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ProcessMerlin.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/Entities/ProcessMerlin.java
@@ -24,10 +24,9 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.falcon.entity.v0.EntityType;
import org.apache.falcon.entity.v0.Frequency;
-import org.apache.falcon.entity.v0.process.EngineType;
-import org.apache.falcon.entity.v0.process.Sla;
import org.apache.falcon.entity.v0.process.ACL;
import org.apache.falcon.entity.v0.process.Cluster;
+import org.apache.falcon.entity.v0.process.EngineType;
import org.apache.falcon.entity.v0.process.Input;
import org.apache.falcon.entity.v0.process.Inputs;
import org.apache.falcon.entity.v0.process.Output;
@@ -35,6 +34,7 @@ import org.apache.falcon.entity.v0.process.Outputs;
import org.apache.falcon.entity.v0.process.Process;
import org.apache.falcon.entity.v0.process.Properties;
import org.apache.falcon.entity.v0.process.Property;
+import org.apache.falcon.entity.v0.process.Sla;
import org.apache.falcon.entity.v0.process.Validity;
import org.apache.falcon.entity.v0.process.Workflow;
import org.apache.falcon.regression.core.util.TimeUtil;
@@ -182,19 +182,35 @@ public class ProcessMerlin extends Process {
}
}
- public final void setProperty(String name, String value) {
- Property p = new Property();
- p.setName(name);
- p.setValue(value);
- if (null == getProperties() || null == getProperties()
- .getProperties() || getProperties().getProperties().size()
- <= 0) {
- Properties props = new Properties();
- props.getProperties().add(p);
- setProperties(props);
- } else {
- getProperties().getProperties().add(p);
+ public final ProcessMerlin clearProperties() {
+ final Properties properties = new Properties();
+ setProperties(properties);
+ return this;
+ }
+
+ /**
+ * Add/replace a property.
+ * @param name name of the property
+ * @param value value of the property
+ * @return this
+ */
+ public final ProcessMerlin withProperty(String name, String value) {
+ final List<Property> properties = getProperties().getProperties();
+ //if property with same name exists, just replace the value
+ for (Property property : properties) {
+ if (property.getName().equals(name)) {
+ LOGGER.info(String.format("Overwriting property name = %s oldVal = %s newVal = %s",
+ property.getName(), property.getValue(), value));
+ property.setValue(value);
+ return this;
+ }
}
+ //if property is not added already, add it
+ final Property property = new Property();
+ property.setName(name);
+ property.setValue(value);
+ properties.add(property);
+ return this;
}
@Override
@@ -431,17 +447,6 @@ public class ProcessMerlin extends Process {
}
/**
- * Adds optional property to process definition.
- *
- * @param properties desired properties to be added
- */
- public void addProperties(Property... properties) {
- for (Property property : properties) {
- this.getProperties().getProperties().add(property);
- }
- }
-
- /**
* Changes names of process inputs.
*
* @param names desired names of inputs
@@ -608,7 +613,7 @@ public class ProcessMerlin extends Process {
draft.getOutputs().getOutputs().clear();
draft.setRetry(null);
draft.clearProcessCluster();
- draft.getProperties().getProperties().clear();
+ draft.clearProperties();
draft.setFrequency(null);
draft.setOrder(null);
draft.setTimezone(null);
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
index c8f2320..f463f91 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
@@ -27,7 +27,6 @@ import org.apache.falcon.entity.v0.feed.Feed;
import org.apache.falcon.entity.v0.process.Cluster;
import org.apache.falcon.entity.v0.process.EngineType;
import org.apache.falcon.entity.v0.process.LateProcess;
-import org.apache.falcon.entity.v0.process.Property;
import org.apache.falcon.entity.v0.process.Retry;
import org.apache.falcon.regression.Entities.ClusterMerlin;
import org.apache.falcon.regression.Entities.FeedMerlin;
@@ -795,10 +794,8 @@ public class Bundle {
*
* @param properties desired properties to be added
*/
- public void addProcessProperty(Property... properties) {
- ProcessMerlin p = new ProcessMerlin(processData);
- p.addProperties(properties);
- processData = p.toString();
+ public void addProcessProperty(String propName, String propValue) {
+ processData = new ProcessMerlin(processData).withProperty(propName, propValue).toString();
}
/**
@@ -840,10 +837,8 @@ public class Bundle {
}
public void setProcessProperty(String property, String value) {
- ProcessMerlin process = new ProcessMerlin(this.getProcessData());
- process.setProperty(property, value);
+ ProcessMerlin process = getProcessObject().withProperty(property, value);
this.setProcessData(process.toString());
-
}
public String getDatasetPath() {
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
index bda5c23..16ff6cb 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
@@ -25,7 +25,6 @@ import org.apache.falcon.entity.v0.cluster.ClusterLocationType;
import org.apache.falcon.entity.v0.cluster.Interface;
import org.apache.falcon.entity.v0.cluster.Interfacetype;
import org.apache.falcon.entity.v0.cluster.Location;
-import org.apache.falcon.entity.v0.cluster.Property;
import org.apache.falcon.regression.Entities.ClusterMerlin;
import org.apache.falcon.regression.Entities.FeedMerlin;
import org.apache.falcon.regression.Entities.ProcessMerlin;
@@ -132,9 +131,7 @@ public final class BundleUtil {
final String protectionPropName = "hadoop.rpc.protection";
final String protectionPropValue = Config.getProperty(protectionPropName);
if (StringUtils.isNotEmpty(protectionPropValue)) {
- final Property property = getFalconClusterPropertyObject(
- protectionPropName, protectionPropValue.trim());
- clusterMerlin.getProperties().getProperties().add(property);
+ clusterMerlin.withProperty(protectionPropName, protectionPropValue.trim());
}
clusterData = clusterMerlin.toString();
} else if (data.contains("uri:falcon:feed:0.1")) {
@@ -198,56 +195,35 @@ public final class BundleUtil {
}
//set colo name:
clusterObject.setColo(Config.getProperty(prefix + "colo"));
- // get the properties object for the cluster
- org.apache.falcon.entity.v0.cluster.Properties clusterProperties =
- clusterObject.getProperties();
// properties in the cluster needed when secure mode is on
if (MerlinConstants.IS_SECURE) {
// add the namenode principal to the properties object
- clusterProperties.getProperties().add(getFalconClusterPropertyObject(
- "dfs.namenode.kerberos.principal",
- Config.getProperty(prefix + "namenode.kerberos.principal", "none")));
+ clusterObject.withProperty("dfs.namenode.kerberos.principal",
+ Config.getProperty(prefix + "namenode.kerberos.principal", "none"));
// add the hive meta store principal to the properties object
- clusterProperties.getProperties().add(getFalconClusterPropertyObject(
- "hive.metastore.kerberos.principal",
- Config.getProperty(prefix + "hive.metastore.kerberos.principal", "none")));
+ clusterObject.withProperty("hive.metastore.kerberos.principal",
+ Config.getProperty(prefix + "hive.metastore.kerberos.principal", "none"));
- // Until oozie has better integration with secure hive we need to send the properites to
+ // Until oozie has better integration with secure hive we need to send the properties to
// falcon.
// hive.metastore.sasl.enabled = true
- clusterProperties.getProperties()
- .add(getFalconClusterPropertyObject("hive.metastore.sasl.enabled", "true"));
+ clusterObject.withProperty("hive.metastore.sasl.enabled", "true");
// Only set the metastore uri if its not empty or null.
}
String hiveMetastoreUris = Config.getProperty(prefix + "hive.metastore.uris");
if (StringUtils.isNotBlank(hiveMetastoreUris)) {
//hive.metastore.uris
- clusterProperties.getProperties()
- .add(getFalconClusterPropertyObject("hive.metastore.uris", hiveMetastoreUris));
+ clusterObject.withProperty("hive.metastore.uris", hiveMetastoreUris);
}
String hiveServer2Uri = Config.getProperty(prefix + "hive.server2.uri");
if (StringUtils.isNotBlank(hiveServer2Uri)) {
//hive.metastore.uris
- clusterProperties.getProperties()
- .add(getFalconClusterPropertyObject("hive.server2.uri", hiveServer2Uri));
+ clusterObject.withProperty("hive.server2.uri", hiveServer2Uri);
}
return clusterObject;
}
- /**
- * Forms property object based on parameters.
- * @param name property name
- * @param value property value
- * @return property object
- */
- private static Property getFalconClusterPropertyObject(String name, String value) {
- Property property = new Property();
- property.setName(name);
- property.setValue(value);
- return property;
- }
-
public static List<ClusterMerlin> getClustersFromStrings(List<String> clusterStrings) {
List<ClusterMerlin> clusters = new ArrayList<>();
for (String clusterString : clusterStrings) {
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/ClusterWizardPage.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/ClusterWizardPage.java b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/ClusterWizardPage.java
index cb6315b..0d0abe6 100644
--- a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/ClusterWizardPage.java
+++ b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/ClusterWizardPage.java
@@ -369,7 +369,7 @@ public class ClusterWizardPage extends AbstractSearchPage {
int indx = line.indexOf(":");
String name = line.substring(0, indx).trim();
String value = line.substring(indx + 1, line.length()).trim();
- cluster.addProperty(name, value);
+ cluster.withProperty(name, value);
}
}
//retrieve locations
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
index e09033f..9c37562 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
@@ -693,8 +693,7 @@ public class AuthorizationTest extends BaseTestClass {
String oldFeedBundleId = OozieUtil.getLatestBundleID(clusterOC, Util.readEntityName(feed), EntityType.FEED);
//update process by U1
- ProcessMerlin processObj = bundles[0].getProcessObject();
- processObj.setProperty("randomProp", "randomVal");
+ ProcessMerlin processObj = bundles[0].getProcessObject().withProperty("randomProp", "randomVal");
serviceResponse = prism.getProcessHelper().update(bundles[0].getProcessData(), processObj.toString());
AssertUtil.assertSucceeded(serviceResponse);
@@ -735,8 +734,7 @@ public class AuthorizationTest extends BaseTestClass {
String oldFeedBundleId = OozieUtil.getLatestBundleID(clusterOC, Util.readEntityName(feed), EntityType.FEED);
//update process by U2
- ProcessMerlin processObj = bundles[0].getProcessObject();
- processObj.setProperty("randomProp", "randomVal");
+ ProcessMerlin processObj = bundles[0].getProcessObject().withProperty("randomProp", "randomVal");
serviceResponse = prism.getProcessHelper().update(bundles[0].getProcessData(), processObj.toString(),
MerlinConstants.USER2_NAME);
AssertUtil.assertSucceeded(serviceResponse);
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/EmbeddedPigScriptTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/EmbeddedPigScriptTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/EmbeddedPigScriptTest.java
index 4fb3c4a..87fab7c 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/EmbeddedPigScriptTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/EmbeddedPigScriptTest.java
@@ -18,13 +18,11 @@
package org.apache.falcon.regression;
-import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.entity.v0.EntityType;
import org.apache.falcon.entity.v0.Frequency.TimeUnit;
import org.apache.falcon.entity.v0.process.EngineType;
-import org.apache.falcon.entity.v0.process.Process;
-import org.apache.falcon.entity.v0.process.Properties;
-import org.apache.falcon.entity.v0.process.Property;
+import org.apache.falcon.regression.Entities.ProcessMerlin;
+import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.regression.core.enumsAndConstants.ResponseErrors;
import org.apache.falcon.regression.core.helpers.ColoHelper;
import org.apache.falcon.regression.core.response.ServiceResponse;
@@ -100,13 +98,8 @@ public class EmbeddedPigScriptTest extends BaseTestClass {
bundles[0].setProcessPeriodicity(5, TimeUnit.minutes);
bundles[0].setOutputFeedPeriodicity(5, TimeUnit.minutes);
- final Process processElement = bundles[0].getProcessObject();
- final Properties properties = new Properties();
- final Property property = new Property();
- property.setName("queueName");
- property.setValue("default");
- properties.getProperties().add(property);
- processElement.setProperties(properties);
+ final ProcessMerlin processElement = bundles[0].getProcessObject();
+ processElement.clearProperties().withProperty("queueName", "default");
processElement.getWorkflow().setEngine(EngineType.PIG);
bundles[0].setProcessData(processElement.toString());
bundles[0].submitFeedsScheduleProcess(prism);
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/LogMoverTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/LogMoverTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/LogMoverTest.java
index 56fe8ab..5398581 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/LogMoverTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/LogMoverTest.java
@@ -18,14 +18,19 @@
package org.apache.falcon.regression;
-import org.apache.falcon.entity.v0.process.Process;
-import org.apache.falcon.entity.v0.process.Properties;
-import org.apache.falcon.entity.v0.process.Property;
-import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.entity.v0.EntityType;
import org.apache.falcon.entity.v0.Frequency.TimeUnit;
+import org.apache.falcon.regression.Entities.ProcessMerlin;
+import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.regression.core.helpers.ColoHelper;
-import org.apache.falcon.regression.core.util.*;
+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.InstanceUtil;
+import org.apache.falcon.regression.core.util.OSUtil;
+import org.apache.falcon.regression.core.util.OozieUtil;
+import org.apache.falcon.regression.core.util.TimeUtil;
+import org.apache.falcon.regression.core.util.Util;
import org.apache.falcon.regression.testHelper.BaseTestClass;
import org.apache.hadoop.fs.FileSystem;
import org.apache.log4j.Logger;
@@ -88,13 +93,8 @@ public class LogMoverTest extends BaseTestClass {
bundles[0].getFeedDataPathPrefix(), dataDates);
// Defining path to be used in pig script
- final Process processElement = bundles[0].getProcessObject();
- final Properties properties = new Properties();
- final Property property = new Property();
- property.setName("inputPath");
- property.setValue(propPath);
- properties.getProperties().add(property);
- processElement.setProperties(properties);
+ final ProcessMerlin processElement = bundles[0].getProcessObject();
+ processElement.clearProperties().withProperty("inputPath", propPath);
bundles[0].setProcessData(processElement.toString());
process = bundles[0].getProcessData();
processName = Util.readEntityName(process);
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/EntityDryRunTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/EntityDryRunTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/EntityDryRunTest.java
index 529df25..4dc776f 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/EntityDryRunTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/EntityDryRunTest.java
@@ -115,8 +115,8 @@ public class EntityDryRunTest extends BaseTestClass {
*/
@Test(groups = {"singleCluster"})
public void testDryRunFailureScheduleFeed() throws Exception {
- FeedMerlin feed = new FeedMerlin(bundles[0].getInputFeedFromBundle());
- feed.setFeedProperty("EntityDryRunTestProp", "${coord:someEL(1)");
+ FeedMerlin feed = new FeedMerlin(bundles[0].getInputFeedFromBundle())
+ .withProperty("EntityDryRunTestProp", "${coord:someEL(1)");
bundles[0].submitClusters(prism);
ServiceResponse response = prism.getFeedHelper().submitAndSchedule(feed.toString());
validate(response,
@@ -132,7 +132,7 @@ public class EntityDryRunTest extends BaseTestClass {
FeedMerlin feed = new FeedMerlin(bundles[0].getInputFeedFromBundle());
ServiceResponse response = prism.getFeedHelper().submitAndSchedule(feed.toString());
AssertUtil.assertSucceeded(response);
- feed.setFeedProperty("EntityDryRunTestProp", "${coord:someEL(1)");
+ feed.withProperty("EntityDryRunTestProp", "${coord:someEL(1)");
response = prism.getFeedHelper().update(feed.toString(), feed.toString());
validate(response, "The new entity (feed) " + bundles[0].getInputFeedNameFromBundle()
+ " can't be scheduled");
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/FeedDelayTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/FeedDelayTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/FeedDelayTest.java
index e43621a..22aabfa 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/FeedDelayTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/FeedDelayTest.java
@@ -123,8 +123,8 @@ public class FeedDelayTest extends BaseTestClass {
.withDataLocation(targetDataLocation)
.build()).toString();
- feed = FeedMerlin.fromString(feed).setFeedProperty("timeout", "minutes(35)").toString();
- feed = FeedMerlin.fromString(feed).setFeedProperty("parallel", "3").toString();
+ feed = FeedMerlin.fromString(feed).withProperty("timeout", "minutes(35)").toString();
+ feed = FeedMerlin.fromString(feed).withProperty("parallel", "3").toString();
LOGGER.info("feed : " + Util.prettyPrintXml(feed));
AssertUtil.assertSucceeded(prism.getFeedHelper().submitAndSchedule(feed));
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/PrismFeedUpdateTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/PrismFeedUpdateTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/PrismFeedUpdateTest.java
index 35806fd..5e868e2 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/PrismFeedUpdateTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/PrismFeedUpdateTest.java
@@ -204,7 +204,7 @@ public class PrismFeedUpdateTest extends BaseTestClass {
CoordinatorAction.Status.RUNNING, EntityType.PROCESS, 1);
//change feed location path
- outputFeed.setFeedProperty("queueName", "myQueue");
+ outputFeed.withProperty("queueName", "myQueue");
LOGGER.info("updated feed: " + Util.prettyPrintXml(outputFeed.toString()));
//update feed first time
@@ -229,8 +229,7 @@ public class PrismFeedUpdateTest extends BaseTestClass {
OozieUtil.waitForBundleToReachState(cluster1OC, bundles[0].getProcessName(),
Job.Status.SUCCEEDED, 20);
- FeedMerlin feed = new FeedMerlin(bundles[0].getDataSets().get(0));
- feed.addProperty("someProp", "someVal");
+ FeedMerlin feed = new FeedMerlin(bundles[0].getDataSets().get(0)).withProperty("someProp", "someVal");
AssertUtil.assertSucceeded(prism.getFeedHelper().update(feed.toString(), feed.toString()));
//check for new feed bundle creation
Assert.assertEquals(OozieUtil.getNumberOfBundle(cluster1OC, EntityType.FEED,
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/ProcessPartitionExpVariableTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/ProcessPartitionExpVariableTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/ProcessPartitionExpVariableTest.java
index 20c60d2..30b20c5 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/ProcessPartitionExpVariableTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/ProcessPartitionExpVariableTest.java
@@ -18,9 +18,8 @@
package org.apache.falcon.regression.prism;
-import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.entity.v0.EntityType;
-import org.apache.falcon.entity.v0.process.Property;
+import org.apache.falcon.regression.core.bundle.Bundle;
import org.apache.falcon.regression.core.helpers.ColoHelper;
import org.apache.falcon.regression.core.util.BundleUtil;
import org.apache.falcon.regression.core.util.HadoopUtil;
@@ -30,6 +29,7 @@ import org.apache.falcon.regression.core.util.TimeUtil;
import org.apache.falcon.regression.core.util.Util;
import org.apache.falcon.regression.testHelper.BaseTestClass;
import org.apache.hadoop.fs.FileSystem;
+import org.apache.log4j.Logger;
import org.apache.oozie.client.CoordinatorAction;
import org.apache.oozie.client.OozieClient;
import org.joda.time.DateTime;
@@ -39,7 +39,6 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
@@ -91,11 +90,7 @@ public class ProcessPartitionExpVariableTest extends BaseTestClass {
bundles[0].generateRequiredBundle(1, 2, 1, baseTestDir, 1, startTime, endTime);
bundles[0].setProcessInputNames("inputData0", "inputData");
- Property p = new Property();
- p.setName("var1");
- p.setValue("hardCoded");
-
- bundles[0].addProcessProperty(p);
+ bundles[0].addProcessProperty("var1", "hardCoded");
bundles[0].setProcessInputPartition("${var1}", "${fileTime}");
for (int i = 0; i < bundles[0].getDataSets().size(); i++) {
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/UpdateAtSpecificTimeTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/UpdateAtSpecificTimeTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/UpdateAtSpecificTimeTest.java
index 189ef2f..e10f8d1 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/UpdateAtSpecificTimeTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/UpdateAtSpecificTimeTest.java
@@ -284,7 +284,7 @@ public class UpdateAtSpecificTimeTest extends BaseTestClass {
Util.shutDownService(cluster2.getProcessHelper());
//add some property to feed so that new bundle is created
- FeedMerlin updatedFeed = new FeedMerlin(feed).setFeedProperty("someProp", "someVal");
+ FeedMerlin updatedFeed = new FeedMerlin(feed).withProperty("someProp", "someVal");
//save old data
String oldBundleCluster1 = OozieUtil.getLatestBundleID(cluster1OC,
@@ -398,7 +398,7 @@ public class UpdateAtSpecificTimeTest extends BaseTestClass {
String oldBundleID = OozieUtil.getLatestBundleID(cluster1OC,
Util.readEntityName(feed), EntityType.FEED);
String updateTime = TimeUtil.addMinsToTime(endTime, 60);
- FeedMerlin updatedFeed = new FeedMerlin(feed).setFeedProperty("someProp", "someVal");
+ FeedMerlin updatedFeed = new FeedMerlin(feed).withProperty("someProp", "someVal");
LOGGER.info("Original Feed : " + Util.prettyPrintXml(feed));
LOGGER.info("Updated Feed :" + Util.prettyPrintXml(updatedFeed.toString()));
LOGGER.info("Update Time : " + updateTime);
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/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 6144c69..9259f5e 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
@@ -119,9 +119,7 @@ public class FeedAclTest extends BaseTestClass {
bundles[0].submitClusters(prism);
bundles[0].submitFeeds(prism);
if (op == EntityOp.update) {
- FeedMerlin feedMerlin = new FeedMerlin(feedString);
- feedMerlin.addProperty("abc", "xyz");
- feedString = feedMerlin.toString();
+ feedString = new FeedMerlin(feedString).withProperty("abc", "xyz").toString();
}
final boolean executeRes = op.executeAs(user, feedHelper, feedString);
Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
@@ -164,9 +162,7 @@ public class FeedAclTest extends BaseTestClass {
if (op == EntityOp.resume) {
feedHelper.suspend(feedString);
} else if (op == EntityOp.update) {
- FeedMerlin feedMerlin = new FeedMerlin(feedString);
- feedMerlin.addProperty("abc", "xyz");
- feedString = feedMerlin.toString();
+ feedString = new FeedMerlin(feedString).withProperty("abc", "xyz").toString();
}
final boolean executeRes = op.executeAs(user, feedHelper, feedString);
Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
http://git-wip-us.apache.org/repos/asf/falcon/blob/5f58c380/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 b649915..eb05859 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
@@ -126,9 +126,7 @@ public class ProcessAclTest extends BaseTestClass {
throws Exception {
bundles[0].submitProcess(true);
if (op == EntityOp.update) {
- ProcessMerlin processMerlin = new ProcessMerlin(processString);
- processMerlin.setProperty("abc", "xyz");
- processString = processMerlin.toString();
+ processString = new ProcessMerlin(processString).withProperty("abc", "xyz").toString();
}
final boolean executeRes = op.executeAs(user, processHelper, processString);
Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user
@@ -172,9 +170,7 @@ public class ProcessAclTest extends BaseTestClass {
if (op == EntityOp.resume) {
processHelper.suspend(processString);
} else if (op == EntityOp.update) {
- ProcessMerlin processMerlin = new ProcessMerlin(processString);
- processMerlin.setProperty("abc", "xyz");
- processString = processMerlin.toString();
+ processString = new ProcessMerlin(processString).withProperty("abc", "xyz").toString();
}
final boolean executeRes = op.executeAs(user, processHelper, processString);
Assert.assertEquals(executeRes, isAllowed, "Unexpected result user " + user