falcon-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samar...@apache.org
Subject [27/27] git commit: adding falcon-regression
Date Mon, 04 Aug 2014 10:04:26 GMT
adding falcon-regression


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

Branch: refs/heads/master
Commit: bdcf001fe7c57ef7822ff398243ca63d7fc2a40a
Parents: b2e1032
Author: Samarth Gupta <samarth.gupta@inmobi.com>
Authored: Mon Aug 4 15:32:56 2014 +0530
Committer: Samarth Gupta <samarth.gupta@inmobi.com>
Committed: Mon Aug 4 15:32:56 2014 +0530

----------------------------------------------------------------------
 falcon-regression/.gitignore                    |   54 +
 falcon-regression/README.md                     |   35 +
 falcon-regression/checkstyle/pom.xml            |   28 +
 .../resources/falcon/checkstyle-java-header.txt |   17 +
 .../resources/falcon/checkstyle-noframes.xsl    |  221 +++
 .../src/main/resources/falcon/checkstyle.xml    |  235 +++
 .../main/resources/falcon/findbugs-exclude.xml  |   34 +
 falcon-regression/merlin-core/README.md         |   21 +
 falcon-regression/merlin-core/pom.xml           |  188 ++
 .../apache/falcon/entity/v0/DateValidator.java  |   77 +
 .../org/apache/falcon/entity/v0/Entity.java     |   94 +
 .../org/apache/falcon/entity/v0/EntityType.java |   98 +
 .../org/apache/falcon/entity/v0/Frequency.java  |  113 ++
 .../apache/falcon/entity/v0/SchemaHelper.java   |   71 +
 .../falcon/entity/v0/cluster/Cluster.java       |  246 +++
 .../falcon/entity/v0/cluster/Interface.java     |  129 ++
 .../falcon/entity/v0/cluster/Interfaces.java    |   80 +
 .../falcon/entity/v0/cluster/Interfacetype.java |   70 +
 .../falcon/entity/v0/cluster/Location.java      |  103 ++
 .../falcon/entity/v0/cluster/Locations.java     |   79 +
 .../falcon/entity/v0/cluster/ObjectFactory.java |   95 +
 .../falcon/entity/v0/cluster/Properties.java    |   80 +
 .../falcon/entity/v0/cluster/Property.java      |  100 +
 .../falcon/entity/v0/cluster/package-info.java  |    9 +
 .../org/apache/falcon/entity/v0/feed/ACL.java   |  123 ++
 .../falcon/entity/v0/feed/ActionType.java       |   64 +
 .../apache/falcon/entity/v0/feed/Adapter1.java  |   27 +
 .../apache/falcon/entity/v0/feed/Adapter2.java  |   27 +
 .../apache/falcon/entity/v0/feed/Adapter3.java  |   27 +
 .../falcon/entity/v0/feed/CatalogTable.java     |   71 +
 .../apache/falcon/entity/v0/feed/Cluster.java   |  285 +++
 .../falcon/entity/v0/feed/ClusterType.java      |   58 +
 .../apache/falcon/entity/v0/feed/Clusters.java  |   80 +
 .../org/apache/falcon/entity/v0/feed/Feed.java  |  493 +++++
 .../falcon/entity/v0/feed/LateArrival.java      |   80 +
 .../apache/falcon/entity/v0/feed/Location.java  |  101 ++
 .../falcon/entity/v0/feed/LocationType.java     |   64 +
 .../apache/falcon/entity/v0/feed/Locations.java |   80 +
 .../falcon/entity/v0/feed/ObjectFactory.java    |  159 ++
 .../apache/falcon/entity/v0/feed/Partition.java |   65 +
 .../falcon/entity/v0/feed/Partitions.java       |   81 +
 .../falcon/entity/v0/feed/Properties.java       |   80 +
 .../apache/falcon/entity/v0/feed/Property.java  |   97 +
 .../apache/falcon/entity/v0/feed/Retention.java |  126 ++
 .../falcon/entity/v0/feed/RetentionType.java    |   55 +
 .../apache/falcon/entity/v0/feed/Schema.java    |   96 +
 .../apache/falcon/entity/v0/feed/Validity.java  |  106 ++
 .../falcon/entity/v0/feed/package-info.java     |    9 +
 .../falcon/entity/v0/process/Adapter1.java      |   27 +
 .../falcon/entity/v0/process/Adapter2.java      |   27 +
 .../falcon/entity/v0/process/Adapter3.java      |   27 +
 .../falcon/entity/v0/process/Cluster.java       |  102 ++
 .../falcon/entity/v0/process/Clusters.java      |   80 +
 .../falcon/entity/v0/process/EngineType.java    |   61 +
 .../falcon/entity/v0/process/ExecutionType.java |   47 +
 .../apache/falcon/entity/v0/process/Input.java  |  204 +++
 .../apache/falcon/entity/v0/process/Inputs.java |   76 +
 .../falcon/entity/v0/process/LateInput.java     |   92 +
 .../falcon/entity/v0/process/LateProcess.java   |  134 ++
 .../falcon/entity/v0/process/ObjectFactory.java |  151 ++
 .../apache/falcon/entity/v0/process/Output.java |  119 ++
 .../falcon/entity/v0/process/Outputs.java       |   76 +
 .../falcon/entity/v0/process/PolicyType.java    |   61 +
 .../falcon/entity/v0/process/Process.java       |  442 +++++
 .../falcon/entity/v0/process/Properties.java    |   76 +
 .../falcon/entity/v0/process/Property.java      |   92 +
 .../apache/falcon/entity/v0/process/Retry.java  |  120 ++
 .../falcon/entity/v0/process/Validity.java      |  100 +
 .../falcon/entity/v0/process/Workflow.java      |  181 ++
 .../falcon/entity/v0/process/package-info.java  |    9 +
 .../regression/Entities/ClusterMerlin.java      |   82 +
 .../falcon/regression/Entities/FeedMerlin.java  |  175 ++
 .../regression/Entities/ProcessMerlin.java      |  243 +++
 .../falcon/regression/core/bundle/Bundle.java   | 1044 +++++++++++
 .../core/enumsAndConstants/FeedType.java        |   98 +
 .../core/enumsAndConstants/MerlinConstants.java |   69 +
 .../core/enumsAndConstants/RetentionUnit.java   |   63 +
 .../core/helpers/ClusterEntityHelperImpl.java   |  126 ++
 .../regression/core/helpers/ColoHelper.java     |   55 +
 .../core/helpers/DataEntityHelperImpl.java      |   42 +
 .../regression/core/helpers/LineageHelper.java  |  340 ++++
 .../core/helpers/ProcessEntityHelperImpl.java   |   43 +
 .../core/interfaces/EntityHelperFactory.java    |   42 +
 .../core/interfaces/IEntityManagerHelper.java   |  512 ++++++
 .../regression/core/response/APIResult.java     |  130 ++
 .../core/response/EntitiesResult.java           |   44 +
 .../regression/core/response/EntityResult.java  |   50 +
 .../core/response/InstancesResult.java          |  210 +++
 .../core/response/InstancesSummaryResult.java   |   99 +
 .../regression/core/response/ResponseKeys.java  |   25 +
 .../core/response/ServiceResponse.java          |   85 +
 .../core/response/lineage/Direction.java        |   44 +
 .../regression/core/response/lineage/Edge.java  |   72 +
 .../core/response/lineage/EdgeResult.java       |   35 +
 .../core/response/lineage/EdgesResult.java      |   53 +
 .../core/response/lineage/GraphEntity.java      |   28 +
 .../core/response/lineage/GraphResult.java      |   31 +
 .../core/response/lineage/NODE_TYPE.java        |   26 +
 .../core/response/lineage/Vertex.java           |  159 ++
 .../core/response/lineage/VertexIdsResult.java  |   37 +
 .../core/response/lineage/VertexResult.java     |   27 +
 .../core/response/lineage/VerticesResult.java   |   68 +
 .../regression/core/supportClasses/Brother.java |  111 ++
 .../core/supportClasses/HadoopFileEditor.java   |  110 ++
 .../core/supportClasses/JmsMessageConsumer.java |   95 +
 .../falcon/regression/core/util/AssertUtil.java |  348 ++++
 .../falcon/regression/core/util/BundleUtil.java |  132 ++
 .../regression/core/util/CleanupUtil.java       |  149 ++
 .../falcon/regression/core/util/Config.java     |   54 +
 .../falcon/regression/core/util/ExecUtil.java   |  233 +++
 .../falcon/regression/core/util/Generator.java  |   47 +
 .../regression/core/util/GraphAssert.java       |  173 ++
 .../falcon/regression/core/util/HCatUtil.java   |   57 +
 .../falcon/regression/core/util/HadoopUtil.java |  415 +++++
 .../regression/core/util/InstanceUtil.java      | 1321 ++++++++++++++
 .../regression/core/util/KerberosHelper.java    |   49 +
 .../falcon/regression/core/util/OSUtil.java     |   48 +
 .../falcon/regression/core/util/OozieUtil.java  |  472 +++++
 .../falcon/regression/core/util/TimeUtil.java   |  290 +++
 .../falcon/regression/core/util/Util.java       |  616 +++++++
 .../falcon/regression/core/util/XmlUtil.java    |   76 +
 .../org/apache/falcon/request/BaseRequest.java  |  163 ++
 .../org/apache/falcon/request/RequestKeys.java  |   32 +
 .../security/FalconAuthorizationToken.java      |   86 +
 falcon-regression/merlin/README.md              |   28 +
 falcon-regression/merlin/pom.xml                |  110 ++
 .../regression/testHelper/BaseTestClass.java    |  114 ++
 .../regression/testHelper/BaseUITestClass.java  |   51 +
 .../regression/ui/pages/EntitiesPage.java       |  125 ++
 .../falcon/regression/ui/pages/EntityPage.java  |   77 +
 .../apache/falcon/regression/ui/pages/Page.java |  148 ++
 .../falcon/regression/ui/pages/ProcessPage.java |  338 ++++
 .../src/main/resources/errorMapping.properties  |   25 +
 .../src/main/resources/log4testng.properties    |   28 +
 .../falcon/regression/AuthorizationTest.java    |  693 +++++++
 .../regression/ELExp_FutureAndLatestTest.java   |  125 ++
 .../falcon/regression/ELValidationsTest.java    |  289 +++
 .../regression/EmbeddedPigScriptTest.java       |  203 +++
 .../regression/FeedClusterUpdateTest.java       |  857 +++++++++
 .../regression/FeedInstanceStatusTest.java      |  282 +++
 .../falcon/regression/FeedReplicationTest.java  |  361 ++++
 .../falcon/regression/FeedResumeTest.java       |  133 ++
 .../falcon/regression/FeedScheduleTest.java     |  153 ++
 .../falcon/regression/FeedStatusTest.java       |  179 ++
 .../regression/FeedSubmitAndScheduleTest.java   |  185 ++
 .../falcon/regression/FeedSubmitTest.java       |  130 ++
 .../falcon/regression/FeedSuspendTest.java      |  156 ++
 .../falcon/regression/InstanceParamTest.java    |  163 ++
 .../falcon/regression/InstanceSummaryTest.java  |  311 ++++
 .../apache/falcon/regression/NewRetryTest.java  | 1190 ++++++++++++
 .../falcon/regression/NoOutputProcessTest.java  |  148 ++
 .../ProcessInstanceColoMixedTest.java           |  283 +++
 .../regression/ProcessInstanceKillsTest.java    |  337 ++++
 .../regression/ProcessInstanceRerunTest.java    |  319 ++++
 .../regression/ProcessInstanceResumeTest.java   |  371 ++++
 .../regression/ProcessInstanceRunningTest.java  |  218 +++
 .../regression/ProcessInstanceStatusTest.java   |  436 +++++
 .../regression/ProcessInstanceSuspendTest.java  |  322 ++++
 .../falcon/regression/ProcessLibPathTest.java   |  131 ++
 .../falcon/regression/TestngListener.java       |  103 ++
 .../falcon/regression/hcat/HCatProcessTest.java |  649 +++++++
 .../regression/hcat/HCatReplicationTest.java    |  358 ++++
 .../regression/hcat/HCatRetentionTest.java      |  303 ++++
 .../lineage/LineageApiProcessInstanceTest.java  |  227 +++
 .../regression/lineage/LineageApiTest.java      |  656 +++++++
 .../prism/FeedDelayParallelTimeoutTest.java     |  121 ++
 .../regression/prism/FeedRetentionTest.java     |  217 +++
 .../prism/NewPrismProcessUpdateTest.java        | 1713 ++++++++++++++++++
 .../regression/prism/OptionalInputTest.java     |  387 ++++
 .../prism/PrismClusterDeleteTest.java           |  434 +++++
 .../prism/PrismConcurrentRequestTest.java       |  258 +++
 .../regression/prism/PrismFeedDeleteTest.java   | 1128 ++++++++++++
 .../prism/PrismFeedLateReplicationTest.java     |  673 +++++++
 .../PrismFeedReplicationPartitionExpTest.java   |  898 +++++++++
 .../prism/PrismFeedReplicationUpdateTest.java   |  311 ++++
 .../regression/prism/PrismFeedResumeTest.java   |  354 ++++
 .../regression/prism/PrismFeedScheduleTest.java |   92 +
 .../regression/prism/PrismFeedSnSTest.java      |  448 +++++
 .../regression/prism/PrismFeedSuspendTest.java  |  361 ++++
 .../regression/prism/PrismFeedUpdateTest.java   |  270 +++
 .../prism/PrismProcessDeleteTest.java           | 1009 +++++++++++
 .../prism/PrismProcessResumeTest.java           |  510 ++++++
 .../prism/PrismProcessScheduleTest.java         |  390 ++++
 .../regression/prism/PrismProcessSnSTest.java   |  250 +++
 .../prism/PrismProcessSuspendTest.java          |  303 ++++
 .../regression/prism/PrismSubmitTest.java       |  602 ++++++
 .../prism/ProcessPartitionExpVariableTest.java  |  153 ++
 .../prism/RescheduleKilledProcessTest.java      |  141 ++
 .../RescheduleProcessInFinalStatesTest.java     |  209 +++
 .../falcon/regression/prism/RetentionTest.java  |  257 +++
 .../prism/UpdateAtSpecificTimeTest.java         |  759 ++++++++
 .../falcon/regression/ui/LineageGraphTest.java  |  369 ++++
 .../falcon/regression/ui/ProcessUITest.java     |  225 +++
 .../merlin/src/test/java/testng.xml             |   31 +
 .../resources/AvailabilityBundle/depends.txt    |   19 +
 .../valid/bundle1/cluster-0.1.xml               |   41 +
 .../valid/bundle1/feed-template1.xml            |   51 +
 .../valid/bundle1/feed-template2.xml            |   51 +
 .../valid/bundle1/process-agg.xml               |   51 +
 .../src/test/resources/ELbundle/cluster-0.1.xml |   41 +
 .../test/resources/ELbundle/feed-template1.xml  |   52 +
 .../test/resources/ELbundle/feed-template2.xml  |   52 +
 .../src/test/resources/ELbundle/process-agg.xml |   51 +
 .../resources/ELbundle/workflow/workflow.xml    |   61 +
 .../EmptyInputTagProcess/cluster-0.1.xml        |   41 +
 .../EmptyInputTagProcess/feed-template1.xml     |   52 +
 .../EmptyInputTagProcess/feed-template2.xml     |   52 +
 .../EmptyInputTagProcess/process-agg.xml        |   50 +
 .../EmptyOutputTagProcess/cluster-0.1.xml       |   41 +
 .../EmptyOutputTagProcess/feed-template1.xml    |   52 +
 .../EmptyOutputTagProcess/feed-template2.xml    |   52 +
 .../EmptyOutputTagProcess/process-agg.xml       |   50 +
 .../src/test/resources/IvoryClient/IvoryCLI.jar |  Bin 0 -> 4386324 bytes
 .../valid1/bundle1/cluster-0.1.xml              |   41 +
 .../valid1/bundle1/feed-template1.xml           |   51 +
 .../valid1/bundle1/feed-template2.xml           |   51 +
 .../valid1/bundle1/process-agg.xml              |   47 +
 .../FETL-BillingRC.xml                          |   56 +
 .../cluster-0.1.xml                             |   38 +
 .../2ndLateData/Configuration.java              |   73 +
 .../2ndLateData/DateValidator.java              |   87 +
 .../2ndLateData/TimeUnit.java                   |   36 +
 .../SingleFile/minimumText.txt                  |   17 +
 .../OozieExampleInputData/lateData/log_15.txt   |   19 +
 .../EntityInstanceMessage.java.ignore.java      |  412 +++++
 ...ntityInstanceMessageCreator.java.ignore.java |   61 +
 .../MessageProducer.java.ignore.java            |  139 ++
 .../OozieExampleInputData/normalInput/_SUCCESS  |   19 +
 .../normalInput/jms-config.properties           |   31 +
 .../OozieExampleInputData/normalInput/log4j.xml |   63 +
 .../normalInput/log_01.txt                      |  174 ++
 .../ReplicationResources/cluster-0.1.xml        |   41 +
 .../ReplicationResources/feed-s4Replication.xml |   38 +
 .../test/resources/ReplicationResources/id.pig  |   20 +
 .../ReplicationResources/log4testng.properties  |   28 +
 .../ReplicationResources/process-agg.xml        |   52 +
 .../valid/bundle1/cluster-0.1.xml               |   41 +
 .../valid/bundle1/feed-hdfsoutputdir.xml        |   40 +
 .../valid/bundle1/feed-inpath.xml               |   59 +
 .../valid/bundle1/feed-interpath.xml            |   40 +
 .../RetentionBundles/valid/bundle1/process.xml  |   50 +
 .../RetryTests/valid1/bundle1/cluster-0.1.xml   |   41 +
 .../valid1/bundle1/feed-template1.xml           |   50 +
 .../valid1/bundle1/feed-template2.xml           |   51 +
 .../RetryTests/valid1/bundle1/process-agg.xml   |   49 +
 .../merlin/src/test/resources/cluster-0.1.xsd   |  189 ++
 .../merlin/src/test/resources/feed-0.1.xsd      |  375 ++++
 .../src/test/resources/feed-s4Replication.xml   |   42 +
 .../src/test/resources/hcat/cluster-0.1.xml     |   48 +
 .../src/test/resources/hcat/data/_SUCCESS       |    0
 .../src/test/resources/hcat/data/data.txt       |    3 +
 .../src/test/resources/hcat/feed-template1.xml  |   44 +
 .../src/test/resources/hcat/feed-template2.xml  |   48 +
 .../src/test/resources/hcat/hcat-process.xml    |   47 +
 .../test/resources/hcat/hivescript/script.hql   |   19 +
 .../hcat/hivescript/script_non_hcat_input.hql   |   27 +
 .../hcat/hivescript/script_non_hcat_output.hql  |   20 +
 .../script_one_hcat_input_two_hcat_output.hql   |   22 +
 .../script_two_hcat_input_one_hcat_output.hql   |   21 +
 .../script_two_hcat_input_two_hcat_output.hql   |   24 +
 .../src/test/resources/hcat_2/cluster-0.1.xml   |   48 +
 .../test/resources/hcat_2/feed-template1.xml    |   44 +
 .../test/resources/hcat_2/feed-template2.xml    |   48 +
 .../src/test/resources/hcat_2/process-agg.xml   |   52 +
 .../test/resources/impressionRC/cluster-0.1.xml |   43 +
 .../impressionRC/feed-FETL-ImpressionRC.xml     |   45 +
 .../impressionRC/feed-FETL-RequestRC.xml        |   46 +
 .../resources/impressionRC/feed-FETL2-RRLog.xml |   33 +
 .../process-FETL-ImpressionRC-Conversion.xml    |   45 +
 .../src/test/resources/ivory-oozie-lib-0.1.jar  |  Bin 0 -> 8530 bytes
 .../merlin/src/test/resources/log4j.properties  |    9 +
 .../merlin/src/test/resources/log_01.txt        |    1 +
 .../oozie/lib/oozie-examples-3.1.5.jar          |  Bin 0 -> 15826 bytes
 .../src/test/resources/oozie/workflow.xml       |   61 +
 .../merlin/src/test/resources/pig/id.pig        |   20 +
 .../merlin/src/test/resources/process-0.1.xsd   |  355 ++++
 .../src/test/resources/thriftRRMar0602.gz       |  Bin 0 -> 2416795 bytes
 .../test/resources/updateBundle/cluster-0.1.xml |   41 +
 .../resources/updateBundle/feed-template1.xml   |   52 +
 .../resources/updateBundle/feed-template2.xml   |   52 +
 .../test/resources/updateBundle/process-agg.xml |   52 +
 .../lib/oozie-examples-3.1.5.jar                |  Bin 0 -> 15826 bytes
 .../workflows/aggregatorNoOutput/workflow.xml   |   29 +
 .../workflows/impression_rc_workflow.xml        |   69 +
 .../resources/workflows/phailFs_workflow.xml    |   32 +
 .../merlin/src/test/resources/xsd/bundle.xsd    |   62 +
 .../src/test/resources/xsd/cluster-0.1.xsd      |  123 ++
 .../src/test/resources/xsd/coordinator.xsd      |  134 ++
 .../src/test/resources/xsd/dataset-0.1.xsd      |  320 ++++
 .../src/test/resources/xsd/datastore-0.1.xsd    |  127 ++
 .../merlin/src/test/resources/xsd/process.xsd   |  185 ++
 falcon-regression/pom.xml                       |  708 ++++++++
 292 files changed, 47097 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/.gitignore
