You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2017/06/01 06:55:55 UTC

[7/7] incubator-griffin git commit: Schedule2

Schedule2

Author: Yang <xi...@ebay.com>
Author: Chen <xi...@lm-shc-16501061.corp.ebay.com>

Closes #44 from RachelYang2/schedule2.


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

Branch: refs/heads/master
Commit: 1fa4f24386e558498f2dc3fb1dd1295a185a1d3e
Parents: a0802ed
Author: Yang <xi...@ebay.com>
Authored: Thu Jun 1 14:55:26 2017 +0800
Committer: William Guo <gu...@icloud.com>
Committed: Thu Jun 1 14:55:26 2017 +0800

----------------------------------------------------------------------
 .../griffin/core/GriffinWebApplication.java     |  17 +-
 .../griffin/core/common/SimpleCORSFilter.java   |  28 +-
 .../griffin/core/measure/AuditableEntity.java   |  15 +
 .../griffin/core/measure/DataConnector.java     |  27 +-
 .../griffin/core/measure/EvaluateRule.java      |  15 +
 .../apache/griffin/core/measure/Measure.java    |  15 +
 .../griffin/core/measure/MeasureController.java |  21 +
 .../griffin/core/measure/MeasureService.java    |  18 +
 .../core/measure/MeasureServiceImpl.java        |  31 +-
 .../core/measure/repo/DataConnectorRepo.java    |  15 +
 .../core/measure/repo/EvaluateRuleRepo.java     |  15 +
 .../griffin/core/measure/repo/MeasureRepo.java  |  15 +
 .../core/metastore/HiveMetastoreController.java |  15 +
 .../core/metastore/HiveMetastoreProxy.java      |  15 +
 .../core/metastore/HiveMetastoreService.java    |  15 +
 .../core/metastore/KafkaSchemaController.java   |  15 +
 .../core/metastore/KafkaSchemaService.java      |  15 +
 .../griffin/core/metric/MetricController.java   |  15 +
 .../griffin/core/metric/MetricService.java      |  15 +
 .../griffin/core/metric/MetricServiceImpl.java  |  15 +
 .../AutowiringSpringBeanJobFactory.java         |  15 +
 .../org/apache/griffin/core/schedule/Conf.java  |  15 +
 .../core/schedule/Repo/ScheduleStateRepo.java   |  20 +
 .../griffin/core/schedule/ScheduleResult.java   |  84 ++
 .../griffin/core/schedule/ScheduleState.java    |  97 +++
 .../griffin/core/schedule/SchedulerConfig.java  |  15 +
 .../core/schedule/SchedulerController.java      |  44 +-
 .../core/schedule/SchedulerRequestBody.java     |  15 +
 .../griffin/core/schedule/SparkJobDO.java       |  15 +
 .../griffin/core/schedule/SparkSubmitJob.java   |  34 +-
 .../griffin/core/service/GriffinController.java |  15 +
 .../org/apache/griffin/core/util/AvroUtil.java  |  15 +
 .../core/util/GriffinOperationMessage.java      |  15 +
 service/src/main/resources/Init_quartz.sql      |   2 +-
 service/src/main/resources/sparkJob.properties  |   3 +-
 .../measure/repo/MeasureControllerTest.java     |  15 +
 .../core/measure/repo/MeasureRepoTest.java      |  15 +
 .../metastore/HiveMetastoreControllerTest.java  |  15 +
 .../metastore/HiveMetastoreServiceTests.java    |  15 +
 .../metastore/KafkaSchemaControllerTest.java    |  15 +
 .../core/metric/MetricControllerTest.java       |  15 +
 .../core/schedule/SparkSubmitJobTest.java       |  15 +
 .../core/service/GriffinControllerTest.java     |  15 +
 ui/css/main.css                                 |  25 +-
 ui/css/sidebar.css                              |  28 +-
 ui/css/treeview-check.css                       |  24 +-
 ui/css/treeview.css                             |  24 +-
 ui/index.html                                   |  27 +-
 ui/js/app.js                                    |  25 +-
 ui/js/bs.js                                     |  25 +-
 ui/js/controllers/bigChart-ctrl.js              |  30 +-
 ui/js/controllers/createdataasset-ctrl.js       |  29 +-
 ui/js/controllers/createjob-ac-ctrl.js          | 160 ++++
 ui/js/controllers/createjob0.js                 |  43 ++
 ui/js/controllers/createrule-ac-ctrl.js         |  31 +-
 ui/js/controllers/createrule-an-ctrl.js         |  29 +-
 ui/js/controllers/createrule-pu-ctrl.js         |  29 +-
 ui/js/controllers/createrule-va-ctrl.js         |  29 +-
 ui/js/controllers/createrule0-ctrl.js           |  25 +-
 ui/js/controllers/dataassets-ctrl.js            |  29 +-
 ui/js/controllers/downloadSample-ctrl.js        |  31 +-
 ui/js/controllers/editdataasset-ctrl.js         |  29 +-
 ui/js/controllers/footer-ctrl.js                |  29 +-
 ui/js/controllers/health-ctrl.js                |  29 +-
 ui/js/controllers/index.js                      |  27 +-
 ui/js/controllers/job-ctrl.js                   | 127 +++
 ui/js/controllers/main-ctrl.js                  |  31 +-
 ui/js/controllers/metrics-ctrl.js               |  34 +-
 ui/js/controllers/module.js                     |  25 +-
 ui/js/controllers/mydashboard-ctrl.js           |  29 +-
 ui/js/controllers/nav-ctrl.js                   |  25 +-
 ui/js/controllers/rule-ctrl.js                  |  29 +-
 ui/js/controllers/sidebar-ctrl.js               |  29 +-
 ui/js/controllers/subscribemodel-ctrl.js        |  29 +-
 ui/js/controllers/viewrule-ctrl.js              |  29 +-
 ui/js/directives/bigchart.js                    |  25 +-
 ui/js/directives/index.js                       |  29 +-
 ui/js/directives/module.js                      |  23 +-
 ui/js/directives/treeview.js                    |  15 +
 ui/js/filters/index.js                          |  29 +-
 ui/js/filters/module.js                         |  25 +-
 ui/js/filters/strmap.js                         |  25 +-
 ui/js/filters/strshorten.js                     |  25 +-
 ui/js/main.js                                   |  24 +-
 ui/js/routes.js                                 |  57 +-
 ui/js/services/bark-chart.js                    |  25 +-
 ui/js/services/index.js                         |  29 +-
 ui/js/services/module.js                        |  23 +-
 ui/js/services/services.js                      |  38 +-
 ui/login/login.js                               |  29 +-
 ui/pages/dataassets/confirmation-dataasset.html |  28 +-
 .../confirmation-delete-dataasset.html          |  27 +-
 ui/pages/dataassets/createdataasset.html        |  27 +-
 ui/pages/dataassets/dataassets.html             |  23 +-
 ui/pages/dataassets/editdataasset.html          |  27 +-
 ui/pages/health/health.html                     |  23 +-
 ui/pages/jobs/confirmation-ac.html              |  83 ++
 ui/pages/jobs/createjob-ac.html                 | 136 ++++
 ui/pages/jobs/createjob0.html                   |  26 +
 ui/pages/jobs/delete-confirm.html               |  92 +++
 ui/pages/jobs/jobs.html                         |  90 +++
 ui/pages/measures/confirmation-ac.html          | 119 +++
 ui/pages/measures/confirmation-an.html          | 144 ++++
 ui/pages/measures/confirmation-pu.html          | 158 ++++
 ui/pages/measures/confirmation-va.html          | 158 ++++
 ui/pages/measures/createrule-ac.html            | 436 +++++++++++
 ui/pages/measures/createrule-an.html            | 407 ++++++++++
 ui/pages/measures/createrule-pu.html            | 235 ++++++
 ui/pages/measures/createrule-va.html            | 404 ++++++++++
 ui/pages/measures/createrule0.html              | 256 +++++++
 ui/pages/measures/delete-confirm.html           |  92 +++
 ui/pages/measures/measure.css                   | 343 +++++++++
 ui/pages/measures/measures.html                 | 102 +++
 ui/pages/measures/va-explaination.html          | 768 +++++++++++++++++++
 ui/pages/measures/viewrule.html                 | 211 +++++
 ui/pages/metrics/dashboard.html                 |  27 +-
 ui/pages/metrics/download-sample.html           |  27 +-
 ui/pages/metrics/metrics.css                    |  26 +-
 .../mydashboard/confirmation-subscribe.html     |  27 +-
 ui/pages/mydashboard/mydashboard.html           |  29 +-
 ui/pages/mydashboard/subscribemodel.html        |  25 +-
 ui/pages/rules/confirmation-ac.html             | 118 ---
 ui/pages/rules/confirmation-an.html             | 143 ----
 ui/pages/rules/confirmation-pu.html             | 157 ----
 ui/pages/rules/confirmation-va.html             | 157 ----
 ui/pages/rules/createrule-ac.html               | 434 -----------
 ui/pages/rules/createrule-an.html               | 406 ----------
 ui/pages/rules/createrule-pu.html               | 232 ------
 ui/pages/rules/createrule-va.html               | 403 ----------
 ui/pages/rules/createrule0.html                 | 251 ------
 ui/pages/rules/delete-confirm.html              |  91 ---
 ui/pages/rules/rule.css                         | 341 --------
 ui/pages/rules/rules.html                       | 101 ---
 ui/pages/rules/va-explaination.html             | 767 ------------------
 ui/pages/rules/viewrule.html                    | 210 -----
 ui/pages/template/bigchart.css                  |  24 +-
 ui/pages/template/bigchart.html                 |  23 +-
 ui/pages/template/undercons.html                |  23 +-
 ui/sidebar.html                                 |  23 +-
 ui/src/main/java/jar/App.java                   |  15 +
 ui/src/test/java/jar/AppTest.java               |  15 +
 ui/tests/ut/karma.conf.js                       |  26 +-
 .../specs/controllers/createjob-ac-ctrl.spec.js |  58 ++
 .../controllers/createrule-ac-ctrl.spec.js      |  26 +-
 .../controllers/createrule-pu-ctrl.spec.js      |  26 +-
 .../controllers/createrule-va-ctrl.spec.js      |  26 +-
 .../specs/controllers/createrule0-ctrl.spec.js  |  26 +-
 .../ut/specs/controllers/health-ctrl.spec.js    |  22 +-
 ui/tests/ut/specs/controllers/job-ctrl.spec.js  |  58 ++
 .../ut/specs/controllers/metrics-ctrl.spec.js   |  22 +-
 ui/tests/ut/specs/controllers/nav-ctrl_spec.js  |  26 +-
 ui/tests/ut/specs/controllers/rule-ctrl.spec.js |  26 +-
 .../ut/specs/controllers/sidebar-ctrl_spec.js   |  22 +-
 .../ut/specs/controllers/viewrule-ctrl.spec.js  |  22 +-
 ui/tests/ut/specs/filters/strmap_spec.js        |  26 +-
 ui/tests/ut/specs/filters/strshorten_spec.js    |  22 +-
 ui/tests/ut/specs/services/services_spec.js     |  22 +-
 ui/tests/ut/test-main.js                        |  22 +-
 158 files changed, 6638 insertions(+), 4791 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/GriffinWebApplication.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/GriffinWebApplication.java b/service/src/main/java/org/apache/griffin/core/GriffinWebApplication.java
