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/05 08:57:55 UTC

incubator-griffin git commit: fix some bugs

Repository: incubator-griffin
Updated Branches:
  refs/heads/master 95e6350d1 -> 86d545854


fix some bugs

Author: Yang <xi...@ebay.com>

Closes #59 from RachelYang2/fixBugs.


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

Branch: refs/heads/master
Commit: 86d545854ba3107e27e8dbdc5811832ac0cd2a04
Parents: 95e6350
Author: Yang <xi...@ebay.com>
Authored: Mon Jun 5 16:57:47 2017 +0800
Committer: Lionel Liu <bh...@163.com>
Committed: Mon Jun 5 16:57:47 2017 +0800

----------------------------------------------------------------------
 ui/js/controllers/createjob-ac-ctrl.js  |  17 ++-
 ui/js/controllers/createrule-ac-ctrl.js |   8 +-
 ui/js/controllers/rule-ctrl.js          |   3 +-
 ui/js/controllers/viewrule-ctrl.js      |  14 +-
 ui/pages/jobs/createjob-ac.html         | 189 ++++++++++++++-------------
 ui/pages/measures/createrule-ac.html    |  25 ++--
 ui/pages/measures/delete-confirm.html   |   8 +-
 ui/pages/measures/measures.html         |   4 +-
 ui/pages/measures/viewrule.html         |  16 +--
 9 files changed, 156 insertions(+), 128 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/js/controllers/createjob-ac-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/createjob-ac-ctrl.js b/ui/js/controllers/createjob-ac-ctrl.js
