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')