Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 608BC200AF5 for ; Wed, 18 May 2016 11:21:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5F4D11609B1; Wed, 18 May 2016 09:21:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6BC65160A3A for ; Wed, 18 May 2016 11:21:06 +0200 (CEST) Received: (qmail 66844 invoked by uid 500); 18 May 2016 09:21:05 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 65667 invoked by uid 99); 18 May 2016 09:21:04 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 May 2016 09:21:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 813C3E0FC4; Wed, 18 May 2016 09:21:04 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: av@apache.org To: commits@ignite.apache.org Date: Wed, 18 May 2016 09:21:16 -0000 Message-Id: <5396eb68c6f349dba001a37b25acba0a@git.apache.org> In-Reply-To: <6c7a4dfea66d4f8190d015e7cb116337@git.apache.org> References: <6c7a4dfea66d4f8190d015e7cb116337@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [13/28] ignite git commit: IGNITE-843 Implemented Web Console. archived-at: Wed, 18 May 2016 09:21:08 -0000 http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade new file mode 100644 index 0000000..1d09caa --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/forever.jade @@ -0,0 +1,22 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../../../../../app/helpers/jade/mixins.jade + +-var model = 'backupItem.discovery.ZooKeeper.retryPolicy.Forever' + +.details-row + +number('Interval:', model + '.retryIntervalMs', 'retryIntervalMs', 'true', '1000', '0', 'Time in ms between retry attempts') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.directive.js new file mode 100644 index 0000000..ce83da4 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './n-times.jade!'; + +export default ['igniteConfigurationClustersGeneralDiscoveryZookeeperNTimes', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade new file mode 100644 index 0000000..0b70f59 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/n-times.jade @@ -0,0 +1,25 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../../../../../app/helpers/jade/mixins.jade + +-var model = 'backupItem.discovery.ZooKeeper.retryPolicy.NTimes' + +div + .details-row + +number('Retries:', model + '.n', 'n', 'true', '10', '0', 'Number of times to retry') + .details-row + +number('Interval:', model + '.sleepMsBetweenRetries', 'sleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.directive.js new file mode 100644 index 0000000..7329cc2 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './one-time.jade!'; + +export default ['igniteConfigurationClustersGeneralDiscoveryZookeeperOneTime', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade new file mode 100644 index 0000000..8b9fa18 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/one-time.jade @@ -0,0 +1,23 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../../../../../app/helpers/jade/mixins.jade + +-var model = 'backupItem.discovery.ZooKeeper.retryPolicy.OneTime' + +div + .details-row + +number('Interval:', model + '.sleepMsBetweenRetry', 'sleepMsBetweenRetry', 'true', '1000', '0', 'Time in ms to retry attempt') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.directive.js new file mode 100644 index 0000000..8997159 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './until-elapsed.jade!'; + +export default ['igniteConfigurationClustersGeneralDiscoveryZookeeperUntilElapsed', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade new file mode 100644 index 0000000..ad9f3c1 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/general/discovery/zookeeper/retrypolicy/until-elapsed.jade @@ -0,0 +1,25 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../../../../../app/helpers/jade/mixins.jade + +-var model = 'backupItem.discovery.ZooKeeper.retryPolicy.UntilElapsed' + +div + .details-row + +number('Total time:', model + '.maxElapsedTimeMs', 'maxElapsedTimeMs', 'true', '60000', '0', 'Total time in ms for execution of retry attempt') + .details-row + +number('Interval:', model + '.sleepMsBetweenRetries', 'sleepMsBetweenRetries', 'true', '1000', '0', 'Time in ms between retry attempts') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.directive.js new file mode 100644 index 0000000..1d0e3d8 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './igfs.jade!'; + +export default ['igniteConfigurationClustersIgfs', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade new file mode 100644 index 0000000..c76c66d --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/igfs.jade @@ -0,0 +1,37 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'igfs' +-var model = 'backupItem' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label IGFS + ignite-form-field-tooltip.tipLabel + | IGFS (Ignite In-Memory File System) configurations + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +dropdown-multiple('IGFS: (add)', + model + '.igfss', 'igfss', 'true', 'Choose IGFS', 'No IGFS configured', 'igfss', + 'Select IGFS to start in cluster or add a new IGFS') + .col-sm-6 + +preview-xml-java(model, 'igfss') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.directive.js new file mode 100644 index 0000000..6c266a8 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './marshaller.jade!'; + +export default ['igniteConfigurationClustersMarshaller', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.jade new file mode 100644 index 0000000..fbeb11a --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/marshaller.jade @@ -0,0 +1,69 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'marshaller' +-var model = 'backupItem' +-var marshaller = model + '.marshaller' +-var optMarshaller = marshaller + '.OptimizedMarshaller' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Marshaller + ignite-form-field-tooltip.tipLabel + | Marshaller allows to marshal or unmarshal objects in grid#[br] + | It provides serialization/deserialization mechanism for all instances that are sent across networks or are otherwise serialized + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +dropdown('Marshaller:', marshaller + '.kind', 'kind', 'true', 'Choose marshaller', + '[\ + {value: "OptimizedMarshaller", label: "OptimizedMarshaller"},\ + {value: "JdkMarshaller", label: "JdkMarshaller"},\ + {value: undefined, label: "Not set"}\ + ]', + 'Instance of marshaller to use in grid
\ + If not provided, BinaryMarshaller will be used') + a.customize( + ng-if='#{marshaller}.kind && #{marshaller}.kind === "OptimizedMarshaller"' + ng-click='#{marshaller}.expanded = !#{marshaller}.expanded' + ) {{ #{marshaller}.expanded ? "Hide settings" : "Show settings"}} + .settings-row + .panel-details(ng-if='#{marshaller}.expanded && #{marshaller}.kind === "OptimizedMarshaller"') + .details-row + +number('Streams pool size:', optMarshaller + '.poolSize', 'poolSize', 'true', '0', '0', + 'Specifies size of cached object streams used by marshaller
\ + Object streams are cached for performance reason to avoid costly recreation for every serialization routine
\ + If 0 (default), pool is not used and each thread has its own cached object stream which it keeps reusing
\ + Since each stream has an internal buffer, creating a stream for each thread can lead to high memory consumption if many large messages are marshalled or unmarshalled concurrently
\ + Consider using pool in this case. This will limit number of streams that can be created and, therefore, decrease memory consumption
\ + NOTE: Using streams pool can decrease performance since streams will be shared between different threads which will lead to more frequent context switching') + .details-row + +checkbox('Require serializable', optMarshaller + '.requireSerializable', 'requireSerializable', + 'Whether marshaller should require Serializable interface or not') + .settings-row + +checkbox('Marshal local jobs', model + '.marshalLocalJobs', 'marshalLocalJobs', 'If this flag is enabled, jobs mapped to local node will be marshalled as if it was remote node') + .settings-row + +number('Keep alive time:', model + '.marshallerCacheKeepAliveTime', 'marshallerCacheKeepAliveTime', 'true', '10000', '0') + .settings-row + +number('Pool size:', model + '.marshallerCacheThreadPoolSize', 'marshallerCacheThreadPoolSize', 'true', 'max(8, availableProcessors) * 2', '0', + 'Default size of thread pool that is in charge of processing marshaller messages') + .col-sm-6 + +preview-xml-java(model, 'clusterMarshaller') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.directive.js new file mode 100644 index 0000000..fc572a6 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './metrics.jade!'; + +export default ['igniteConfigurationClustersMetrics', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.jade new file mode 100644 index 0000000..4d41d10 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/metrics.jade @@ -0,0 +1,50 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'metrics' +-var model = 'backupItem' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Metrics + ignite-form-field-tooltip.tipLabel + | Cluster runtime metrics settings + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +number('Elapsed time:', model + '.metricsExpireTime', 'metricsExpireTime', 'true', 'Long.MAX_VALUE', '1', + 'Time in milliseconds after which a certain metric value is considered expired') + .settings-row + +number('History size:', model + '.metricsHistorySize', 'metricsHistorySize', 'true', '10000', '1', + 'Number of metrics kept in history to compute totals and averages') + .settings-row + +number('Log frequency:', model + '.metricsLogFrequency', 'metricsLogFrequency', 'true', '60000', '0', + 'Frequency of metrics log print out. To disable set to 0') + .settings-row + +number('Update frequency:', model + '.metricsUpdateFrequency', 'metricsUpdateFrequency', 'true', '2000', '0', + 'Job metrics update frequency in milliseconds\ +
    \ +
  • If set to -1 job metrics are never updated
  • \ +
  • If set to 0 job metrics are updated on each job start and finish
  • \ +
  • Positive value defines the actual update frequency
  • \ +
') + .col-sm-6 + +preview-xml-java(model, 'clusterMetrics') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.directive.js new file mode 100644 index 0000000..d875c59 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './ssl.jade!'; + +export default ['igniteConfigurationClustersSsl', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.jade new file mode 100644 index 0000000..0a25e79 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/ssl.jade @@ -0,0 +1,108 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'sslConfiguration' +-var cluster = 'backupItem' +-var enabled = 'backupItem.sslEnabled' +-var model = cluster + '.sslContextFactory' +-var trust = model + '.trustManagers' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label(id='sslConfiguration-title') SSL configuration + ignite-form-field-tooltip.tipLabel + | Settings for SSL configuration + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +checkbox('Enabled', enabled, 'sslEnabled', 'Flag indicating whether to configure SSL configuration') + .settings-row + +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
\ + Notice that in most cased default value suites well, however, on Android platform this value need to be set to X509') + .settings-row + +text-enabled('Key store file:', model + '.keyStoreFilePath', 'keyStoreFilePath', enabled, enabled, 'Path to the key store file', + 'Path to the key store file
\ + This is a mandatory parameter since ssl context could not be initialized without key manager') + .settings-row + +text-options('Key store type:', model + '.keyStoreType', 'keyStoreType', '["JKS", "PCKS11", "PCKS12"]', enabled, 'false', 'JKS', + 'Key store type used in context initialization') + .settings-row + +text-options('Protocol:', model + '.protocol', 'protocol', '["TSL", "SSL"]', enabled, 'false', 'TSL', 'Protocol for secure transport') + .settings-row + -var trustManagersForm = 'trustManagers' + + ignite-form-group(ng-form='trustManagers' ng-model='#{trust}') + -var uniqueTip = 'Such trust manager already exists!' + + ignite-form-field-label + | Trust managers + ignite-form-group-tooltip + | Pre-configured trust managers + ignite-form-group-add(ng-show='#{enabled}' ng-click='(group.add = [{}])') + | Add new trust manager. + + .group-content(ng-if='#{trust}.length') + -var field = 'edit' + -var valid = 'form[ngModelName].$valid' + -var unique = 'form[ngModelName].$error.igniteUnique' + -var save = trust + '[$index] = ' + field + -var reset = 'field.edit = false' + + div(ng-show=enabled) + ignite-form-field(ng-repeat='model in #{trust} track by $index' type='internal' name='Trust manager') + .indexField + | {{ $index+1 }}) + +table-remove-conditional-button(trust, enabled, 'Remove trust manager') + span(ng-hide='field.edit') + a.labelFormField(ng-click='#{enabled} && (field.edit = true)') {{ model }} + span(ng-if='field.edit' ng-init='#{field} = model') + +table-java-class-field('Trust manager', field, trust, valid, save, false) + +table-save-button(valid, save, false) + +unique-feedback(unique, uniqueTip) + div(ng-hide=enabled) + ignite-form-field(ng-repeat='model in #{trust} track by $index' type='internal' name='Trust manager') + .labelFormField.labelField + | {{ $index+1 }}) + span.labelFormField + | {{ model }} + + .group-content(ng-repeat='field in group.add') + -var field = 'new' + -var valid = 'form[ngModelName].$valid' + -var unique = 'form[ngModelName].$error.igniteUnique' + -var save = trust + '.push(' + field + ')' + + ignite-form-field(type='internal' name='Trust manager') + +table-java-class-field('Trust manager', field, trust, valid, save, true) + +table-save-button(valid, save, true) + +unique-feedback(unique, uniqueTip) + + .group-content-empty(ng-if='!(#{trust}.length) && !group.add.length') + | Not defined + + .settings-row(ng-if='!#{trust}.length') + +text-enabled('Trust store file:', model + '.trustStoreFilePath', 'trustStoreFilePath', enabled, 'false', 'Path to the trust store file', 'Path to the trust store file') + .settings-row(ng-if='!#{trust}.length') + +text-options('Trust store type:', model + '.trustStoreType', 'trustStoreType', '["JKS", "PCKS11", "PCKS12"]', enabled, 'false', 'JKS', + 'Trust store type used in context initialization') + .col-sm-6 + +preview-xml-java(cluster, 'clusterSsl') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.directive.js new file mode 100644 index 0000000..db83d50 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './swap.jade!'; + +export default ['igniteConfigurationClustersSwap', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.jade new file mode 100644 index 0000000..fd62fe8 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/swap.jade @@ -0,0 +1,67 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'swap' +-var model = 'backupItem' +-var swapModel = model + '.swapSpaceSpi' +-var fileSwapModel = swapModel + '.FileSwapSpaceSpi' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Swap + ignite-form-field-tooltip.tipLabel + | Settings for overflow data to disk if it cannot fit in memory + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +dropdown('Swap space SPI:', swapModel + '.kind', 'swapSpaceSpi', 'true', 'Choose swap SPI', + '[\ + {value: "FileSwapSpaceSpi", label: "File-based swap"},\ + {value: undefined, label: "Not set"}\ + ]', + 'Provides a mechanism in grid for storing data on disk
\ + Ignite cache uses swap space to overflow data to disk if it cannot fit in memory') + a.customize( + ng-if='#{swapModel}.kind' + ng-click='#{swapModel}.expanded = !#{swapModel}.expanded' + ) {{ #{swapModel}.expanded ? "Hide settings" : "Show settings"}} + .settings-row + .panel-details(ng-if='#{swapModel}.expanded && #{swapModel}.kind') + .details-row + +text('Base directory:', fileSwapModel + '.baseDirectory', 'baseDirectory', 'false', 'swapspace', + 'Base directory where to write files') + .details-row + +number('Read stripe size:', fileSwapModel + '.readStripesNumber', 'readStripesNumber', 'true', 'availableProcessors', '0', + 'Read stripe size defines number of file channels to be used concurrently') + .details-row + +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
\ + When this ratio becomes higher than specified number compacting thread starts working') + .details-row + +number('Max write queue size:', fileSwapModel + '.maxWriteQueueSize', 'maxWriteQueueSize', 'true', '1024 * 1024', '0', + 'Max write queue size in bytes
\ + If there are more values are waiting for being written to disk then specified size, SPI will block on store operation') + .details-row + +number('Write buffer size:', fileSwapModel + '.writeBufferSize', 'writeBufferSize', 'true', '64 * 1024', '0', + 'Write buffer size in bytes
\ + Write to disk occurs only when this buffer is full') + .col-sm-6 + +preview-xml-java(model, 'clusterSwap') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.directive.js new file mode 100644 index 0000000..dabc574 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './thread.jade!'; + +export default ['igniteConfigurationClustersThread', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.jade new file mode 100644 index 0000000..20803aa --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/thread.jade @@ -0,0 +1,48 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'pools' +-var model = 'backupItem' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Thread pools size + ignite-form-field-tooltip.tipLabel + | Settings for node thread pools + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +number('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') + .settings-row + +number('System:', model + '.systemThreadPoolSize', 'systemThreadPoolSize', 'true', 'max(8, availableProcessors) * 2', '1', + 'Thread pool that is in charge of processing internal system messages') + .settings-row + +number('Management:', model + '.managementThreadPoolSize', 'managementThreadPoolSize', 'true', '4', '1', + 'Thread pool that is in charge of processing internal and Visor ComputeJob, GridJobs') + .settings-row + +number('IGFS:', model + '.igfsThreadPoolSize', 'igfsThreadPoolSize', 'true', 'availableProcessors', '1', + 'Thread pool that is in charge of processing outgoing IGFS messages') + .settings-row + +number('Rebalance:', model + '.rebalanceThreadPoolSize', 'rebalanceThreadPoolSize', 'true', '1', '1', + 'Max count of threads can be used at rebalancing') + .col-sm-6 + +preview-xml-java(model, 'clusterPools') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.directive.js new file mode 100644 index 0000000..b55b8a1 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './time.jade!'; + +export default ['igniteConfigurationClustersTime', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.jade new file mode 100644 index 0000000..714a36c --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/time.jade @@ -0,0 +1,47 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'time' +-var model = 'backupItem' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Time configuration + ignite-form-field-tooltip.tipLabel + | Time settings for CLOCK write ordering mode + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +number('Samples size:', model + '.clockSyncSamples', 'clockSyncSamples', 'true', '8', '0', + 'Number of samples used to synchronize clocks between different nodes
\ + Clock synchronization is used for cache version assignment in CLOCK order mode') + .settings-row + +number('Frequency:', model + '.clockSyncFrequency', 'clockSyncFrequency', 'true', '120000', '0', + 'Frequency at which clock is synchronized between nodes, in milliseconds
\ + Clock synchronization is used for cache version assignment in CLOCK order mode') + .settings-row + +number-min-max('Port base:', model + '.timeServerPortBase', 'timeServerPortBase', 'true', '31100', '0', '65535', + 'Time server provides clock synchronization between nodes
\ + Base UPD port number for grid time server. Time server will be started on one of free ports in range') + .settings-row + +number('Port range:', model + '.timeServerPortRange', 'timeServerPortRange', 'true', '100', '1', 'Time server port range') + .col-sm-6 + +preview-xml-java(model, 'clusterTime') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.directive.js new file mode 100644 index 0000000..985de49 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './transactions.jade!'; + +export default ['igniteConfigurationClustersTransactions', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.jade b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.jade new file mode 100644 index 0000000..3b0fef7 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/clusters/transactions.jade @@ -0,0 +1,59 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +-var form = 'transactions' +-var model = 'backupItem.transactionConfiguration' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle ng-click='ui.loadPanel("#{form}")') + ignite-form-panel-chevron + label Transactions + ignite-form-field-tooltip.tipLabel + | Settings for transactions + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body(ng-if='ui.isPanelLoaded("#{form}")') + .col-sm-6 + .settings-row + +dropdown('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') + .settings-row + +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') + .settings-row + +number('Default timeout:', model + '.defaultTxTimeout', 'defaultTxTimeout', 'true', '0', '0', 'Default transaction timeout') + .settings-row + +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') + .settings-row + +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') + .settings-row + +java-class('Manager factory:', model + '.txManagerFactory', 'txManagerFactory', 'true', 'false', + 'Class name of transaction manager factory for integration with JEE app servers') + .col-sm-6 + +preview-xml-java(model, 'clusterTransactions') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.directive.js new file mode 100644 index 0000000..ab03eb0 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './general.jade!'; + +export default ['igniteConfigurationDomainsGeneral', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.jade b/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.jade new file mode 100644 index 0000000..c7d25b4 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/domains/general.jade @@ -0,0 +1,46 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +- var form = 'general' +- var model = 'backupItem' + +form.panel.panel-default(name=form novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label General + ignite-form-field-tooltip.tipLabel + | Domain model properties common for Query and Store + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id=form) + .panel-body + .col-sm-6 + .settings-row + +caches(model, 'Select caches to associate domain model with cache') + .settings-row + +dropdown-required('Query metadata:', model + '.queryMetadata', 'queryMetadata', 'true', 'true', '', 'queryMetadataVariants', + 'Query metadata configured with:\ +
    \ +
  • Java annotations like @QuerySqlField
  • \ +
  • Configuration via QueryEntity class
  • \ +
') + .settings-row + +java-class-typeahead('Key type:', model + '.keyType', 'keyType', 'javaBuiltInClasses', 'true', 'true', 'Full class name for Key', 'Key class used to store key in cache') + .settings-row + +java-class('Value type:', model + '.valueType', 'valueType', 'true', 'true', 'Value class used to store value in cache') + .col-sm-6 + +preview-xml-java(model, 'domainModelGeneral') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.directive.js new file mode 100644 index 0000000..c5aa79e --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './query.jade!'; + +export default ['igniteConfigurationDomainsQuery', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.jade ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.jade b/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.jade new file mode 100644 index 0000000..9974417 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/domains/query.jade @@ -0,0 +1,169 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +include ../../../../../app/helpers/jade/mixins.jade + +- var model = 'backupItem' +- var queryFields = model + '.fields' +- var queryAliases = model + '.aliases' +- var queryIndexes = model + '.indexes' +- var queryFieldsForm = 'queryFields' +- var queryAliasesForm = 'queryAliases' +- var queryIndexesForm = 'queryIndexes' + +// LEGACY mixin for LEGACY index fields table. +mixin table-index-item-edit(prefix, index, sortAvailable, idAddition) + -var fieldName = prefix + 'FieldName' + -var direction = prefix + 'Direction' + + -var fieldNameModel = 'indexesTbl.' + fieldName + -var directionModel = 'indexesTbl.' + direction + + -var btnVisible = 'tableIndexItemSaveVisible(indexesTbl, ' + index + ')' + -var btnSave = 'tableIndexItemSave(indexesTbl, itemIndex, ' + index + ')' + -var btnVisibleAndSave = btnVisible + ' && ' + btnSave + + .col-xs-8.col-sm-8.col-md-8(ng-show=sortAvailable) + label.fieldSep / + .input-tip + input.form-control(id='{{::"#{fieldName}S" + #{idAddition}}}' enter-focus-next='{{::"#{direction}S" + #{idAddition}}}' type='text' ng-model=fieldNameModel placeholder='Field name' on-escape='tableReset()') + .col-xs-4.col-sm-4.col-md-4(ng-show=sortAvailable) + +btn-save(btnVisible, btnSave) + .input-tip + button.select-toggle.form-control(id='{{::"#{direction}S" + #{idAddition}}}' ng-model=directionModel bs-select bs-options='item.value as item.label for item in {{sortDirections}}' on-enter=btnVisibleAndSave on-escape='tableReset()' tabindex='0') + .col-xs-12(ng-show='!(#{sortAvailable})') + +btn-save(btnVisible, btnSave) + .input-tip + input.form-control(id='{{::"#{fieldName}" + #{idAddition}}}' type='text' ng-model=fieldNameModel placeholder='Field name' on-enter=btnVisibleAndSave on-escape='tableReset()') + +form.panel.panel-default(name='query' novalidate) + .panel-heading(bs-collapse-toggle) + ignite-form-panel-chevron + label(id='query-title') Domain model for SQL query + ignite-form-field-tooltip.tipLabel + | Domain model properties for fields queries + ignite-form-revert + .panel-collapse(role='tabpanel' bs-collapse-target id='query') + .panel-body + .col-sm-6 + .content-not-available(ng-if='#{model}.queryMetadata === "Annotations"') + label Not available for annotated types + div(ng-if='#{model}.queryMetadata === "Configuration"') + .settings-row(ng-init='queryFieldsTbl={type: "fields", model: "fields", focusId: "QryField", ui: "table-pair", keyName: "name", valueName: "className"}') + ignite-form-group(ng-model='#{queryFields}' ng-form='#{queryFieldsForm}') + ignite-form-field-label(id='queryFields') + | Fields + ignite-form-group-tooltip + | Collection of name-to-type mappings to be queried, in addition to indexed fields + ignite-form-group-add(ng-click='tableNewItem(queryFieldsTbl)') + | Add field to query + .group-content-empty(ng-if='!((#{queryFields} && #{queryFields}.length > 0) || tableNewItemActive(queryFieldsTbl))') + | Not defined + .group-content(ng-show='(#{queryFields} && #{queryFields}.length > 0) || tableNewItemActive(queryFieldsTbl)') + table.links-edit(id='fields' st-table=queryFields) + tbody + tr(ng-repeat='item in #{queryFields}') + td.col-sm-12(ng-show='!tableEditing(queryFieldsTbl, $index)') + a.labelFormField(ng-click='tableStartEdit(backupItem, queryFieldsTbl, $index)') {{item.name}} / {{item.className}} + +btn-remove('tableRemove(backupItem, queryFieldsTbl, $index)', '"Remove path"') + td.col-sm-12(ng-show='tableEditing(queryFieldsTbl, $index)') + +table-pair-edit('queryFieldsTbl', 'cur', 'Field name', 'Field full class name', false, true, '{{::queryFieldsTbl.focusId + $index}}', '$index', '/') + tfoot(ng-show='tableNewItemActive(queryFieldsTbl)') + tr + td.col-sm-12 + +table-pair-edit('queryFieldsTbl', 'new', 'Field name', 'Field full class name', false, true, '{{::queryFieldsTbl.focusId + $index}}', '-1', '/') + .settings-row(ng-init='aliasesTbl={type: "aliases", model: "aliases", focusId: "Alias", ui: "table-pair", keyName: "field", valueName: "alias"}') + ignite-form-group(ng-model='#{queryAliases}' ng-form='#{queryAliasesForm}') + ignite-form-field-label + | Aliases + ignite-form-group-tooltip + | Mapping from full property name in dot notation to an alias that will be used as SQL column name + | For example: "parent.name" as "parentName" + ignite-form-group-add(ng-click='tableNewItem(aliasesTbl)') + | Add alias to query + .group-content-empty(ng-if='!((#{queryAliases} && #{queryAliases}.length > 0) || tableNewItemActive(aliasesTbl))') + | Not defined + .group-content(ng-show='(#{queryAliases} && #{queryAliases}.length > 0) || tableNewItemActive(aliasesTbl)') + table.links-edit(id='aliases' st-table=queryAliases) + tbody + tr(ng-repeat='item in #{queryAliases}') + td.col-sm-12(ng-show='!tableEditing(aliasesTbl, $index)') + a.labelFormField(ng-click='tableStartEdit(backupItem, aliasesTbl, $index)') {{item.field}} → {{item.alias}} + +btn-remove('tableRemove(backupItem, aliasesTbl, $index)', '"Remove alias"') + td.col-sm-12(ng-show='tableEditing(aliasesTbl, $index)') + +table-pair-edit('aliasesTbl', 'cur', 'Field name', 'Field Alias', false, false, '{{::aliasesTbl.focusId + $index}}', '$index', '→') + tfoot(ng-show='tableNewItemActive(aliasesTbl)') + tr + td.col-sm-12 + +table-pair-edit('aliasesTbl', 'new', 'Field name', 'Field Alias', false, false, '{{::aliasesTbl.focusId + $index}}', '-1', '→') + .settings-row(ng-init='indexesTbl={type: "table-indexes", model: "indexes", focusId: "IndexName", ui: "table-indexes"}') + ignite-form-group(ng-model='#{queryIndexes}' ng-form='#{queryIndexesForm}') + ignite-form-field-label + | Indexes + ignite-form-group-tooltip + | Collection of indexes + ignite-form-group-add(ng-click='tableNewItem(indexesTbl)') + | Add new index + .group-content-empty(id='indexes-add' ng-show='!((#{queryIndexes} && #{queryIndexes}.length > 0) || tableNewItemActive(indexesTbl))') + | Not defined + .group-content(ng-show='(#{queryIndexes} && #{queryIndexes}.length > 0) || tableNewItemActive(indexesTbl)') + -var btnVisibleAndSave = 'tableIndexSaveVisible(indexesTbl, $index) && tableIndexSave(indexesTbl, $index)' + + table.links-edit(st-table=queryIndexes ng-init='newDirection = false') + tbody + tr(ng-repeat='item in #{queryIndexes}') + td + .col-sm-12(ng-show='!tableEditing(indexesTbl, $index)') + a.labelFormField(id='indexes{{$index}}' ng-click='tableStartEdit(backupItem, indexesTbl, $index)') {{$index + 1}}) {{item.name}} [{{item.indexType}}] + +btn-remove('tableRemove(backupItem, indexesTbl, $index)', '"Remove index"') + +btn-add('tableIndexNewItem(indexesTbl, $index)', '"Add new field to index"') + div(ng-show='tableEditing(indexesTbl, $index)') + .col-sm-7 + label.fieldSep / + .input-tip + input.form-control(id='curIndexName{{$index}}' type='text' enter-focus-next='curIndexType{{$index}}' ng-model='indexesTbl.curIndexName' placeholder='Index name' on-enter=btnVisibleAndSave on-escape='tableReset()') + .col-sm-5 + +btn-save('tableIndexSaveVisible(indexesTbl, $index)', 'tableIndexSave(indexesTbl, $index)') + .input-tip + button.select-toggle.form-control(id='curIndexType{{$index}}' bs-select ng-model='indexesTbl.curIndexType' data-placeholder='Select index type' bs-options='item.value as item.label for item in indexType' tabindex='0' on-enter=btnVisibleAndSave on-escape='tableReset()') + .margin-left-dflt + table.links-edit-sub(st-table='item.fields' ng-init='itemIndex = $index') + tbody + tr(ng-repeat='itemItem in item.fields') + td + div(ng-show='!tableIndexItemEditing(indexesTbl, itemIndex, $index)') + a.labelFormField(ng-if='item.indexType == "SORTED"' ng-click='tableIndexItemStartEdit(indexesTbl, itemIndex, $index)') {{$index + 1}}) {{itemItem.name}} / {{itemItem.direction ? "ASC" : "DESC"}} + a.labelFormField(ng-if='item.indexType != "SORTED"' ng-click='tableIndexItemStartEdit(indexesTbl, itemIndex, $index)') {{$index + 1}}) {{itemItem.name}} + +btn-remove('tableRemoveIndexItem(item, $index)', '"Remove field from index"') + div(ng-show='tableIndexItemEditing(indexesTbl, itemIndex, $index)') + +table-index-item-edit('cur', '$index', 'item.indexType == "SORTED"', 'itemIndex + "-" + $index') + tfoot(ng-show='tableIndexNewItemActive(indexesTbl, itemIndex)') + tr(style='padding-left: 18px') + td + +table-index-item-edit('new', '-1', 'item.indexType == "SORTED"', 'itemIndex') + tfoot(ng-show='tableNewItemActive(indexesTbl)') + tr + td + .col-sm-7 + .fieldSep / + .input-tip + input#newIndexName.form-control(type='text' enter-focus-next='newIndexType' ng-model='indexesTbl.newIndexName' placeholder='Index name' on-enter='tableIndexSaveVisible(indexesTbl, -1) && tableIndexSave(indexesTbl, -1)' on-escape='tableReset()') + .col-sm-5 + +btn-save('tableIndexSaveVisible(indexesTbl, -1)', 'tableIndexSave(indexesTbl, -1)') + .input-tip + button#newIndexType.select-toggle.form-control(bs-select ng-model='indexesTbl.newIndexType' data-placeholder='Select index type' bs-options='item.value as item.label for item in indexType' tabindex='0' on-enter=btnVisibleAndSave on-escape='tableReset()') + .col-sm-6 + +preview-xml-java(model, 'domainModelQuery') http://git-wip-us.apache.org/repos/asf/ignite/blob/eb5ac0ae/modules/web-console/src/main/js/app/modules/states/configuration/domains/store.directive.js ---------------------------------------------------------------------- diff --git a/modules/web-console/src/main/js/app/modules/states/configuration/domains/store.directive.js b/modules/web-console/src/main/js/app/modules/states/configuration/domains/store.directive.js new file mode 100644 index 0000000..39dc184 --- /dev/null +++ b/modules/web-console/src/main/js/app/modules/states/configuration/domains/store.directive.js @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import template from './store.jade!'; + +export default ['igniteConfigurationDomainsStore', [() => { + return { + scope: true, + restrict: 'E', + template, + replace: true + }; +}]];