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 2018/04/12 04:24:00 UTC
[02/16] ignite git commit: IGNITE-7996 Move configuration form
templates.
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/misc.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/misc.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/misc.pug
deleted file mode 100644
index cdc7258..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/misc.pug
+++ /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
-
--var form = 'misc'
--var model = '$ctrl.clonedCluster'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Miscellaneous
- panel-description Various miscellaneous cluster settings.
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +text('Work directory:', model + '.workDirectory', '"workDirectory"', 'false', 'Input work directory',
- 'Ignite work directory.<br/>\
- If not provided, the method will use work directory under IGNITE_HOME specified by IgniteConfiguration#setIgniteHome(String)\
- or IGNITE_HOME environment variable or system property.')
-
- //- Since ignite 2.0
- .pc-form-grid-col-60(ng-if-start='$ctrl.available("2.0.0")')
- +text('Consistent ID:', model + '.consistentId', '"ConsistentId"', 'false', 'Input consistent ID', 'Consistent globally unique node ID which survives node restarts')
- .pc-form-grid-col-60
- +java-class('Warmup closure:', model + '.warmupClosure', '"warmupClosure"', 'true', 'false', 'This closure will be executed before actual grid instance start')
- .pc-form-grid-col-60
- +checkbox('Active on start', model + '.activeOnStart', '"activeOnStart"',
- 'If cluster is not active on start, there will be no cache partition map exchanges performed until the cluster is activated')
- .pc-form-grid-col-60(ng-if-end)
- +checkbox('Cache sanity check enabled', model + '.cacheSanityCheckEnabled', '"cacheSanityCheckEnabled"',
- 'If enabled, then Ignite will perform the following checks and throw an exception if check fails<br/>\
- <ul>\
- <li>Cache entry is not externally locked with lock or lockAsync methods when entry is enlisted to transaction</li>\
- <li>Each entry in affinity group - lock transaction has the same affinity key as was specified on affinity transaction start</li>\
- <li>Each entry in partition group - lock transaction belongs to the same partition as was specified on partition transaction start</li>\
- </ul>')
-
- .pc-form-grid-col-60(ng-if='$ctrl.available(["1.0.0", "2.1.0"])')
- +checkbox('Late affinity assignment', model + '.lateAffinityAssignment', '"lateAffinityAssignment"',
- 'With late affinity assignment mode if primary node was changed for some partition this nodes becomes primary only when rebalancing for all assigned primary partitions is finished')
-
- .pc-form-grid-col-60(ng-if='$ctrl.available("2.1.0")')
- +number('Long query timeout:', `${model}.longQueryWarningTimeout`, '"LongQueryWarningTimeout"', 'true', '3000', '0',
- 'Timeout in milliseconds after which long query warning will be printed')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterMisc', 'caches')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/odbc.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/odbc.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/odbc.pug
deleted file mode 100644
index 74b1f02..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/odbc.pug
+++ /dev/null
@@ -1,70 +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
-
--var form = 'odbcConfiguration'
--var model = '$ctrl.clonedCluster.odbc'
--var enabled = model + '.odbcEnabled'
-
-panel-collapsible(
- ng-form=form
- on-open=`ui.loadPanel('${form}')`
- ng-show='$ctrl.available(["1.0.0", "2.1.0"])'
-)
- panel-title ODBC configuration
- panel-description
- | ODBC server configuration.
- | #[a.link-success(href="https://apacheignite.readme.io/docs/odbc-driver" target="_blank") More info]
- panel-content.pca-form-row(ng-if=`$ctrl.available(["1.0.0", "2.1.0"]) && ui.isPanelLoaded('${form}')`)
- .pca-form-column-6
- .settings-row
- +sane-form-field-checkbox({
- label: 'Enabled',
- model: enabled,
- name: '"odbcEnabled"',
- tip: 'Flag indicating whether to configure ODBC configuration'
- })(
- ui-validate=`{
- correctMarshaller: '$ctrl.Clusters.odbc.odbcEnabled.correctMarshaller($ctrl.clonedCluster, $value)'
- }`
- ui-validate-watch='$ctrl.Clusters.odbc.odbcEnabled.correctMarshallerWatch("$ctrl.clonedCluster")'
- )
- +form-field-feedback(null, 'correctMarshaller', 'ODBC can only be used with BinaryMarshaller')
- .settings-row
- +text-ip-address-with-port-range('ODBC endpoint address:', `${model}.endpointAddress`, '"endpointAddress"', enabled, '0.0.0.0:10800..10810',
- 'ODBC endpoint address. <br/>\
- The following address formats are permitted:\
- <ul>\
- <li>hostname - will use provided hostname and default port range</li>\
- <li>hostname:port - will use provided hostname and port</li>\
- <li>hostname:port_from..port_to - will use provided hostname and port range</li>\
- </ul>')
- .settings-row
- +number('Send buffer size:', `${model}.socketSendBufferSize`, '"ODBCSocketSendBufferSize"', enabled, '0', '0',
- 'Socket send buffer size.<br/>\
- When set to <b>0</b>, operation system default will be used')
- .settings-row
- +number('Socket receive buffer size:', `${model}.socketReceiveBufferSize`, '"ODBCSocketReceiveBufferSize"', enabled, '0', '0',
- 'Socket receive buffer size.<br/>\
- When set to <b>0</b>, operation system default will be used')
- .settings-row
- +number('Maximum open cursors', `${model}.maxOpenCursors`, '"maxOpenCursors"', enabled, '128', '1', 'Maximum number of opened cursors per connection')
- .settings-row
- +number('Pool size:', `${model}.threadPoolSize`, '"ODBCThreadPoolSize"', enabled, 'max(8, availableProcessors)', '1',
- 'Size of thread pool that is in charge of processing ODBC tasks')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterODBC')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/persistence.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/persistence.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/persistence.pug
deleted file mode 100644
index 2c8d10a..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/persistence.pug
+++ /dev/null
@@ -1,82 +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
-
--var form = 'persistenceConfiguration'
--var model = '$ctrl.clonedCluster.persistenceStoreConfiguration'
--var enabled = model + '.enabled'
-
-panel-collapsible(
- ng-form=form
- on-open=`ui.loadPanel('${form}')`
- ng-show='$ctrl.available(["2.1.0", "2.3.0"])'
-)
- panel-title Persistence store
- panel-description
- | Configures Apache Ignite Native Persistence.
- a.link-success(href='https://apacheignite.readme.io/docs/distributed-persistent-store' target='_blank') More info
- panel-content.pca-form-row(ng-if=`$ctrl.available(["2.1.0", "2.3.0"]) && ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +checkbox('Enabled', enabled, '"PersistenceEnabled"', 'Flag indicating whether to configure persistent configuration')
- .pc-form-grid-col-60
- +text-enabled('Store path:', `${model}.persistentStorePath`, '"PersistenceStorePath"', enabled, 'false', 'Input store path',
- 'A path the root directory where the Persistent Store will persist data and indexes')
- .pc-form-grid-col-60
- +checkbox-enabled('Metrics enabled', `${model}.metricsEnabled`, '"PersistenceMetricsEnabled"', enabled, 'Flag indicating whether persistence metrics collection is enabled')
- .pc-form-grid-col-60
- +checkbox-enabled('Always write full pages', `${model}.alwaysWriteFullPages`, '"PersistenceAlwaysWriteFullPages"', enabled, 'Flag indicating whether always write full pages')
- .pc-form-grid-col-60
- +number('Checkpointing frequency:', `${model}.checkpointingFrequency`, '"PersistenceCheckpointingFrequency"', enabled, '180000', '1',
- 'Frequency which is a minimal interval when the dirty pages will be written to the Persistent Store')
- .pc-form-grid-col-60
- +number('Checkpointing page buffer size:', `${model}.checkpointingPageBufferSize`, '"PersistenceCheckpointingPageBufferSize"', enabled, '268435456', '0',
- 'Amount of memory allocated for a checkpointing temporary buffer')
- .pc-form-grid-col-60
- +number('Checkpointing threads:', `${model}.checkpointingThreads`, '"PersistenceCheckpointingThreads"', enabled, '1', '1', 'A number of threads to use for the checkpointing purposes')
- .pc-form-grid-col-60
- +text-enabled('WAL store path:', `${model}.walStorePath`, '"PersistenceWalStorePath"', enabled, 'false', 'Input store path', 'A path to the directory where WAL is stored')
- .pc-form-grid-col-60
- +text-enabled('WAL archive path:', `${model}.walArchivePath`, '"PersistenceWalArchivePath"', enabled, 'false', 'Input archive path', 'A path to the WAL archive directory')
- .pc-form-grid-col-30
- +number('WAL segments:', `${model}.walSegments`, '"PersistenceWalSegments"', enabled, '10', '1', 'A number of WAL segments to work with')
- .pc-form-grid-col-30
- +number('WAL segment size:', `${model}.walSegmentSize`, '"PersistenceWalSegmentSize"', enabled, '67108864', '0', 'Size of a WAL segment')
- .pc-form-grid-col-30
- +number('WAL history size:', `${model}.walHistorySize`, '"PersistenceWalHistorySize"', enabled, '20', '1', 'A total number of checkpoints to keep in the WAL history')
- .pc-form-grid-col-30
- +number('WAL flush frequency:', `${model}.walFlushFrequency`, '"PersistenceWalFlushFrequency"', enabled, '2000', '1',
- 'How often will be fsync, in milliseconds. In background mode, exist thread which do fsync by timeout')
- .pc-form-grid-col-30
- +number('WAL fsync delay:', `${model}.walFsyncDelayNanos`, '"PersistenceWalFsyncDelay"', enabled, '1000', '1', 'WAL fsync delay, in nanoseconds')
- .pc-form-grid-col-30
- +number('WAL record iterator buffer size:', `${model}.walRecordIteratorBufferSize`, '"PersistenceWalRecordIteratorBufferSize"', enabled, '67108864', '1',
- 'How many bytes iterator read from disk(for one reading), during go ahead WAL')
- .pc-form-grid-col-30
- +number('Lock wait time:', `${model}.lockWaitTime`, '"PersistenceLockWaitTime"', enabled, '10000', '1',
- 'Time out in second, while wait and try get file lock for start persist manager')
- .pc-form-grid-col-30
- +number('Rate time interval:', `${model}.rateTimeInterval`, '"PersistenceRateTimeInterval"', enabled, '60000', '1000',
- 'The length of the time interval for rate - based metrics. This interval defines a window over which hits will be tracked.')
- .pc-form-grid-col-30
- +number('Thread local buffer size:', `${model}.tlbSize`, '"PersistenceTlbSize"', enabled, '131072', '1',
- 'Define size thread local buffer. Each thread which write to WAL have thread local buffer for serialize recode before write in WAL')
- .pc-form-grid-col-30
- +number('Sub intervals:', `${model}.subIntervals`, '"PersistenceSubIntervals"', enabled, '5', '1',
- 'Number of sub - intervals the whole rate time interval will be split into to calculate rate - based metrics')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterPersistence')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/service.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/service.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/service.pug
deleted file mode 100644
index a244602..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/service.pug
+++ /dev/null
@@ -1,89 +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
-
--var form = 'serviceConfiguration'
--var model = '$ctrl.clonedCluster.serviceConfigurations'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Service configuration
- panel-description
- | Service Grid allows for deployments of arbitrary user-defined services on the cluster.
- | #[a.link-success(href="https://apacheignite.readme.io/docs/fault-tolerance" target="_blank") More info]
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6
- mixin clusters-service-configurations
- .ignite-form-field(ng-init='serviceConfigurationsTbl={type: "serviceConfigurations", model: "serviceConfigurations", focusId: "kind", ui: "failover-table"}')
- +ignite-form-field__label('Service configurations:', '"serviceConfigurations"')
- .ignite-form-field__control
- -let items = model
-
- list-editable(ng-model=items name='serviceConfigurations')
- list-editable-item-edit
- - form = '$parent.form'
-
- -var nodeFilter = '$item.nodeFilter';
- -var nodeFilterKind = nodeFilter + '.kind';
- -var customFilter = nodeFilterKind + ' === "Custom"'
-
- .settings-row
- +sane-ignite-form-field-text({
- label: 'Name:',
- model: '$item.name',
- name: '"serviceName"',
- required: true,
- placeholder: 'Input service name'
- })(
- ui-validate=`{
- uniqueName: '$ctrl.Clusters.serviceConfigurations.serviceConfiguration.name.customValidators.uniqueName($item, ${items})'
- }`
- ui-validate-watch=`"${items}"`
- ui-validate-watch-object-equality='true'
- ng-model-options='{allowInvalid: true}'
- )
- +form-field-feedback('"serviceName', 'uniqueName', 'Service with that name is already configured')
- .settings-row
- +java-class('Service class', '$item.service', '"serviceService"', 'true', 'true', 'Service implementation class name')
- .settings-row
- +number('Max per node count:', '$item.maxPerNodeCount', '"ServiceMaxPerNodeCount"', 'true', 'Unlimited', '0',
- 'Maximum number of deployed service instances on each node.<br/>' +
- 'Zero for unlimited')
- .settings-row
- +number('Total count:', '$item.totalCount', '"serviceTotalCount"', 'true', 'Unlimited', '0',
- 'Total number of deployed service instances in the cluster.<br/>' +
- 'Zero for unlimited')
- .settings-row
- +dropdown-required-empty('Cache:', '$item.cache', '"serviceCache"', 'true', 'false',
- 'Choose cache', 'No caches configured for current cluster', '$ctrl.cachesMenu', 'Cache name used for key-to-node affinity calculation')(
- pc-is-in-collection='$ctrl.clonedCluster.caches'
- ).settings-row
- +form-field-feedback(form, 'isInCollection', `Cluster doesn't have such a cache`)
- .settings-row
- +text('Affinity key:', '$item.affinityKey', '"serviceAffinityKey"', 'false', 'Input affinity key',
- 'Affinity key used for key-to-node affinity calculation')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$ctrl.Clusters.addServiceConfiguration($ctrl.clonedCluster)`
- label-single='service configuration'
- label-multiple='service configurations'
- )
-
- +clusters-service-configurations
-
- .pca-form-column-6
- +preview-xml-java('$ctrl.clonedCluster', 'clusterServiceConfiguration', '$ctrl.caches')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
deleted file mode 100644
index 2e61fc2..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
+++ /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
-
--var form = 'query'
--var model = '$ctrl.clonedCluster'
--var connectionModel = model + '.sqlConnectorConfiguration'
--var connectionEnabled = connectionModel + '.enabled'
-
-panel-collapsible(
- ng-form=form
- on-open=`ui.loadPanel('${form}')`
- ng-show='$ctrl.available(["2.1.0", "2.3.0"])'
-)
- panel-title Query configuration
- //- TODO IGNITE-5415 Add link to documentation.
- panel-content.pca-form-row(ng-if=`$ctrl.available(["2.1.0", "2.3.0"]) && ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +checkbox('Enabled', connectionEnabled, '"SqlConnectorEnabled"', 'Flag indicating whether to configure SQL connector configuration')
- .pc-form-grid-col-40
- +text-enabled('Host:', `${connectionModel}.host`, '"SqlConnectorHost"', connectionEnabled, 'false', 'localhost')
- .pc-form-grid-col-20
- +number('Port:', `${connectionModel}.port`, '"SqlConnectorPort"', connectionEnabled, '10800', '1025')
- .pc-form-grid-col-20
- +number('Port range:', `${connectionModel}.portRange`, '"SqlConnectorPortRange"', connectionEnabled, '100', '0')
- .pc-form-grid-col-20
- +number('Socket send buffer size:', `${connectionModel}.socketSendBufferSize`, '"SqlConnectorSocketSendBufferSize"', connectionEnabled, '0', '0',
- 'Socket send buffer size.<br/>\
- When set to <b>0</b>, operation system default will be used')
- .pc-form-grid-col-20
- +number('Socket receive buffer size:', `${connectionModel}.socketReceiveBufferSize`, '"SqlConnectorSocketReceiveBufferSize"', connectionEnabled, '0', '0',
- 'Socket receive buffer size.<br/>\
- When set to <b>0</b>, operation system default will be used')
- .pc-form-grid-col-30
- +number('Max connection cursors:', `${connectionModel}.maxOpenCursorsPerConnection`, '"SqlConnectorMaxOpenCursorsPerConnection"', connectionEnabled, '128', '0',
- 'Max number of opened cursors per connection')
- .pc-form-grid-col-30
- +number('Pool size:', `${connectionModel}.threadPoolSize`, '"SqlConnectorThreadPoolSize"', connectionEnabled, 'max(8, availableProcessors)', '1',
- 'Size of thread pool that is in charge of processing SQL requests')
- .pc-form-grid-col-60
- +checkbox-enabled('TCP_NODELAY option', `${connectionModel}.tcpNoDelay`, '"SqlConnectorTcpNoDelay"', connectionEnabled)
- .pca-form-column-6
- +preview-xml-java(model, 'clusterQuery')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/ssl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/ssl.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/ssl.pug
deleted file mode 100644
index 2745f53..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/ssl.pug
+++ /dev/null
@@ -1,89 +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
-
--var form = 'sslConfiguration'
--var cluster = '$ctrl.clonedCluster'
--var enabled = '$ctrl.clonedCluster.sslEnabled'
--var model = cluster + '.sslContextFactory'
--var trust = model + '.trustManagers'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title SSL configuration
- panel-description
- | Settings for SSL configuration for creating a secure socket layer.
- | #[a.link-success(href="https://apacheignite.readme.io/docs/ssltls" target="_blank") More info]
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +checkbox('Enabled', enabled, '"sslEnabled"', 'Flag indicating whether to configure SSL configuration')
- .pc-form-grid-col-60
- +text-options('Algorithm to create a key manager:', `${model}.keyAlgorithm`, '"keyAlgorithm"', '["SumX509", "X509"]', enabled, 'false', 'SumX509',
- 'Sets key manager algorithm that will be used to create a key manager<br/>\
- Notice that in most cased default value suites well, however, on Android platform this value need to be set to X509')
- .pc-form-grid-col-60
- +text-enabled('Key store file:', `${model}.keyStoreFilePath`, '"keyStoreFilePath"', enabled, enabled, 'Path to the key store file',
- 'Path to the key store file<br/>\
- This is a mandatory parameter since ssl context could not be initialized without key manager')
- .pc-form-grid-col-30
- +text-options('Key store type:', `${model}.keyStoreType`, '"keyStoreType"', '["JKS", "PCKS11", "PCKS12"]', enabled, 'false', 'JKS',
- 'Key store type used in context initialization')
- .pc-form-grid-col-30
- +text-options('Protocol:', `${model}.protocol`, '"protocol"', '["TSL", "SSL"]', enabled, 'false', 'TSL', 'Protocol for secure transport')
- .pc-form-grid-col-60
- .ignite-form-field
- .ignite-form-field__control
- list-editable(
- ng-model=trust
- name='trustManagers'
- list-editable-cols=`::[{name: "Pre-configured trust managers:"}]`
- ng-disabled=enabledToDisabled(enabled)
- ng-required=`${enabled} && !${model}.trustStoreFilePath`
- )
- list-editable-item-view {{ $item }}
-
- list-editable-item-edit
- +list-java-class-field('Trust manager', '$item', '"trustManager"', trust)
- +unique-feedback('"trustManager"', 'Such trust manager already exists!')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$editLast((${trust} = ${trust} || []).push(''))`
- label-single='trust manager'
- label-multiple='trust managers'
- )
- .ignite-form-field__errors(
- ng-messages=`sslConfiguration.trustManagers.$error`
- ng-show=`sslConfiguration.trustManagers.$invalid`
- )
- +form-field-feedback(_, 'required', 'Trust managers or trust store file should be configured')
-
- .pc-form-grid-col-30(ng-if-start=`!${trust}.length`)
- +sane-ignite-form-field-text({
- label: 'Trust store file:',
- model: `${model}.trustStoreFilePath`,
- name: '"trustStoreFilePath"',
- required: `${enabled} && !${trust}.length`,
- disabled: enabledToDisabled(enabled),
- placeholder: 'Path to the trust store file',
- tip: 'Path to the trust store file'
- })
- +form-field-feedback(_, 'required', 'Trust store file or trust managers should be configured')
- .pc-form-grid-col-30(ng-if-end)
- +text-options('Trust store type:', `${model}.trustStoreType`, '"trustStoreType"', '["JKS", "PCKS11", "PCKS12"]', enabled, 'false', 'JKS', 'Trust store type used in context initialization')
- .pca-form-column-6
- +preview-xml-java(cluster, 'clusterSsl')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
deleted file mode 100644
index ef73ab9..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/swap.pug
+++ /dev/null
@@ -1,74 +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
-
--var form = 'swap'
--var model = '$ctrl.clonedCluster'
--var swapModel = model + '.swapSpaceSpi'
--var fileSwapModel = swapModel + '.FileSwapSpaceSpi'
-
-panel-collapsible(
- ng-form=form
- on-open=`ui.loadPanel('${form}')`
- ng-show='$ctrl.available(["1.0.0", "2.0.0"])'
-)
- panel-title Swap
- panel-description
- | Settings for overflow data to disk if it cannot fit in memory.
- | #[a.link-success(href="https://apacheignite.readme.io/v1.9/docs/off-heap-memory#swap-space" target="_blank") More info]
- panel-content.pca-form-row(ng-if=`$ctrl.available(["1.0.0", "2.0.0"]) && ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +dropdown('Swap space SPI:', `${swapModel}.kind`, '"swapSpaceSpi"', 'true', 'Choose swap SPI',
- '::$ctrl.Clusters.swapSpaceSpis',
- 'Provides a mechanism in grid for storing data on disk<br/>\
- Ignite cache uses swap space to overflow data to disk if it cannot fit in memory\
- <ul>\
- <li>File-based swap - File-based swap space SPI implementation which holds keys in memory</li>\
- <li>Not set - File-based swap space SPI with default configuration when it needed</li>\
- </ul>')
- .pc-form-group.pc-form-grid-row(ng-show=`${swapModel}.kind`)
- .pc-form-grid-col-60
- +text('Base directory:', `${fileSwapModel}.baseDirectory`, '"baseDirectory"', 'false', 'swapspace',
- 'Base directory where to write files')
- .pc-form-grid-col-30
- +sane-ignite-form-field-number({
- label: 'Read stripe size:',
- model: `${fileSwapModel}.readStripesNumber`,
- name: '"readStripesNumber"',
- placeholder: '{{ ::$ctrl.Clusters.swapSpaceSpi.readStripesNumber.default }}',
- tip: 'Read stripe size defines number of file channels to be used concurrently'
- })(
- ui-validate=`{
- powerOfTwo: '$ctrl.Clusters.swapSpaceSpi.readStripesNumber.customValidators.powerOfTwo($value)'
- }`
- )
- +form-field-feedback('"readStripesNumber"', 'powerOfTwo', 'Read stripe size must be positive and power of two')
- .pc-form-grid-col-30
- +number-min-max-step('Maximum sparsity:', `${fileSwapModel}.maximumSparsity`, '"maximumSparsity"', 'true', '0.5', '0', '0.999', '0.05',
- 'This property defines maximum acceptable wasted file space to whole file size ratio<br/>\
- When this ratio becomes higher than specified number compacting thread starts working')
- .pc-form-grid-col-30
- +number('Max write queue size:', `${fileSwapModel}.maxWriteQueueSize`, '"maxWriteQueueSize"', 'true', '1024 * 1024', '0',
- 'Max write queue size in bytes<br/>\
- If there are more values are waiting for being written to disk then specified size, SPI will block on store operation')
- .pc-form-grid-col-30
- +number('Write buffer size:', `${fileSwapModel}.writeBufferSize`, '"writeBufferSize"', 'true', '64 * 1024', '0',
- 'Write buffer size in bytes<br/>\
- Write to disk occurs only when this buffer is full')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterSwap')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/thread.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/thread.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/thread.pug
deleted file mode 100644
index ebe3bcd..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/thread.pug
+++ /dev/null
@@ -1,144 +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
-
--var form = 'pools'
--var model = '$ctrl.clonedCluster'
--var executors = model + '.executorConfiguration'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Thread pools size
- panel-description Settings for node thread pools.
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-30
- +number('Public:', model + '.publicThreadPoolSize', '"publicThreadPoolSize"', 'true', 'max(8, availableProcessors) * 2', '1',
- 'Thread pool that is in charge of processing ComputeJob, GridJobs and user messages sent to node')
- .pc-form-grid-col-30
- +sane-ignite-form-field-number({
- label: 'System:',
- model: `${model}.systemThreadPoolSize`,
- name: '"systemThreadPoolSize"',
- placeholder: '{{ ::$ctrl.Clusters.systemThreadPoolSize.default }}',
- min: '{{ ::$ctrl.Clusters.systemThreadPoolSize.min }}',
- tip: 'Thread pool that is in charge of processing internal system messages'
- })
- .pc-form-grid-col-30
- +number('Service:', model + '.serviceThreadPoolSize', '"serviceThreadPoolSize"', 'true', 'max(8, availableProcessors) * 2', '1',
- 'Thread pool that is in charge of processing proxy invocation')
- .pc-form-grid-col-30
- +number('Management:', model + '.managementThreadPoolSize', '"managementThreadPoolSize"', 'true', '4', '1',
- 'Thread pool that is in charge of processing internal and Visor ComputeJob, GridJobs')
- .pc-form-grid-col-30
- +number('IGFS:', model + '.igfsThreadPoolSize', '"igfsThreadPoolSize"', 'true', 'availableProcessors', '1',
- 'Thread pool that is in charge of processing outgoing IGFS messages')
- .pc-form-grid-col-30
- +sane-ignite-form-field-number({
- label: 'Rebalance:',
- model: `${model}.rebalanceThreadPoolSize`,
- name: '"rebalanceThreadPoolSize"',
- placeholder: '{{ ::$ctrl.Clusters.rebalanceThreadPoolSize.default }}',
- min: '{{ ::$ctrl.Clusters.rebalanceThreadPoolSize.min }}',
- max: `{{ $ctrl.Clusters.rebalanceThreadPoolSize.max(${model}) }}`,
- tip: 'Max count of threads can be used at rebalancing'
- })
- +form-field-feedback('max', 'Rebalance thread pool size should not exceed or be equal to System thread pool size')
- .pc-form-grid-col-30
- +number('Utility cache:', model + '.utilityCacheThreadPoolSize', '"utilityCacheThreadPoolSize"', 'true', 'max(8, availableProcessors)', '1',
- 'Default thread pool size that will be used to process utility cache messages')
- .pc-form-grid-col-30
- pc-form-field-size(
- label='Utility cache keep alive time:'
- ng-model=`${model}.utilityCacheKeepAliveTime`
- name='utilityCacheKeepAliveTime'
- size-type='seconds'
- size-scale-label='s'
- tip='Keep alive time of thread pool size that will be used to process utility cache messages'
- min='0'
- placeholder='{{ 60000 / _s1.value }}'
- on-scale-change='_s1 = $event'
- )
- .pc-form-grid-col-30
- +number('Async callback:', model + '.asyncCallbackPoolSize', '"asyncCallbackPoolSize"', 'true', 'max(8, availableProcessors)', '1',
- 'Size of thread pool that is in charge of processing asynchronous callbacks')
- .pc-form-grid-col-30
- +number('Striped:', model + '.stripedPoolSize', '"stripedPoolSize"', 'true', 'max(8, availableProcessors)', '1',
- 'Striped pool size that should be used for cache requests processing')
-
- //- Since ignite 2.0
- .pc-form-grid-col-30(ng-if-start='$ctrl.available("2.0.0")')
- +number('Data streamer:', model + '.dataStreamerThreadPoolSize', '"dataStreamerThreadPoolSize"', 'true', 'max(8, availableProcessors)', '1',
- 'Size of thread pool that is in charge of processing data stream messages')
- .pc-form-grid-col-30
- +number('Query:', model + '.queryThreadPoolSize', '"queryThreadPoolSize"', 'true', 'max(8, availableProcessors)', '1',
- 'Size of thread pool that is in charge of processing query messages')
- .pc-form-grid-col-60(ng-if-end)
- .ignite-form-field
- +ignite-form-field__label('Executor configurations:', '"executorConfigurations"')
- +tooltip(`Custom thread pool configurations for compute tasks`)
- .ignite-form-field__control
- list-editable(
- ng-model=executors
- ng-model-options='{allowInvalid: true}'
- name='executorConfigurations'
- ui-validate=`{
- allNamesExist: '$ctrl.Clusters.executorConfigurations.allNamesExist($value)',
- allNamesUnique: '$ctrl.Clusters.executorConfigurations.allNamesUnique($value)'
- }`
- )
- list-editable-item-view
- | {{ $item.name }} /
- | {{ $item.size || 'max(8, availableProcessors)'}}
-
- list-editable-item-edit
- .pc-form-grid-row
- .pc-form-grid-col-30
- +sane-ignite-form-field-text({
- label: 'Name:',
- model: '$item.name',
- name: '"ExecutorName"',
- required: true,
- placeholder: 'Input executor name',
- tip: 'Thread pool name'
- })(
- ui-validate=`{
- uniqueName: '$ctrl.Clusters.executorConfiguration.name.customValidators.uniqueName($item, ${executors})'
- }`
- ui-validate-watch=`"${executors}"`
- ui-validate-watch-object-equality='true'
- ng-model-options='{allowInvalid: true}'
- data-ignite-form-field-input-autofocus='true'
- )
- +form-field-feedback(null, 'uniqueName', 'Service with that name is already configured')
- .pc-form-grid-col-30
- +number('Pool size:', '$item.size', '"ExecutorPoolSize"', 'true', 'max(8, availableProcessors)', '1', 'Thread pool size')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$edit($ctrl.Clusters.addExecutorConfiguration(${model}))`
- label-single='executor configuration'
- label-multiple='executor configurations'
- )
- .ignite-form-field__errors(
- ng-messages=`pools.executorConfigurations.$error`
- ng-show=`pools.executorConfigurations.$invalid`
- )
- +form-field-feedback(_, 'allNamesExist', 'All executor configurations should have a name')
- +form-field-feedback(_, 'allNamesUnique', 'All executor configurations should have a unique name')
-
- .pca-form-column-6
- +preview-xml-java(model, 'clusterPools')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/time.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/time.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/time.pug
deleted file mode 100644
index fa85a5d..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/time.pug
+++ /dev/null
@@ -1,44 +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
-
--var form = 'time'
--var model = '$ctrl.clonedCluster'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Time configuration
- panel-description Time settings for CLOCK write ordering mode.
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- //- Removed in ignite 2.0
- .pc-form-grid-col-30(ng-if-start='$ctrl.available(["1.0.0", "2.0.0"])')
- +number('Samples size:', `${model}.clockSyncSamples`, '"clockSyncSamples"', 'true', '8', '0',
- 'Number of samples used to synchronize clocks between different nodes<br/>\
- Clock synchronization is used for cache version assignment in CLOCK order mode')
- .pc-form-grid-col-30(ng-if-end)
- +number('Frequency:', `${model}.clockSyncFrequency`, '"clockSyncFrequency"', 'true', '120000', '0',
- 'Frequency at which clock is synchronized between nodes, in milliseconds<br/>\
- Clock synchronization is used for cache version assignment in CLOCK order mode')
-
- .pc-form-grid-col-30
- +number-min-max('Port base:', `${model}.timeServerPortBase`, '"timeServerPortBase"', 'true', '31100', '0', '65535',
- 'Time server provides clock synchronization between nodes<br/>\
- Base UPD port number for grid time server. Time server will be started on one of free ports in range')
- .pc-form-grid-col-30
- +number('Port range:', `${model}.timeServerPortRange`, '"timeServerPortRange"', 'true', '100', '1', 'Time server port range')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterTime')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/transactions.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/transactions.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/transactions.pug
deleted file mode 100644
index b5f80df..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/transactions.pug
+++ /dev/null
@@ -1,65 +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
-
--var form = 'transactions'
--var model = '$ctrl.clonedCluster.transactionConfiguration'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Transactions
- panel-description
- | Settings for transactions.
- | #[a.link-success(href="https://apacheignite.readme.io/docs/transactions" target="_blank") More info]
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-30
- +dropdown('Concurrency:', `${model}.defaultTxConcurrency`, '"defaultTxConcurrency"', 'true', 'PESSIMISTIC',
- '[\
- {value: "OPTIMISTIC", label: "OPTIMISTIC"},\
- {value: "PESSIMISTIC", label: "PESSIMISTIC"}\
- ]',
- 'Cache transaction concurrency to use when one is not explicitly specified\
- <ul>\
- <li>OPTIMISTIC - All cache operations are not distributed to other nodes until commit is called</li>\
- <li>PESSIMISTIC - A lock is acquired on all cache operations with exception of read operations in READ_COMMITTED mode</li>\
- </ul>')
- .pc-form-grid-col-30
- +dropdown('Isolation:', `${model}.defaultTxIsolation`, '"defaultTxIsolation"', 'true', 'REPEATABLE_READ',
- '[\
- {value: "READ_COMMITTED", label: "READ_COMMITTED"},\
- {value: "REPEATABLE_READ", label: "REPEATABLE_READ"},\
- {value: "SERIALIZABLE", label: "SERIALIZABLE"}\
- ]',
- 'Default transaction isolation\
- <ul>\
- <li>READ_COMMITTED - Always a committed value will be provided for read operations</li>\
- <li>REPEATABLE_READ - If a value was read once within transaction, then all consecutive reads will provide the same in-transaction value</li>\
- <li>SERIALIZABLE - All transactions occur in a completely isolated fashion, as if all transactions in the system had executed serially, one after the other.</li>\
- </ul>')
- .pc-form-grid-col-60
- +number('Default timeout:', `${model}.defaultTxTimeout`, '"defaultTxTimeout"', 'true', '0', '0', 'Default transaction timeout')
- .pc-form-grid-col-30
- +number('Pessimistic log cleanup delay:', `${model}.pessimisticTxLogLinger`, '"pessimisticTxLogLinger"', 'true', '10000', '0',
- 'Delay, in milliseconds, after which pessimistic recovery entries will be cleaned up for failed node')
- .pc-form-grid-col-30
- +number('Pessimistic log size:', `${model}.pessimisticTxLogSize`, '"pessimisticTxLogSize"', 'true', '0', '0',
- 'Size of pessimistic transactions log stored on node in order to recover transaction commit if originating node has left grid before it has sent all messages to transaction nodes')
- .pc-form-grid-col-60
- +java-class('Manager factory:', `${model}.txManagerFactory`, '"txManagerFactory"', 'true', 'false',
- 'Class name of transaction manager factory for integration with JEE app servers')
- .pca-form-column-6
- +preview-xml-java(model, 'clusterTransactions')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/domains/general.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/domains/general.pug b/modules/web-console/frontend/app/modules/states/configuration/domains/general.pug
deleted file mode 100644
index a6c8194..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/domains/general.pug
+++ /dev/null
@@ -1,57 +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
-
--var form = 'general'
--var model = 'backupItem'
--var generatePojo = `${model}.generatePojo`
-
-panel-collapsible(opened=`::true` ng-form=form)
- panel-title General
- panel-description
- | Domain model properties common for Query and Store.
- a.link-success(href="https://apacheignite.readme.io/docs/cache-queries" target="_blank") More info about query configuration.
- a.link-success(href="https://apacheignite.readme.io/docs/3rd-party-store" target="_blank") More info about store.
- panel-content.pca-form-row
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-60
- +checkbox('Generate POJO classes', generatePojo, '"generatePojo"', 'If selected then POJO classes will be generated from database tables')
- .pc-form-grid-col-30
- +sane-ignite-form-field-dropdown({
- label: 'Caches:',
- model: `${model}.caches`,
- name: '"caches"',
- multiple: true,
- placeholder: 'Choose caches',
- placeholderEmpty: 'No valid caches configured',
- options: '$ctrl.cachesMenu',
- tip: 'Select caches to describe types in cache'
- })
- .pc-form-grid-col-30
- +dropdown-required('Query metadata:', `${model}.queryMetadata`, '"queryMetadata"', 'true', 'true', '', '::$ctrl.Models.queryMetadata.values',
- 'Query metadata configured with:\
- <ul>\
- <li>Java annotations like @QuerySqlField</li>\
- <li>Configuration via QueryEntity class</li>\
- </ul>')
- .pc-form-grid-col-60
- +java-class-typeahead('Key type:', `${model}.keyType`, '"keyType"', '$ctrl.javaBuiltInClassesBase', 'true', 'true', '{{ ' + generatePojo + ' ? "Full class name for Key" : "Key type name" }}', 'Key class used to store key in cache', generatePojo)
- .pc-form-grid-col-60
- +java-class-autofocus-placholder('Value type:', `${model}.valueType`, '"valueType"', 'true', 'true', 'false', '{{ ' + generatePojo +' ? "Enter fully qualified class name" : "Value type name" }}', 'Value class used to store value in cache', generatePojo)
-
- .pca-form-column-6
- +preview-xml-java(model, 'domainModelGeneral')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/domains/query.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/domains/query.pug b/modules/web-console/frontend/app/modules/states/configuration/domains/query.pug
deleted file mode 100644
index ed91ec4..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/domains/query.pug
+++ /dev/null
@@ -1,255 +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
-
--var form = 'query'
--var model = 'backupItem'
--var queryKeyFields = `${model}.queryKeyFields`
--var queryFields = `${model}.fields`
--var queryAliases = `${model}.aliases`
--var queryIndexes = `${model}.indexes`
-
-panel-collapsible(ng-form=form opened=`!!${model}.queryMetadata`)
- panel-title#query-title Domain model for SQL query
- panel-description
- | Domain model properties for fields queries.
- a.link-success(href='https://apacheignite.readme.io/docs/cache-queries' target='_blank') More info
- panel-content.pca-form-row
- .pca-form-column-6.pc-form-grid-row
- .content-not-available(
- ng-if=`${model}.queryMetadata === 'Annotations'`
- style='margin-top: 10px'
- )
- label Not available for annotated types
-
- .pc-form-grid-col-60(ng-if-start=`${model}.queryMetadata === 'Configuration'`)
- +text('Table name:', `${model}.tableName`, '"tableName"', 'false', 'Enter table name')
-
- .pc-form-grid-col-30(ng-if-start='$ctrl.available("2.0.0")')
- +text('Key field name:', `${model}.keyFieldName`, '"keyFieldName"', 'false', 'Enter key field name',
- 'Key name.<br/>' +
- 'Can be used in field list to denote the key as a whole')
- .pc-form-grid-col-30(ng-if-end)
- +text('Value field name:', `${model}.valueFieldName`, '"valueFieldName"', 'false', 'Enter value field name',
- 'Value name.<br/>' +
- 'Can be used in field list to denote the entire value')
-
- .pc-form-grid-col-60
- mixin domains-query-fields
- .ignite-form-field
- +ignite-form-field__label('Fields:', '"fields"')
- +tooltip(`Collection of name-to-type mappings to be queried, in addition to indexed fields`)
- .ignite-form-field__control
- -let items = queryFields
- list-editable(
- ng-model=items
- name='queryFields'
- ng-change=`$ctrl.onQueryFieldsChange(${model})`
- )
- list-editable-item-view
- | {{ $item.name}} / {{ $item.className}}
-
- list-editable-item-edit
- - form = '$parent.form'
- .pc-form-grid-row
- .pc-form-grid-col-30(divider='/')
- +ignite-form-field-text('Field name:', '$item.name', '"name"', false, true, 'Enter field name')(
- data-ignite-unique=items
- data-ignite-unique-property='name'
- ignite-auto-focus
- )
- +unique-feedback('"name"', 'Property with such name already exists!')
- .pc-form-grid-col-30
- +java-class-typeahead('Field full class name:', `$item.className`, '"className"', '$ctrl.queryFieldTypes', true, true, 'Enter field full class name')(
- ng-model-options='{allowInvalid: true}'
- extra-valid-java-identifiers='$ctrl.queryFieldTypes'
- )
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$editLast((${items} = ${items} || []).push({}))`
- label-single='field to query'
- label-multiple='fields'
- )
-
- +domains-query-fields
-
- .pc-form-grid-col-60
- +sane-ignite-form-field-dropdown({
- label: 'Key fields:',
- model: queryKeyFields,
- name: '"queryKeyFields"',
- multiple: true,
- placeholder: 'Select key fields',
- placeholderEmpty: 'Configure available fields',
- options: `$ctrl.fields('cur', ${queryKeyFields})`,
- tip: 'Query fields that belongs to the key.<br/>\
- Used to build / modify keys and values during SQL DML operations when no key - value classes are present on cluster nodes.'
- })
- .pc-form-grid-col-60
- mixin domains-query-aliases
- .ignite-form-field
- +ignite-form-field__label('Aliases:', '"aliases"')
- +tooltip(`Mapping from full property name in dot notation to an alias that will be used as SQL column name<br />
- For example: "parent.name" as "parentName"`)
- .ignite-form-field__control
- -let items = queryAliases
-
- list-editable(ng-model=items name='queryAliases')
- list-editable-item-view
- | {{ $item.field }} → {{ $item.alias }}
-
- list-editable-item-edit
- - form = '$parent.form'
- .pc-form-grid-row
- .pc-form-grid-col-30(divider='/')
- +ignite-form-field-text('Field name', '$item.field', '"field"', false, true, 'Enter field name')(
- data-ignite-unique=items
- data-ignite-unique-property='field'
- ignite-auto-focus
- )
- +unique-feedback('"field"', 'Such field already exists!')
- .pc-form-grid-col-30
- +ignite-form-field-text('Field alias', '$item.alias', '"alias"', false, true, 'Enter field alias')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$editLast((${items} = ${items} || []).push({}))`
- label-single='alias to query'
- label-multiple='aliases'
- )
-
- +domains-query-aliases
-
- .pc-form-grid-col-60(ng-if-end)
- .ignite-form-field
- +ignite-form-field__label('Indexes:', '"indexes"')
- .ignite-form-field__control
- list-editable(
- ng-model=queryIndexes
- ng-model-options='{allowInvalid: true}'
- name='queryIndexes'
- ui-validate=`{
- complete: '$ctrl.Models.queryIndexes.complete($value)',
- fieldsExist: '$ctrl.Models.queryIndexes.fieldsExist($value, ${queryFields})',
- indexFieldsHaveUniqueNames: '$ctrl.Models.queryIndexes.indexFieldsHaveUniqueNames($value)'
- }`
- ui-validate-watch=`"[${queryIndexes}, ${queryFields}]"`
- ui-validate-watch-object-equality='true'
- )
- list-editable-item-view(item-name='queryIndex')
- div {{ queryIndex.name }} [{{ queryIndex.indexType }}]
- div(ng-repeat='field in queryIndex.fields track by field._id')
- span {{ field.name }}
- span(ng-if='queryIndex.indexType == "SORTED"')
- | / {{ field.direction ? 'ASC' : 'DESC'}}
-
- list-editable-item-edit(item-name='queryIndex')
- .pc-form-grid-row
- .pc-form-grid-col-30(divider='/')
- +sane-ignite-form-field-text({
- label: 'Index name:',
- model: 'queryIndex.name',
- name: '"name"',
- required: true,
- placeholder: 'Enter index name'
- })(
- ignite-unique=queryIndexes
- ignite-unique-property='name'
- ignite-form-field-input-autofocus='true'
- )
- +unique-feedback(_, 'Such index already exists!')
- .pc-form-grid-col-30
- +sane-ignite-form-field-dropdown({
- label: 'Index type:',
- model: `queryIndex.indexType`,
- name: '"indexType"',
- required: true,
- placeholder: 'Select index type',
- options: '::$ctrl.Models.indexType.values'
- })
- .pc-form-grid-col-60
- .ignite-form-field
- +ignite-form-field__label('Index fields:', '"indexFields"', true)
- .ignite-form-field__control
- list-editable(
- ng-model='queryIndex.fields'
- ng-model-options='{allowInvalid: true}'
- name='indexFields'
- ng-required='true'
- )
- list-editable-item-view(item-name='indexField')
- | {{ indexField.name }}
- span(ng-if='queryIndex.indexType === "SORTED"')
- | / {{ indexField.direction ? "ASC" : "DESC" }}
-
- list-editable-item-edit(item-name='indexField')
- .pc-form-grid-row
- .pc-form-grid-col-60
- +sane-ignite-form-field-dropdown({
- label: 'Index field:',
- model: 'indexField.name',
- name: '"indexName"',
- placeholder: `{{ ${queryFields}.length > 0 ? 'Choose index field' : 'No fields configured' }}`,
- options: queryFields
- })(
- bs-options=`queryField.name as queryField.name for queryField in ${queryFields}`
- ng-disabled=`${queryFields}.length === 0`
- ng-model-options='{allowInvalid: true}'
- ignite-unique='queryIndex.fields'
- ignite-unique-property='name'
- ignite-auto-focus
- )
- +unique-feedback(_, 'Such field already exists!')
- .pc-form-grid-col-60(
- ng-if='queryIndex.indexType === "SORTED"'
- )
- +sane-ignite-form-field-dropdown({
- label: 'Sort direction:',
- model: 'indexField.direction',
- name: '"indexDirection"',
- required: true,
- options: '::$ctrl.Models.indexSortDirection.values'
- })
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$edit($ctrl.Models.addIndexField(queryIndex.fields))`
- label-single='field to index'
- label-multiple='fields in index'
- )
- .ignite-form-field__errors(
- ng-messages=`$form.indexFields.$error`
- ng-show=`$form.indexFields.$invalid`
- )
- +form-field-feedback(_, 'required', 'Index fields should be configured')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$edit($ctrl.Models.addIndex(${model}))`
- label-single='index'
- label-multiple='fields'
- )
- .ignite-form-field__errors(
- ng-messages=`query.queryIndexes.$error`
- ng-show=`query.queryIndexes.$invalid`
- )
- +form-field-feedback(_, 'complete', 'Some indexes are incomplete')
- +form-field-feedback(_, 'fieldsExist', 'Some indexes use unknown fields')
- +form-field-feedback(_, 'indexFieldsHaveUniqueNames', 'Each query index field name should be unique')
-
- .pca-form-column-6
- +preview-xml-java(model, 'domainModelQuery')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/domains/store.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/domains/store.pug b/modules/web-console/frontend/app/modules/states/configuration/domains/store.pug
deleted file mode 100644
index 811c0d7..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/domains/store.pug
+++ /dev/null
@@ -1,123 +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
-
--var form = 'store'
--var model = 'backupItem'
--var keyFields = `${model}.keyFields`
--var valueFields = `${model}.valueFields`
-
-mixin list-db-field-edit({ items, itemName, itemsName })
- list-editable(
- ng-model=items
- ng-model-options='{allowInvalid: true}'
- ui-validate=`{
- dbFieldUnique: '$ctrl.Models.storeKeyDBFieldsUnique($value)'
- }`
- ui-validate-watch=`"${items}"`
- ui-validate-watch-object-equality='true'
- )&attributes(attributes)
- list-editable-item-view
- | {{ $item.databaseFieldName }} / {{ $item.databaseFieldType }} / {{ $item.javaFieldName }} / {{ $item.javaFieldType }}
-
- list-editable-item-edit
- .pc-form-grid-row
- .pc-form-grid-col-30(divider='/')
- +sane-ignite-form-field-text({
- label: 'DB name:',
- model: '$item.databaseFieldName',
- name: '"databaseFieldName"',
- required: true,
- placeholder: 'Enter DB name'
- })(
- ng-model-options='{allowInvalid: true}'
- ignite-auto-focus
- ignite-unique=items
- ignite-unique-property='databaseFieldName'
- )
- +unique-feedback(_, 'DB name should be unique')
- .pc-form-grid-col-30
- +dropdown-required('DB type:', '$item.databaseFieldType', '"databaseFieldType"', true, true, 'Choose DB type', 'supportedJdbcTypes')
- .pc-form-grid-col-30(divider='/')
- +sane-ignite-form-field-text({
- label: 'Java name:',
- model: '$item.javaFieldName',
- name: '"javaFieldName"',
- required: true,
- placeholder: 'Enter Java name'
- })(
- ng-model-options='{allowInvalid: true}'
- ignite-unique=items
- ignite-unique-property='javaFieldName'
- )
- +unique-feedback(_, 'Java name should be unique')
- .pc-form-grid-col-30
- +dropdown-required('Java type:', '$item.javaFieldType', '"javaFieldType"', true, true, 'Choose Java type', 'supportedJavaTypes')
-
- list-editable-no-items
- list-editable-add-item-button(
- add-item=`$editLast((${items} = ${items} || []).push({}))`
- label-single=itemName
- label-multiple=itemsName
- )
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title#store-title Domain model for cache store
- panel-description
- | Domain model properties for binding database with cache via POJO cache store.
- a.link-success(href="https://apacheignite.readme.io/docs/3rd-party-store" target="_blank") More info
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- .pc-form-grid-col-30
- +text('Database schema:', model + '.databaseSchema', '"databaseSchema"', 'false', 'Input DB schema name', 'Schema name in database')
- .pc-form-grid-col-30
- +text('Database table:', model + '.databaseTable', '"databaseTable"', 'false', 'Input DB table name', 'Table name in database')
- .pc-form-grid-col-60
- .ignite-form-field
- +ignite-form-field__label('Key fields:', '"keyFields"')
- +tooltip(`Collection of key fields descriptions for CacheJdbcPojoStore`)
- .ignite-form-field__control
- +list-db-field-edit({
- items: keyFields,
- itemName: 'key field',
- itemsName: 'key fields'
- })(name='keyFields')
- .ignite-form-field__errors(
- ng-messages=`store.keyFields.$error`
- ng-show=`store.keyFields.$invalid`
- )
- +form-field-feedback(_, 'dbFieldUnique', 'Each key field DB name and Java name should be unique')
-
- .pc-form-grid-col-60
- .ignite-form-field
- +ignite-form-field__label('Value fields:', '"valueFields"')
- +tooltip(`Collection of value fields descriptions for CacheJdbcPojoStore`)
- .ignite-form-field__control
- +list-db-field-edit({
- items: valueFields,
- itemName: 'value field',
- itemsName: 'value fields'
- })(name='valueFields')
- .ignite-form-field__errors(
- ng-messages=`store.valueFields.$error`
- ng-show=`store.valueFields.$invalid`
- )
- +form-field-feedback(_, 'dbFieldUnique', 'Each value field DB name and Java name should be unique')
-
- .pca-form-column-6
- +preview-xml-java(model, 'domainStore')
-
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/igfs/dual.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/igfs/dual.pug b/modules/web-console/frontend/app/modules/states/configuration/igfs/dual.pug
deleted file mode 100644
index 67a37ad..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/igfs/dual.pug
+++ /dev/null
@@ -1,42 +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
-
--var form = 'dualMode'
--var model = 'backupItem'
-
-panel-collapsible(
- ng-form=form
- on-open=`ui.loadPanel('${form}')`
- ng-if='$ctrl.available(["1.0.0", "2.0.0"])'
-)
- panel-title Dual mode
- panel-description
- | IGFS supports dual-mode that allows it to work as either a standalone file system in Hadoop cluster, or work in tandem with HDFS, providing a primary caching layer for the secondary HDFS.
- | As a caching layer it provides highly configurable read-through and write-through behaviour.
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6
- .settings-row
- +number('Maximum pending puts size:', `${model}.dualModeMaxPendingPutsSize`, '"dualModeMaxPendingPutsSize"', 'true', '0', 'Number.MIN_SAFE_INTEGER',
- 'Maximum amount of pending data read from the secondary file system and waiting to be written to data cache<br/>\
- Zero or negative value stands for unlimited size')
- .settings-row
- +java-class('Put executor service:', `${model}.dualModePutExecutorService`, '"dualModePutExecutorService"', 'true', 'false', 'DUAL mode put operation executor service')
- .settings-row
- +checkbox('Put executor service shutdown', `${model}.dualModePutExecutorServiceShutdown`, '"dualModePutExecutorServiceShutdown"', 'DUAL mode put operation executor service shutdown flag')
- .pca-form-column-6
- +preview-xml-java(model, 'igfsDualMode')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/igfs/fragmentizer.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/igfs/fragmentizer.pug b/modules/web-console/frontend/app/modules/states/configuration/igfs/fragmentizer.pug
deleted file mode 100644
index a8194c2..0000000
--- a/modules/web-console/frontend/app/modules/states/configuration/igfs/fragmentizer.pug
+++ /dev/null
@@ -1,37 +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
-
--var form = 'fragmentizer'
--var model = 'backupItem'
-
-panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`)
- panel-title Fragmentizer
- panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`)
- .pca-form-column-6.pc-form-grid-row
- -var enabled = `${model}.fragmentizerEnabled`
-
- .pc-form-grid-col-60
- +checkbox('Enabled', enabled, '"fragmentizerEnabled"', 'Fragmentizer enabled flag')
- .pc-form-grid-col-30
- +number('Concurrent files:', `${model}.fragmentizerConcurrentFiles`, '"fragmentizerConcurrentFiles"', enabled, '0', '0', 'Number of files to process concurrently by fragmentizer')
- .pc-form-grid-col-30
- +number('Throttling block length:', `${model}.fragmentizerThrottlingBlockLength`, '"fragmentizerThrottlingBlockLength"', enabled, '16777216', '1', 'Length of file chunk to transmit before throttling is delayed')
- .pc-form-grid-col-60
- +number('Throttling delay:', `${model}.fragmentizerThrottlingDelay`, '"fragmentizerThrottlingDelay"', enabled, '200', '0', 'Delay in milliseconds for which fragmentizer is paused')
- .pca-form-column-6
- +preview-xml-java(model, 'igfsFragmentizer')