You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2016/06/27 03:23:03 UTC
[19/22] ignite git commit: Ignite Web Console beta2.
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade b/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade
index d4f698e..cb26d03 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade
@@ -20,7 +20,7 @@ include ../../../../../app/helpers/jade/mixins.jade
-var model = 'backupItem'
//- Mixin for DB dialect.
-mixin dialect(lbl, model, name, tipTitle, genericDialectName, placeholder)
+mixin dialect(lbl, model, name, required, tipTitle, genericDialectName, placeholder)
ignite-form-field
ignite-form-field-label
| #{lbl}
@@ -46,7 +46,7 @@ mixin dialect(lbl, model, name, tipTitle, genericDialectName, placeholder)
{value: "H2", label: "H2 database"}\
]'
data-ng-model=model
- data-ng-required='true'
+ data-ng-required=required
data-placeholder=placeholder
)
@@ -60,7 +60,7 @@ mixin hibernateField(items, field, valid, save, newItem)
-var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
ignite-form-field-input-text(
- data-name=field
+ data-name='#{field}{{ $index || "" }}'
data-ng-model=field
data-ng-required='true'
data-placeholder='key=value'
@@ -96,22 +96,23 @@ form.panel.panel-default(name=form novalidate)
]',
'Factory for persistent storage for cache data'
)
- span(ng-if=storeFactoryKind ng-init='__.expanded = true')
+ span(ng-show=storeFactoryKind ng-init='__.expanded = true')
a.customize(ng-show='__.expanded' ng-click='__.expanded = false') Hide settings
a.customize(ng-hide='__.expanded' ng-click='__.expanded = true') Show settings
- .panel-details(ng-if='__.expanded')
- div(ng-if='#{storeFactoryKind} === "CacheJdbcPojoStoreFactory"')
+ .panel-details(ng-show='__.expanded')
+ div(ng-show='#{storeFactoryKind} === "CacheJdbcPojoStoreFactory"')
-var pojoStoreFactory = storeFactory + '.CacheJdbcPojoStoreFactory'
+ -var required = storeFactoryKind + ' === "CacheJdbcPojoStoreFactory"'
.details-row
+text('Data source bean name:', pojoStoreFactory + '.dataSourceBean',
- 'pojoDataSourceBean', 'true', 'Input bean name',
+ 'pojoDataSourceBean', required, 'Input bean name',
'Name of the data source bean in Spring context')
.details-row
- +dialect('Dialect:', pojoStoreFactory + '.dialect', 'pojoDialect',
+ +dialect('Dialect:', pojoStoreFactory + '.dialect', 'pojoDialect', required,
'Dialect of SQL implemented by a particular RDBMS:', 'Generic JDBC dialect',
'Choose JDBC dialect')
- div(ng-if='#{storeFactoryKind} === "CacheJdbcBlobStoreFactory"')
+ div(ng-show='#{storeFactoryKind} === "CacheJdbcBlobStoreFactory"')
-var blobStoreFactory = storeFactory + '.CacheJdbcBlobStoreFactory'
-var blobStoreFactoryVia = blobStoreFactory + '.connectVia'
@@ -126,20 +127,24 @@ form.panel.panel-default(name=form novalidate)
<li>JDBC URL, for example: jdbc:h2:mem:myDatabase</li>\
<li>Configured data source</li>\
</ul>')
- div(ng-if='#{blobStoreFactoryVia} === "URL"')
+ div(ng-show='#{blobStoreFactoryVia} === "URL"')
+ -var required = storeFactoryKind + ' === "CacheJdbcBlobStoreFactory" && ' + blobStoreFactoryVia + ' === "URL"'
+
.details-row
- +text('Connection URL:', blobStoreFactory + '.connectionUrl', 'connectionUrl', 'true', 'Input URL',
+ +text('Connection URL:', blobStoreFactory + '.connectionUrl', 'connectionUrl', required, 'Input URL',
'URL for database access, for example: jdbc:h2:mem:myDatabase')
.details-row
- +text('User:', blobStoreFactory + '.user', 'user', 'true', 'Input user name', 'User name for database access')
+ +text('User:', blobStoreFactory + '.user', 'user', required, 'Input user name', 'User name for database access')
.details-row
label Note, password will be generated as stub
- div(ng-if='#{blobStoreFactoryVia} !== "URL"')
+ div(ng-show='#{blobStoreFactoryVia} !== "URL"')
+ -var required = storeFactoryKind + ' === "CacheJdbcBlobStoreFactory" && ' + blobStoreFactoryVia + '!== "URL"'
+
.details-row
- +text('Data source bean name:', blobStoreFactory + '.dataSourceBean', 'blobDataSourceBean', 'true', 'Input bean name',
+ +text('Data source bean name:', blobStoreFactory + '.dataSourceBean', 'blobDataSourceBean', required, 'Input bean name',
'Name of the data source bean in Spring context')
.details-row
- +dialect('Database:', blobStoreFactory + '.dialect', 'blobDialect', 'Supported databases:', 'Generic database', 'Choose database')
+ +dialect('Database:', blobStoreFactory + '.dialect', 'blobDialect', required, 'Supported databases:', 'Generic database', 'Choose database')
.details-row
+checkbox('Init schema', blobStoreFactory + '.initSchema', 'initSchema',
'Flag indicating whether DB schema should be initialized by Ignite (default behaviour) or was explicitly created by user')
@@ -164,7 +169,7 @@ form.panel.panel-default(name=form novalidate)
'Query for delete entry from underlying database<br/>\
Default value: delete from ENTRIES where key=?')
- div(ng-if='#{storeFactoryKind} === "CacheHibernateBlobStoreFactory"')
+ div(ng-show='#{storeFactoryKind} === "CacheHibernateBlobStoreFactory"')
-var hibernateStoreFactory = storeFactory + '.CacheHibernateBlobStoreFactory'
-var hibernateProperties = hibernateStoreFactory + '.hibernateProperties'
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.directive.js
new file mode 100644
index 0000000..cc9d474
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './attributes.jade!';
+
+export default ['igniteConfigurationUserAttributes', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.jade
new file mode 100644
index 0000000..e6ffd50
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.jade
@@ -0,0 +1,58 @@
+//-
+ 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.
+
+include ../../../../../app/helpers/jade/mixins.jade
+
+-var form = 'attributes'
+-var model = 'backupItem'
+-var types = model + '.typeConfigurations'
+-var userAttributes = model + '.attributes'
+
+form.panel.panel-default(name=form novalidate)
+ .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
+ ignite-form-panel-chevron
+ label User attributes
+ ignite-form-field-tooltip.tipLabel
+ | Configuration for Ignite user attributes
+ ignite-form-revert
+ .panel-collapse(role='tabpanel' bs-collapse-target id=form)
+ .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
+ .col-sm-6
+ .settings-row
+ ignite-form-group(ng-model='#{userAttributes}' ng-form='#{form}')
+ ignite-form-field-label
+ | User attributes
+ ignite-form-group-tooltip
+ | User-defined attributes to add to node
+ ignite-form-group-add(ng-click='tableNewItem(attributesTbl)')
+ | Add user attribute
+ .group-content-empty(ng-if='!((#{userAttributes} && #{userAttributes}.length > 0) || tableNewItemActive(attributesTbl))')
+ | Not defined
+ .group-content(ng-show='(#{userAttributes} && #{userAttributes}.length > 0) || tableNewItemActive(attributesTbl)')
+ table.links-edit(id='attributes' st-table=userAttributes)
+ tbody
+ tr(ng-repeat='item in #{userAttributes}')
+ td.col-sm-12(ng-show='!tableEditing(attributesTbl, $index)')
+ a.labelFormField(ng-click='tableStartEdit(backupItem, attributesTbl, $index)') {{item.name}} = {{item.value}}
+ +btn-remove('tableRemove(backupItem, attributesTbl, $index)', '"Remove attribute"')
+ td.col-sm-12(ng-show='tableEditing(attributesTbl, $index)')
+ +table-pair-edit('attributesTbl', 'cur', 'Attribute name', 'Attribute value', false, false, '{{::attributesTbl.focusId + $index}}', '$index', '=')
+ tfoot(ng-show='tableNewItemActive(attributesTbl)')
+ tr
+ td.col-sm-12
+ +table-pair-edit('attributesTbl', 'new', 'Attribute name', 'Attribute value', false, false, '{{::attributesTbl.focusId + $index}}', '-1', '=')
+ .col-sm-6
+ +preview-xml-java(model, 'clusterUserAttributes')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade
index 37e7559..77caa36 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade
@@ -79,20 +79,20 @@ form.panel.panel-default(name=form novalidate)
| Add new type configuration.
.group-content-empty(ng-if='!#{types}.length')
| Not defined
- .group-content(ng-repeat='type in #{types} track by $index')
+ .group-content(ng-repeat='model in #{types} track by $index')
hr(ng-if='$index !== 0')
.settings-row
- +binary-types-java-class('Type name:', 'type.typeName', '"typeName" + $index', 'true', 'true', true, 'true', 'Type name')
+ +binary-types-java-class('Type name:', 'model.typeName', '"typeName" + $index', 'true', 'true', true, 'true', 'Type name')
.settings-row
- +binary-types-java-class('ID mapper:', 'type.idMapper', '"idMapper" + $index', 'true', 'false', false, 'false',
+ +binary-types-java-class('ID mapper:', 'model.idMapper', '"idMapper" + $index', 'true', 'false', false, 'false',
'Maps given from BinaryNameMapper type and filed name to ID that will be used by Ignite in internals<br/>\
Ignite never writes full strings for field or type/class names. Instead, for performance reasons, Ignite writes integer hash codes for type/class and field names. It has been tested that hash code conflicts for the type/class names or the field names within the same type are virtually non - existent and, to gain performance, it is safe to work with hash codes. For the cases when hash codes for different types or fields actually do collide #[b BinaryIdMapper] allows to override the automatically generated hash code IDs for the type and field names')
.settings-row
- +binary-types-java-class('Name mapper:', 'type.nameMapper', '"nameMapper" + $index', 'true', 'false', false, 'false', 'Maps type/class and field names to different names')
+ +binary-types-java-class('Name mapper:', 'model.nameMapper', '"nameMapper" + $index', 'true', 'false', false, 'false', 'Maps type/class and field names to different names')
.settings-row
- +binary-types-java-class('Serializer:', 'type.serializer', '"serializer" + $index', 'true', 'false', false, 'false', 'Class with custom serialization logic for binary object')
+ +binary-types-java-class('Serializer:', 'model.serializer', '"serializer" + $index', 'true', 'false', false, 'false', 'Class with custom serialization logic for binary object')
.settings-row
- +checkbox('Enum', 'type.enum', 'enum', 'Flag indicating that this type is the enum')
+ +checkbox('Enum', 'model.enum', 'enum', 'Flag indicating that this type is the enum')
.settings-row
+checkbox('Compact footer', model + '.compactFooter', 'compactFooter', 'When enabled, Ignite will not write fields metadata when serializing objects(this will increase serialization performance), because internally #[b BinaryMarshaller] already distribute metadata inside cluster')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.directive.js
new file mode 100644
index 0000000..624056e
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './collision.jade!';
+
+export default ['igniteConfigurationClustersCollision', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.jade
new file mode 100644
index 0000000..10e51f0
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.jade
@@ -0,0 +1,60 @@
+//-
+ 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.
+
+include ../../../../../app/helpers/jade/mixins.jade
+
+-var form = 'collision'
+-var model = 'backupItem.collision'
+
+form.panel.panel-default(name=form novalidate)
+ .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
+ ignite-form-panel-chevron
+ label Collision configuration
+ ignite-form-field-tooltip.tipLabel
+ | Configuration Collision SPI allows to regulate how grid jobs get executed when they arrive on a destination node for execution
+ ignite-form-revert
+ .panel-collapse(role='tabpanel' bs-collapse-target id=form)
+ .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
+ .col-sm-6
+ .settings-row
+ +dropdown('CollisionSpi:', model + '.kind', 'collision', 'true', '',
+ '[\
+ {value: "JobStealing", label: "Job stealing"},\
+ {value: "FifoQueue", label: "FIFO queue"},\
+ {value: "PriorityQueue", label: "Priority queue"},\
+ {value: "Custom", label: "Custom"},\
+ {value: "Noop", label: "Default"}\
+ ]',
+ 'Regulate how grid jobs get executed when they arrive on a destination node for execution\
+ <ul>\
+ <li>Job stealing - supports job stealing from over-utilized nodes to under-utilized nodes</li>\
+ <li>FIFO queue - jobs are ordered as they arrived</li>\
+ <li>Priority queue - jobs are first ordered by their priority</li>\
+ <li>Custom - custom CollisionSpi implementation</li>\
+ <li>Default - jobs are activated immediately on arrival to mapped node</li>\
+ </ul>')
+ .settings-row(ng-show='#{model}.kind !== "Noop"')
+ .panel-details
+ ignite-configuration-clusters-collision-job-stealing(
+ ng-show='#{model}.kind === "JobStealing"')
+ ignite-configuration-clusters-collision-fifo-queue(
+ ng-show='#{model}.kind === "FifoQueue"')
+ ignite-configuration-clusters-collision-priority-queue(
+ ng-show='#{model}.kind === "PriorityQueue"')
+ ignite-configuration-clusters-collision-custom(
+ ng-show='#{model}.kind === "Custom"')
+ .col-sm-6
+ +preview-xml-java(model, 'clusterCollision')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.directive.js
new file mode 100644
index 0000000..9a8d414
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './custom.jade!';
+
+export default ['igniteConfigurationClustersCollisionCustom', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.jade
new file mode 100644
index 0000000..b666f54
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.jade
@@ -0,0 +1,24 @@
+//-
+ 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.
+
+include ../../../../../../app/helpers/jade/mixins.jade
+
+-var model = 'backupItem.collision.Custom'
+-var required = 'backupItem.collision.kind === "Custom"'
+
+div
+ .details-row
+ +java-class('Class:', model + '.class', 'collisionCustom', 'true', required, 'CollisionSpi implementation class')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.directive.js
new file mode 100644
index 0000000..240c98a
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './fifo-queue.jade!';
+
+export default ['igniteConfigurationClustersCollisionFifoQueue', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.jade
new file mode 100644
index 0000000..9c9d315
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.jade
@@ -0,0 +1,28 @@
+//-
+ 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.
+
+include ../../../../../../app/helpers/jade/mixins.jade
+
+-var model = 'backupItem.collision.FifoQueue'
+-var form = 'collisionFifoQueue'
+
+div
+ .details-row
+ +number('Parallel jobs number:', model + '.parallelJobsNumber', 'fifoParallelJobsNumber', 'true', 'availableProcessors * 2', '1',
+ 'Number of jobs that can be executed in parallel')
+ .details-row
+ +number('Wait jobs number:', model + '.waitingJobsNumber', 'fifoWaitingJobsNumber', 'true', 'Integer.MAX_VALUE', '0',
+ 'Maximum number of jobs that are allowed to wait in waiting queue')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.directive.js
new file mode 100644
index 0000000..3c187d1
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './job-stealing.jade!';
+
+export default ['igniteConfigurationClustersCollisionJobStealing', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.jade
new file mode 100644
index 0000000..17392c0
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.jade
@@ -0,0 +1,64 @@
+//-
+ 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.
+
+include ../../../../../../app/helpers/jade/mixins.jade
+
+-var model = 'backupItem.collision.JobStealing'
+-var form = 'collisionJobStealing'
+-var stealingAttributes = model + '.stealingAttributes'
+
+div
+ .details-row
+ +number('Active jobs threshold:', model + '.activeJobsThreshold', 'jsActiveJobsThreshold', 'true', '95', '0',
+ 'Number of jobs that can be executed in parallel')
+ .details-row
+ +number('Wait jobs threshold:', model + '.waitJobsThreshold', 'jsWaitJobsThreshold', 'true', '0', '0',
+ 'Job count threshold at which this node will start stealing jobs from other nodes')
+ .details-row
+ +number('Message expire time:', model + '.messageExpireTime', 'jsMessageExpireTime', 'true', '1000', '1',
+ 'Message expire time in ms')
+ .details-row
+ +number('Maximum stealing attempts:', model + '.maximumStealingAttempts', 'jsMaximumStealingAttempts', 'true', '5', '1',
+ 'Maximum number of attempts to steal job by another node')
+ .details-row
+ +checkbox('Stealing enabled', model + '.stealingEnabled', 'jsStealingEnabled',
+ 'Node should attempt to steal jobs from other nodes')
+ .details-row
+ +java-class('External listener:', model + '.externalCollisionListener', 'jsExternalCollisionListener', 'true', 'false',
+ 'Listener to be set for notification of external collision events')
+ .details-row
+ ignite-form-group(ng-model='#{stealingAttributes}' ng-form='#{form}')
+ ignite-form-field-label
+ | Stealing attributes
+ ignite-form-group-tooltip
+ | Configuration parameter to enable stealing to/from only nodes that have these attributes set
+ ignite-form-group-add(ng-click='tableNewItem(stealingAttributesTbl)')
+ | Add stealing attribute
+ .group-content-empty(ng-if='!((#{stealingAttributes} && #{stealingAttributes}.length > 0) || tableNewItemActive(stealingAttributesTbl))')
+ | Not defined
+ .group-content(ng-show='(#{stealingAttributes} && #{stealingAttributes}.length > 0) || tableNewItemActive(stealingAttributesTbl)')
+ table.links-edit(id='attributes' st-table=stealingAttributes)
+ tbody
+ tr(ng-repeat='item in #{stealingAttributes}')
+ td.col-sm-12(ng-show='!tableEditing(stealingAttributesTbl, $index)')
+ a.labelFormField(ng-click='tableStartEdit(backupItem, stealingAttributesTbl, $index)') {{item.name}} = {{item.value}}
+ +btn-remove('tableRemove(backupItem, stealingAttributesTbl, $index)', '"Remove attribute"')
+ td.col-sm-12(ng-show='tableEditing(stealingAttributesTbl, $index)')
+ +table-pair-edit('stealingAttributesTbl', 'cur', 'Attribute name', 'Attribute value', false, false, '{{::stealingAttributesTbl.focusId + $index}}', '$index', '=')
+ tfoot(ng-show='tableNewItemActive(stealingAttributesTbl)')
+ tr
+ td.col-sm-12
+ +table-pair-edit('stealingAttributesTbl', 'new', 'Attribute name', 'Attribute value', false, false, '{{::stealingAttributesTbl.focusId + $index}}', '-1', '=')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.directive.js
new file mode 100644
index 0000000..e7e8798
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './priority-queue.jade!';
+
+export default ['igniteConfigurationClustersCollisionPriorityQueue', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.jade
new file mode 100644
index 0000000..208c12b
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.jade
@@ -0,0 +1,43 @@
+//-
+ 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.
+
+include ../../../../../../app/helpers/jade/mixins.jade
+
+-var model = 'backupItem.collision.PriorityQueue'
+-var form = 'collisionPriorityQueue'
+
+div
+ .details-row
+ +number('Parallel jobs number:', model + '.parallelJobsNumber', 'priorityParallelJobsNumber', 'true', 'availableProcessors * 2', '1',
+ 'Number of jobs that can be executed in parallel')
+ .details-row
+ +number('Waiting jobs number:', model + '.waitingJobsNumber', 'priorityWaitingJobsNumber', 'true', 'Integer.MAX_VALUE', '0',
+ 'Maximum number of jobs that are allowed to wait in waiting queue')
+ .details-row
+ +text('Priority attribute key:', model + '.priorityAttributeKey', 'priorityPriorityAttributeKey', 'false', 'grid.task.priority',
+ 'Task priority attribute key')
+ .details-row
+ +text('Job priority attribute key:', model + '.jobPriorityAttributeKey', 'priorityJobPriorityAttributeKey', 'false', 'grid.job.priority',
+ 'Job priority attribute key')
+ .details-row
+ +number('Default priority:', model + '.defaultPriority', 'priorityDefaultPriority', 'true', '0', '0',
+ 'Default priority to use if a job does not have priority attribute set')
+ .details-row
+ +number('Starvation increment:', model + '.starvationIncrement', 'priorityStarvationIncrement', 'true', '1', '0',
+ 'Value to increment job priority by every time a lower priority job gets behind a higher priority job')
+ .details-row
+ +checkbox('Starvation prevention enabled', model + '.starvationPreventionEnabled', 'priorityStarvationPreventionEnabled',
+ 'Job starvation prevention is enabled')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade
index 5d8ed10..7073f27 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade
@@ -41,7 +41,7 @@ form.panel.panel-default(name=form novalidate)
.settings-row
+java-class('Communication listener:', communication + '.listener', 'comListener', 'true', 'false', 'Communication listener')
.settings-row
- +text-ip-address('Local IP address:', communication + '.localAddress', 'comLocalAddress', 'true', '228.1.2.4', 'Local host address for socket binding')
+ +text-ip-address('Local IP address:', communication + '.localAddress', 'comLocalAddress', 'true', '0.0.0.0', 'Local host address for socket binding')
.settings-row
+number-min-max('Local port:', communication + '.localPort', 'comLocalPort', 'true', '47100', '1024', '65535', 'Local port for socket binding')
.settings-row
@@ -51,12 +51,6 @@ form.panel.panel-default(name=form novalidate)
'Local port to accept shared memory connections<br/>\
If set to #[b -1] shared memory communication will be disabled')
.settings-row
- +checkbox('Direct buffer', communication + '.directBuffer', 'directBuffer',
- 'If value is true, then SPI will use ByteBuffer.allocateDirect(int) call<br/>\
- Otherwise, SPI will use ByteBuffer.allocate(int) call.')
- .settings-row
- +checkbox('Direct send buffer', communication + '.directSendBuffer', 'directSendBuffer', 'Flag defining whether direct send buffer should be used')
- .settings-row
+number('Idle connection timeout:', communication + '.idleConnectionTimeout', 'idleConnectionTimeout', 'true', '30000', '1',
'Maximum idle connection timeout upon which a connection to client will be closed')
.settings-row
@@ -71,20 +65,32 @@ form.panel.panel-default(name=form novalidate)
.settings-row
+number('Socket receive buffer:', communication + '.socketReceiveBuffer', 'socketReceiveBuffer', 'true', '32768', '0', 'Receive buffer size for sockets created or accepted by this SPI')
.settings-row
- +number('Message queue limit:', communication + '.messageQueueLimit', 'messageQueueLimit', 'true', '1024', '0', 'Message queue limit for incoming and outgoing messages')
- .settings-row
+number('Slow client queue limit:', communication + '.slowClientQueueLimit', 'slowClientQueueLimit', 'true', '0', '0', 'Slow client queue limit')
.settings-row
- +checkbox('TCP_NODELAY option', communication + '.tcpNoDelay', 'tcpNoDelay', 'Value for TCP_NODELAY socket option')
- .settings-row
+number('Ack send threshold:', communication + '.ackSendThreshold', 'ackSendThreshold', 'true', '16', '1', 'Number of received messages per connection to node after which acknowledgment message is sent')
.settings-row
- +number('Unacknowledged messages:', communication + '.unacknowledgedMessagesBufferSize', 'unacknowledgedMessagesBufferSize', 'true', '0', '0', 'Maximum number of stored unacknowledged messages per connection to node')
+ +number('Message queue limit:', communication + '.messageQueueLimit', 'messageQueueLimit', 'true', '1024', '0', 'Message queue limit for incoming and outgoing messages')
+ .settings-row
+ +number('Unacknowledged messages:', communication + '.unacknowledgedMessagesBufferSize', 'unacknowledgedMessagesBufferSize', 'true', '0', '0',
+ 'Maximum number of stored unacknowledged messages per connection to node<br/>\
+ If specified non zero value it should be\
+ <ul>\
+ <li>At least ack send threshold * 5</li>\
+ <li>At least message queue limit * 5</li>\
+ </ul>')
.settings-row
+number('Socket write timeout:', communication + '.socketWriteTimeout', 'socketWriteTimeout', 'true', '2000', '0', 'Socket write timeout')
.settings-row
+number('Selectors count:', communication + '.selectorsCount', 'selectorsCount', 'true', 'min(4, availableProcessors)', '1', 'Count of selectors te be used in TCP server')
.settings-row
+java-class('Address resolver:', communication + '.addressResolver', 'comAddressResolver', 'true', 'false', 'Address resolver')
+ .settings-row
+ +checkbox('Direct buffer', communication + '.directBuffer', 'directBuffer',
+ 'If value is true, then SPI will use ByteBuffer.allocateDirect(int) call<br/>\
+ Otherwise, SPI will use ByteBuffer.allocate(int) call.')
+ .settings-row
+ +checkbox('Direct send buffer', communication + '.directSendBuffer', 'directSendBuffer', 'Flag defining whether direct send buffer should be used')
+ .settings-row
+ +checkbox('TCP_NODELAY option', communication + '.tcpNoDelay', 'tcpNoDelay', 'Value for TCP_NODELAY socket option')
.col-sm-6
+preview-xml-java(model, 'clusterCommunication')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.jade
index b2f1fb9..98e7f61 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.jade
@@ -77,18 +77,25 @@ form.panel.panel-default(name='deployment' novalidate)
-var javaKeywords = 'form[ngModelName].$error.javaKeywords'
-var save = exclude + '[$index] = ' + field
- ignite-form-field(ng-repeat='model in #{exclude} track by $index' type='internal' name='Package name')
- .indexField
- | {{ $index+1 }})
- +table-remove-button(exclude, 'Remove package name')
- span(ng-hide='field.edit')
- a.labelFormField(ng-click='#{enabled} && (field.edit = true)') {{ model }}
- span(ng-if='field.edit' ng-init='#{field} = model')
- +table-java-package-field(field, exclude, valid, save, false)
- +table-save-button(valid, save, false)
- +unique-feedback(unique, uniqueTip)
- +error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
- +error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
+ div(ng-show=enabled)
+ ignite-form-field(ng-repeat='model in #{exclude} track by $index' type='internal' name='Package name')
+ .indexField
+ | {{ $index+1 }})
+ +table-remove-button(exclude, 'Remove package name')
+ span(ng-hide='field.edit')
+ a.labelFormField(ng-click='#{enabled} && (field.edit = true)') {{ model }}
+ span(ng-if='field.edit' ng-init='#{field} = model')
+ +table-java-package-field(field, exclude, valid, save, false)
+ +table-save-button(valid, save, false)
+ +unique-feedback(unique, uniqueTip)
+ +error-feedback(javaPackageName, 'javaPackageName', tipJavaPackageName)
+ +error-feedback(javaKeywords, 'javaKeywords', tipJavaKeyWord)
+ div(ng-hide=enabled)
+ ignite-form-field(ng-repeat='model in #{exclude} track by $index' type='internal' name='Package name')
+ .labelFormField.labelField
+ | {{ $index+1 }})
+ span.labelFormField
+ | {{ model }}
.group-content(ng-repeat='field in group.add')
-var field = 'new'
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/discovery.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/discovery.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/discovery.jade
index d1ee763..15b7065 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/discovery.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/discovery.jade
@@ -47,7 +47,9 @@ form.panel.panel-default(name=form novalidate)
.settings-row
+number('Network timeout:', model + '.networkTimeout', 'discoNetworkTimeout', 'true', '5000', '1', 'Network timeout')
.settings-row
- +number('Join timeout:', model + '.joinTimeout', 'joinTimeout', 'true', '0', '0', 'Join timeout')
+ +number('Join timeout:', model + '.joinTimeout', 'joinTimeout', 'true', '0', '0',
+ 'Join timeout<br/>' +
+ '0 means wait forever')
.settings-row
+number('Thread priority:', model + '.threadPriority', 'threadPriority', 'true', '10', '1', 'Thread priority for all threads started by SPI')
.settings-row
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.directive.js
new file mode 100644
index 0000000..98335a7
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './failover.jade!';
+
+export default ['igniteConfigurationClustersFailover', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.jade
new file mode 100644
index 0000000..a973aeb
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/failover.jade
@@ -0,0 +1,82 @@
+//-
+ 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.
+
+include ../../../../../app/helpers/jade/mixins.jade
+
+-var model = 'backupItem'
+-var form = 'failoverSpi'
+-var failoverSpi = model + '.failoverSpi'
+-var failoverCustom = 'failover.kind === "Custom"'
+
+form.panel.panel-default(name=form novalidate)
+ .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
+ ignite-form-panel-chevron
+ label Failover configuration
+ ignite-form-field-tooltip.tipLabel
+ | Failover SPI provides ability to supply custom logic for handling failed execution of a grid job
+ ignite-form-revert
+ .panel-collapse(role='tabpanel' bs-collapse-target id=form)
+ .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
+ .col-sm-6
+ .settings-row(ng-init='failoverSpiTbl={type: "failoverSpi", model: "failoverSpi", focusId: "kind", ui: "failover-table"}')
+ ignite-form-group(ng-model='#{failoverSpi}' ng-form=form)
+ ignite-form-field-label
+ | Failover SPI configurations
+ ignite-form-group-tooltip
+ | Failover SPI configurations
+ ignite-form-group-add(ng-click='tableNewItem(failoverSpiTbl)')
+ | Add failover SPI
+ .group-content-empty(ng-if='!(#{failoverSpi} && #{failoverSpi}.length > 0)')
+ | Not defined
+ .group-content(ng-show='#{failoverSpi} && #{failoverSpi}.length > 0' ng-repeat='failover in #{failoverSpi} track by $index')
+ hr(ng-if='$index != 0')
+ .settings-row
+ ignite-form-field
+ ignite-form-field-label
+ | Failover SPI
+ i.tipField.fa.fa-remove(bs-tooltip='"Remove Failover SPI"' ng-click='removeFailoverConfiguration($index)')
+ ignite-form-field-tooltip
+ | Provides ability to supply custom logic for handling failed execution of a grid job
+ ul
+ li Job stealing - Supports job stealing from over-utilized nodes to under-utilized nodes
+ li Never - Jobs are ordered as they arrived
+ li Always - Jobs are first ordered by their priority
+ li Custom - Jobs are activated immediately on arrival to mapped node
+ li Default - Default FailoverSpi implementation
+ ignite-form-field-dropdown(
+ data-id='failoverKind{{$index}}'
+ data-name='failoverKind{{$index}}'
+ data-options='[\
+ {value: "JobStealing", label: "Job stealing"},\
+ {value: "Never", label: "Never"},\
+ {value: "Always", label: "Always"},\
+ {value: "Custom", label: "Custom"}\
+ ]'
+ data-ng-model='failover.kind'
+ data-ng-required='true'
+ data-placeholder='Choose Failover SPI'
+ )
+ .settings-row(ng-show='failover.kind === "JobStealing"')
+ +number('Maximum failover attempts:', 'failover.JobStealing.maximumFailoverAttempts', 'jsMaximumFailoverAttempts{{$index}}', 'true', '5', '0',
+ 'Maximum number of attempts to execute a failed job on another node')
+ .settings-row(ng-show='failover.kind === "Always"')
+ +number('Maximum failover attempts:', 'failover.Always.maximumFailoverAttempts', 'alwaysMaximumFailoverAttempts{{$index}}', 'true', '5', '0',
+ 'Maximum number of attempts to execute a failed job on another node')
+ .settings-row(ng-show=failoverCustom)
+ +java-class('SPI implementation', 'failover.Custom.class', 'failoverSpiClass{{$index}}', 'true', failoverCustom,
+ 'Custom FailoverSpi implementation class name.')
+ .col-sm-6
+ +preview-xml-java(model, 'clusterFailover')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general.jade
index aea42d6..2ed0db0 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general.jade
@@ -30,9 +30,7 @@ form.panel.panel-default(name=form novalidate)
.settings-row
+text('Name:', model + '.name', 'clusterName', 'true', 'Input name', 'Grid name')
.settings-row
- +dropdown-multiple('<span>Caches:</span><a ui-sref="base.configuration.caches({id: ' + model + '._id})"> (add)</a>',
- model + '.caches', 'caches', 'true', 'Choose caches', 'No caches configured', 'caches',
- 'Select caches to start in cluster or add a new cache')
+ +caches(model, 'Select caches to start in cluster or add a new cache')
.settings-row
+text-ip-address('Local host:', model + '.localHost', 'localHost', 'true', '0.0.0.0', 'System-wide local address or host for all Ignite components to bind to')
.settings-row
@@ -51,20 +49,20 @@ form.panel.panel-default(name=form novalidate)
.settings-row
.panel-details
ignite-configuration-clusters-general-discovery-cloud(
- ng-if='#{model}.discovery.kind === "Cloud"')
+ ng-show='#{model}.discovery.kind === "Cloud"')
ignite-configuration-clusters-general-discovery-google(
- ng-if='#{model}.discovery.kind === "GoogleStorage"')
+ ng-show='#{model}.discovery.kind === "GoogleStorage"')
ignite-configuration-clusters-general-discovery-jdbc(
- ng-if='#{model}.discovery.kind === "Jdbc"')
+ ng-show='#{model}.discovery.kind === "Jdbc"')
ignite-configuration-clusters-general-discovery-multicast(
- ng-if='#{model}.discovery.kind === "Multicast"')
+ ng-show='#{model}.discovery.kind === "Multicast"')
ignite-configuration-clusters-general-discovery-s3(
- ng-if='#{model}.discovery.kind === "S3"')
+ ng-show='#{model}.discovery.kind === "S3"')
ignite-configuration-clusters-general-discovery-shared(
- ng-if='#{model}.discovery.kind === "SharedFs"')
+ ng-show='#{model}.discovery.kind === "SharedFs"')
ignite-configuration-clusters-general-discovery-vm(
- ng-if='#{model}.discovery.kind === "Vm"')
+ ng-show='#{model}.discovery.kind === "Vm"')
ignite-configuration-clusters-general-discovery-zookeeper(
- ng-if='#{model}.discovery.kind === "ZooKeeper"')
+ ng-show='#{model}.discovery.kind === "ZooKeeper"')
.col-sm-6
+preview-xml-java(model, 'clusterCaches', 'caches')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
index 1f5ef16..3a6565d 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/cloud.jade
@@ -16,6 +16,8 @@
include ../../../../../../../app/helpers/jade/mixins.jade
+-var discoveryKind = 'Cloud'
+-var required = 'backupItem.discovery.kind == "' + discoveryKind + '"'
-var model = 'backupItem.discovery.Cloud'
-var regions = model + '.regions'
-var zones = model + '.zones'
@@ -32,11 +34,11 @@ div
'Path to a credential that is used during authentication on the cloud<br/>\
Access key or private key should be stored in a plain or PEM file without a passphrase')
.details-row
- +text('Identity:', model + '.identity', 'identity', 'true', 'Input identity',
+ +text('Identity:', model + '.identity', discoveryKind + 'Identity', required, 'Input identity',
'Identity that is used as a user name during a connection to the cloud<br/>\
Depending on a cloud platform it can be an email address, user name, etc')
.details-row
- +text('Provider:', model + '.provider', 'provider', 'true', 'Input provider', 'Cloud provider to use')
+ +text('Provider:', model + '.provider', discoveryKind + 'Provider', required, 'Input provider', 'Cloud provider to use')
.details-row
ignite-form-group(ng-model=regions ng-form=formRegions)
-var uniqueTip = 'Such region already exists!'
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/google.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/google.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/google.jade
index 54e4bb5..2a651df 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/google.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/google.jade
@@ -16,20 +16,23 @@
include ../../../../../../../app/helpers/jade/mixins.jade
+
+-var discoveryKind = 'GoogleStorage'
+-var required = 'backupItem.discovery.kind == "' + discoveryKind + '"'
-var model = 'backupItem.discovery.GoogleStorage'
div
.details-row
- +text('Project name:', model + '.projectName', 'projectName', 'true', 'Input project name', '' +
+ +text('Project name:', model + '.projectName', discoveryKind + 'ProjectName', required, 'Input project name', '' +
'Google Cloud Platforms project name<br/>\
Usually this is an auto generated project number(ex. 208709979073) that can be found in "Overview" section of Google Developer Console')
.details-row
- +text('Bucket name:', model + '.bucketName', 'bucketName', 'true', 'Input bucket name',
+ +text('Bucket name:', model + '.bucketName', discoveryKind + 'BucketName', required, 'Input bucket name',
'Google Cloud Storage bucket name<br/>\
If the bucket does not exist Ignite will automatically create it<br/>\
However the name must be unique across whole Google Cloud Storage and Service Account Id must be authorized to perform this operation')
.details-row
- +text('Private key path:', model + '.serviceAccountP12FilePath', 'serviceAccountP12FilePath', 'true', 'Input private key path',
+ +text('Private key path:', model + '.serviceAccountP12FilePath', discoveryKind + 'ServiceAccountP12FilePath', required, 'Input private key path',
'Full path to the private key in PKCS12 format of the Service Account')
.details-row
- +text('Account id:', model + '.serviceAccountId', 'serviceAccountId', 'true', 'Input account id', 'Service account ID (typically an e-mail address)')
+ +text('Account id:', model + '.serviceAccountId', discoveryKind + 'ServiceAccountId', required, 'Input account id', 'Service account ID (typically an e-mail address)')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/s3.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/s3.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/s3.jade
index d693709..c2e29be 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/s3.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/s3.jade
@@ -16,10 +16,12 @@
include ../../../../../../../app/helpers/jade/mixins.jade
+-var discoveryKind = 'S3'
+-var required = 'backupItem.discovery.kind == "' + discoveryKind + '"'
-var model = 'backupItem.discovery.S3'
div
.details-row
- +text('Bucket name:', model + '.bucketName', 'bucketName', 'true', 'Input bucket name', 'Bucket name for IP finder')
+ +text('Bucket name:', model + '.bucketName', discoveryKind + 'BucketName', required, 'Input bucket name', 'Bucket name for IP finder')
.details-row
label Note, AWS credentials will be generated as stub
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
index ad3dbea..72f0678 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper.jade
@@ -16,6 +16,8 @@
include ../../../../../../../app/helpers/jade/mixins.jade
+-var discoveryKind = 'ZooKeeper'
+-var required = 'backupItem.discovery.kind == "' + discoveryKind + '"'
-var model = 'backupItem.discovery.ZooKeeper'
div
@@ -25,7 +27,7 @@ div
By default generates curator of org.apache.curator. framework.imps.CuratorFrameworkImpl\
class with configured connect string, retry policy, and default session and connection timeouts')
.details-row
- +text('Connect string:', model + '.zkConnectionString', 'zkConnectionString', 'true', 'host:port[chroot][,host:port[chroot]]',
+ +text('Connect string:', model + '.zkConnectionString', ZooKeeper + 'ConnectionString', required, 'host:port[chroot][,host:port[chroot]]',
'When "IGNITE_ZK_CONNECTION_STRING" system property is not configured this property will be used')
.details-row
+dropdown('Retry policy:', model + '.retryPolicy.kind', 'retryPolicy', 'true', 'Default',
@@ -50,16 +52,15 @@ div
<li>Custom - custom retry policy implementation</li>\
<li>Default - exponential backoff retry policy with configured base sleep time equal to 1000ms and max retry count equal to 10</li>\
</ul>')
- .details-row(ng-if='#{model}.retryPolicy.kind')
+ .details-row(ng-show='#{model}.retryPolicy.kind')
.panel-details
- div(ng-switch='#{model}.retryPolicy.kind')
- ignite-configuration-clusters-general-discovery-zookeeper-exponential(ng-switch-when='ExponentialBackoff')
- ignite-configuration-clusters-general-discovery-zookeeper-bounded-exponential(ng-switch-when='BoundedExponentialBackoff')
- ignite-configuration-clusters-general-discovery-zookeeper-until-elapsed(ng-switch-when='UntilElapsed')
- ignite-configuration-clusters-general-discovery-zookeeper-n-times(ng-switch-when='NTimes')
- ignite-configuration-clusters-general-discovery-zookeeper-one-time(ng-switch-when='OneTime')
- ignite-configuration-clusters-general-discovery-zookeeper-forever(ng-switch-when='Forever')
- ignite-configuration-clusters-general-discovery-zookeeper-custom(ng-switch-when='Custom')
+ ignite-configuration-clusters-general-discovery-zookeeper-exponential(ng-show='#{model}.retryPolicy.kind === "ExponentialBackoff"')
+ ignite-configuration-clusters-general-discovery-zookeeper-bounded-exponential(ng-show='#{model}.retryPolicy.kind === "BoundedExponentialBackoff"')
+ ignite-configuration-clusters-general-discovery-zookeeper-until-elapsed(ng-show='#{model}.retryPolicy.kind === "UntilElapsed"')
+ ignite-configuration-clusters-general-discovery-zookeeper-n-times(ng-show='#{model}.retryPolicy.kind === "NTimes"')
+ ignite-configuration-clusters-general-discovery-zookeeper-one-time(ng-show='#{model}.retryPolicy.kind === "OneTime"')
+ ignite-configuration-clusters-general-discovery-zookeeper-forever(ng-show='#{model}.retryPolicy.kind === "Forever"')
+ ignite-configuration-clusters-general-discovery-zookeeper-custom(ng-show='#{model}.retryPolicy.kind === "Custom"')
.details-row
+text('Base path:', model + '.basePath', 'basePath', 'false', '/services', 'Base path for service registration')
.details-row
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
index f8f78f8..6f6e035 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/bounded-exponential-backoff.jade
@@ -20,8 +20,8 @@ include ../../../../../../../../../app/helpers/jade/mixins.jade
div
.details-row
- +number('Base interval:', model + '.baseSleepTimeMs', 'baseSleepTimeMs', 'true', '1000', '0', 'Initial amount of time in ms to wait between retries')
+ +number('Base interval:', model + '.baseSleepTimeMs', 'beBaseSleepTimeMs', 'true', '1000', '0', 'Initial amount of time in ms to wait between retries')
.details-row
- +number('Max interval:', model + '.maxSleepTimeMs', 'maxSleepTimeMs', 'true', 'Integer.MAX_VALUE', '0', 'Max time in ms to sleep on each retry')
+ +number('Max interval:', model + '.maxSleepTimeMs', 'beMaxSleepTimeMs', 'true', 'Integer.MAX_VALUE', '0', 'Max time in ms to sleep on each retry')
.details-row
- +number-min-max('Max retries:', model + '.maxRetries', 'maxRetries', 'true', '10', '0', '29', 'Max number of times to retry')
+ +number-min-max('Max retries:', model + '.maxRetries', 'beMaxRetries', 'true', '10', '0', '29', 'Max number of times to retry')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/custom.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/custom.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/custom.jade
index 8c55ad8..6e631ab 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/custom.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/custom.jade
@@ -16,7 +16,9 @@
include ../../../../../../../../../app/helpers/jade/mixins.jade
--var model = 'backupItem.discovery.ZooKeeper.retryPolicy.Custom'
+-var model = 'backupItem.discovery.ZooKeeper.retryPolicy'
+-var retry = model + '.Custom'
+-var required = 'backupItem.discovery.kind === "ZooKeeper" && backupItem.discovery.ZooKeeper.retryPolicy.kind === "Custom"'
.details-row
- +java-class('Class name:', model + '.className', 'className', 'true', 'true', 'Custom retry policy implementation class name')
+ +java-class('Class name:', retry + '.className', 'customClassName', 'true', required, 'Custom retry policy implementation class name')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
index b039335..9be2a71 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/exponential-backoff.jade
@@ -20,8 +20,8 @@ include ../../../../../../../../../app/helpers/jade/mixins.jade
div
.details-row
- +number('Base interval:', model + '.baseSleepTimeMs', 'baseSleepTimeMs', 'true', '1000', '0', 'Initial amount of time in ms to wait between retries')
+ +number('Base interval:', model + '.baseSleepTimeMs', 'expBaseSleepTimeMs', 'true', '1000', '0', 'Initial amount of time in ms to wait between retries')
.details-row
- +number-min-max('Max retries:', model + '.maxRetries', 'maxRetries', 'true', '10', '0', '29', 'Max number of times to retry')
+ +number-min-max('Max retries:', model + '.maxRetries', 'expMaxRetries', 'true', '10', '0', '29', 'Max number of times to retry')
.details-row
- +number('Max interval:', model + '.maxSleepMs', 'maxSleepMs', 'true', 'Integer.MAX_VALUE', '0', 'Max time in ms to sleep on each retry')
+ +number('Max interval:', model + '.maxSleepMs', 'expMaxSleepMs', 'true', 'Integer.MAX_VALUE', '0', 'Max time in ms to sleep on each retry')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
index 1d09caa..f4045eb 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade
@@ -19,4 +19,4 @@ include ../../../../../../../../../app/helpers/jade/mixins.jade
-var model = 'backupItem.discovery.ZooKeeper.retryPolicy.Forever'
.details-row
- +number('Interval:', model + '.retryIntervalMs', 'retryIntervalMs', 'true', '1000', '0', 'Time in ms between retry attempts')
+ +number('Interval:', model + '.retryIntervalMs', 'feRetryIntervalMs', 'true', '1000', '0', 'Time in ms between retry attempts')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
index 0b70f59..a4083b7 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade
@@ -22,4 +22,4 @@ div
.details-row
+number('Retries:', model + '.n', 'n', 'true', '10', '0', 'Number of times to retry')
.details-row
- +number('Interval:', model + '.sleepMsBetweenRetries', 'sleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts')
+ +number('Interval:', model + '.sleepMsBetweenRetries', 'ntSleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
index 8b9fa18..f259630 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade
@@ -20,4 +20,4 @@ include ../../../../../../../../../app/helpers/jade/mixins.jade
div
.details-row
- +number('Interval:', model + '.sleepMsBetweenRetry', 'sleepMsBetweenRetry', 'true', '1000', '0', 'Time in ms to retry attempt')
+ +number('Interval:', model + '.sleepMsBetweenRetry', 'oneSleepMsBetweenRetry', 'true', '1000', '0', 'Time in ms to retry attempt')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
index ad9f3c1..24a884e 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade
@@ -20,6 +20,6 @@ include ../../../../../../../../../app/helpers/jade/mixins.jade
div
.details-row
- +number('Total time:', model + '.maxElapsedTimeMs', 'maxElapsedTimeMs', 'true', '60000', '0', 'Total time in ms for execution of retry attempt')
+ +number('Total time:', model + '.maxElapsedTimeMs', 'ueMaxElapsedTimeMs', 'true', '60000', '0', 'Total time in ms for execution of retry attempt')
.details-row
- +number('Interval:', model + '.sleepMsBetweenRetries', 'sleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts')
+ +number('Interval:', model + '.sleepMsBetweenRetries', 'ueSleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade
index c76c66d..de20dfe 100644
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade
@@ -30,8 +30,8 @@ form.panel.panel-default(name=form novalidate)
.panel-body(ng-if='ui.isPanelLoaded("#{form}")')
.col-sm-6
.settings-row
- +dropdown-multiple('<span>IGFS:</span><a ui-sref="base.configuration.igfs({id: ' + model + '._id})"> (add)</a>',
+ +dropdown-multiple('<span>IGFS:</span><a ui-sref="base.configuration.igfs({linkId: linkId()})"> (add)</a>',
model + '.igfss', 'igfss', 'true', 'Choose IGFS', 'No IGFS configured', 'igfss',
'Select IGFS to start in cluster or add a new IGFS')
.col-sm-6
- +preview-xml-java(model, 'igfss')
+ +preview-xml-java(model, 'igfss', 'igfss')
http://git-wip-us.apache.org/repos/asf/ignite/blob/541e17d0/modules/web-console/src/main/js/app/modules/states/configuration/clusters/logger.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/logger.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/logger.directive.js
new file mode 100644
index 0000000..3df231f
--- /dev/null
+++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/logger.directive.js
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+import template from './logger.jade!';
+
+export default ['igniteConfigurationClustersLogger', [() => {
+ return {
+ scope: true,
+ restrict: 'E',
+ template,
+ replace: true
+ };
+}]];