index a5e9620..c8bb581 100644
--- a/ui/js/controllers/createjob-ac-ctrl.js
+++ b/ui/js/controllers/createjob-ac-ctrl.js
@@ -20,6 +20,9 @@ define(['./module'], function(controllers) {
         console.log('Create job controller');
         $scope.currentStep = 1;
 
+        $scope.Times = ['seconds','minutes','hours'];
+        $scope.timeType = 'seconds';
+
         $scope.Measures = [];
         $scope.$on('$viewContentLoaded', function() {
             // console.log($('#footerwrap').css('height'));
@@ -41,6 +44,7 @@ define(['./module'], function(controllers) {
                 $scope.Measures.push(measure);
             })
             console.log($scope.Measures);
+            $scope.measure = 0;
         })
 
 
@@ -87,12 +91,18 @@ define(['./module'], function(controllers) {
                 } else {
                     //  $location.path('/rules');
                     form.$setPristine();
+                    var period;
+                    if($scope.timeType=='minutes')
+                        period = $scope.periodTime *60;
+                    else if($scope.timeType=='hours')
+                        period = $scope.periodTime * 3600;
+                    else period = $scope.periodTime;
                     var rule = '';
                     this.data={
                       "sourcePat":$scope.sourcePat,
                       "targetPat":$scope.targetPat,
                       "jobStartTime":$scope.jobStartTime,
-                      "periodTime":$scope.periodTime,
+                      "periodTime":period,
                       "groupName":'BA',
                     };
                     $('#confirm-job').modal('show');
@@ -111,7 +121,10 @@ define(['./module'], function(controllers) {
                 var month = date.getMonth()+1;
                 var timestamp = Date.parse(date);
                 timestamp = timestamp / 1000;
-                var jobName = $scope.Measures[$scope.measure] + '-BA-' + $scope.ntAccount + '-' + date.getFullYear() + '-'+ month + '-'+date.getDate();
+                var time = date.toDateString()+' '+date.toLocaleTimeString();
+//                var jobName = $scope.Measures[$scope.measure] + '-BA-' + $scope.ntAccount + '-' + date.getFullYear() + '-'+ month + '-'+date.getDate();
+                var jobName = $scope.Measures[$scope.measure] + '-BA-' + $scope.ntAccount + '-' + time;
+
                 var newJob = $config.uri.addJobs + this.data.groupName + '/' + jobName + '/' + $scope.Measures[$scope.measure];
                 console.log(newJob);
                 console.log(this.data);

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/js/controllers/createrule-ac-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/createrule-ac-ctrl.js b/ui/js/controllers/createrule-ac-ctrl.js
index 1efa02f..15b37b9 100644
--- a/ui/js/controllers/createrule-ac-ctrl.js
+++ b/ui/js/controllers/createrule-ac-ctrl.js
@@ -289,7 +289,8 @@ define(['./module'], function(controllers) {
                     $(stepSelection).css({
                         height: window.innerHeight - $(stepSelection).offset().top - $('#footerwrap').outerHeight()
                     });
-                    $('fieldset').height($(stepSelection).height() - $(stepSelection + '>.stepDesc').height() - $('.btn-container').height() - 80);
+//                    $('fieldset').height($(stepSelection).height() - $(stepSelection + '>.stepDesc').height() - $('.btn-container').height() - 80);
+                    document.getElementByTag('fieldset').style.minHeight = $(stepSelection).height() - $(stepSelection + '>.stepDesc').height() - $('.btn-container').height() - 80;
                     $('.y-scrollable').css({
                         'max-height': $('fieldset').height()- $('.add-dataset').outerHeight()
                     });
@@ -409,7 +410,6 @@ define(['./module'], function(controllers) {
                       "evaluateRule":{
                           "rules":'',
                       },
-//                      "owner":$scope.currentNode.parent[0].owner,
                       "owner":$scope.basic.owner,
                       mappings:[],
 
@@ -464,7 +464,7 @@ define(['./module'], function(controllers) {
                 	// {
                 	  console.log(data);
                       if(data=='fail'){
-                          toaster.pop('error', 'Please modify the name of model, because there is already a same model in database ', data.message);
+                          toaster.pop('error', 'Please modify the name of measure, because there is already a same measure in database ', data.message);
                           return;
                       }
 
@@ -482,7 +482,7 @@ define(['./module'], function(controllers) {
 
                 }).error(function(data){
                   // errorMessage(0, 'Save model failed, please try again!');
-                  toaster.pop('error', 'Save model failed, please try again!', data.message);
+                  toaster.pop('error', 'Save measure failed, please try again!', data.message);
                 });
 
             },

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/js/controllers/rule-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/rule-ctrl.js b/ui/js/controllers/rule-ctrl.js
index 2f40855..bda015b 100644
--- a/ui/js/controllers/rule-ctrl.js
+++ b/ui/js/controllers/rule-ctrl.js
@@ -99,7 +99,8 @@ define(['./module'], function (controllers) {
         var getModelUrl = $config.uri.getModel + '/' +row.name;
         $http.get(getModelUrl).success(function(data){
   			  $scope.deletedRow = data;
-
+              $scope.sourceTable = JSON.parse($scope.deletedRow.source.config)["table.name"];
+              $scope.targetTable = JSON.parse($scope.deletedRow.target.config)["table.name"];
   		  });
         // $scope.deletedRow = row;
         $scope.deletedBriefRow = row;

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/js/controllers/viewrule-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/viewrule-ctrl.js b/ui/js/controllers/viewrule-ctrl.js
index 42d2e01..343a229 100644
--- a/ui/js/controllers/viewrule-ctrl.js
+++ b/ui/js/controllers/viewrule-ctrl.js
@@ -27,8 +27,18 @@ define(['./module'], function (controllers) {
         var getModelUrl = $config.uri.getModel+"/"+$routeParams.modelname;
         $http.get(getModelUrl).success(function(data){
           $scope.ruleData = data;
-          $scope.sourceLength = $scope.ruleData.evaluateRule.rules.split(';').length-1;
-          console.log($scope.ruleData.evaluateRule.rules.split(';'));
+          $scope.sourceLength = $scope.ruleData.evaluateRule.rules.split('AND').length;
+          console.log($scope.sourceLength);
+
+          console.log(JSON.parse($scope.ruleData.source.config));
+          $scope.sourceDB = JSON.parse($scope.ruleData.source.config).database;
+          console.log($scope.sourceDB);
+          $scope.targetDB = JSON.parse($scope.ruleData.target.config).database;
+          $scope.sourceTable = JSON.parse($scope.ruleData.source.config)["table.name"];
+          $scope.targetTable = JSON.parse($scope.ruleData.target.config)["table.name"];
+          console.log($scope.targetTable);
+          console.log($scope.targetDB);
+          console.log($scope.ruleData.evaluateRule.rules.split('AND'));
 //          $scope.targetLength = $scope.ruleData.evaluateRule.rules.split(';').length;
 
           $scope.getNumber = function(n){return new Array(n);}

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/pages/jobs/createjob-ac.html
----------------------------------------------------------------------
diff --git a/ui/pages/jobs/createjob-ac.html b/ui/pages/jobs/createjob-ac.html
index 43242f5..789e3b5 100644
--- a/ui/pages/jobs/createjob-ac.html
+++ b/ui/pages/jobs/createjob-ac.html
@@ -20,117 +20,124 @@ limitations under the License.
     </div><!--//row-->
     <div class="row">
         <form name="Form" id="form" novalidate>
-                <div  class="formStep" >
-                    <label class="stepDesc">Please setup the job required information</label>
-                    <div class="container-fluid">
-
-                        <!-- schema definition list -->
-                        <div class="col-md-12 col-lg-12 col-sm-12">
-                            <fieldset>
-                                <legend>
-                                    Required Information
-                                </legend>
-                                <div class="y-scrollable">
-                                    <div class="col-md-12 col-lg-12 col-sm-12">
-                                        <div class="form-group" ng-class="{'has-error':Form.ruleName.$dirty&&Form.ruleName.$invalid, 'has-success':Form.ruleName.$valid}">
-                                            <label class="col-md-2 col-lg-2 col-sm-2 control-label">
-                                                Source Partition<span class="symbol required"></span>:
-                                            </label>
-
-                                            <div class="col-md-10 col-lg-10 col-sm-10 ">
-                                                <input type="text" class="form-control" ng-model="sourcePat" name="ruleName" placeholder="Please input the source partition" required ng-pattern="'([0-9a-zA-Z\\_\\-])+'">
-                                                <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.required">Model Name is required</span>
-                                                <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.pattern">Only letter, number, "-" and "_" are allowed</span>
-                                            </div>
+            <div  class="formStep" >
+                <label class="stepDesc">Please setup the job required information</label>
+                <div class="container-fluid">
+
+                    <!-- schema definition list -->
+                    <div class="col-md-12 col-lg-12 col-sm-12">
+                        <fieldset>
+                            <legend>
+                                Required Information
+                            </legend>
+                            <div class="y-scrollable">
+                                <div class="col-md-12 col-lg-12 col-sm-12">
+                                    <div class="form-group" ng-class="{'has-error':Form.ruleName.$dirty&&Form.ruleName.$invalid, 'has-success':Form.ruleName.$valid}">
+                                        <label class="col-md-2 col-lg-2 col-sm-2 control-label">
+                                            Source Partition<span class="symbol required"></span>:
+                                        </label>
+
+                                        <div class="col-md-10 col-lg-10 col-sm-10 ">
+                                            <input type="text" class="form-control" ng-model="sourcePat" name="ruleName" placeholder="Please input the source partition, such as 'YYYYMMdd-HH'." required ng-pattern="'([0-9a-zA-Z\\_\\-])+'">
+                                            <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.pattern">Only letter, number, "-" and "_" are allowed</span>
                                         </div>
                                     </div>
-                                    <div class="col-md-12 col-lg-12 col-sm-12">
-                                        <div class="form-group">
-                                            <label class="col-md-2 col-lg-2 col-sm-2 control-label">
-                                                Target Partition:
-                                            </label>
-
-                                            <div class="col-md-10 col-lg-10 col-sm-10 ">
-                                                <input type="text" class="form-control" ng-model="targetPat" placeholder="Please input target partition of your model">
-                                            </div>
+                                </div>
+                                <div class="col-md-12 col-lg-12 col-sm-12">
+                                    <div class="form-group">
+                                        <label class="col-md-2 col-lg-2 col-sm-2 control-label">
+                                            Target Partition:
+                                        </label>
+
+                                        <div class="col-md-10 col-lg-10 col-sm-10 ">
+                                            <input type="text" class="form-control" ng-model="targetPat" placeholder="Please input target partition of your job, such as 'YYYYMMdd-HH'.">
                                         </div>
                                     </div>
+                                </div>
+
+                                <div class="col-md-12 col-lg-12 col-sm-12">
+                                    <div class="form-group">
+                                        <label for="measureSelector" class="col-md-2 col-lg-2 col-sm-2 control-label">
+                                            Measure Name:
+                                        </label>
 
-                                    <div class="col-md-12 col-lg-12 col-sm-12">
-                                        <div class="form-group">
-                                            <label for="measureSelector" class="col-md-2 col-lg-2 col-sm-2 control-label">
-                                                Measure Name:
-                                            </label>
-
-                                            <div class="col-md-10 col-lg-10 col-sm-10 ">
-                                                <select id="measureSelector" class="form-control" ng-model="measure" ng-init="Measures[0]" required>
-                                                    <option ng-repeat="row in Measures" value="{{$index}}" >{{row}}</option>
-                                                </select>
-                                            </div>
+                                        <div class="col-md-10 col-lg-10 col-sm-10 ">
+                                            <select id="measureSelector" class="form-control" ng-model="measure"  required>
+                                                <option ng-repeat="row in Measures" value="{{$index}}" >{{row}}</option>
+                                            </select>
                                         </div>
                                     </div>
-                                    <div class="col-md-12 col-lg-12 col-sm-12">
-                                        <div class="form-group">
-                                            <label class="col-md-2 col-lg-2 col-sm-2 control-label">
-                                                 Start After(s):
-                                            </label>
-
-                                            <div class="col-md-10 col-lg-10 col-sm-10 ">
-                                                <input type="text" class="form-control" ng-model="jobStartTime" >
-                                            </div>
+                                </div>
+                                <div class="col-md-12 col-lg-12 col-sm-12">
+                                    <div class="form-group">
+                                        <label class="col-md-2 col-lg-2 col-sm-2 control-label">
+                                            Start At:
+                                        </label>
+
+                                        <div class="col-md-10 col-lg-10 col-sm-10 ">
+                                            <input type="text" class="form-control" ng-model="jobStartTime" placeholder="The time of start. eg: 20170101 00:00:00">
                                         </div>
                                     </div>
-                                    <div class="col-md-12 col-lg-12 col-sm-12">
-                                        <div class="form-group">
-                                            <label for="systemSelector" class="col-md-2 col-lg-2 col-sm-2 control-label">
-                                                Interval:
-                                            </label>
-
-                                            <div class="col-md-10 col-lg-10 col-sm-10 ">
-                                                <input type="text" id="systemSelector" class="form-control" ng-model="periodTime"  required >
-                                            </div>
+                                </div>
+                                <div class="col-md-12 col-lg-12 col-sm-12">
+                                    <div class="form-group">
+                                        <label for="systemSelector" class="col-md-2 col-lg-2 col-sm-2 control-label">
+                                            Interval:
+                                        </label>
+
+                                        <div class="col-md-5 col-lg-5 col-sm-5 ">
+                                            <input type="text" id="systemSelector" class="form-control" ng-model="periodTime"  required placeholder="How often it works">
+                                        </div>
+                                        <div class="col-md-5 col-lg-5 col-sm-5 ">
+                                            <select id="timeSelector" class="form-control" ng-model="timeType" required>
+                                                <!--<option  value="hours" >hours</option>-->
+                                                <!--<option  value="minutes" >minutes</option>-->
+                                                <!--<option  value="seconds" >seconds</option>-->
+                                                <option ng-repeat="time in Times"  >{{time}}</option>
+                                            </select>
                                         </div>
                                     </div>
                                 </div>
+                            </div>
 
-                                <div style="color:#b2c831">
-                                    <p>
-                                        <i class="fa fa-info-circle"></i> After submitted, please go to "<a class="bark-link" href="#/jobs">Jobs</a>" to check the job status
-                                    </p>
-                                </div>
+                            <div style="color:#b2c831">
+                                <p>
+                                    <i class="fa fa-info-circle"></i> After submitted, please go to "<a class="bark-link" href="#/jobs">Jobs</a>" to check the job status
+                                </p>
+                            </div>
 
-                            </fieldset>
-                        </div>
+                        </fieldset>
+                    </div>
 
-                        <div class="form-group btn-container" >
-                            <button class="btn btn-primary btn-o back-step btn-wide pull-left" ng-click="form.prev(Form)">
-                                <i class="fa fa-arrow-circle-left"></i> Back
-                            </button>
-                            <button class="btn btn-primary btn-o next-step btn-wide pull-right" ng-click="form.submit(Form)">
-                                <!-- <button class="btn btn-primary btn-o next-step btn-wide pull-right" data-toggle="modal" data-target="#confirm"> -->
-                                Submit
-                            </button>
-                        </div>
+                    <div class="form-group btn-container" >
+                        <button class="btn btn-primary btn-o back-step btn-wide pull-left" ng-click="form.prev(Form)">
+                            <i class="fa fa-arrow-circle-left"></i> Back
+                        </button>
+                        <button class="btn btn-primary btn-o next-step btn-wide pull-right" ng-click="form.submit(Form)">
+                            <!-- <button class="btn btn-primary btn-o next-step btn-wide pull-right" data-toggle="modal" data-target="#confirm"> -->
+                            Submit
+                        </button>
                     </div>
                 </div>
-
-                <div class="modal fade" id="confirm-job" role="dialog">
-                    <div class="modal-dialog modal-xg modal-lg">
-                        <div class="modal-content">
-                            <div class="modal-header">
-                                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                                <h4 class="modal-title">Save the job with the below information?</h4>
-                            </div>
-                            <div class="modal-body">
-                                <ng-include src="'/pages/jobs/confirmation-ac.html'"/>
-                            </div>
-                            <div class="modal-footer">
-                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
-                                <button type="button" class="btn btn-primary" ng-click="form.save()">Save</button>
-                            </div>
+            </div>
+
+            <div class="modal fade" id="confirm-job" role="dialog">
+                <div class="modal-dialog modal-xg modal-lg">
+                    <div class="modal-content">
+                        <div class="modal-header">
+                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                            <h4 class="modal-title">Save the job with the below information?</h4>
+                        </div>
+                        <div class="modal-body">
+                            <ng-include src="'/pages/jobs/confirmation-ac.html'"/>
+                        </div>
+                        <div class="modal-footer">
+                            <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+                            <button type="button" class="btn btn-primary" ng-click="form.save()">Save</button>
                         </div>
                     </div>
                 </div>
+            </div>
         </form>
     </div><!--//row-->
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/pages/measures/createrule-ac.html
----------------------------------------------------------------------
diff --git a/ui/pages/measures/createrule-ac.html b/ui/pages/measures/createrule-ac.html
index 1e278b6..18ce2b6 100644
--- a/ui/pages/measures/createrule-ac.html
+++ b/ui/pages/measures/createrule-ac.html
@@ -15,7 +15,7 @@ limitations under the License.
 -->
 <div class="container-fluid">
   <div class="row">
-    <h5 class="over-title margin-bottom-15">Create DQ Model</h5>
+    <h5 class="over-title margin-bottom-15">Create Measure</h5>
   </div><!--//row-->
   <div class="row">
     <form name="Form" id="form" novalidate>
@@ -57,15 +57,15 @@ limitations under the License.
       </div>
 
         <div id="step-1" ng-show="currentStep == 1" class="formStep" >
-          <label class="stepDesc">This step let you choose the single source of truth for data quality comparision with target, Apollo datasets are enabled, other platofrms are coming soon. Currently you can only select the attributes from one schema</label>
+          <label class="stepDesc">This step let you choose the single source of truth for data quality comparision with target. Currently you can only select the attributes from one schema</label>
           <div class="container-fluid">
             <!-- select db tree -->
             <div class="col-md-4 col-lg-4 col-sm-4">
               <fieldset>
                 <legend>Please select schema</legend>
-                <div class="add-dataset" style="color:#b2c831">
-                  <a class="bark-link" href="#/createdataasset">Cannot find your DataAsset? Click here to add</a>
-                </div>
+                <!--<div class="add-dataset" style="color:#b2c831">-->
+                  <!--<a class="bark-link" href="#/createdataasset">Cannot find your DataAsset? Click here to add</a>-->
+                <!--</div>-->
                 <div angular-treeview="true"
                      tree-model="dbList"
                      node-id="id"
@@ -136,7 +136,7 @@ limitations under the License.
 
 
         <div id="step-2" ng-show="currentStep == 2" class="formStep" >
-          <label class="stepDesc">This step let you choose the target for data quality comparision with source, Apollo datasets are enabled, other platforms are coming soon</label>
+          <label class="stepDesc">This step let you choose the target for data quality comparision with source</label>
           <div class="container-fluid">
             <!-- select db tree -->
             <div class="col-md-4 col-lg-4 col-sm-4">
@@ -225,9 +225,6 @@ limitations under the License.
                 <div class="y-scrollable">
 
                   <div class="container col-md-12 col-lg-12 col-sm-12">
-                    <div style="color:#b2c831">
-                      <i class="fa fa-info-circle"></i> Please make sure to select a primary key in "PK?" column
-                    </div>
                     <table class="table table-striped">
                       <thead style="">
                       <tr style="background-color:#7D95CC;font-size:20px">
@@ -298,7 +295,7 @@ limitations under the License.
         </div>
 
         <div id="step-4" ng-show="currentStep == 4" class="formStep" >
-          <label class="stepDesc">Please setup the model required information</label>
+          <label class="stepDesc">Please setup the measure required information</label>
           <div class="container-fluid">
 
             <!-- schema definition list -->
@@ -316,7 +313,7 @@ limitations under the License.
 
                       <div class="col-md-10 col-lg-10 col-sm-10 ">
                         <input type="text" class="form-control" ng-model="basic.name" name="ruleName" placeholder="Please input the measure name" required ng-pattern="'([0-9a-zA-Z\\_\\-])+'">
-                        <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.required">Model Name is required</span>
+                        <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.required">Measure Name is required</span>
                         <span class="error text-small block " ng-if="Form.ruleName.$dirty && Form.ruleName.$error.pattern">Only letter, number, "-" and "_" are allowed</span>
                       </div>
                     </div>
@@ -328,7 +325,7 @@ limitations under the License.
                       </label>
 
                       <div class="col-md-10 col-lg-10 col-sm-10 ">
-                        <input type="text" class="form-control" ng-model="basic.desc" placeholder="Please input detail description of your model">
+                        <input type="text" class="form-control" ng-model="basic.desc" placeholder="Please input detail description of your measure">
                       </div>
                     </div>
                   </div>
@@ -395,7 +392,7 @@ limitations under the License.
 
                 <div style="color:#b2c831">
                   <p>
-                    <i class="fa fa-info-circle"></i> After submitted, please go to "<a class="bark-link" href="#/measures">Models</a>" to check the model status
+                    <i class="fa fa-info-circle"></i> After submitted, please go to "<a class="bark-link" href="#/measures">Measures</a>" to check the measure status
                   </p>
                 </div>
 
@@ -419,7 +416,7 @@ limitations under the License.
             <div class="modal-content">
               <div class="modal-header">
                 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                <h4 class="modal-title">Save the model with the below information?</h4>
+                <h4 class="modal-title">Save the measure with the below information?</h4>
               </div>
               <div class="modal-body">
                 <ng-include src="'/pages/measures/confirmation-ac.html'"/>

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/pages/measures/delete-confirm.html
----------------------------------------------------------------------
diff --git a/ui/pages/measures/delete-confirm.html b/ui/pages/measures/delete-confirm.html
index 6db3b0d..0583fd1 100644
--- a/ui/pages/measures/delete-confirm.html
+++ b/ui/pages/measures/delete-confirm.html
@@ -23,7 +23,7 @@ limitations under the License.
       <div id="viewrule-definition" class="viewrule-content">
         <div class="row">
           <label class="col-md-4 col-lg-4 col-sm-4">
-            Model Name:
+            Measure Name:
           </label>
 
           <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff">
@@ -33,7 +33,7 @@ limitations under the License.
 
         <div class="row">
           <label class="col-md-4 col-lg-4 col-sm-4">
-            Model Definition:
+            Measure Definition:
           </label>
 
           <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff">
@@ -43,7 +43,7 @@ limitations under the License.
 
         <div class="row">
           <label class="col-md-4 col-lg-4 col-sm-4">
-            Model Type:
+            Measure Type:
           </label>
 
           <div class="col-md-8 col-lg-8 col-sm-8 " style="color: #fff">
@@ -67,7 +67,7 @@ limitations under the License.
           </label>
 
           <div class="col-md-8 col-lg-8 col-sm-8" style="color: #fff">
-            {{deletedRow.source.config.tableName}}&nbsp;&nbsp;{{deletedRow.target.config.tableName}}
+            {{sourceTable}}&nbsp;&nbsp;{{targetTable}}
           </div>
         </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/pages/measures/measures.html
----------------------------------------------------------------------
diff --git a/ui/pages/measures/measures.html b/ui/pages/measures/measures.html
index 64c999a..af20323 100644
--- a/ui/pages/measures/measures.html
+++ b/ui/pages/measures/measures.html
@@ -28,9 +28,9 @@ limitations under the License.
                     </th>
                 </tr> -->
             <tr style="background-color:#7D95CC">
-                <th st-ratio="15">Model Name</th>
+                <th st-ratio="15">Measure Name</th>
                 <!--<th st-ratio="15">Organization</th>-->
-                <th st-ratio="15">Model Type</th>
+                <th st-ratio="15">Measure Type</th>
                 <th st-ratio="20">Description</th>
                 <!--<th st-ratio="15">Create Date</th>-->
                 <!--<th st-ratio="10">Model Stage</th>-->

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/86d54585/ui/pages/measures/viewrule.html
----------------------------------------------------------------------
diff --git a/ui/pages/measures/viewrule.html b/ui/pages/measures/viewrule.html
index 8592959..29eb7c7 100644
--- a/ui/pages/measures/viewrule.html
+++ b/ui/pages/measures/viewrule.html
@@ -15,7 +15,7 @@ limitations under the License.
 -->
 <div class="container-fluid" id="viewruleContent">
     <div class="row">
-        <h5 class="over-title margin-bottom-15">View Model</h5>
+        <h5 class="over-title margin-bottom-15">View Measure</h5>
     </div><!--//row-->
     <div class="row">
 
@@ -23,7 +23,7 @@ limitations under the License.
             <div id="viewruleDefinition" class="viewrule-content">
                 <div class="row">
                     <label class="col-xs-4">
-                        Model Name:
+                        Measure Name:
                     </label>
 
                     <div class="col-xs-8 " style="color: #fff">
@@ -33,7 +33,7 @@ limitations under the License.
 
                 <div class="row">
                     <label class="col-xs-4">
-                        Model Description:
+                        Measure Description:
                     </label>
 
                     <div class="col-xs-8 " style="color: #fff">
@@ -43,7 +43,7 @@ limitations under the License.
 
                 <div class="row">
                     <label class="col-xs-4">
-                        Model Type:
+                        Measure Type:
                     </label>
 
                     <div class="col-xs-8 " style="color: #fff">
@@ -67,7 +67,7 @@ limitations under the License.
                     </label>
 
                     <div class="col-xs-8" style="color: #fff">
-                        {{ruleData.source.config.tableName}}&nbsp;&nbsp;{{ruleData.target.config.tableName}}
+                        {{sourceTable}}&nbsp;&nbsp;{{targetTable}}
                     </div>
                 </div>
 
@@ -85,7 +85,7 @@ limitations under the License.
     </div><!--//row-->
     <div class="container-fluid" ng-show="ruleData.basic.status==1" >
         <br/>
-        <label style="color:#B2C831">This model is ready to deploy now, if you are the owner, please click the deploy button after you verify all the information.</label>
+        <label style="color:#B2C831">This measure is ready to deploy now, if you are the owner, please click the deploy button after you verify all the information.</label>
         <button ng-click="confirmDeploy()" ng-disabled="(ntAccount!=ruleData.basic.owner && !adminAccess)" class="btn btn-primary pull-right"> Deploy</button>
         </p>
     </div>
@@ -105,10 +105,10 @@ limitations under the License.
                 </div>
                 <div class="" style="text-align:center;display:block;float:left;margin:0 10px 0 10px">
                     <div class="formula-text-up" style="border-bottom:1px solid;">
-                        Total Count of Matched records between <span class="badge">{{sourceLength}}</span> <span style="color:green;">{{ruleData.target.config.database}}</span>  and <span class="badge">{{sourceLength}}</span> <span style="color:green;">{{ruleData.source.config.database}}</span>  fields
+                        Total Count of Matched records between <span class="badge">{{sourceLength}}</span> <span style="color:green;">{{targetTable}}</span>  and <span class="badge">{{sourceLength}}</span> <span style="color:green;">{{sourceTable}}</span>  fields
                     </div>
                     <div class="">
-                        Total Count of records in <span style="color:green;font-weight:bold;">{{ruleData.target.config.database}}&nbsp;&nbsp;{{ruleData.target.config.tableName}}</span>
+                        Total Count of records in <span style="color:green;font-weight:bold;">{{targetDB}}&nbsp;&nbsp;{{targetTable}}</span>
                     </div>
                 </div>
                 <div class="" style="text-align:left;display:block;float:left;width:10%;">