----------------------------------------------------------------------
diff --git a/falcon-regression/.gitignore b/falcon-regression/.gitignore
new file mode 100644
index 0000000..7e3b748
--- /dev/null
+++ b/falcon-regression/.gitignore
@@ -0,0 +1,54 @@
+# 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.
+
+# Maven
+target
+
+# IntelliJ
+*.iml
+*.ipr
+*.iws
+.idea
+
+# Eclipse
+.classpath
+.project
+.settings
+.externalToolBuilders
+maven-eclipse.xml
+
+#ActiveMQ
+activemq-data
+build
+
+#log files
+logs
+
+test-output/
+bin/
+
+#Mac OS X
+.DS_Store
+*/DS_Store
+
+#prop files
+merlin/src/main/resources/Merlin.properties
+Merlin.properties
+
+#emacs
+*~
+[#]*[#]
+.\#*

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/README.md
----------------------------------------------------------------------
diff --git a/falcon-regression/README.md b/falcon-regression/README.md
new file mode 100644
index 0000000..659657c
--- /dev/null
+++ b/falcon-regression/README.md
@@ -0,0 +1,35 @@
+
+ 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.
+
+
+falcon-regression
+=================
+This project had 2 modules : 
+
+1. merlin
+2. merlin-core
+
+merlin had all the test for apache falcon project
+merlin-core has al the utils used by merlin
+
+Build Command : 
+------------------
+
+Fast Build : mvn clean install -DskipTests -DskipCheck=true -Phadoop-1
+Regression build : mvn clean install -Phadoop-1
+Profiles Supported: hadoop-1,hadoop-2
+(hadoop-1 is by default for chd repo)

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/checkstyle/pom.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/checkstyle/pom.xml b/falcon-regression/checkstyle/pom.xml
new file mode 100644
index 0000000..89f785f
--- /dev/null
+++ b/falcon-regression/checkstyle/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.falcon</groupId>
+    <artifactId>checkstyle</artifactId>
+    <version>0.5.1-incubating-SNAPSHOT</version>
+    <name>Checkstyle</name>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt
----------------------------------------------------------------------
diff --git a/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt
new file mode 100644
index 0000000..5d5f1e3
--- /dev/null
+++ b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-java-header.txt
@@ -0,0 +1,17 @@
+/**
+ * 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.
+ */

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl
----------------------------------------------------------------------
diff --git a/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl
new file mode 100644
index 0000000..4d10dd7
--- /dev/null
+++ b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle-noframes.xsl
@@ -0,0 +1,221 @@
+<!--
+  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.
+  -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+    <xsl:output method="html" indent="yes"/>
+    <xsl:decimal-format decimal-separator="." grouping-separator=","/>
+
+    <xsl:key name="files" match="file" use="@name"/>
+
+    <!-- Checkstyle XML Style Sheet by Stephane Bailliez <sbailliez@apache.org>         -->
+    <!-- Part of the Checkstyle distribution found at http://checkstyle.sourceforge.net -->
+    <!-- Usage (generates checkstyle_report.html):                                      -->
+    <!--    <checkstyle failonviolation="false" config="${check.config}">               -->
+    <!--      <fileset dir="${src.dir}" includes="**/*.java"/>                          -->
+    <!--      <formatter type="xml" toFile="${doc.dir}/checkstyle_report.xml"/>         -->
+    <!--    </checkstyle>                                                               -->
+    <!--    <style basedir="${doc.dir}" destdir="${doc.dir}"                            -->
+    <!--            includes="checkstyle_report.xml"                                    -->
+    <!--            style="${doc.dir}/checkstyle-noframes-sorted.xsl"/>                 -->
+
+    <xsl:template match="checkstyle">
+        <html>
+            <head>
+                <style type="text/css">
+                    .bannercell {
+                    border: 0px;
+                    padding: 0px;
+                    }
+                    body {
+                    margin-left: 10;
+                    margin-right: 10;
+                    font:normal 80% arial,helvetica,sanserif;
+                    background-color:#FFFFFF;
+                    color:#000000;
+                    }
+                    .a td {
+                    background: #efefef;
+                    }
+                    .b td {
+                    background: #fff;
+                    }
+                    th, td {
+                    text-align: left;
+                    vertical-align: top;
+                    }
+                    th {
+                    font-weight:bold;
+                    background: #ccc;
+                    color: black;
+                    }
+                    table, th, td {
+                    font-size:100%;
+                    border: none
+                    }
+                    table.log tr td, tr th {
+
+                    }
+                    h2 {
+                    font-weight:bold;
+                    font-size:140%;
+                    margin-bottom: 5;
+                    }
+                    h3 {
+                    font-size:100%;
+                    font-weight:bold;
+                    background: #525D76;
+                    color: white;
+                    text-decoration: none;
+                    padding: 5px;
+                    margin-right: 2px;
+                    margin-left: 2px;
+                    margin-bottom: 0;
+                    }
+                </style>
+            </head>
+            <body>
+                <a name="top"></a>
+                <!-- jakarta logo -->
+                <table border="0" cellpadding="0" cellspacing="0" width="100%">
+                    <tr>
+                        <td class="bannercell" rowspan="2">
+                            <!--a href="http://jakarta.apache.org/">
+                            <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/>
+                            </a-->
+                        </td>
+                        <td class="text-align:right">
+                            <h2>CheckStyle Audit</h2>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="text-align:right">Designed for use with
+                            <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a>
+                            and<a href='http://jakarta.apache.org'>Ant</a>.
+                        </td>
+                    </tr>
+                </table>
+                <hr size="1"/>
+
+                <!-- Summary part -->
+                <xsl:apply-templates select="." mode="summary"/>
+                <hr size="1" width="100%" align="left"/>
+
+                <!-- Package List part -->
+                <xsl:apply-templates select="." mode="filelist"/>
+                <hr size="1" width="100%" align="left"/>
+
+                <!-- For each package create its part -->
+                <xsl:apply-templates
+                        select="file[@name and generate-id(.) = generate-id(key('files', @name))]"/>
+
+                <hr size="1" width="100%" align="left"/>
+
+
+            </body>
+        </html>
+    </xsl:template>
+
+
+    <xsl:template match="checkstyle" mode="filelist">
+        <h3>Files</h3>
+        <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
+            <tr>
+                <th>Name</th>
+                <th>Errors</th>
+            </tr>
+            <xsl:for-each
+                    select="file[@name and generate-id(.) = generate-id(key('files', @name))]">
+                <xsl:sort data-type="number" order="descending"
+                          select="count(key('files', @name)/error)"/>
+                <xsl:variable name="errorCount" select="count(error)"/>
+                <tr>
+                    <xsl:call-template name="alternated-row"/>
+                    <td>
+                        <a href="#f-{@name}">
+                            <xsl:value-of select="@name"/>
+                        </a>
+                    </td>
+                    <td>
+                        <xsl:value-of select="$errorCount"/>
+                    </td>
+                </tr>
+            </xsl:for-each>
+        </table>
+    </xsl:template>
+
+
+    <xsl:template match="file">
+        <a name="f-{@name}"></a>
+        <h3>File
+            <xsl:value-of select="@name"/>
+        </h3>
+
+        <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
+            <tr>
+                <th>Error Description</th>
+                <th>Line</th>
+            </tr>
+            <xsl:for-each select="key('files', @name)/error">
+                <xsl:sort data-type="number" order="ascending" select="@line"/>
+                <tr>
+                    <xsl:call-template name="alternated-row"/>
+                    <td>
+                        <xsl:value-of select="@message"/>
+                    </td>
+                    <td>
+                        <xsl:value-of select="@line"/>
+                    </td>
+                </tr>
+            </xsl:for-each>
+        </table>
+        <a href="#top">Back to top</a>
+    </xsl:template>
+
+
+    <xsl:template match="checkstyle" mode="summary">
+        <h3>Summary</h3>
+        <xsl:variable name="fileCount"
+                      select="count(file[@name and generate-id(.) = generate-id(key('files', @name))])"/>
+        <xsl:variable name="errorCount" select="count(file/error)"/>
+        <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
+            <tr>
+                <th>Files</th>
+                <th>Errors</th>
+            </tr>
+            <tr>
+                <xsl:call-template name="alternated-row"/>
+                <td>
+                    <xsl:value-of select="$fileCount"/>
+                </td>
+                <td>
+                    <xsl:value-of select="$errorCount"/>
+                </td>
+            </tr>
+        </table>
+    </xsl:template>
+
+    <xsl:template name="alternated-row">
+        <xsl:attribute name="class">
+            <xsl:if test="position() mod 2 = 1">a</xsl:if>
+            <xsl:if test="position() mod 2 = 0">b</xsl:if>
+        </xsl:attribute>
+    </xsl:template>
+</xsl:stylesheet>
+
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle.xml b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle.xml
new file mode 100644
index 0000000..37e01b4
--- /dev/null
+++ b/falcon-regression/checkstyle/src/main/resources/falcon/checkstyle.xml
@@ -0,0 +1,235 @@
+<?xml version="1.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.
+  -->
+
+<!DOCTYPE module PUBLIC
+        "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+        "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!--
+
+  Checkstyle configuration for Falcon that is based on the sun_checks.xml file
+  that is bundled with Checkstyle and includes checks for:
+
+    - the Java Language Specification at
+      http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+    - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+    - the Javadoc guidelines at
+      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+    - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+    - some best practices
+
+  Checkstyle is very configurable. Be sure to read the documentation at
+  http://checkstyle.sf.net (or in your downloaded distribution).
+
+  Most Checks are configurable, be sure to consult the documentation.
+
+  To completely disable a check, just comment it out or delete it from the file.
+
+  Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+    <!-- Checks that a package.html file exists for each package.     -->
+    <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+    <!-- module name="PackageHtml"/ -->
+
+    <!-- Checks whether files end with a new line.                        -->
+    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+    <module name="NewlineAtEndOfFile"/>
+
+    <!-- Checks for Headers                                -->
+    <!-- See http://checkstyle.sf.net/config_header.html   -->
+    <module name="Header">
+        <property name="headerFile" value="${checkstyle.header.file}"/>
+    </module>
+
+    <module name="FileLength"/>
+    <module name="FileTabCharacter"/>
+
+    <module name="TreeWalker">
+        <!-- Checks for Javadoc comments.                     -->
+        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+        <module name="JavadocType">
+            <property name="scope" value="public"/>
+            <property name="allowMissingParamTags" value="true"/>
+        </module>
+        <module name="JavadocStyle"/>
+
+        <module name="SuperClone"/>
+        <module name="SuperFinalize"/>
+
+        <!-- Checks for Naming Conventions.                  -->
+        <!-- See http://checkstyle.sf.net/config_naming.html -->
+        <module name="ConstantName"/>
+        <module name="ClassTypeParameterName">
+            <property name="format" value="^[A-Z]+$"/>
+        </module>
+        <module name="LocalFinalVariableName">
+            <!--<property name="format" value="^[A-Z][_A-Z0-9]*$"/>-->
+        </module>
+        <module name="LocalVariableName"/>
+        <module name="MemberName"/>
+        <module name="MethodName"/>
+        <module name="MethodTypeParameterName">
+            <property name="format" value="^[A-Z]+$"/>
+        </module>
+        <module name="PackageName"/>
+        <module name="ParameterName"/>
+        <module name="StaticVariableName"/>
+        <module name="TypeName"/>
+
+        <!-- Checks for imports                              -->
+        <!-- See http://checkstyle.sf.net/config_import.html -->
+        <module name="IllegalImport"/>
+        <!-- defaults to sun.* packages -->
+        <module name="RedundantImport"/>
+        <module name="UnusedImports"/>
+
+
+        <!-- Checks for Size Violations.                    -->
+        <!-- See http://checkstyle.sf.net/config_sizes.html -->
+        <module name="LineLength">
+            <property name="max" value="120"/>
+        </module>
+        <module name="MethodLength"/>
+        <module name="ParameterNumber"/>
+        <module name="OuterTypeNumber"/>
+
+        <!-- Checks for whitespace                               -->
+        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+        <module name="GenericWhitespace"/>
+        <module name="EmptyForIteratorPad"/>
+        <module name="MethodParamPad"/>
+        <module name="WhitespaceAround">
+            <property name="tokens" value="LITERAL_IF"/>
+        </module>
+        <module name="NoWhitespaceAfter">
+            <property name="tokens"
+                      value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/>
+        </module>
+        <module name="NoWhitespaceBefore"/>
+        <module name="OperatorWrap"/>
+        <module name="ParenPad"/>
+        <module name="TypecastParenPad"/>
+        <module name="WhitespaceAfter">
+            <property name="tokens" value="COMMA, SEMI"/>
+        </module>
+
+        <module name="Regexp">
+            <property name="format" value="[ \t]+$"/>
+            <property name="illegalPattern" value="true"/>
+            <property name="message" value="Trailing whitespace"/>
+        </module>
+
+        <!-- Modifier Checks                                    -->
+        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+        <module name="ModifierOrder"/>
+        <module name="RedundantModifier"/>
+
+
+        <!-- Checks for blocks. You know, those {}'s         -->
+        <!-- See http://checkstyle.sf.net/config_blocks.html -->
+        <module name="AvoidNestedBlocks"/>
+        <module name="EmptyBlock">
+            <!-- catch blocks need a statement or a comment. -->
+            <property name="option" value="text"/>
+            <property name="tokens" value="LITERAL_CATCH"/>
+        </module>
+        <module name="EmptyBlock">
+            <!-- all other blocks need a real statement. -->
+            <property name="option" value="stmt"/>
+            <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,
+          LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT,
+          STATIC_INIT"/>
+        </module>
+        <module name="LeftCurly"/>
+        <module name="NeedBraces"/>
+        <module name="RightCurly"/>
+
+
+        <!-- Checks for common coding problems               -->
+        <!-- See http://checkstyle.sf.net/config_coding.html -->
+        <!-- module name="AvoidInlineConditionals"/-->
+        <module name="EmptyStatement"/>
+        <module name="EqualsHashCode"/>
+        <module name="StringLiteralEquality"/>
+        <module name="HiddenField">
+            <property name="ignoreConstructorParameter" value="true"/>
+            <property name="ignoreAbstractMethods" value="true"/>
+            <property name="ignoreSetter" value="true"/>
+        </module>
+        <module name="IllegalInstantiation"/>
+        <module name="InnerAssignment"/>
+        <module name="MissingSwitchDefault"/>
+        <module name="RedundantThrows"/>
+        <module name="SimplifyBooleanExpression"/>
+        <module name="SimplifyBooleanReturn"/>
+        <module name="DefaultComesLast"/>
+
+        <!-- Checks for class design                         -->
+        <!-- See http://checkstyle.sf.net/config_design.html -->
+        <module name="FinalClass"/>
+        <module name="HideUtilityClassConstructor"/>
+        <module name="InterfaceIsType"/>
+        <module name="VisibilityModifier">
+            <property name="protectedAllowed" value="true"/>
+        </module>
+        <module name="MissingOverride"/>
+
+
+        <!-- Miscellaneous other checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_misc.html -->
+        <module name="ArrayTypeStyle"/>
+        <module name="ArrayTrailingComma"/>
+        <!--
+          This generates too many false-positives on wrapped 'throws' clauses
+          to be really useful. Disabled for now.
+
+          Falcon style is:
+          * Spaces, not tabs.
+          * Indent by four spaces.
+          * Indent by four spaces when wrapping a line.
+        -->
+        <module name="Indentation">
+            <property name="basicOffset" value="4"/>
+            <property name="caseIndent" value="0"/>
+        </module>
+        <module name="TodoComment"/>
+        <module name="UpperEll"/>
+
+        <module name="FileContentsHolder"/>
+    </module>
+
+    <!-- allow warnings to be suppressed -->
+    <module name="SuppressionCommentFilter">
+        <property name="offCommentFormat"
+                  value="SUSPEND CHECKSTYLE CHECK ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/>
+        <property name="onCommentFormat"
+                  value="RESUME CHECKSTYLE CHECK ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/>
+        <property name="checkFormat"
+                  value="ParameterNumberCheck|VisibilityModifierCheck|HiddenFieldCheck|MethodName"/>
+    </module>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/checkstyle/src/main/resources/falcon/findbugs-exclude.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/checkstyle/src/main/resources/falcon/findbugs-exclude.xml b/falcon-regression/checkstyle/src/main/resources/falcon/findbugs-exclude.xml
new file mode 100644
index 0000000..4de6b23
--- /dev/null
+++ b/falcon-regression/checkstyle/src/main/resources/falcon/findbugs-exclude.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+ -->
+<FindBugsFilter>
+    <!-- These are generated by xjc compiler and hence excluded. -->
+    <Match>
+        <Or>
+            <Class name="~org.apache.falcon.entity.v0.feed.Validity"/>
+            <Class name="~org.apache.falcon.entity.v0.process.Validity"/>
+        </Or>
+    </Match>
+
+    <!--
+    Disable encoding as this might give an impression that Falcon code base is
+    "Internationalization" ready, but we haven't done anything consciously to guarantee that.
+    -->
+    <Match>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+</FindBugsFilter>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/README.md
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/README.md b/falcon-regression/merlin-core/README.md
new file mode 100644
index 0000000..99f2c12
--- /dev/null
+++ b/falcon-regression/merlin-core/README.md
@@ -0,0 +1,21 @@
+#
+# 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.
+#
+
+merlinEssentials
+================
+Merlin common module

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/pom.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/pom.xml b/falcon-regression/merlin-core/pom.xml
new file mode 100644
index 0000000..9cac189
--- /dev/null
+++ b/falcon-regression/merlin-core/pom.xml
@@ -0,0 +1,188 @@
+<!--
+  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.
+  -->
+
+<!-- pom for DataCommons , initinally contains bundle nd util files -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.falcon.regression</groupId>
+        <artifactId>falcon-regression</artifactId>
+        <version>0.5.1-incubating-SNAPSHOT</version>
+    </parent>
+    <artifactId>falcon-merlin-core</artifactId>
+    <description>merlin-core - utilities for Apache Falcon regression suite</description>
+    <name>Apache Falcon Regression Suite Core</name>
+    <packaging>jar</packaging>
+    <profiles>
+        <profile>
+            <id>hadoop-1</id>
+            <dependencies>
+                <dependency>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-core</artifactId>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>org.eclipse.jdt</groupId>
+                            <artifactId>core</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>tomcat</groupId>
+                            <artifactId>jasper-runtime</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>tomcat</groupId>
+                            <artifactId>jasper-compiler</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.hive.hcatalog</groupId>
+                    <artifactId>webhcat-java-client</artifactId>
+                </dependency>
+            </dependencies>
+        </profile>
+
+        <profile>
+            <id>hadoop-2</id>
+            <dependencies>
+            	<dependency>
+                	<groupId>org.apache.hadoop</groupId>
+                	<artifactId>hadoop-common</artifactId>
+            	</dependency>
+
+                <dependency>
+                    <groupId>org.apache.hadoop</groupId>
+                    <artifactId>hadoop-auth</artifactId>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.hive</groupId>
+                    <artifactId>hive-common</artifactId>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.hive.hcatalog</groupId>
+                    <artifactId>hive-webhcat-java-client</artifactId>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.hive.hcatalog</groupId>
+                    <artifactId>hive-hcatalog-core</artifactId>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+    <dependencies>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.jcraft</groupId>
+            <artifactId>jsch</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.googlecode.json-simple</groupId>
+            <artifactId>json-simple</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>xml-apis</groupId>
+            <artifactId>xml-apis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>xmlunit</groupId>
+            <artifactId>xmlunit</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.xml.bind</groupId>
+            <artifactId>jaxb-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.oozie</groupId>
+            <artifactId>oozie-client</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.code.findbugs</groupId>
+            <artifactId>annotations</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jms_1.1_spec</artifactId>
+        </dependency>
+
+    </dependencies>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/DateValidator.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/DateValidator.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/DateValidator.java
new file mode 100644
index 0000000..e9cdd87
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/DateValidator.java
@@ -0,0 +1,77 @@
+/**
+ * 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.falcon.entity.v0;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Date utility class.
+ */
+public final class DateValidator {
+
+    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";
+    private static final Pattern PATTERN = Pattern.compile(DATE_PATTERN);
+
+    private DateValidator() {
+    }
+
+    /**
+     * Validate date format with regular expression.
+     *
+     * @param date date address for validation
+     * @return true valid date fromat, false invalid date format
+     */
+    public static boolean validate(final String date) {
+
+        Matcher 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) {
+                        return !(day.equals("30") || day.equals("31"));
+                    } else {
+                        return !(day.equals("29") || day.equals("30") || day.equals("31"));
+                    }
+                } else {
+                    return true;
+                }
+            } else {
+                return false;
+            }
+        } else {
+            return false;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Entity.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Entity.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Entity.java
new file mode 100644
index 0000000..252e860
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Entity.java
@@ -0,0 +1,94 @@
+/**
+ * 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.falcon.entity.v0;
+
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+/**
+ * Base class that all entity jaxb object will extend.
+ */
+public abstract class Entity {
+    public abstract String getName();
+
+    public EntityType getEntityType() {
+        for (EntityType type : EntityType.values()) {
+            if (type.getEntityClass().equals(getClass())) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || !o.getClass().equals(this.getClass())) {
+            return false;
+        }
+
+        Entity entity = (Entity) o;
+
+        String name = getName();
+        return !(name != null ? !name.equals(entity.getName()) : entity.getName() != null);
+    }
+
+    @Override
+    public int hashCode() {
+        String clazz = this.getClass().getName();
+
+        String name = getName();
+        int result = name != null ? name.hashCode() : 0;
+        result = 31 * result + clazz.hashCode();
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        try {
+            StringWriter stringWriter = new StringWriter();
+            Marshaller marshaller = getEntityType().getMarshaller();
+            marshaller.marshal(this, stringWriter);
+            return stringWriter.toString();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static Entity fromString(EntityType type, String str) {
+        try {
+            Unmarshaller unmarshaler = type.getUnmarshaller();
+            return (Entity) unmarshaler.unmarshal(new StringReader(str));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public String toShortString() {
+        return "(" + getEntityType().name().toLowerCase() + ") " + getName();
+    }
+
+    public Entity copy() {
+        return fromString(getEntityType(), toString());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/EntityType.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/EntityType.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/EntityType.java
new file mode 100644
index 0000000..e93fb49
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/EntityType.java
@@ -0,0 +1,98 @@
+/**
+ * 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.falcon.entity.v0;
+
+import org.apache.falcon.entity.v0.cluster.Cluster;
+import org.apache.falcon.entity.v0.feed.Feed;
+import org.apache.falcon.entity.v0.process.Process;
+
+import javax.xml.bind.*;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+/**
+ * Enum for types of entities in Falcon Process, Feed and Cluster.
+ */
+public enum EntityType {
+    FEED(Feed.class, "/feed-0.1.xsd", "name"),
+    PROCESS(Process.class, "/process-0.1.xsd", "name"),
+    CLUSTER(Cluster.class, "/cluster-0.1.xsd", "name");
+
+    //Fail unmarshalling of whole xml if unmarshalling of any element fails
+    private static class EventHandler implements ValidationEventHandler {
+        @Override
+        public boolean handleEvent(ValidationEvent event) {
+            return false;
+        }
+    }
+
+    private static final String NS = "http://www.w3.org/2001/XMLSchema";
+
+    private final Class<? extends Entity> clazz;
+    private JAXBContext jaxbContext;
+    private Schema schema;
+    private String[] immutableProperties;
+
+    private String schemaFile;
+
+    private EntityType(Class<? extends Entity> typeClass, String schemaFile, String... immutableProperties) {
+        clazz = typeClass;
+        this.immutableProperties = immutableProperties;
+        this.schemaFile = schemaFile;
+        try {
+            jaxbContext = JAXBContext.newInstance(typeClass);
+            synchronized (this) {
+                SchemaFactory schemaFactory = SchemaFactory.newInstance(NS);
+                schema = schemaFactory.newSchema(getClass().getResource(schemaFile));
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public Class<? extends Entity> getEntityClass() {
+        return clazz;
+    }
+
+    public String getSchemaFile() {
+        return schemaFile;
+    }
+
+    public Marshaller getMarshaller() throws JAXBException {
+        Marshaller marshaller = jaxbContext.createMarshaller();
+        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+        return marshaller;
+    }
+
+    public Unmarshaller getUnmarshaller() throws JAXBException {
+        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+        //unmarshaller.setSchema(schema);
+        unmarshaller.setEventHandler(new EventHandler());
+        return unmarshaller;
+    }
+
+    public boolean isSchedulable() {
+        return this != EntityType.CLUSTER;
+    }
+
+    @edu.umd.cs.findbugs.annotations.SuppressWarnings({"EI_EXPOSE_REP"})
+    public String[] getImmutableProperties() {
+        return immutableProperties;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Frequency.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Frequency.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Frequency.java
new file mode 100644
index 0000000..a9e4b90
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/Frequency.java
@@ -0,0 +1,113 @@
+/**
+ * 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.falcon.entity.v0;
+
+import java.util.Calendar;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Frequency as supported in the xsd definitions.
+ */
+public class Frequency {
+    private static final Pattern PATTERN = Pattern.compile("(minutes|hours|days|months)\\((\\d+)\\)");
+
+    /**
+     * TimeUnit corresponding to the frequency.
+     */
+    public static enum TimeUnit {
+        minutes(Calendar.MINUTE), hours(Calendar.HOUR), days(Calendar.DATE), months(Calendar.MONTH);
+
+        private int calendarUnit;
+
+        private TimeUnit(int calendarUnit) {
+            this.calendarUnit = calendarUnit;
+        }
+
+        public int getCalendarUnit() {
+            return calendarUnit;
+        }
+    }
+
+    private TimeUnit timeUnit;
+    private String frequency;
+
+    public Frequency(String freq, TimeUnit timeUnit) {
+        this.frequency = freq;
+        this.timeUnit = timeUnit;
+    }
+
+    public Frequency(String strValue) {
+        Matcher matcher = PATTERN.matcher(strValue);
+        if (!matcher.matches()) {
+            throw new IllegalArgumentException("Invalid frequency: " + strValue);
+        }
+
+        timeUnit = TimeUnit.valueOf(matcher.group(1));
+        frequency = matcher.group(2);
+    }
+
+    public static Frequency fromString(String strValue) {
+        return new Frequency(strValue);
+    }
+
+    public static String toString(Frequency freq) {
+        return freq==null? null:freq.toString();
+    }
+
+    @Override
+    public String toString() {
+        return timeUnit.name() + "(" + frequency + ")";
+    }
+
+    public TimeUnit getTimeUnit() {
+        return timeUnit;
+    }
+
+    public String getFrequency() {
+        return frequency;
+    }
+
+    public int getFrequencyAsInt() {
+        return Integer.valueOf(frequency);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) {
+            return false;
+        }
+
+        if (!(obj instanceof Frequency)) {
+            return false;
+        }
+
+        Frequency freq = (Frequency) obj;
+        return this == freq || this.getFrequency().equals(freq.getFrequency())
+                && this.getTimeUnit() == freq.getTimeUnit();
+
+    }
+
+    @Override
+    public int hashCode() {
+        int result = timeUnit.hashCode();
+        result = 31 * result + frequency.hashCode();
+        return result;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/SchemaHelper.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/SchemaHelper.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/SchemaHelper.java
new file mode 100644
index 0000000..62b810c
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/SchemaHelper.java
@@ -0,0 +1,71 @@
+/**
+ * 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.falcon.entity.v0;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * Support function to parse and format date in xsd string.
+ */
+public final class SchemaHelper {
+
+    public static final String ISO8601_FORMAT = "yyyy-MM-dd'T'HH:mm'Z'";
+
+    private SchemaHelper() {}
+
+    public static String getTimeZoneId(TimeZone tz) {
+        return tz.getID();
+    }
+
+    public static DateFormat getDateFormat() {
+        DateFormat dateFormat = new SimpleDateFormat(ISO8601_FORMAT);
+        dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+        return dateFormat;
+    }
+
+    public static String formatDateUTC(Date date) {
+        return (date != null) ? getDateFormat().format(date) : null;
+    }
+
+    public static Date parseDateUTC(String dateStr) {
+        if (!DateValidator.validate(dateStr)) {
+            throw new IllegalArgumentException(dateStr + " is not a valid UTC string");
+        }
+        try {
+            return getDateFormat().parse(dateStr);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static String formatDateUTCToISO8601(final String dateString, final String dateStringFormat) {
+
+        try {
+            DateFormat dateFormat = new SimpleDateFormat(dateStringFormat.substring(0, dateString.length()));
+            dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+            return SchemaHelper.formatDateUTC(dateFormat.parse(dateString));
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Cluster.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Cluster.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Cluster.java
new file mode 100644
index 0000000..0a097dc
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Cluster.java
@@ -0,0 +1,246 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.05.28 at 10:55:57 AM PDT 
+//
+
+
+package org.apache.falcon.entity.v0.cluster;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.falcon.entity.v0.Entity;
+
+
+/**
+ * The cluster contains the definition of different
+ *                 interfaces which are used by Falcon like readonly, write, workflow and messaging.
+ *                 A cluster is referenced by feeds and processes which are on-boarded
+ *                 to Falcon by its name.
+ *                 name: the name of cluster, which must be unique.
+ *                 colo: the name of the colo to which this cluster belongs to.
+ *             
+ * 
+ * <p>Java class for cluster complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="cluster">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="tags" type="{uri:falcon:cluster:0.1}KEY_VALUE_PAIR" minOccurs="0"/>
+ *         &lt;element name="interfaces" type="{uri:falcon:cluster:0.1}interfaces"/>
+ *         &lt;element name="locations" type="{uri:falcon:cluster:0.1}locations"/>
+ *         &lt;element name="properties" type="{uri:falcon:cluster:0.1}properties" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="name" use="required" type="{uri:falcon:cluster:0.1}IDENTIFIER" />
+ *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="colo" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "cluster", propOrder = {
+    "tags",
+    "interfaces",
+    "locations",
+    "properties"
+})
+@XmlRootElement(name = "cluster")
+public class Cluster
+    extends Entity
+{
+
+    protected String tags;
+    @XmlElement(required = true)
+    protected Interfaces interfaces;
+    @XmlElement(required = true)
+    protected Locations locations;
+    protected Properties properties;
+    @XmlAttribute(name = "name", required = true)
+    protected String name;
+    @XmlAttribute(name = "description")
+    protected String description;
+    @XmlAttribute(name = "colo", required = true)
+    protected String colo;
+
+    /**
+     * Gets the value of the tags property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTags() {
+        return tags;
+    }
+
+    /**
+     * Sets the value of the tags property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTags(String value) {
+        this.tags = value;
+    }
+
+    /**
+     * Gets the value of the interfaces property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Interfaces }
+     *     
+     */
+    public Interfaces getInterfaces() {
+        return interfaces;
+    }
+
+    /**
+     * Sets the value of the interfaces property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Interfaces }
+     *     
+     */
+    public void setInterfaces(Interfaces value) {
+        this.interfaces = value;
+    }
+
+    /**
+     * Gets the value of the locations property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Locations }
+     *     
+     */
+    public Locations getLocations() {
+        return locations;
+    }
+
+    /**
+     * Sets the value of the locations property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Locations }
+     *     
+     */
+    public void setLocations(Locations value) {
+        this.locations = value;
+    }
+
+    /**
+     * Gets the value of the properties property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Properties }
+     *     
+     */
+    public Properties getProperties() {
+        return properties;
+    }
+
+    /**
+     * Sets the value of the properties property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Properties }
+     *     
+     */
+    public void setProperties(Properties value) {
+        this.properties = value;
+    }
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the colo property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getColo() {
+        return colo;
+    }
+
+    /**
+     * Sets the value of the colo property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setColo(String value) {
+        this.colo = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interface.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interface.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interface.java
new file mode 100644
index 0000000..1b6be3e
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interface.java
@@ -0,0 +1,129 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.05.28 at 10:55:57 AM PDT 
+//
+
+
+package org.apache.falcon.entity.v0.cluster;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * 
+ *                 An interface specifies the interface type, Falcon uses it to schedule
+ *                 entities in workflow engine, to save and read data from hadoop and to
+ *                 publish messages to messaging engine.
+ *                 endpoint: is the url for each interface; examples: for write it is the
+ *                 url of hdfs (fs.default.name) and
+ *                 for workflow it is url of workflow engine like oozie.
+ *                 version: The current runtime version of each interface.
+ *             
+ * 
+ * <p>Java class for interface complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interface">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="type" use="required" type="{uri:falcon:cluster:0.1}interfacetype" />
+ *       &lt;attribute name="endpoint" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="version" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "interface")
+public class Interface {
+
+    @XmlAttribute(name = "type", required = true)
+    protected Interfacetype type;
+    @XmlAttribute(name = "endpoint", required = true)
+    protected String endpoint;
+    @XmlAttribute(name = "version", required = true)
+    protected String version;
+
+    /**
+     * Gets the value of the type property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Interfacetype }
+     *     
+     */
+    public Interfacetype getType() {
+        return type;
+    }
+
+    /**
+     * Sets the value of the type property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Interfacetype }
+     *     
+     */
+    public void setType(Interfacetype value) {
+        this.type = value;
+    }
+
+    /**
+     * Gets the value of the endpoint property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getEndpoint() {
+        return endpoint;
+    }
+
+    /**
+     * Sets the value of the endpoint property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setEndpoint(String value) {
+        this.endpoint = value;
+    }
+
+    /**
+     * Gets the value of the version property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * Sets the value of the version property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setVersion(String value) {
+        this.version = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfaces.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfaces.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfaces.java
new file mode 100644
index 0000000..2cf0ea6
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfaces.java
@@ -0,0 +1,80 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.05.28 at 10:55:57 AM PDT 
+//
+
+
+package org.apache.falcon.entity.v0.cluster;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * 
+ *                 A list of interfaces.
+ *             
+ * 
+ * <p>Java class for interfaces complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="interfaces">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="interface" type="{uri:falcon:cluster:0.1}interface" maxOccurs="unbounded" minOccurs="3"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "interfaces", propOrder = {
+    "interfaces"
+})
+public class Interfaces {
+
+    @XmlElement(name = "interface", required = true)
+    protected List<Interface> interfaces;
+
+    /**
+     * Gets the value of the interfaces property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the interfaces property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getInterfaces().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Interface }
+     * 
+     * 
+     */
+    public List<Interface> getInterfaces() {
+        if (interfaces == null) {
+            interfaces = new ArrayList<Interface>();
+        }
+        return this.interfaces;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfacetype.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfacetype.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfacetype.java
new file mode 100644
index 0000000..f05ed07
--- /dev/null
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/entity/v0/cluster/Interfacetype.java
@@ -0,0 +1,70 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.05.28 at 10:55:57 AM PDT 
+//
+
+
+package org.apache.falcon.entity.v0.cluster;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for interfacetype.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="interfacetype">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="readonly"/>
+ *     &lt;enumeration value="write"/>
+ *     &lt;enumeration value="execute"/>
+ *     &lt;enumeration value="workflow"/>
+ *     &lt;enumeration value="messaging"/>
+ *     &lt;enumeration value="registry"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "interfacetype")
+@XmlEnum
+public enum Interfacetype {
+
+    @XmlEnumValue("readonly")
+    READONLY("readonly"),
+    @XmlEnumValue("write")
+    WRITE("write"),
+    @XmlEnumValue("execute")
+    EXECUTE("execute"),
+    @XmlEnumValue("workflow")
+    WORKFLOW("workflow"),
+    @XmlEnumValue("messaging")
+    MESSAGING("messaging"),
+    @XmlEnumValue("registry")
+    REGISTRY("registry");
+    private final String value;
+
+    Interfacetype(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static Interfacetype fromValue(String v) {
+        for (Interfacetype c: Interfacetype.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}


Mime
View raw message