index b9d7eb6..6a2f315 100644
--- a/service/src/main/java/org/apache/griffin/core/GriffinWebApplication.java
+++ b/service/src/main/java/org/apache/griffin/core/GriffinWebApplication.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core;
 
 
@@ -63,4 +78,4 @@ public class GriffinWebApplication/* implements CommandLineRunner*/{
         return new SimpleCORSFilter();
     }
 
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/common/SimpleCORSFilter.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/common/SimpleCORSFilter.java b/service/src/main/java/org/apache/griffin/core/common/SimpleCORSFilter.java
index 64da4fb..beeca24 100644
--- a/service/src/main/java/org/apache/griffin/core/common/SimpleCORSFilter.java
+++ b/service/src/main/java/org/apache/griffin/core/common/SimpleCORSFilter.java
@@ -1,17 +1,17 @@
-/*
-   Copyright (c) 2016 eBay Software Foundation.
-   Licensed 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.
-*/
+/*-
+ * Licensed 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.griffin.core.common;
 import javax.servlet.*;
 import javax.servlet.http.HttpServletResponse;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/AuditableEntity.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/AuditableEntity.java b/service/src/main/java/org/apache/griffin/core/measure/AuditableEntity.java
index 47283c1..079c460 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/AuditableEntity.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/AuditableEntity.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/DataConnector.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/DataConnector.java b/service/src/main/java/org/apache/griffin/core/measure/DataConnector.java
index 2dda483..58e8219 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/DataConnector.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/DataConnector.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 
@@ -29,7 +44,15 @@ public class DataConnector extends AuditableEntity  {
     
     @Enumerated(EnumType.STRING)
     private ConnectorType type;
-    
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
     private String version;
 
     private String config;
@@ -55,6 +78,7 @@ public class DataConnector extends AuditableEntity  {
     }
 
     public Map<String,String> getConfigInMaps() {
+        if (this.configInMaps == null) this.configInMaps = convertJonsToMap(config);
         return configInMaps;
     }
 
@@ -64,6 +88,7 @@ public class DataConnector extends AuditableEntity  {
     }
 
     public DataConnector() {
+        System.out.println();
     }
 
     public DataConnector(ConnectorType type,String version, Map<String,String> config){

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/EvaluateRule.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/EvaluateRule.java b/service/src/main/java/org/apache/griffin/core/measure/EvaluateRule.java
index 6565b6a..8428e38 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/EvaluateRule.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/EvaluateRule.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/Measure.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/Measure.java b/service/src/main/java/org/apache/griffin/core/measure/Measure.java
index 3812065..dad8caa 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/Measure.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/Measure.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 import javax.persistence.*;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/MeasureController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/MeasureController.java b/service/src/main/java/org/apache/griffin/core/measure/MeasureController.java
index 661f72d..a0fc9c1 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/MeasureController.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/MeasureController.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 import org.apache.griffin.core.util.GriffinOperationMessage;
@@ -7,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 @RestController
 public class MeasureController {
     private static final Logger log = LoggerFactory.getLogger(MeasureController.class);
@@ -43,6 +60,10 @@ public class MeasureController {
         return measureService.updateMeasure(measure);
     }
 
+    @RequestMapping("/measures/owner/{owner}")
+    public List<String> getAllMeasureNameOfOwner(@PathVariable("owner") String owner){
+        return measureService.getAllMeasureNameByOwner(owner);
+    }
 
     @RequestMapping(value = "/measures/add", method = RequestMethod.POST)
     @ResponseBody

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/MeasureService.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/MeasureService.java b/service/src/main/java/org/apache/griffin/core/measure/MeasureService.java
index a6d7b22..067ce6d 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/MeasureService.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/MeasureService.java
@@ -1,9 +1,26 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 
 import org.apache.griffin.core.util.GriffinOperationMessage;
 import org.springframework.web.bind.annotation.PathVariable;
 
+import java.util.List;
+
 public interface MeasureService {
 
     public Iterable<Measure> getAllMeasures();
@@ -20,6 +37,7 @@ public interface MeasureService {
 
     public GriffinOperationMessage updateMeasure(Measure measure);
 
+    public List<String> getAllMeasureNameByOwner(String owner);
 
     public GriffinOperationMessage createNewMeasure(Measure measure);
 }

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/MeasureServiceImpl.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/MeasureServiceImpl.java b/service/src/main/java/org/apache/griffin/core/measure/MeasureServiceImpl.java
index 2821f16..ff74aa7 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/MeasureServiceImpl.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/MeasureServiceImpl.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure;
 
 
@@ -7,7 +22,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class MeasureServiceImpl implements MeasureService{
@@ -57,6 +76,16 @@ public class MeasureServiceImpl implements MeasureService{
         }
     }
 
+    public List<String> getAllMeasureNameByOwner(String owner){
+        List<String> res=new ArrayList<String>();
+        for (Measure measure:measureRepo.findAll()){
+            if(measure.getOwner().equals(owner)){
+                res.add(measure.getName());
+            }
+        }
+        return res;
+    }
+
     public GriffinOperationMessage updateMeasure(@RequestBody Measure measure) {
 
         String name=measure.getName();

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/repo/DataConnectorRepo.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/repo/DataConnectorRepo.java b/service/src/main/java/org/apache/griffin/core/measure/repo/DataConnectorRepo.java
index fa50d0c..fcfc46f 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/repo/DataConnectorRepo.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/repo/DataConnectorRepo.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure.repo;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/repo/EvaluateRuleRepo.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/repo/EvaluateRuleRepo.java b/service/src/main/java/org/apache/griffin/core/measure/repo/EvaluateRuleRepo.java
index fd659ce..45915bd 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/repo/EvaluateRuleRepo.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/repo/EvaluateRuleRepo.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure.repo;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/measure/repo/MeasureRepo.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/measure/repo/MeasureRepo.java b/service/src/main/java/org/apache/griffin/core/measure/repo/MeasureRepo.java
index b1b0c7f..5bc84a4 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/repo/MeasureRepo.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/repo/MeasureRepo.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure.repo;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreController.java b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreController.java
index 3b035e9..85a2d36 100644
--- a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreController.java
+++ b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreController.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreProxy.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreProxy.java b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreProxy.java
index 6454b17..185bc2b 100644
--- a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreProxy.java
+++ b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreProxy.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import org.apache.hadoop.hive.conf.HiveConf;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreService.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreService.java b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreService.java
index 856959b..c907b45 100644
--- a/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreService.java
+++ b/service/src/main/java/org/apache/griffin/core/metastore/HiveMetastoreService.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaController.java b/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaController.java
index 1491518..f4ae18d 100644
--- a/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaController.java
+++ b/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaController.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import io.confluent.kafka.schemaregistry.client.rest.entities.Config;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaService.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaService.java b/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaService.java
index 2113312..fc1e693 100644
--- a/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaService.java
+++ b/service/src/main/java/org/apache/griffin/core/metastore/KafkaSchemaService.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import io.confluent.kafka.schemaregistry.client.rest.entities.Config;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metric/MetricController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metric/MetricController.java b/service/src/main/java/org/apache/griffin/core/metric/MetricController.java
index f29aa02..30741fb 100644
--- a/service/src/main/java/org/apache/griffin/core/metric/MetricController.java
+++ b/service/src/main/java/org/apache/griffin/core/metric/MetricController.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metric;
 
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metric/MetricService.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metric/MetricService.java b/service/src/main/java/org/apache/griffin/core/metric/MetricService.java
index 17a4a9f..02cc1dd 100644
--- a/service/src/main/java/org/apache/griffin/core/metric/MetricService.java
+++ b/service/src/main/java/org/apache/griffin/core/metric/MetricService.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metric;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/metric/MetricServiceImpl.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/metric/MetricServiceImpl.java b/service/src/main/java/org/apache/griffin/core/metric/MetricServiceImpl.java
index 7c103c9..3c390a1 100644
--- a/service/src/main/java/org/apache/griffin/core/metric/MetricServiceImpl.java
+++ b/service/src/main/java/org/apache/griffin/core/metric/MetricServiceImpl.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metric;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/AutowiringSpringBeanJobFactory.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/AutowiringSpringBeanJobFactory.java b/service/src/main/java/org/apache/griffin/core/schedule/AutowiringSpringBeanJobFactory.java
index 8e10384..6da6a45 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/AutowiringSpringBeanJobFactory.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/AutowiringSpringBeanJobFactory.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 import org.quartz.spi.TriggerFiredBundle;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/Conf.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/Conf.java b/service/src/main/java/org/apache/griffin/core/schedule/Conf.java
index 4ccd6fd..3f30892 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/Conf.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/Conf.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/Repo/ScheduleStateRepo.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/Repo/ScheduleStateRepo.java b/service/src/main/java/org/apache/griffin/core/schedule/Repo/ScheduleStateRepo.java
new file mode 100644
index 0000000..a043353
--- /dev/null
+++ b/service/src/main/java/org/apache/griffin/core/schedule/Repo/ScheduleStateRepo.java
@@ -0,0 +1,20 @@
+package org.apache.griffin.core.schedule.Repo;
+
+import org.apache.griffin.core.schedule.ScheduleState;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by xiangrchen on 5/31/17.
+ */
+@Repository
+public interface ScheduleStateRepo extends CrudRepository<ScheduleState,Long>{
+    @Query("select s from ScheduleState s " +
+            "where s.groupName= ?1 and s.jobName=?2 "/*+
+            "order by s.timestamp desc"*/)
+    List<ScheduleState> findByGroupNameAndJobName(String group, String name, Pageable pageable);
+}

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/ScheduleResult.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/ScheduleResult.java b/service/src/main/java/org/apache/griffin/core/schedule/ScheduleResult.java
new file mode 100644
index 0000000..d8622d6
--- /dev/null
+++ b/service/src/main/java/org/apache/griffin/core/schedule/ScheduleResult.java
@@ -0,0 +1,84 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
+
+import com.google.gson.JsonObject;
+
+import java.util.ArrayList;
+
+/**
+ * Created by xiangrchen on 5/31/17.
+ */
+public class ScheduleResult {
+    long id;
+    String state;
+    String appId;
+    JsonObject appInfo;
+    ArrayList<JsonObject> log;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
+
+    public JsonObject getAppInfo() {
+        return appInfo;
+    }
+
+    public void setAppInfo(JsonObject appInfo) {
+        this.appInfo = appInfo;
+    }
+
+    public ArrayList<JsonObject> getLog() {
+        return log;
+    }
+
+    public void setLog(ArrayList<JsonObject> log) {
+        this.log = log;
+    }
+
+    public ScheduleResult() {
+    }
+
+    public ScheduleResult(long id, String state, String appId, JsonObject appInfo, ArrayList<JsonObject> log) {
+        this.id = id;
+        this.state = state;
+        this.appId = appId;
+        this.appInfo = appInfo;
+        this.log = log;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/ScheduleState.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/ScheduleState.java b/service/src/main/java/org/apache/griffin/core/schedule/ScheduleState.java
new file mode 100644
index 0000000..8279882
--- /dev/null
+++ b/service/src/main/java/org/apache/griffin/core/schedule/ScheduleState.java
@@ -0,0 +1,97 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
+
+import org.apache.griffin.core.measure.AuditableEntity;
+
+import javax.persistence.Entity;
+
+/**
+ * Created by xiangrchen on 5/31/17.
+ */
+@Entity
+public class ScheduleState extends AuditableEntity {
+
+    private static final long serialVersionUID = -4748881017029815874L;
+
+    String groupName;
+    String jobName;
+    long scheduleid;
+    String state;
+    String appId;
+    long timestamp;
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public String getJobName() {
+        return jobName;
+    }
+
+    public void setJobName(String jobName) {
+        this.jobName = jobName;
+    }
+
+    public long getScheduleid() {
+        return scheduleid;
+    }
+
+    public void setScheduleid(long scheduleid) {
+        this.scheduleid = scheduleid;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
+
+    public long getTimestamp() {
+        return timestamp;
+    }
+
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public ScheduleState() {
+    }
+
+    public ScheduleState(String groupName, String jobName, long scheduleid, String state, String appId, long timestamp) {
+        this.groupName = groupName;
+        this.jobName = jobName;
+        this.scheduleid = scheduleid;
+        this.state = state;
+        this.appId = appId;
+        this.timestamp = timestamp;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/SchedulerConfig.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerConfig.java b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerConfig.java
index 916b104..1132254 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerConfig.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerConfig.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 import org.quartz.spi.JobFactory;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/SchedulerController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerController.java b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerController.java
index 84b1da0..9a67a27 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerController.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerController.java
@@ -1,10 +1,29 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
+import org.apache.griffin.core.schedule.Repo.ScheduleStateRepo;
 import org.quartz.*;
 import org.quartz.impl.matchers.GroupMatcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 import org.springframework.web.bind.annotation.*;
 
@@ -27,7 +46,8 @@ public class SchedulerController {
 
     @Autowired
     private SchedulerFactoryBean factory;
-
+    @Autowired
+    private ScheduleStateRepo scheduleStateRepo;
 
     public static final String ACCURACY_BATCH_GROUP = "BA";
 
@@ -52,12 +72,24 @@ public class SchedulerController {
                 if (triggers.size() > 0) {
                     //always get next run
                     Date nextFireTime = triggers.get(0).getNextFireTime();
+                    Date previousFireTime=triggers.get(0).getPreviousFireTime();
+//                    triggers.get(0).getScheduleBuilder()
+
+                    Trigger.TriggerState triggerState=scheduler.getTriggerState(triggers.get(0).getKey());
 
                     map.put("jobName", jobName);
                     map.put("groupName", jobGroup);
-                    map.put("nextFireTime", nextFireTime.toString());
+                    map.put("nextFireTime", nextFireTime.getTime());
+                    map.put("previousFireTime",previousFireTime.getTime());
+                    map.put("triggerState",triggerState);
 
                     map.put("measure", (String) jd.getJobDataMap().get("measure"));
+                    map.put("sourcePat",jd.getJobDataMap().getString("sourcePat"));
+                    map.put("targetPat",jd.getJobDataMap().getString("targetPat"));
+
+                    map.put("dataStartTimestamp",Long.parseLong(jd.getJobDataMap().getString("dataStartTimestamp")));
+                    map.put("jobStartTime",jd.getJobDataMap().getString("jobStartTime"));
+                    map.put("periodTime",jd.getJobDataMap().getString("periodTime"));
                     list.add(map);
                 }
 
@@ -112,6 +144,8 @@ public class SchedulerController {
                 jobDetail.getJobDataMap().put("jobStartTime", schedulerRequestBody.getJobStartTime());
                 jobDetail.getJobDataMap().put("periodTime", schedulerRequestBody.getPeriodTime());
                 jobDetail.getJobDataMap().put("lastTime", "");
+                jobDetail.getJobDataMap().put("groupName",groupName);
+                jobDetail.getJobDataMap().put("jobName",jobName);
 
                 jobStartTime = Integer.parseInt(schedulerRequestBody.getJobStartTime());
                 periodTime = Integer.parseInt(schedulerRequestBody.getPeriodTime());
@@ -151,6 +185,12 @@ public class SchedulerController {
             return false;
         }
     }
+
+    @RequestMapping("/instances/groups/{group}/jobs/{name}/{page}/{size}")
+    public List<ScheduleState> findInstancesOfJob(@PathVariable String group,@PathVariable String name,@PathVariable int page,@PathVariable int size){
+        Pageable pageRequest=new PageRequest(page,size, Sort.Direction.DESC,"timestamp");
+        return scheduleStateRepo.findByGroupNameAndJobName(group,name,pageRequest);
+    }
 }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/SchedulerRequestBody.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerRequestBody.java b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerRequestBody.java
index 354bf08..d33472f 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/SchedulerRequestBody.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/SchedulerRequestBody.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/SparkJobDO.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/SparkJobDO.java b/service/src/main/java/org/apache/griffin/core/schedule/SparkJobDO.java
index 65f7f41..a06d70b 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/SparkJobDO.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/SparkJobDO.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 import java.io.Serializable;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/schedule/SparkSubmitJob.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/schedule/SparkSubmitJob.java b/service/src/main/java/org/apache/griffin/core/schedule/SparkSubmitJob.java
index 9ce3de7..bac661d 100644
--- a/service/src/main/java/org/apache/griffin/core/schedule/SparkSubmitJob.java
+++ b/service/src/main/java/org/apache/griffin/core/schedule/SparkSubmitJob.java
@@ -1,11 +1,28 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectWriter;
+import com.google.gson.Gson;
 import org.apache.griffin.core.measure.DataConnector;
 import org.apache.griffin.core.measure.Measure;
 import org.apache.griffin.core.measure.repo.MeasureRepo;
+import org.apache.griffin.core.schedule.Repo.ScheduleStateRepo;
 import org.quartz.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,6 +43,9 @@ public class SparkSubmitJob implements Job {
     @Autowired
     MeasureRepo measureRepo;
 
+    @Autowired
+    ScheduleStateRepo scheduleStateRepo;
+
     Properties props;
 
     String patItem;
@@ -72,6 +92,8 @@ public class SparkSubmitJob implements Job {
     @Override
     public void execute(JobExecutionContext context) {
         JobDetail jd = context.getJobDetail();
+        String groupName=jd.getJobDataMap().getString("groupName");
+        String jobName=jd.getJobDataMap().getString("jobName");
         String measureName = jd.getJobDataMap().getString("measure");
         measure = measureRepo.findByName(measureName);
         if (measure==null) {
@@ -102,9 +124,18 @@ public class SparkSubmitJob implements Job {
         //final String uri = "http://10.9.246.187:8998/batches";
         RestTemplate restTemplate = new RestTemplate();
         setSparkJobDO();
-
+//        String result = restTemplate.postForObject(uri, sparkJobDO, String.class);
         String result = restTemplate.postForObject(uri, sparkJobDO, String.class);
         logger.info(result);
+        ScheduleResult scheduleResult=new ScheduleResult();
+        Gson gson=new Gson();
+        try {
+            scheduleResult=gson.fromJson(result,ScheduleResult.class);
+        }catch (Exception e){
+            logger.info("scheduleResult covert error!"+e);
+        }
+        ScheduleState scheduleState=new ScheduleState(groupName,jobName,scheduleResult.getId(),scheduleResult.getState(),scheduleResult.getAppId(),System.currentTimeMillis());
+        scheduleStateRepo.save(scheduleState);
         //	{"file": "/exe/griffin-measure-batch-0.0.1-SNAPSHOT.jar", "className": "org.apache.griffin.measure.batch.Application", "args": ["/benchmark/test/env.json", "/benchmark/test/config-rdm.json"], "name": "griffin-livy", "queue": "default", "numExecutors": 2, "executorCores": 4, "driverMemory": "2g", "executorMemory": "2g", "conf": {"spark.jars.packages": "com.databricks:spark-avro_2.10:2.0.1"}, "jars": ["/livy/datanucleus-api-jdo-3.2.6.jar", "/livy/datanucleus-core-3.2.10.jar", "/livy/datanucleus-rdbms-3.2.9.jar"], "files": ["/livy/hive-site.xml"]}' -H "Content-Type: application/json"
     }
 
@@ -196,6 +227,7 @@ public class SparkSubmitJob implements Job {
 
         List<String> files = new ArrayList<>();
 //        files.add(props.getProperty("sparkJob.files_1"));
+
         sparkJobDO.setFiles(files);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/service/GriffinController.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/service/GriffinController.java b/service/src/main/java/org/apache/griffin/core/service/GriffinController.java
index d6e4412..f7d291f 100644
--- a/service/src/main/java/org/apache/griffin/core/service/GriffinController.java
+++ b/service/src/main/java/org/apache/griffin/core/service/GriffinController.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.service;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/util/AvroUtil.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/util/AvroUtil.java b/service/src/main/java/org/apache/griffin/core/util/AvroUtil.java
index fb944c5..3717ea7 100644
--- a/service/src/main/java/org/apache/griffin/core/util/AvroUtil.java
+++ b/service/src/main/java/org/apache/griffin/core/util/AvroUtil.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.util;
 
 import org.apache.avro.Schema;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/java/org/apache/griffin/core/util/GriffinOperationMessage.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/org/apache/griffin/core/util/GriffinOperationMessage.java b/service/src/main/java/org/apache/griffin/core/util/GriffinOperationMessage.java
index 61703b0..02759c2 100644
--- a/service/src/main/java/org/apache/griffin/core/util/GriffinOperationMessage.java
+++ b/service/src/main/java/org/apache/griffin/core/util/GriffinOperationMessage.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.util;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/resources/Init_quartz.sql
----------------------------------------------------------------------
diff --git a/service/src/main/resources/Init_quartz.sql b/service/src/main/resources/Init_quartz.sql
index 6f3ee48..2a2d338 100644
--- a/service/src/main/resources/Init_quartz.sql
+++ b/service/src/main/resources/Init_quartz.sql
@@ -176,4 +176,4 @@ CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
 CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
 CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
 
-commit;
+commit;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/main/resources/sparkJob.properties
----------------------------------------------------------------------
diff --git a/service/src/main/resources/sparkJob.properties b/service/src/main/resources/sparkJob.properties
index b6f9932..eba1b70 100644
--- a/service/src/main/resources/sparkJob.properties
+++ b/service/src/main/resources/sparkJob.properties
@@ -13,4 +13,5 @@ sparkJob.jars_1=hdfs:///livy/datanucleus-api-jdo-3.2.6.jar
 sparkJob.jars_2=hdfs:///livy/datanucleus-core-3.2.10.jar
 sparkJob.jars_3=hdfs:///livy/datanucleus-rdbms-3.2.9.jar
 sparkJob.dateAndHour=dt,hour
-sparkJob.uri=http://localhost:8998/batches
\ No newline at end of file
+#sparkJob.uri=http://localhost:8998/batches
+sparkJob.uri=http://10.9.246.187:8998/batches
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureControllerTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureControllerTest.java b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureControllerTest.java
index 50d2432..b5ca9d0 100644
--- a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureControllerTest.java
+++ b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureControllerTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure.repo;
 
 import org.apache.griffin.core.measure.*;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java
index d2f5fc7..ce5ab72 100644
--- a/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java
+++ b/service/src/test/java/org/apache/griffin/core/measure/repo/MeasureRepoTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.measure.repo;
 
 import com.fasterxml.jackson.core.JsonProcessingException;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreControllerTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreControllerTest.java b/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreControllerTest.java
index 6c2534e..8151a3c 100644
--- a/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreControllerTest.java
+++ b/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreControllerTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreServiceTests.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreServiceTests.java b/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreServiceTests.java
index 154fd8f..7444f09 100644
--- a/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreServiceTests.java
+++ b/service/src/test/java/org/apache/griffin/core/metastore/HiveMetastoreServiceTests.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import org.apache.hadoop.hive.conf.HiveConf;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/metastore/KafkaSchemaControllerTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/metastore/KafkaSchemaControllerTest.java b/service/src/test/java/org/apache/griffin/core/metastore/KafkaSchemaControllerTest.java
index fdc0fba..d50438b 100644
--- a/service/src/test/java/org/apache/griffin/core/metastore/KafkaSchemaControllerTest.java
+++ b/service/src/test/java/org/apache/griffin/core/metastore/KafkaSchemaControllerTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metastore;
 
 import io.confluent.kafka.schemaregistry.client.rest.entities.SchemaString;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/metric/MetricControllerTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/metric/MetricControllerTest.java b/service/src/test/java/org/apache/griffin/core/metric/MetricControllerTest.java
index 288b980..cb982c6 100644
--- a/service/src/test/java/org/apache/griffin/core/metric/MetricControllerTest.java
+++ b/service/src/test/java/org/apache/griffin/core/metric/MetricControllerTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.metric;
 
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/schedule/SparkSubmitJobTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/schedule/SparkSubmitJobTest.java b/service/src/test/java/org/apache/griffin/core/schedule/SparkSubmitJobTest.java
index 2d5e61a..43e50ff 100644
--- a/service/src/test/java/org/apache/griffin/core/schedule/SparkSubmitJobTest.java
+++ b/service/src/test/java/org/apache/griffin/core/schedule/SparkSubmitJobTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.schedule;
 
 import com.fasterxml.jackson.core.JsonProcessingException;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/service/src/test/java/org/apache/griffin/core/service/GriffinControllerTest.java
----------------------------------------------------------------------
diff --git a/service/src/test/java/org/apache/griffin/core/service/GriffinControllerTest.java b/service/src/test/java/org/apache/griffin/core/service/GriffinControllerTest.java
index d1a039f..8da2017 100644
--- a/service/src/test/java/org/apache/griffin/core/service/GriffinControllerTest.java
+++ b/service/src/test/java/org/apache/griffin/core/service/GriffinControllerTest.java
@@ -1,3 +1,18 @@
+/*-
+ * Licensed 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.griffin.core.service;
 
 import com.fasterxml.jackson.databind.ObjectMapper;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/css/main.css
----------------------------------------------------------------------
diff --git a/ui/css/main.css b/ui/css/main.css
index 745b483..3458335 100644
--- a/ui/css/main.css
+++ b/ui/css/main.css
@@ -1,3 +1,5 @@
+
+
 /*!
  * BLOCKS - Responsive Dashboard Theme
  *
@@ -13,21 +15,20 @@
  * Designed and built based on Twitter Bootstrap.
  */
 
- /*
- 	Copyright (c) 2016 eBay Software Foundation.
- 	Licensed 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
+ /*-
+  * Licensed 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
+      http://www.apache.org/licenses/LICENSE-2.0
 
- 	Unless required by applicable law or agreed to in writing, software
- 	distributed under the License is distributed on an "AS IS" BASIS,
- 	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- 	See the License for the specific language governing permissions and
- 	limitations under the License.
- */
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
 
+  */
 /* COLOR REFERENCE
 - #1f1f1f (Background Color)
 - #3d3d3d (Dash-unit and half-unit Section)

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/css/sidebar.css
----------------------------------------------------------------------
diff --git a/ui/css/sidebar.css b/ui/css/sidebar.css
index abf44ae..b089ca4 100644
--- a/ui/css/sidebar.css
+++ b/ui/css/sidebar.css
@@ -1,17 +1,17 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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.
-*/
+/*-
+ * Licensed 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.
+
+ */
 /*side-bar start*/
 .sidebar-stat-center{
 	padding:10px 0;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/css/treeview-check.css
----------------------------------------------------------------------
diff --git a/ui/css/treeview-check.css b/ui/css/treeview-check.css
index 971b874..86550f9 100644
--- a/ui/css/treeview-check.css
+++ b/ui/css/treeview-check.css
@@ -1,17 +1,17 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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
+/*-
+ * Licensed 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
+     http://www.apache.org/licenses/LICENSE-2.0
 
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
-*/
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ */
 div[angular-treeviewcheck] {
   /* prevent user selection */
   -moz-user-select: -moz-none;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/css/treeview.css
----------------------------------------------------------------------
diff --git a/ui/css/treeview.css b/ui/css/treeview.css
index a5e4fbc..ea138f6 100644
--- a/ui/css/treeview.css
+++ b/ui/css/treeview.css
@@ -1,17 +1,17 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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
+/*-
+ * Licensed 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
+     http://www.apache.org/licenses/LICENSE-2.0
 
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
-*/
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ */
 div[angular-treeview] {
   /* prevent user selection */
   -moz-user-select: -moz-none;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/index.html
----------------------------------------------------------------------
diff --git a/ui/index.html b/ui/index.html
index 6f79eb1..ef45f07 100644
--- a/ui/index.html
+++ b/ui/index.html
@@ -1,17 +1,18 @@
 <!--
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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.
- -->
+
+  Licensed 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 html>
 <html lang="en">
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/js/app.js
----------------------------------------------------------------------
diff --git a/ui/js/app.js b/ui/js/app.js
index e2dc9fe..dae4857 100644
--- a/ui/js/app.js
+++ b/ui/js/app.js
@@ -1,17 +1,18 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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
+/*-
+ * Licensed 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
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ */
 
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
-*/
 define([
     'angular',
     './controllers/index',

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/js/bs.js
----------------------------------------------------------------------
diff --git a/ui/js/bs.js b/ui/js/bs.js
index f6f67d3..f2fdf7f 100644
--- a/ui/js/bs.js
+++ b/ui/js/bs.js
@@ -1,17 +1,18 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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
+/*-
+ * Licensed 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
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+ */
 
-	Unless required by applicable law or agreed to in writing, software
-	distributed under the License is distributed on an "AS IS" BASIS,
-	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	See the License for the specific language governing permissions and
-	limitations under the License.
-*/
 define([
     'require',
     'jquery',

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/1fa4f243/ui/js/controllers/bigChart-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/bigChart-ctrl.js b/ui/js/controllers/bigChart-ctrl.js
index 5525cd2..3984185 100644
--- a/ui/js/controllers/bigChart-ctrl.js
+++ b/ui/js/controllers/bigChart-ctrl.js
@@ -1,17 +1,17 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	Licensed 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.
-*/
+/*-
+ * Licensed 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.
+
+ */
 define(['./module'], function(controllers) {
     'use strict';
     controllers.controller('BigChartCtrl', ['$scope', '$http', '$config', '$filter', '$timeout', '$compile', '$routeParams', '$barkChart', '$rootScope', function($scope, $http, $config, $filter, $timeout, $compile, $routeParams, $barkChart, $rootScope) {
@@ -55,4 +55,4 @@ define(['./module'], function(controllers) {
       }
 
     }]);
-});
\ No newline at end of file
+});