eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h..@apache.org
Subject incubator-eagle git commit: [EAGLE-716][API] Forcefully Validate before saving policy into metadata
Date Wed, 02 Nov 2016 02:21:31 GMT
Repository: incubator-eagle
Updated Branches:
  refs/heads/master 21fcd7333 -> 77524c7c4


[EAGLE-716][API] Forcefully Validate before saving policy into metadata

https://issues.apache.org/jira/browse/EAGLE-716

[API] Forcefully Validate before saving policy into metadata when calling

    POST /policies

Author: Hao Chen <hao@apache.org>

Closes #593 from haoch/validateBeforeCreatingPolicy.


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

Branch: refs/heads/master
Commit: 77524c7c4f8e3a186bb1fb5c802b73a582585e5b
Parents: 21fcd73
Author: Hao Chen <hao@apache.org>
Authored: Wed Nov 2 10:21:23 2016 +0800
Committer: Hao Chen <hao@apache.org>
Committed: Wed Nov 2 10:21:23 2016 +0800

----------------------------------------------------------------------
 .../metadata/resource/MetadataResource.java     |  7 ++-
 .../eagle/alert/metadata/resource/OpResult.java | 21 +++++++
 .../partials/alert/policyEdit/advancedMode.html | 58 +++++++++++---------
 3 files changed, 60 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/77524c7c/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java
b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java
index 45ffa2d..2a2047f 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java
@@ -202,7 +202,12 @@ public class MetadataResource {
     @Path("/policies")
     @POST
     public OpResult addPolicy(PolicyDefinition policy) {
-        return dao.addPolicy(policy);
+        PolicyValidationResult validationResult = this.validatePolicy(policy);
+        if (validationResult.isSuccess()) {
+            return dao.addPolicy(policy);
+        } else {
+            return OpResult.fail(validationResult.getMessage());
+        }
     }
 
     @Path("/policies/validate")

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/77524c7c/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/resource/OpResult.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/resource/OpResult.java
b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/resource/OpResult.java
index a43b064..9f5ce7f 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/resource/OpResult.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/resource/OpResult.java
@@ -26,4 +26,25 @@ public class OpResult {
 
     public static final int SUCCESS = 200;
     public static final int FAILURE = 500;
+
+    public static OpResult of(int code, String messsage) {
+        OpResult opResult = new OpResult();
+        opResult.code = code;
+        opResult.message = messsage;
+        return opResult;
+    }
+
+    public static OpResult success(String messsage) {
+        OpResult opResult = new OpResult();
+        opResult.code = SUCCESS;
+        opResult.message = messsage;
+        return opResult;
+    }
+
+    public static OpResult fail(String messsage) {
+        OpResult opResult = new OpResult();
+        opResult.code = FAILURE;
+        opResult.message = messsage;
+        return opResult;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/77524c7c/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
b/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
index 7c3d4f1..5097d33 100644
--- a/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
+++ b/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
@@ -82,37 +82,25 @@
 		<div class="box box-primary">
 			<div class="box-header with-border">
 				<span class="fa fa-pencil"></span>
-				<h3 class="box-title">Policy</h3>
+				<h3 class="box-title">Policy Editor</h3>
 			</div>
 			<div class="box-body">
+
+
 				<div class="row">
-					<div class="col-md-8">
-						<div class="form-group">
-							<label>* Name</label>
-							<input type="text" class="form-control" ng-model="policy.name" ng-readonly="!newPolicy"
ng-disabled="policyLock" />
-						</div>
-					</div>
-					<div class="col-md-4">
+					<div class="col-md-12">
 						<div class="form-group">
-							<label>* Parallelism Hint</label>
-							<input type="text" class="form-control" ng-model="policy.parallelismHint" ng-disabled="policyLock"
/>
+							<label>Name *</label>
+							<input type="text" style="text-transform:uppercase" class="form-control" ng-model="policy.name"
ng-readonly="!newPolicy" ng-disabled="policyLock" />
 						</div>
 					</div>
 				</div>
 
-
 				<div class="form-group">
 					<label>Description</label>
 					<textarea class="form-control" ng-model="policy.description" rows="2" ng-disabled="policyLock"></textarea>
 				</div>
 
-				<div class="form-group" ng-class="{'has-error': !!definitionMessage}">
-					<label>* Definition</label>
-					<div editor ng-model="policy.definition.value" ng-change="checkDefinition()"></div>
-					<!--textarea class="form-control" ng-model="policy.definition.value" rows="10" ng-change="checkDefinition()"
ng-disabled="policyLock"></textarea-->
-					<p class="text-danger">{{definitionMessage}}</p>
-				</div>
-
 				<!--label>
 					Input Stream Partition
 				</label>
@@ -135,9 +123,19 @@
 					</li>
 				</ul-->
 
-				<label>
-					Alert Stream
-				</label>
+				<div class="form-group" ng-class="{'has-error': !!definitionMessage}">
+					<label>Policy Definition *</label>
+					<div editor ng-model="policy.definition.value" ng-change="checkDefinition()"></div>
+					<!--textarea class="form-control" ng-model="policy.definition.value" rows="10" ng-change="checkDefinition()"
ng-disabled="policyLock"></textarea-->
+					<p class="text-danger">{{definitionMessage}}</p>
+				</div>
+
+				<!--<label>-->
+					<!--Alert Stream-->
+				<!--</label>-->
+
+				<p class="text-danger" ng-if="policy.outputStreams.length === 0"><i class="fa
fa-fw fa-warning"></i> No alert stream defined</p>
+
 				<ul class="sm-padding">
 					<li ng-repeat="stream in outputStreams track by $index">
 						<label>
@@ -145,12 +143,14 @@
 							{{stream}}
 						</label>
 					</li>
-					<li class="text-danger" ng-if="policy.outputStreams.length === 0">No alert stream
yet.</li>
 				</ul>
 
 				<label>
-					Publisher
+					Publish Alerts
 				</label>
+
+				<p class="text-danger" ng-if="policyPublisherList.length === 0"><i class="fa
fa-fw fa-warning"></i> No alert publisher defined </p>
+
 				<ul class="sm-padding">
 					<li ng-repeat="publisher in policyPublisherList track by $index">
 						<span>
@@ -165,11 +165,19 @@
 							<span>{{publisher.properties[field]}}</span>
 						</p>
 					</li>
-					<li class="text-danger" ng-if="policyPublisherList.length === 0">No publisher
yet.</li>
 					<li>
 						<a ng-click="addPublisher()">+ Add Publisher</a>
 					</li>
 				</ul>
+
+				<div class="row">
+					<div class="col-md-12">
+						<div class="form-group">
+							<label>Schedule Parallelism *</label>
+							<input type="text" class="form-control" ng-model="policy.parallelismHint" ng-disabled="policyLock"
/>
+						</div>
+					</div>
+				</div>
 			</div>
 		</div>
 	</div>
@@ -178,7 +186,7 @@
 <div class="text-right">
 	<button class="btn btn-primary" ng-disabled="!saveCheck()" ng-click="saveConfirm()">
 		<span class="fa fa-floppy-o"></span>
-		Save
+		Apply
 	</button>
 </div>
 


Mime
View raw message