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/09/09 03:26:45 UTC

[17/52] ignite git commit: Web Console beta-3.

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 6361e28..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/caches/store.jade
+++ /dev/null
@@ -1,271 +0,0 @@
-//-
-    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 = 'store'
--var model = 'backupItem'
-
-//- Mixin for DB dialect.
-mixin dialect(lbl, model, name, required, tipTitle, genericDialectName, placeholder)
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | #{tipTitle}
-            ul: li #{genericDialectName}
-                li Oracle database
-                li IBM DB2
-                li Microsoft SQL Server
-                li MySQL
-                li PostgreSQL
-                li H2 database
-        ignite-form-field-dropdown(
-            data-id=name
-            data-name=name
-            data-options='[\
-                {value: "Generic", label: "#{genericDialectName}"},\
-                {value: "Oracle", label: "Oracle"},\
-                {value: "DB2", label: "IBM DB2"},\
-                {value: "SQLServer", label: "Microsoft SQL Server"},\
-                {value: "MySQL", label: "MySQL"},\
-                {value: "PostgreSQL", label: "PostgreSQL"},\
-                {value: "H2", label: "H2 database"}\
-            ]'
-            data-ng-model=model
-            data-ng-required=required
-            data-placeholder=placeholder
-        )
-
-mixin hibernateField(items, field, valid, save, newItem)
-    -var reset = newItem ? 'group.add = []' : 'field.edit = false'
-
-    -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)'
-    -var onEnter = valid + ' && (' + save + '); ' + valid + ' && ' + resetOnEnter + ';'
-
-    -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false'
-    -var onBlur = valid + ' && ( ' + save + '); ' + resetOnBlur + ';'
-
-    ignite-form-field-input-text(
-        data-name='#{field}{{ $index || "" }}'
-        data-ng-model=field
-        data-ng-required='true'
-        data-placeholder='key=value'
-        data-ignite-property-unique=items
-        data-ignite-property-value-specified
-        data-ignite-form-field-input-autofocus='true'
-        ignite-on-enter=onEnter
-        ignite-on-escape=reset
-        ng-blur=onBlur
-    )
-        block
-
-form.panel.panel-default(name=form novalidate)
-    .panel-heading(bs-collapse-toggle='' ng-click='ui.loadPanel("#{form}")')
-        ignite-form-panel-chevron
-        label Store
-        ignite-form-field-tooltip.tipLabel
-            | Cache store settings
-        ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
-        .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
-            .col-sm-6
-                .settings-row
-                    -var storeFactory = model + '.cacheStoreFactory';
-                    -var storeFactoryKind = storeFactory + '.kind';
-
-                    +dropdown('Store factory:', storeFactoryKind, 'cacheStoreFactory', 'true', 'Not set',
-                        '[\
-                            {value: "CacheJdbcPojoStoreFactory", label: "JDBC POJO store factory"},\
-                            {value: "CacheJdbcBlobStoreFactory", label: "JDBC BLOB store factory"},\
-                            {value: "CacheHibernateBlobStoreFactory", label: "Hibernate BLOB store factory"},\
-                            {value: undefined, label: "Not set"}\
-                        ]',
-                        'Factory for persistent storage for cache data'
-                    )
-                    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-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', required, 'Input bean name',
-                                        'Name of the data source bean in Spring context')
-                                .details-row
-                                    +dialect('Dialect:', pojoStoreFactory + '.dialect', 'pojoDialect', required,
-                                        'Dialect of SQL implemented by a particular RDBMS:', 'Generic JDBC dialect',
-                                        'Choose JDBC dialect')
-                            div(ng-show='#{storeFactoryKind} === "CacheJdbcBlobStoreFactory"')
-                                -var blobStoreFactory = storeFactory + '.CacheJdbcBlobStoreFactory'
-                                -var blobStoreFactoryVia = blobStoreFactory + '.connectVia'
-
-                                .details-row
-                                    +dropdown('Connect via:', blobStoreFactoryVia, 'connectVia', 'true', 'Choose connection method',
-                                        '[\
-                                            {value: "URL", label: "URL"},\
-                                            {value: "DataSource", label: "Data source"}\
-                                        ]',
-                                        'You can connect to database via:\
-                                        <ul>\
-                                            <li>JDBC URL, for example: jdbc:h2:mem:myDatabase</li>\
-                                            <li>Configured data source</li>\
-                                        </ul>')
-                                div(ng-show='#{blobStoreFactoryVia} === "URL"')
-                                    -var required = storeFactoryKind + ' === "CacheJdbcBlobStoreFactory" && ' + blobStoreFactoryVia + ' === "URL"'
-
-                                    .details-row
-                                        +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', required, 'Input user name', 'User name for database access')
-                                    .details-row
-                                        label Note, password will be generated as stub
-                                div(ng-show='#{blobStoreFactoryVia} !== "URL"')
-                                    -var required = storeFactoryKind + ' === "CacheJdbcBlobStoreFactory" && ' + blobStoreFactoryVia + '!== "URL"'
-
-                                    .details-row
-                                        +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', 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')
-                                .details-row
-                                    +text('Create query:', blobStoreFactory + '.createTableQuery', 'createTableQuery', 'false', 'SQL for table creation',
-                                        'Query for table creation in underlying database<br/>\
-                                        Default value: create table if not exists ENTRIES (key binary primary key, val binary)')
-                                .details-row
-                                    +text('Load query:', blobStoreFactory + '.loadQuery', 'loadQuery', 'false', 'SQL for load entry',
-                                        'Query for entry load from underlying database<br/>\
-                                        Default value: select * from ENTRIES where key=?')
-                                .details-row
-                                    +text('Insert query:', blobStoreFactory + '.insertQuery', 'insertQuery', 'false', 'SQL for insert entry',
-                                        'Query for insert entry into underlying database<br/>\
-                                        Default value: insert into ENTRIES (key, val) values (?, ?)')
-                                .details-row
-                                    +text('Update query:', blobStoreFactory + '.updateQuery', 'updateQuery', 'false', 'SQL for update entry',
-                                        'Query for update entry in underlying database<br/>\
-                                        Default value: update ENTRIES set val=? where key=?')
-                                .details-row
-                                    +text('Delete query:', blobStoreFactory + '.deleteQuery', 'deleteQuery', 'false', 'SQL for delete entry',
-                                        'Query for delete entry from underlying database<br/>\
-                                        Default value: delete from ENTRIES where key=?')
-
-                            div(ng-show='#{storeFactoryKind} === "CacheHibernateBlobStoreFactory"')
-                                -var hibernateStoreFactory = storeFactory + '.CacheHibernateBlobStoreFactory'
-                                -var hibernateProperties = hibernateStoreFactory + '.hibernateProperties'
-
-                                .details-row
-                                    ignite-form-group(ng-model=hibernateProperties ng-form=form)
-                                        ignite-form-field-label
-                                            | Hibernate properties
-                                        ignite-form-group-tooltip
-                                            | List of Hibernate properties#[br]
-                                            | For example: connection.url=jdbc:h2:mem:exampleDb
-                                        ignite-form-group-add(ng-click='group.add = [{}]')
-                                            | Add new Hibernate property
-
-                                        -var tipUnique = 'Property with such key already exists!'
-                                        -var tipPropertySpecified = 'Property should be present in format key=value!'
-
-                                        .group-content(ng-if='#{hibernateProperties}.length')
-                                            -var field = 'edit'
-                                            -var valid = 'form[ngModelName].$valid'
-                                            -var unique = 'form[ngModelName].$error.ignitePropertyUnique'
-                                            -var prop = 'form[ngModelName].$error.ignitePropertyValueSpecified'
-                                            -var save = hibernateProperties + '[$index] = ' + field
-
-                                            ignite-form-field(ng-repeat='model in #{hibernateProperties} track by $index' type='internal' name='Hibernate properties')
-                                                .indexField
-                                                    | {{ $index+1 }})
-                                                +table-remove-button(hibernateProperties, 'Remove Hibernate property')
-
-                                                span(ng-hide='field.edit')
-                                                    a.labelFormField(ng-click='field.edit = true') {{ model }}
-                                                span(ng-if='field.edit' ng-init='#{field} = model')
-                                                    +hibernateField(hibernateProperties, field, valid, save, false)
-                                                        +table-save-button(valid, save, false)
-                                                        +error-feedback(unique, 'ignitePropertyUnique', tipUnique)
-                                                        +error-feedback(prop, 'ignitePropertyValueSpecified', tipPropertySpecified)
-
-                                        .group-content(ng-repeat='field in group.add')
-                                            -var field = 'new'
-                                            -var valid = 'form[ngModelName].$valid'
-                                            -var unique = 'form[ngModelName].$error.ignitePropertyUnique'
-                                            -var prop = 'form[ngModelName].$error.ignitePropertyValueSpecified'
-                                            -var save = hibernateProperties + '.push(' + field + ')'
-
-                                            ignite-form-field(type='internal' name='Hibernate property')
-                                                +hibernateField(hibernateProperties, field, valid, save, true)
-                                                    +table-save-button(valid, save, true)
-                                                    +error-feedback(unique, 'ignitePropertyUnique', tipUnique)
-                                                    +error-feedback(prop, 'ignitePropertyValueSpecified', tipPropertySpecified)
-                                        .group-content-empty(ng-if='!(#{hibernateProperties}.length) && !group.add.length')
-                                            | Not defined
-
-                .settings-row
-                    +checkbox('Keep binary in store', model + '.storeKeepBinary', 'storeKeepBinary',
-                        'Flag indicating that CacheStore implementation is working with binary objects instead of Java objects')
-                .settings-row
-                    +checkbox('Load previous value', model + '.loadPreviousValue', 'loadPreviousValue',
-                        'Flag indicating whether value should be loaded from store if it is not in the cache for following cache operations: \
-                        <ul> \
-                            <li>IgniteCache.putIfAbsent()</li> \
-                            <li>IgniteCache.replace()</li> \
-                            <li>IgniteCache.replace()</li> \
-                            <li>IgniteCache.remove()</li> \
-                            <li>IgniteCache.getAndPut()</li> \
-                            <li>IgniteCache.getAndRemove()</li> \
-                            <li>IgniteCache.getAndReplace()</li> \
-                            <li> IgniteCache.getAndPutIfAbsent()</li>\
-                        </ul>')
-                .settings-row
-                    +checkbox('Read-through', model + '.readThrough', 'readThrough', 'Flag indicating whether read-through caching should be used')
-                .settings-row
-                    +checkbox('Write-through', model + '.writeThrough', 'writeThrough', 'Flag indicating whether write-through caching should be used')
-                .settings-row
-                    ignite-form-group
-                        ignite-form-field-label
-                            | Write behind
-                        ignite-form-group-tooltip
-                            | Cache write behind settings#[br]
-                            | Write-behind is a special mode when updates to cache accumulated and then asynchronously flushed to persistent store as a bulk operation
-                        .group-content
-                            -var enabled = model + '.writeBehindEnabled'
-
-                            .details-row
-                                +checkbox('Enabled', enabled, 'writeBehindEnabled', 'Flag indicating whether Ignite should use write-behind behaviour for the cache store')
-                            .details-row
-                                +number('Batch size:', model + '.writeBehindBatchSize', 'writeBehindBatchSize', enabled, '512', '1',
-                                    'Maximum batch size for write - behind cache store operations<br/>\
-                                     Store operations(get or remove) are combined in a batch of this size to be passed to cache store')
-                            .details-row
-                                +number('Flush size:', model + '.writeBehindFlushSize', 'writeBehindFlushSize', enabled, '10240', '1',
-                                    'Maximum size of the write-behind cache<br/>\
-                                     If cache size exceeds this value, all cached items are flushed to the cache store and write cache is cleared')
-                            .details-row
-                                +number('Flush frequency:', model + '.writeBehindFlushFrequency', 'writeBehindFlushFrequency', enabled, '5000', '1',
-                                    'Frequency with which write-behind cache is flushed to the cache store in milliseconds')
-                            .details-row
-                                +number('Flush threads count:', model + '.writeBehindFlushThreadCount', 'writeBehindFlushThreadCount', enabled, '1', '1',
-                                    'Number of threads that will perform cache flushing')
-            .col-sm-6
-                +preview-xml-java(model, 'cacheStore', 'domains')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.directive.js
deleted file mode 100644
index 64b80a0..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './atomic.jade';
-
-export default ['igniteConfigurationClustersAtomic', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.jade
deleted file mode 100644
index 3927b72..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/atomic.jade
+++ /dev/null
@@ -1,53 +0,0 @@
-//-
-    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 = 'atomics'
--var model = 'backupItem.atomicConfiguration'
-
-form.panel.panel-default(name=form novalidate)
-    .panel-heading(bs-collapse-toggle='' ng-click='ui.loadPanel("#{form}")')
-        ignite-form-panel-chevron
-        label Atomic configuration
-        ignite-form-field-tooltip.tipLabel
-            | Configuration for atomic data structures#[br]
-            | Atomics are distributed across the cluster, essentially enabling performing atomic operations (such as increment-and-get or compare-and-set) with the same globally-visible value
-        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('Cache mode:', model + '.cacheMode', 'cacheMode', 'true', 'PARTITIONED',
-                        '[\
-                            {value: "LOCAL", label: "LOCAL"},\
-                            {value: "REPLICATED", label: "REPLICATED"},\
-                            {value: "PARTITIONED", label: "PARTITIONED"}\
-                        ]',
-                        'Cache modes:\
-                        <ul>\
-                            <li>Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes</li>\
-                            <li>Replicated - in this mode all the keys are distributed to all participating nodes</li>\
-                            <li>Local - in this mode caches residing on different grid nodes will not know about each other</li>\
-                        </ul>')
-                .settings-row
-                    +number('Sequence reserve:', model + '.atomicSequenceReserveSize', 'atomicSequenceReserveSize', 'true', '1000', '0',
-                        'Default number of sequence values reserved for IgniteAtomicSequence instances<br/>\
-                        After a certain number has been reserved, consequent increments of sequence will happen locally, without communication with other nodes, until the next reservation has to be made')
-                .settings-row(ng-if='!(#{model}.cacheMode && #{model}.cacheMode != "PARTITIONED")')
-                    +number('Backups:', model + '.backups', 'backups', 'true', '0', '0', 'Number of backup nodes')
-            .col-sm-6
-                +preview-xml-java(model, 'clusterAtomics')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index f5f431c..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './attributes.jade';
-
-export default ['igniteConfigurationUserAttributes', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index e6ffd50..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/attributes.jade
+++ /dev/null
@@ -1,58 +0,0 @@
-//-
-    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/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.directive.js
deleted file mode 100644
index 7d701bc..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './binary.jade';
-
-export default ['igniteConfigurationClustersBinary', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 77caa36..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/binary.jade
+++ /dev/null
@@ -1,100 +0,0 @@
-//-
-    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 = 'binary'
--var model = 'backupItem.binaryConfiguration'
--var types = model + '.typeConfigurations'
-
-//- Mixin for java name field with enabled condition.
-mixin binary-types-java-class(lbl, model, name, enabled, required, remove, autofocus, tip)
-    -var errLbl = lbl.substring(0, lbl.length - 1)
-
-    ignite-form-field
-        ignite-form-field-label
-            | #{lbl}
-        ignite-form-field-tooltip
-            | !{tip}
-        if (remove)
-            +table-remove-button(types, 'Remove type configuration')
-        ignite-form-field-input-text(
-            data-id='{{#{name}}}'
-            data-name='{{#{name}}}'
-            data-ng-model=model
-            data-ng-disabled='!(#{enabled})'
-            data-ng-required=required
-            data-placeholder='Enter fully qualified class name'
-
-            data-ignite-form-field-input-autofocus=autofocus
-
-            data-java-identifier='true'
-            data-java-package-specified='true'
-            data-java-keywords='true'
-            data-java-built-in-class='true'
-        )
-            +error-feedback('form[ngModelName].$error.javaBuiltInClass', 'javaBuiltInClass', lbl + ' should not be the Java built-in class!', '{{' + name + '}}')
-            +error-feedback('form[ngModelName].$error.javaKeywords', 'javaKeywords', lbl + ' could not contains reserved Java keyword!', '{{' + name + '}}')
-            +error-feedback('form[ngModelName].$error.javaPackageSpecified', 'javaPackageSpecified', lbl + ' does not have package specified!', '{{' + name + '}}')
-            +error-feedback('form[ngModelName].$error.javaIdentifier', 'javaIdentifier', lbl + ' is invalid Java identifier!', '{{' + name + '}}')
-
-form.panel.panel-default(name=form novalidate)
-    .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
-        ignite-form-panel-chevron
-        label Binary configuration
-        ignite-form-field-tooltip.tipLabel
-            | Configuration for Ignite Binary Objects
-        ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
-        .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
-            .col-sm-6
-                .settings-row
-                    +java-class('ID mapper:', model + '.idMapper', 'idMapper', 'true', '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 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</b> allows to override the automatically generated hash code IDs for the type and field names')
-                .settings-row
-                    +java-class('Name mapper:', model + '.nameMapper', 'nameMapper', 'true', 'false', 'Maps type/class and field names to different names')
-                .settings-row
-                    +java-class('Serializer:', model + '.serializer', 'serializer', 'true', 'false', 'Class with custom serialization logic for binary objects')
-                .settings-row
-                    ignite-form-group(ng-form='#{form}TypeConfigurations' ng-model='#{types}')
-                        ignite-form-field-label
-                            | Type configurations
-                        ignite-form-group-tooltip
-                            | Configuration properties for binary types
-                        ignite-form-group-add(ng-click='#{types}.push({})')
-                            | Add new type configuration.
-                        .group-content-empty(ng-if='!#{types}.length')
-                            | Not defined
-                        .group-content(ng-repeat='model in #{types} track by $index')
-                            hr(ng-if='$index !== 0')
-                            .settings-row
-                                +binary-types-java-class('Type name:', 'model.typeName', '"typeName" + $index', 'true', 'true', true, 'true', 'Type name')
-                            .settings-row
-                                +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:', 'model.nameMapper', '"nameMapper" + $index', 'true', 'false', false, 'false', 'Maps type/class and field names to different names')
-                            .settings-row
-                                +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', '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')
-            .col-sm-6
-                +preview-xml-java(model, 'clusterBinary')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index b8e0b43..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './collision.jade';
-
-export default ['igniteConfigurationClustersCollision', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 10e51f0..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision.jade
+++ /dev/null
@@ -1,60 +0,0 @@
-//-
-    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/6af6560a/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
deleted file mode 100644
index 2299133..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './custom.jade';
-
-export default ['igniteConfigurationClustersCollisionCustom', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index b666f54..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/custom.jade
+++ /dev/null
@@ -1,24 +0,0 @@
-//-
-    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/6af6560a/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
deleted file mode 100644
index f14c1bb..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './fifo-queue.jade';
-
-export default ['igniteConfigurationClustersCollisionFifoQueue', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 9c9d315..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/fifo-queue.jade
+++ /dev/null
@@ -1,28 +0,0 @@
-//-
-    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/6af6560a/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
deleted file mode 100644
index 0cc9cfa..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './job-stealing.jade';
-
-export default ['igniteConfigurationClustersCollisionJobStealing', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 17392c0..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/job-stealing.jade
+++ /dev/null
@@ -1,64 +0,0 @@
-//-
-    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/6af6560a/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
deleted file mode 100644
index 95ebd5e..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './priority-queue.jade';
-
-export default ['igniteConfigurationClustersCollisionPriorityQueue', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 208c12b..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/collision/priority-queue.jade
+++ /dev/null
@@ -1,43 +0,0 @@
-//-
-    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/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.directive.js
deleted file mode 100644
index e578dc6..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './communication.jade';
-
-export default ['igniteConfigurationClustersCommunication', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/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
deleted file mode 100644
index 7073f27..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/communication.jade
+++ /dev/null
@@ -1,96 +0,0 @@
-//-
-    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 = 'communication'
--var model = 'backupItem'
--var communication = model + '.communication'
-
-form.panel.panel-default(name=form novalidate)
-    .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
-        ignite-form-panel-chevron
-        label Communication
-        ignite-form-field-tooltip.tipLabel
-            | Cluster communication network properties
-        ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
-        .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
-            .col-sm-6
-                .settings-row
-                    +number('Timeout:', model + '.networkTimeout', 'commNetworkTimeout', 'true', '5000', '1', 'Maximum timeout in milliseconds for network requests')
-                .settings-row
-                    +number('Send retry delay:', model + '.networkSendRetryDelay', 'networkSendRetryDelay', 'true', '1000', '1', 'Interval in milliseconds between message send retries')
-                .settings-row
-                    +number('Send retry count:', model + '.networkSendRetryCount', 'networkSendRetryCount', 'true', '3', '1', 'Message send retries count')
-                .settings-row
-                    +number('Discovery startup delay:', model + '.discoveryStartupDelay', 'discoveryStartupDelay', 'true', '60000', '1', 'This value is used to expire messages from waiting list whenever node discovery discrepancies happen')
-                .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', '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
-                    +number('Local port range:', communication + '.localPortRange', 'comLocalPortRange', 'true', '100', '1', 'Local port range for local host ports')
-                .settings-row
-                    +number-min-max('Shared memory port:', communication + '.sharedMemoryPort', 'sharedMemoryPort', 'true', '48100', '-1', '65535',
-                        'Local port to accept shared memory connections<br/>\
-                        If set to #[b -1] shared memory communication will be disabled')
-                .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
-                    +number('Connect timeout:', communication + '.connectTimeout', 'connectTimeout', 'true', '5000', '0', 'Connect timeout used when establishing connection with remote nodes')
-                .settings-row
-                    +number('Maximum connect timeout:', communication + '.maxConnectTimeout', 'maxConnectTimeout', 'true', '600000', '0', 'Maximum connect timeout')
-                .settings-row
-                    +number('Reconnect count:', communication + '.reconnectCount', 'comReconnectCount', 'true', '10', '1',
-                        'Maximum number of reconnect attempts used when establishing connection with remote nodes')
-                .settings-row
-                    +number('Socket send buffer:', communication + '.socketSendBuffer', 'socketSendBuffer', 'true', '32768', '0', 'Send buffer size for sockets created or accepted by this SPI')
-                .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('Slow client queue limit:', communication + '.slowClientQueueLimit', 'slowClientQueueLimit', 'true', '0', '0', 'Slow client queue limit')
-                .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('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/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.directive.js
deleted file mode 100644
index ea0b04d..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './connector.jade';
-
-export default ['igniteConfigurationClustersConnector', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.jade
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.jade
deleted file mode 100644
index 95f6bb3..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/connector.jade
+++ /dev/null
@@ -1,103 +0,0 @@
-//-
-    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 = 'connector'
--var model = 'backupItem.connector'
--var enabled = model + '.enabled'
--var sslEnabled = enabled + ' && ' + model + '.sslEnabled'
-
-form.panel.panel-default(name=form novalidate)
-    .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")')
-        ignite-form-panel-chevron
-        label Connector configuration
-        ignite-form-field-tooltip.tipLabel
-            | REST access configuration
-        ignite-form-revert
-    .panel-collapse(role='tabpanel' bs-collapse-target id=form)
-        .panel-body(ng-if='ui.isPanelLoaded("#{form}")')
-            .col-sm-6
-                .settings-row
-                    +checkbox('Enabled', enabled, 'restEnabled', 'Flag indicating whether to configure connector configuration')
-                .settings-row
-                    +text-enabled('Jetty configuration path:', model + '.jettyPath', 'connectorJettyPath', enabled, 'false', 'Input path to Jetty configuration',
-                        'Path, either absolute or relative to IGNITE_HOME, to Jetty XML configuration file<br/>\
-                        Jetty is used to support REST over HTTP protocol for accessing Ignite APIs remotely<br/>\
-                        If not provided, Jetty instance with default configuration will be started picking IgniteSystemProperties.IGNITE_JETTY_HOST and IgniteSystemProperties.IGNITE_JETTY_PORT as host and port respectively')
-                .settings-row
-                    +text-ip-address('TCP host:', model + '.host', 'connectorHost', enabled, 'IgniteConfiguration#getLocalHost()',
-                        'Host for TCP binary protocol server<br/>\
-                        This can be either an IP address or a domain name<br/>\
-                        If not defined, system - wide local address will be used IgniteConfiguration#getLocalHost()<br/>\
-                        You can also use "0.0.0.0" value to bind to all locally - available IP addresses')
-                .settings-row
-                    +number-min-max('TCP port:', model + '.port', 'connectorPort', enabled, '11211', '1024', '65535', 'Port for TCP binary protocol server')
-                .settings-row
-                    +number('TCP port range:', model + '.portRange', 'connectorPortRange', enabled, '100', '1', 'Number of ports for TCP binary protocol server to try if configured port is already in use')
-                .settings-row
-                    +number('Idle query cursor timeout:', model + '.idleQueryCursorTimeout', 'connectorIdleQueryCursorTimeout', enabled, '600000', '0',
-                        'Reject open query cursors that is not used timeout<br/>\
-                        If no fetch query request come within idle timeout, it will be removed on next check for old query cursors')
-                .settings-row
-                    +number('Idle query cursor check frequency:', model + '.idleQueryCursorCheckFrequency', 'connectorIdleQueryCursorCheckFrequency', enabled, '60000', '0',
-                        'Idle query cursors check frequency<br/>\
-                        This setting is used to reject open query cursors that is not used')
-                .settings-row
-                    +number('Idle timeout:', model + '.idleTimeout', 'connectorIdleTimeout', enabled, '7000', '0',
-                        'Idle timeout for REST server<br/>\
-                        This setting is used to reject half - opened sockets<br/>\
-                        If no packets come within idle timeout, the connection is closed')
-                .settings-row
-                    +number('Receive buffer size:', model + '.receiveBufferSize', 'connectorReceiveBufferSize', enabled, '32768', '0', 'REST TCP server receive buffer size')
-                .settings-row
-                    +number('Send buffer size:', model + '.sendBufferSize', 'connectorSendBufferSize', enabled, '32768', '0', 'REST TCP server send buffer size')
-                .settings-row
-                    +number('Send queue limit:', model + '.sendQueueLimit', 'connectorSendQueueLimit', enabled, 'unlimited', '0',
-                        'REST TCP server send queue limit<br/>\
-                        If the limit exceeds, all successive writes will block until the queue has enough capacity')
-                .settings-row
-                    +checkbox-enabled('Direct buffer', model + '.directBuffer', 'connectorDirectBuffer', enabled,
-                        'Flag indicating whether REST TCP server should use direct buffers<br/>\
-                        A direct buffer is a buffer that is allocated and accessed using native system calls, without using JVM heap<br/>\
-                        Enabling direct buffer may improve performance and avoid memory issues(long GC pauses due to huge buffer size)')
-                .settings-row
-                    +checkbox-enabled('TCP_NODELAY option', model + '.noDelay', 'connectorNoDelay', enabled,
-                        'Flag indicating whether TCP_NODELAY option should be set for accepted client connections<br/>\
-                        Setting this option reduces network latency and should be enabled in majority of cases<br/>\
-                        For more information, see Socket#setTcpNoDelay(boolean)')
-                .settings-row
-                    +number('Selector count:', model + '.selectorCount', 'connectorSelectorCount', enabled, 'min(4, availableProcessors)', '1',
-                        'Number of selector threads in REST TCP server<br/>\
-                        Higher value for this parameter may increase throughput, but also increases context switching')
-                .settings-row
-                    +number('Thread pool size:', model + '.threadPoolSize', 'connectorThreadPoolSize', enabled, 'max(8, availableProcessors) * 2', '1',
-                        'Thread pool size to use for processing of client messages (REST requests)')
-                .settings-row
-                    +java-class('Message interceptor:', model + '.messageInterceptor', 'connectorMessageInterceptor', enabled, 'false',
-                        'Interceptor allows to transform all objects exchanged via REST protocol<br/>\
-                        For example if you use custom serialisation on client you can write interceptor to transform binary representations received from client to Java objects and later access them from java code directly')
-                .settings-row
-                    +text-enabled('Secret key:', model + '.secretKey', 'connectorSecretKey', enabled, 'false', 'Specify to enable authentication', 'Secret key to authenticate REST requests')
-                .settings-row
-                    +checkbox-enabled('Enable SSL', model + '.sslEnabled', 'connectorSslEnabled', enabled, 'Enables/disables SSL for REST TCP binary protocol')
-                .settings-row
-                    +checkbox-enabled('Enable SSL client auth', model + '.sslClientAuth', 'connectorSslClientAuth', sslEnabled, 'Flag indicating whether or not SSL client authentication is required')
-                .settings-row
-                    +java-class('SSL factory:', model + '.sslFactory', 'connectorSslFactory', sslEnabled, sslEnabled,
-                        'Instance of Factory that will be used to create an instance of SSLContext for Secure Socket Layer on TCP binary protocol')
-            .col-sm-6
-                +preview-xml-java(model, 'clusterConnector')

http://git-wip-us.apache.org/repos/asf/ignite/blob/6af6560a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.directive.js
deleted file mode 100644
index 392ed7e..0000000
--- a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/deployment.directive.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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 templateUrl from './deployment.jade';
-
-export default ['igniteConfigurationClustersDeployment', [() => {
-    return {
-        scope: true,
-        restrict: 'E',
-        templateUrl,
-        replace: true
-    };
-}]];