| <!-- |
| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| --> |
| <form name="processForm" class="mt10" novalidate id="processFormSummaryStep"> |
| |
| <div class="row" id="processSummaryStep"> |
| <h4 class="col-sm-24">General</h4> |
| |
| <div class="col-sm-24"> |
| <label>Process Name</label>: <span data-qe-id="processName">{{process.name}}</span> |
| </div> |
| |
| <div class="col-sm-24"> |
| <label>Tags</label>: |
| <div ng-repeat="tag in process.tags | filter:{key: '!!'} track by $index"> |
| <span data-qe-id="processTags">{{tag.key}} = {{tag.value}}</span> |
| </div> |
| <div ng-show="!hasTags()"><span data-qe-id="processTags">No tags selected</span></div> |
| </div> |
| |
| <h4 class="col-sm-24"> |
| Access Control List |
| </h4> |
| <div class="col-sm-24"> |
| <label>Owner</label>: <span data-qe-id="processACLOwner">{{optional(process.ACL.owner)}}</span> |
| <label>Group</label>: <span data-qe-id="processACLGroup">{{optional(process.ACL.group)}}</span> |
| <label>Permissions</label>:<span data-qe-id="processACLPermission"> {{optional(process.ACL.permission)}}</span> |
| </div> |
| |
| <h4 class="col-sm-24">Workflow</h4> |
| <div class="col-sm-24"> |
| <label>Workflow Name</label>: |
| <label class="light" data-qe-id="processWorkflowName">{{process.workflow.name}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Engine</label>: |
| <label class="light" data-qe-id="processWorkflowEngine">{{process.workflow.engine}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Workflow Path</label>: |
| <label class="light" data-qe-id="processWorkflowPath">{{process.workflow.path}}</label> |
| </div> |
| |
| <div class="col-sm-24 plr0px" ng-show="process.workflow.engine==='spark'"> |
| <h4 class="col-sm-24">Spark Attributes</h4> |
| <div class="col-sm-24"> |
| <label>Aplication</label>: |
| <label class="light" data-qe-id="processSparkApplication">{{process.workflow.spark.name}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Main Class</label>: |
| <label class="light" data-qe-id="processSparkMainClass">{{process.workflow.spark.class}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Runs On</label>: |
| <label class="light" data-qe-id="processSparkRunsOn">{{process.workflow.spark.master}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Mode</label>: |
| <label class="light" data-qe-id="processSparkMode">{{process.workflow.spark.mode}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Jar</label>: |
| <label class="light" data-qe-id="processSparkJar">{{process.workflow.spark.jar}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Spark Options</label>: |
| <label class="light" data-qe-id="processSparkOpts">{{process.workflow.spark.sparkOptions}}</label> |
| </div> |
| |
| <div class="col-sm-24"> |
| <label>Spark Arguments</label>: |
| <label class="light" data-qe-id="processSparkOpts">{{process.workflow.spark.arg}}</label> |
| </div> |
| </div> |
| |
| <h4 class="col-sm-24">Timing</h4> |
| <div class="col-sm-24"> |
| <label>Timezone</label>: |
| <label class="light" data-qe-id="processTimezone">{{optional(process.timezone)}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Frequency</label>: |
| <label class="light">Every |
| <span data-qe-id="processFrequencyQuantity">{{process.frequency.quantity}}</span> |
| <span data-qe-id="processFrequencyUnit">{{process.frequency.unit}}</span> |
| </label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Max. parallel instances</label>: |
| <label class="light" data-qe-id="processParallel">{{process.parallel}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Instance Usage</label>: |
| <label class="light" data-qe-id="processOrder">{{optional(process.order)}}</label> |
| </div> |
| |
| <h4 class="col-sm-24">Retry</h4> |
| <div class="col-sm-24"> |
| <label>Retry Policy</label>: |
| <label class="light" data-qe-id="processRetryPolicy">{{process.retry.policy}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Attempts</label>: |
| <label class="light" data-qe-id="processRetryAttempts">{{process.retry.attempts}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Delay</label>: |
| <label class="light">Up to |
| <span data-qe-id="processRetryDelayQuantity">{{process.retry.delay.quantity}}</span> |
| <span data-qe-id="processRetryDelayUnit">{{process.retry.delay.unit}}</span> |
| </label> |
| </div> |
| |
| <h4 class="col-sm-24" ng-if="(process.properties | filter:{name: '!!'}).length > 0">Properties</h4> |
| <div class="col-sm-24" ng-repeat="property in process.properties | filter:{name: '!!'} track by $index"> |
| <label>{{property.name}}</label>:<span> {{property.value}}</span> |
| </div> |
| |
| <h4 class="col-sm-24">Clusters</h4> |
| <div ng-repeat="cluster in process.clusters track by $index" data-qe-id="processClusters"> |
| <div class="row col-sm-offset-1 col-sm-22 detailsBox"> |
| <div class="col-sm-24"> |
| <label>Cluster Name</label>: |
| <label class="light" data-qe-id="processClusterName">{{cluster.name}}</label> |
| </div> |
| <label class="col-sm-24">Validity</label> |
| <div class="col-sm-24"> |
| <label>Start</label>: |
| <label class="light" data-qe-id="processClusterStart">{{cluster.validity.start.date|date:'yyyy-MM-dd'}} {{cluster.validity.start.time|date:'HH:mm'}}</label> |
| <label>End</label>: |
| <label class="light" data-qe-id="processClusterEnd">{{cluster.validity.end.date|date:'yyyy-MM-dd'}} {{cluster.validity.end.time|date:'HH:mm'}}</label> |
| </div> |
| </div> |
| </div> |
| <h4 class="col-sm-24">Inputs</h4> |
| <div ng-repeat="input in process.inputs track by $index" data-qe-id="processInputs"> |
| <div class="row col-sm-offset-1 col-sm-22 detailsBox"> |
| <div class="col-sm-24"> |
| <label>Name</label>: |
| <label class="light" data-qe-id="processInputName">{{input.name}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Feed</label>: |
| <label class="light" data-qe-id="processInputFeed">{{input.feed}}</label> |
| </div> |
| <label class="col-sm-24">Instance</label> |
| <div class="col-sm-24"> |
| <label>Start</label>: |
| <label class="light" data-qe-id="processInstanceStart">{{input.start}}</label> |
| <label>End</label>: |
| <label class="light" data-qe-id="processInstanceEnd">{{input.end}}</label> |
| </div> |
| </div> |
| </div> |
| <h4 class="col-sm-24">Outputs</h4> |
| <div ng-repeat="output in process.outputs track by $index" data-qe-id="processOutputs"> |
| <div class="row col-sm-offset-1 col-sm-22 detailsBox"> |
| <div class="col-sm-24"> |
| <label>Name</label> |
| <label class="light" data-qe-id="processOutputName">{{output.name}}</label> |
| </div> |
| <div class="col-sm-24"> |
| <label>Feed</label> |
| <label class="light" data-qe-id="processOutputFeed">{{output.feed}}</label> |
| </div> |
| <label class="col-sm-24">Instance</label> |
| <div class="col-sm-24"> |
| <label>Instance</label> |
| <label class="light" data-qe-id="processOutputInstance">{{output.outputInstance}}</label> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="col-xs-24 mt35 pb15px pl0px"> |
| <button type="button" class="btn prevBtn" |
| ng-click="goBack()" |
| ng-disabled="buttonSpinners.backShow"> |
| PREVIOUS <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.backShow" /> |
| </button> |
| <div class="pull-right"> |
| <a class="btn cnclBtn" ui-sref="main"> |
| CANCEL |
| </a> |
| <button class="btn nextBtn" |
| ng-disabled="processForm.$invalid || buttonSpinners.show" |
| ng-click="saveEntity()" scroll-to-error> |
| SAVE <img src="css/img/ajax-loader.gif" ng-if="buttonSpinners.show" /> |
| </button> |
| </div> |
| </div> |
| |
| </form> |