http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/controllers/caches.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/caches.js b/modules/webconfig/nodejs/public/javascripts/controllers/caches.js deleted file mode 100644 index 006f065..0000000 --- a/modules/webconfig/nodejs/public/javascripts/controllers/caches.js +++ /dev/null @@ -1,237 +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. - */ - -configuratorModule.controller('cachesController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) { - $scope.swapSimpleItems = commonFunctions.swapSimpleItems; - $scope.joinTip = commonFunctions.joinTip; - $scope.getModel = commonFunctions.getModel; - - $scope.atomicities = [ - {value: 'ATOMIC', label: 'ATOMIC'}, - {value: 'TRANSACTIONAL', label: 'TRANSACTIONAL'} - ]; - - $scope.modes = [ - {value: 'PARTITIONED', label: 'PARTITIONED'}, - {value: 'REPLICATED', label: 'REPLICATED'}, - {value: 'LOCAL', label: 'LOCAL'} - ]; - - $scope.atomicWriteOrderModes = [ - {value: 'CLOCK', label: 'CLOCK'}, - {value: 'PRIMARY', label: 'PRIMARY'} - ]; - - $scope.memoryModes = [ - {value: 'ONHEAP_TIERED', label: 'ONHEAP_TIERED'}, - {value: 'OFFHEAP_TIERED', label: 'OFFHEAP_TIERED'}, - {value: 'OFFHEAP_VALUES', label: 'OFFHEAP_VALUES'} - ]; - - $scope.evictionPolicies = [ - {value: 'LRU', label: 'Least Recently Used'}, - {value: 'RND', label: 'Random'}, - {value: 'FIFO', label: 'FIFO'}, - {value: 'SORTED', label: 'Sorted'}, - {value: undefined, label: 'Not set'} - ]; - - $scope.rebalanceModes = [ - {value: 'SYNC', label: 'SYNC'}, - {value: 'ASYNC', label: 'ASYNC'}, - {value: 'NONE', label: 'NONE'} - ]; - - $scope.cacheStoreFactories = [ - {value: 'CacheJdbcPojoStoreFactory', label: 'JDBC POJO store factory'}, - {value: 'CacheJdbcBlobStoreFactory', label: 'JDBC BLOB store factory'}, - {value: 'CacheHibernateBlobStoreFactory', label: 'Hibernate BLOB store factory'}, - {value: undefined, label: 'Not set'} - ]; - - $scope.cacheStoreJdbcDialects = [ - {value: 'BasicJdbcDialect', label: 'Generic JDBC dialect'}, - {value: 'OracleDialect', label: 'Oracle'}, - {value: 'DB2Dialect', label: 'IBM DB2'}, - {value: 'SQLServerDialect', label: 'Microsoft SQL Server'}, - {value: 'MySQLDialect', label: 'My SQL'}, - {value: 'H2Dialect', label: 'H2 database'} - ]; - - $scope.general = []; - $scope.advanced = []; - - $http.get('/form-models/caches.json') - .success(function (data) { - $scope.general = data.general; - $scope.advanced = data.advanced; - }); - - $scope.caches = []; - - // When landing on the page, get caches and show them. - $http.get('/rest/caches') - .success(function (data) { - $scope.spaces = data.spaces; - $scope.caches = data.caches; - - var restoredItem = angular.fromJson(sessionStorage.cacheBackupItem); - - if (restoredItem) { - var idx = _.findIndex($scope.caches, function (cache) { - return cache._id == restoredItem._id; - }); - - if (idx >= 0) - $scope.selectedItem = $scope.caches[idx]; - - $scope.backupItem = restoredItem; - } - - $scope.$watch('backupItem', function (val) { - if (val) - sessionStorage.cacheBackupItem = angular.toJson(val); - }, true); - }); - - $scope.selectItem = function (item) { - $scope.selectedItem = item; - - $scope.backupItem = angular.copy(item); - }; - - // Add new cache. - $scope.createItem = function () { - $scope.backupItem = {mode: 'PARTITIONED', atomicityMode: 'ATOMIC'}; - $scope.backupItem.space = $scope.spaces[0]._id; - }; - - // Save cache in db. - $scope.saveItem = function () { - var item = $scope.backupItem; - - console.log(item); - - if (item.cacheStoreFactory && !item.readThrough && !item.writeThrough) { - $alert({position: 'top', title: 'Store is configured but read/write through are not enabled!'}); - - return; - } - - if ((item.readThrough || item.writeThrough) && (!item.cacheStoreFactory || !item.cacheStoreFactory.kind)) { - $alert({position: 'top', title: 'Read / write through are enabled but strore is not configured!'}); - - return; - } - - $http.post('/rest/caches/save', item) - .success(function (_id) { - var idx = _.findIndex($scope.caches, function (cache) { - return cache._id == _id; - }); - - if (idx >= 0) - angular.extend($scope.caches[idx], item); - else { - item._id = _id; - - $scope.caches.push(item); - } - - $scope.selectItem(item); - - $alert({ - type: 'success', - title: 'Cache "' + item.name + '" saved.', - duration: 2, - container: '#save-btn' - }); - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - - $scope.removeItem = function () { - var _id = $scope.selectedItem._id; - - $http.post('/rest/caches/remove', {_id: _id}) - .success(function () { - var i = _.findIndex($scope.caches, function (cache) { - return cache._id == _id; - }); - - if (i >= 0) { - $scope.caches.splice(i, 1); - - $scope.selectedItem = undefined; - $scope.backupItem = undefined; - } - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - - $scope.addIndexedTypes = function (keyCls, valCls) { - var idxTypes = $scope.backupItem.indexedTypes; - - var newItem = {keyClass: keyCls, valueClass: valCls}; - - if (idxTypes) - idxTypes.push(newItem); - else - $scope.backupItem.indexedTypes = [newItem]; - }; - - $scope.editIndexedTypes = function (idx) { - $scope.indexedTypeIdx = idx; - - if (idx < 0) { - $scope.currKeyCls = ''; - $scope.currValCls = ''; - } - else { - var idxType = $scope.backupItem.indexedTypes[idx]; - - $scope.currKeyCls = idxType.keyClass; - $scope.currValCls = idxType.valueClass; - } - }; - - $scope.saveIndexedType = function (k, v) { - var idxTypes = $scope.backupItem.indexedTypes; - - var idx = $scope.indexedTypeIdx; - - if (idx < 0) { - var newItem = {keyClass: k, valueClass: v}; - - if (idxTypes) - idxTypes.push(newItem); - else - $scope.backupItem.indexedTypes = [newItem]; - } - else { - var idxType = idxTypes[idx]; - - idxType.keyClass = k; - idxType.valueClass = v; - } - }; - }] -); \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js deleted file mode 100644 index ce38381..0000000 --- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js +++ /dev/null @@ -1,207 +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. - */ - -configuratorModule.controller('clustersController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) { - $scope.swapSimpleItems = commonFunctions.swapSimpleItems; - $scope.joinTip = commonFunctions.joinTip; - $scope.getModel = commonFunctions.getModel; - - $scope.templates = [ - {value: {}, label: 'blank'}, - {value: {discovery: {kind: 'Vm', Vm: {addresses: ['127.0.0.1:47500..47510']}}}, label: 'local'}, - {value: {discovery: {kind: 'Multicast', Multicast: {}}}, label: 'multicast'} - ]; - - $scope.discoveries = [ - {value: 'Vm', label: 'static IPs'}, - {value: 'Multicast', label: 'multicast'}, - {value: 'S3', label: 'AWS S3'}, - {value: 'Cloud', label: 'apache jclouds'}, - {value: 'GoogleStorage', label: 'google cloud storage'}, - {value: 'Jdbc', label: 'JDBC'}, - {value: 'SharedFs', label: 'shared filesystem'} - ]; - - $scope.swapSpaceSpis = [ - {value: 'FileSwapSpaceSpi', label: 'File-based swap'}, - {value: undefined, label: 'Not set'} - ]; - - $scope.events = []; - - for (var eventGroupName in eventGroups) { - if (eventGroups.hasOwnProperty(eventGroupName)) { - $scope.events.push({value: eventGroupName, label: eventGroupName}); - } - } - - $scope.cacheModes = [ - {value: 'LOCAL', label: 'LOCAL'}, - {value: 'REPLICATED', label: 'REPLICATED'}, - {value: 'PARTITIONED', label: 'PARTITIONED'} - ]; - - $scope.deploymentModes = [ - {value: 'PRIVATE', label: 'PRIVATE'}, - {value: 'ISOLATED', label: 'ISOLATED'}, - {value: 'SHARED', label: 'SHARED'}, - {value: 'CONTINUOUS', label: 'CONTINUOUS'} - ]; - - $scope.transactionConcurrency = [ - {value: 'OPTIMISTIC', label: 'OPTIMISTIC'}, - {value: 'PESSIMISTIC', label: 'PESSIMISTIC'} - ]; - - $scope.transactionIsolation = [ - {value: 'READ_COMMITTED', label: 'READ_COMMITTED'}, - {value: 'REPEATABLE_READ', label: 'REPEATABLE_READ'}, - {value: 'SERIALIZABLE', label: 'SERIALIZABLE'} - ]; - - $scope.segmentationPolicy = [ - {value: 'RESTART_JVM', label: 'RESTART_JVM'}, - {value: 'STOP', label: 'STOP'}, - {value: 'NOOP', label: 'NOOP'} - ]; - - $scope.marshallers = [ - {value: 'JdkMarshaller', label: 'JdkMarshaller'}, - {value: 'OptimizedMarshaller', label: 'OptimizedMarshaller'} - ]; - - $scope.clusters = []; - - $http.get('/form-models/clusters.json') - .success(function (data) { - $scope.templateTip = data.templateTip; - - $scope.general = data.general; - $scope.advanced = data.advanced; - }); - - // When landing on the page, get clusters and show them. - $http.get('/rest/clusters') - .success(function (data) { - $scope.caches = data.caches; - $scope.spaces = data.spaces; - $scope.clusters = data.clusters; - - var restoredItem = angular.fromJson(sessionStorage.clusterBackupItem); - - if (restoredItem) { - var idx = _.findIndex($scope.clusters, function (cluster) { - return cluster._id == restoredItem._id; - }); - - if (idx >= 0) - $scope.selectedItem = $scope.clusters[idx]; - - $scope.backupItem = restoredItem; - } - - $scope.$watch('backupItem', function (val) { - if (val) - sessionStorage.clusterBackupItem = angular.toJson(val); - }, true); - }); - - $scope.selectItem = function (item) { - $scope.selectedItem = item; - - $scope.backupItem = angular.copy(item); - }; - - // Add new cluster. - $scope.createItem = function () { - $scope.backupItem = angular.copy($scope.create.template); - - $scope.backupItem.space = $scope.spaces[0]._id; - }; - - // Save cluster in db. - $scope.saveItem = function () { - var item = $scope.backupItem; - - if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind) { - for (var cacheId in item.caches) { - var idx = _.findIndex($scope.caches, function (cache) { - return cache._id == cacheId.value; - }); - - if (idx >= 0) { - var cache = $scope.caches[idx]; - - if (cache.swapEnabled) { - $alert({title: 'Swap space SPI is not configured, but cache "' + cache.label + '" configured to use swap!'}); - - return; - } - } - } - } - - $http.post('/rest/clusters/save', item) - .success(function (_id) { - var idx = _.findIndex($scope.clusters, function (cluster) { - return cluster._id == _id; - }); - - if (idx >= 0) - angular.extend($scope.clusters[idx], item); - else { - item._id = _id; - - $scope.clusters.push(item); - } - - $scope.selectItem(item); - - $alert({ - type: 'success', - title: 'Cluster "' + item.name + '" saved.', - duration: 2, - container: '#save-btn' - }); - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - - $scope.removeItem = function () { - var _id = $scope.selectedItem._id; - - $http.post('/rest/clusters/remove', {_id: _id}) - .success(function () { - var i = _.findIndex($scope.clusters, function (cluster) { - return cluster._id == _id; - }); - - if (i >= 0) { - $scope.clusters.splice(i, 1); - - $scope.selectedItem = undefined; - $scope.backupItem = undefined; - } - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - }] -); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/controllers/common.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/common.js b/modules/webconfig/nodejs/public/javascripts/controllers/common.js deleted file mode 100644 index 4d1e411..0000000 --- a/modules/webconfig/nodejs/public/javascripts/controllers/common.js +++ /dev/null @@ -1,169 +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. - */ - -var configuratorModule = angular.module('ignite-web-configurator', ['smart-table', 'mgcrea.ngStrap', 'ngSanitize']); - -configuratorModule.service('commonFunctions', function () { - return { - getModel: function(obj, path) { - if (!path) - return obj; - - path = path.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties - path = path.replace(/^\./, ''); // strip a leading dot - - var segs = path.split('.'); - var root = obj; - - while (segs.length > 0) { - var pathStep = segs.shift(); - - if (typeof root[pathStep] === 'undefined') - root[pathStep] = {}; - - root = root[pathStep]; - } - - return root; - }, - swapSimpleItems: function (a, ix1, ix2) { - var tmp = a[ix1]; - - a[ix1] = a[ix2]; - a[ix2] = tmp; - }, - joinTip: function(arr) { - if (!arr) { - return arr; - } - - var lines = arr.map(function (line) { - var rtrimmed = line.replace(/\s+$/g, ''); - - if (rtrimmed.indexOf('>', this.length - 1) == -1) { - rtrimmed = rtrimmed + '<br/>'; - } - - return rtrimmed; - }); - - return lines.join(""); - } - } -}); - -configuratorModule.config(function ($tooltipProvider) { - angular.extend($tooltipProvider.defaults, { - container: 'body', - placement: 'right', - html: 'true', - trigger: 'click hover' - //,delay: { hide: 600 } - }); -}); - -configuratorModule.config(function ($selectProvider) { - angular.extend($selectProvider.defaults, { - maxLength: '1', - allText: 'Select All', - noneText: 'Clear All', - template: '/select' - }); -}); - -// Alert settings -configuratorModule.config(function ($alertProvider) { - angular.extend($alertProvider.defaults, { - container: 'body', - placement: 'top-right', - duration: '5', - type: 'danger' - }); -}); - -// Decode name using map(value, label). -configuratorModule.filter('displayValue', function () { - return function (v, m, dflt) { - var i = _.findIndex(m, function (item) { - return item.value == v; - }); - - if (i >= 0) { - return m[i].label; - } - - if (dflt) { - return dflt; - } - - return 'Unknown value'; - } -}); - -/** - * Replaces all occurrences of {@code org.apache.ignite.} with {@code o.a.i.}, - * {@code org.apache.ignite.internal.} with {@code o.a.i.i.}, - * {@code org.apache.ignite.internal.visor.} with {@code o.a.i.i.v.} and - * {@code org.apache.ignite.scalar.} with {@code o.a.i.s.}. - * - * @param s String to replace in. - * @return Replaces string. - */ -configuratorModule.filter('compact', function () { - return function (s) { - return s.replace("org.apache.ignite.internal.visor.", "o.a.i.i.v."). - replace("org.apache.ignite.internal.", "o.a.i.i."). - replace("org.apache.ignite.scalar.", "o.a.i.s."). - replace("org.apache.ignite.", "o.a.i."); - } -}); - -configuratorModule.controller('activeLink', ['$scope', function ($scope) { - $scope.isActive = function (path) { - return window.location.pathname.substr(0, path.length) == path; - }; -}]); - -configuratorModule.controller('auth', ['$scope', '$modal', '$alert', '$http', '$window', function ($scope, $modal, $alert, $http, $window) { - $scope.action = 'login'; - - $scope.errorMessage = ''; - - $scope.valid = false; - - // Pre-fetch an external template populated with a custom scope - var authModal = $modal({scope: $scope, template: '/login', show: false}); - - $scope.login = function () { - // Show when some event occurs (use $promise property to ensure the template has been loaded) - authModal.$promise.then(authModal.show); - }; - - $scope.auth = function (action, user_info) { - $http.post('/rest/auth/' + action, user_info) - .success(function (data) { - authModal.hide(); - - $window.location = '/clusters'; - }) - .error(function (data) { - console.log(data); - - $alert({placement: 'top', container: '#errors-container', title: data}); - }); - }; -}]); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/controllers/persistences.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/persistences.js b/modules/webconfig/nodejs/public/javascripts/controllers/persistences.js deleted file mode 100644 index 10e3f8f..0000000 --- a/modules/webconfig/nodejs/public/javascripts/controllers/persistences.js +++ /dev/null @@ -1,202 +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. - */ - -configuratorModule.controller('persistenceController', ['$scope', '$alert', '$http', 'commonFunctions', function ($scope, $alert, $http, commonFunctions) { - $scope.joinTip = commonFunctions.joinTip; - $scope.getModel = commonFunctions.getModel; - - $scope.databases = [ - {value: 'oracle', label: 'Oracle database'}, - {value: 'db2', label: 'IBM DB2'}, - {value: 'mssql', label: 'MS SQL Server'}, - {value: 'postgre', label: 'PostgreSQL'}, - {value: 'mysql', label: 'MySQL'}, - {value: 'h2', label: 'H2 database'} - ]; - - $scope.connection = []; - - $http.get('/form-models/persistence.json') - .success(function (data) { - $scope.connection = data.connection; - }); - - $scope.persistences = []; - - // When landing on the page, get persistences and show them. - $http.get('/rest/persistences') - .success(function (data) { - $scope.spaces = data.spaces; - $scope.persistences = data.persistences; - - var restoredItem = angular.fromJson(sessionStorage.persistenceBackupItem); - - if (restoredItem) { - var idx = _.findIndex($scope.persistences, function (persistence) { - return persistence._id == restoredItem._id; - }); - - if (idx >= 0) - $scope.selectedItem = $scope.persistences[idx]; - - $scope.backupItem = restoredItem; - } - - $scope.$watch('backupItem', function (val) { - if (val) - sessionStorage.persistenceBackupItem = angular.toJson(val); - }, true); - }); - - $scope.selectItem = function (item) { - $scope.selectedItem = item; - $scope.backupItem = angular.copy(item); - }; - - // Add new persistence. - $scope.createItem = function () { - $scope.backupItem = {database: 'oracle'}; - $scope.backupItem.space = $scope.spaces[0]._id; - }; - - // Save persistence in db. - $scope.saveItem = function () { - var item = $scope.backupItem; - - $http.post('/rest/persistences/save', item) - .success(function (_id) { - var i = _.findIndex($scope.persistences, function (persistence) { - return persistence._id == _id; - }); - - if (i >= 0) - angular.extend($scope.persistences[i], item); - else { - item._id = _id; - - $scope.persistences.push(item); - } - - $scope.selectItem(item); - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - - $scope.removeItem = function () { - var _id = $scope.selectedItem._id; - - $http.post('/rest/persistences/remove', {_id: _id}) - .success(function () { - var i = _.findIndex($scope.persistences, function (persistence) { - return persistence._id == _id; - }); - - if (i >= 0) { - $scope.persistences.splice(i, 1); - - $scope.selectedItem = undefined; - $scope.backupItem = undefined; - } - }) - .error(function (errorMessage) { - $alert({title: errorMessage}); - }); - }; - - $scope.data = { - curTableIdx: -1, - curFieldIdx: -1, - curKeyClass: '', - curValueClass: '', - curJavaName: '', - curJavaType: '', - tables: [ - {schemaName: 'Schema1', use: true}, - {schemaName: 'Schema1', use: true, tableName: 'Table1', keyClass: 'KeyClass1', valueClass: 'ValueClass1', - fields: [ - {use: true, key: true, ak: true, dbName: 'name1', dbType: 'dbType1', javaName: 'javaName1', javaType: 'javaType1'}, - {use: true, key: false, ak: false, dbName: 'name2', dbType: 'dbType2', javaName: 'javaName2', javaType: 'javaType2'}, - {use: false, key: false, ak: false, dbName: 'name3', dbType: 'dbType3', javaName: 'javaName3', javaType: 'javaType3'} - ] - }, - {schemaName: 'Schema2 with very long name', use: false}, - {schemaName: 'Schema2', use: false, tableName: 'Table2', keyClass: 'KeyClass2', valueClass: 'ValueClass2', - fields: [ - {use: true, key: true, ak: true, dbName: 'name4', dbType: 'dbType4', javaName: 'javaName4', javaType: 'javaType4'}, - {use: true, key: false, ak: false, dbName: 'name5', dbType: 'dbType5', javaName: 'javaName5', javaType: 'javaType5'}, - {use: false, key: false, ak: false, dbName: 'name6', dbType: 'dbType6', javaName: 'javaName6', javaType: 'javaType6'} - ]}, - {schemaName: 'Schema2', use: false, tableName: 'Table3', keyClass: 'KeyClass3', valueClass: 'ValueClass3', - fields: [ - {use: true, key: true, ak: true, dbName: 'name7', dbType: 'dbType7', javaName: 'javaName7', javaType: 'javaType7'}, - {use: true, key: false, ak: false, dbName: 'name8', dbType: 'dbType8', javaName: 'javaName8', javaType: 'javaType8'}, - {use: false, key: false, ak: false, dbName: 'name9', dbType: 'dbType9', javaName: 'javaName9', javaType: 'javaType9'}, - {use: false, key: false, ak: false, dbName: 'name10', dbType: 'dbType10', javaName: 'javaName10', javaType: 'javaType10'}, - {use: false, key: false, ak: false, dbName: 'name11', dbType: 'dbType11', javaName: 'javaName11', javaType: 'javaType11'}, - {use: false, key: false, ak: false, dbName: 'name12', dbType: 'dbType12', javaName: 'javaName12', javaType: 'javaType12'} - ]}] - }; - - $scope.selectSchema = function (idx) { - var data = $scope.data; - var tables = data.tables; - var schemaName = tables[idx].schemaName; - var use = tables[idx].use; - - for (var i = idx + 1; i < tables.length; i++) { - var item = tables[i]; - - if (item.schemaName == schemaName && item.tableName) - item.use = use; - else - break; - } - - data.curTableIdx = -1; - data.curFieldIdx = -1; - }; - - $scope.selectTable = function (idx) { - var data = $scope.data; - - data.curTableIdx = idx; - data.curFieldIdx = -1; - - if (idx >= 0) { - var tbl = data.tables[idx]; - - data.curKeyClass = tbl.keyClass; - data.curValueClass = tbl.valueClass; - } - }; - - $scope.selectField = function (idx) { - var data = $scope.data; - - data.curFieldIdx = idx; - - if (idx >= 0) { - var fld = data.tables[data.curTableIdx].fields[idx]; - - data.curJavaName = fld.javaName; - data.curJavaType = fld.javaType; - } - }; - }] -); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/controllers/summary.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/summary.js b/modules/webconfig/nodejs/public/javascripts/controllers/summary.js deleted file mode 100644 index 53cac48..0000000 --- a/modules/webconfig/nodejs/public/javascripts/controllers/summary.js +++ /dev/null @@ -1,137 +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. - */ - -configuratorModule.controller('summaryController', ['$scope', '$http', function ($scope, $http) { - $http.get('/rest/clusters').success(function (data) { - $scope.caches = data.caches; - $scope.spaces = data.spaces; - $scope.clusters = data.clusters; - }); - - $scope.selectItem = function (item) { - $scope.selectedItem = item; - - $scope.generateConfig() - }; - - $scope.generateConfig = function() { - var lang = $scope.cfgLang; - - if (lang == 'docker') - return; - - var cluster = $scope.selectedItem; - - if (!cluster) - return; - - $scope.loading = true; - - $http.get('/rest/configGenerator', {params: - {name: cluster.name, lang: lang, generateJavaClass: $scope.generateJavaClass}}) - .success( - function (data) { - if (lang == 'java') { - $("<pre class='brush:java' />").text(data).appendTo($('#javaResultDiv').empty()); - } - else if (lang == 'xml') { - $("<pre class='brush:xml' />").text(data).appendTo($('#xmlResultDiv').empty()); - } - - SyntaxHighlighter.highlight(); - - $scope.loading = false; - }).error(function (data) { - $scope.generateError = "Failed to generate config: " + data; - - $scope.loading = false; - }); - }; - - $scope.cfgLang = 'xml'; - - $scope.$watch('cfgLang', $scope.generateConfig); - $scope.$watch('generateJavaClass', $scope.generateConfig); - - $scope.dockerArg = {}; - - $scope.downloadDocker = function() { - var dockerText = $scope.dockerFile(); - - if (dockerText.length == 0) - return; - - var pom = document.createElement('a'); - pom.setAttribute('href', 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent(dockerText)); - pom.setAttribute('download', 'Dockerfile'); - - pom.style.display = 'none'; - document.body.appendChild(pom); - - pom.click(); - - document.body.removeChild(pom); - }; - - $scope.dockerFile = function() { - if (!$scope.selectedItem || !$scope.dockerArg) { - return ''; - } - - var os = $scope.dockerArg.os; - if (!os) { - os = 'debian:8' - } - - return "" + - "# Start from a Debian image.\n"+ - "FROM " + os + "\n"+ - "\n"+ - "# Install tools.\n"+ - "RUN apt-get update && apt-get install -y --fix-missing \\\n"+ - " wget \\\n"+ - " dstat \\\n"+ - " maven \\\n"+ - " git\n"+ - "\n"+ - "# Intasll Oracle JDK.\n"+ - "RUN mkdir /opt/jdk\n"+ - "\n"+ - "RUN wget --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \\\n"+ - " http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz\n"+ - "\n"+ - "RUN tar -zxf jdk-7u79-linux-x64.tar.gz -C /opt/jdk\n"+ - "\n"+ - "RUN rm jdk-7u79-linux-x64.tar.gz\n"+ - "\n"+ - "RUN update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_79/bin/java 100\n"+ - "\n"+ - "RUN update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_79/bin/javac 100\n"+ - "\n"+ - "# Sets java variables.\n"+ - "ENV JAVA_HOME /opt/jdk/jdk1.7.0_79/\n"+ - "\n"+ - "# Create working directory\n"+ - "WORKDIR /home\n"+ - "\n"+ - "RUN wget -O ignite.zip http://tiny.cc/updater/download_ignite.php && unzip ignite.zip && rm ignite.zip\n"+ - "\n"+ - "COPY *.xml /tmp/\n"+ - "\n"+ - "RUN mv /tmp/*.xml /home/$(ls)/config"; - }; -}]); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/javascripts/dataStructures.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/dataStructures.js b/modules/webconfig/nodejs/public/javascripts/dataStructures.js deleted file mode 100644 index 2462708..0000000 --- a/modules/webconfig/nodejs/public/javascripts/dataStructures.js +++ /dev/null @@ -1,84 +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. - */ - -eventGroups = { - EVTS_CHECKPOINT: ['EVT_CHECKPOINT_SAVED', 'EVT_CHECKPOINT_LOADED', 'EVT_CHECKPOINT_REMOVED'], - EVTS_DEPLOYMENT: ['EVT_CLASS_DEPLOYED', 'EVT_CLASS_UNDEPLOYED', 'EVT_CLASS_DEPLOY_FAILED', 'EVT_TASK_DEPLOYED', - 'EVT_TASK_UNDEPLOYED', 'EVT_TASK_DEPLOY_FAILED'], - EVTS_ERROR: ['EVT_JOB_TIMEDOUT', 'EVT_JOB_FAILED', 'EVT_JOB_FAILED_OVER', 'EVT_JOB_REJECTED', 'EVT_JOB_CANCELLED', - 'EVT_TASK_TIMEDOUT', 'EVT_TASK_FAILED', 'EVT_CLASS_DEPLOY_FAILED', 'EVT_TASK_DEPLOY_FAILED', - 'EVT_TASK_DEPLOYED', 'EVT_TASK_UNDEPLOYED', 'EVT_CACHE_REBALANCE_STARTED', 'EVT_CACHE_REBALANCE_STOPPED'], - EVTS_DISCOVERY: ['EVT_NODE_JOINED', 'EVT_NODE_LEFT', 'EVT_NODE_FAILED', 'EVT_NODE_SEGMENTED', - 'EVT_CLIENT_NODE_DISCONNECTED', 'EVT_CLIENT_NODE_RECONNECTED'], - EVTS_JOB_EXECUTION: ['EVT_JOB_MAPPED', 'EVT_JOB_RESULTED', 'EVT_JOB_FAILED_OVER', 'EVT_JOB_STARTED', - 'EVT_JOB_FINISHED', 'EVT_JOB_TIMEDOUT', 'EVT_JOB_REJECTED', 'EVT_JOB_FAILED', 'EVT_JOB_QUEUED', - 'EVT_JOB_CANCELLED'], - EVTS_TASK_EXECUTION: ['EVT_TASK_STARTED', 'EVT_TASK_FINISHED', 'EVT_TASK_FAILED', 'EVT_TASK_TIMEDOUT', - 'EVT_TASK_SESSION_ATTR_SET', 'EVT_TASK_REDUCED'], - EVTS_CACHE: ['EVT_CACHE_ENTRY_CREATED', 'EVT_CACHE_ENTRY_DESTROYED', 'EVT_CACHE_OBJECT_PUT', - 'EVT_CACHE_OBJECT_READ', 'EVT_CACHE_OBJECT_REMOVED', 'EVT_CACHE_OBJECT_LOCKED', 'EVT_CACHE_OBJECT_UNLOCKED', - 'EVT_CACHE_OBJECT_SWAPPED', 'EVT_CACHE_OBJECT_UNSWAPPED', 'EVT_CACHE_OBJECT_EXPIRED'], - EVTS_CACHE_REBALANCE: ['EVT_CACHE_REBALANCE_STARTED', 'EVT_CACHE_REBALANCE_STOPPED', - 'EVT_CACHE_REBALANCE_PART_LOADED', 'EVT_CACHE_REBALANCE_PART_UNLOADED', 'EVT_CACHE_REBALANCE_OBJECT_LOADED', - 'EVT_CACHE_REBALANCE_OBJECT_UNLOADED', 'EVT_CACHE_REBALANCE_PART_DATA_LOST'], - EVTS_CACHE_LIFECYCLE: ['EVT_CACHE_STARTED', 'EVT_CACHE_STOPPED', 'EVT_CACHE_NODES_LEFT'], - EVTS_CACHE_QUERY: ['EVT_CACHE_QUERY_EXECUTED', 'EVT_CACHE_QUERY_OBJECT_READ'], - EVTS_SWAPSPACE: ['EVT_SWAP_SPACE_CLEARED', 'EVT_SWAP_SPACE_DATA_REMOVED', 'EVT_SWAP_SPACE_DATA_READ', - 'EVT_SWAP_SPACE_DATA_STORED', 'EVT_SWAP_SPACE_DATA_EVICTED'], - EVTS_IGFS: ['EVT_IGFS_FILE_CREATED', 'EVT_IGFS_FILE_RENAMED', 'EVT_IGFS_FILE_DELETED', 'EVT_IGFS_FILE_OPENED_READ', - 'EVT_IGFS_FILE_OPENED_WRITE', 'EVT_IGFS_FILE_CLOSED_WRITE', 'EVT_IGFS_FILE_CLOSED_READ', 'EVT_IGFS_FILE_PURGED', - 'EVT_IGFS_META_UPDATED', 'EVT_IGFS_DIR_CREATED', 'EVT_IGFS_DIR_RENAMED', 'EVT_IGFS_DIR_DELETED'] -}; - -jdbcTypes = { - BIT: {value: "BIT", code: -7, label: "BIT"}, - TINYINT: {value: "TINYINT", code: -6, label: "TINYINT"}, - SMALLINT: {value: "SMALLINT", code: 5, label: "SMALLINT"}, - INTEGER: {value: "INTEGER", code: 4, label: "INTEGER"}, - BIGINT: {value: "BIGINT", code: -5, label: "BIGINT"}, - FLOAT: {value: "FLOAT", code: 6, label: "FLOAT"}, - REAL: {value: "REAL", code: 7, label: "REAL"}, - DOUBLE: {value: "DOUBLE", code: 8, label: "DOUBLE"}, - NUMERIC: {value: "NUMERIC", code: 2, label: "NUMERIC"}, - DECIMAL: {value: "DECIMAL", code: 3, label: "DECIMAL"}, - CHAR: {value: "CHAR", code: 1, label: "CHAR"}, - VARCHAR: {value: "VARCHAR", code: 12, label: "VARCHAR"}, - DATE: {value: "DATE", code: 91, label: "DATE"}, - TIME: {value: "TIME", code: 92, label: "TIME"}, - TIMESTAMP: {value: "TIMESTAMP", code: 93, label: "TIMESTAMP"}, - BINARY: {value: "BINARY", code: -2, label: "BINARY"} -}; - -javaTypes = { - INTEGER: {value: "java.lang.Integer", label: "Integer"}, - LONG: {value: "java.lang.Long", label: "Long"}, - BIGDECIMAL: {value: "java.math.BigDecimal", label: "BigDecimal"}, - FLOAT: {value: "java.lang.Float", label: "Float"}, - DOUBLE: {value: "java.lang.Double", label: "Double"}, - STRING: {value: "java.lang.String", label: "String"}, - BOOLEAN: {value: "java.lang.Boolean", label: "Boolean"}, - BYTE_ARRAY: {value: "byte[]", label: "byte[]"}, - DATE: {value: "java.sql.Date", label: "Date"}, - TIME: {value: "java.sql.Time", label: "Time"}, - TIMESTAMP: {value: "java.sql.Timestamp", label: "Timestamp"} -}; - -if (typeof window === 'undefined') { - exports.eventGroups = eventGroups; - exports.jdbcTypes = jdbcTypes; - exports.javaTypes = javaTypes; -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/stylesheets/style.css ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/stylesheets/style.css b/modules/webconfig/nodejs/public/stylesheets/style.css deleted file mode 100644 index fb21a65..0000000 --- a/modules/webconfig/nodejs/public/stylesheets/style.css +++ /dev/null @@ -1 +0,0 @@ -.main-header .logo{height:auto}.main-sidebar{padding-top:60px}.navbar-default .navbar-brand,.navbar-default .navbar-brand:hover{position:absolute;width:100%;left:0;text-align:center}.modal-backdrop.am-fade{opacity:.5;transition:opacity .15s linear}.modal-backdrop.am-fade.ng-enter{opacity:0}.modal-backdrop.am-fade.ng-enter.ng-enter-active{opacity:.5}.modal-backdrop.am-fade.ng-leave{opacity:.5}.modal-backdrop.am-fade.ng-leave.ng-leave-active{opacity:0}.modal.center .modal-dialog{position:fixed;top:40%;left:50%;min-width:320px;max-width:630px;width:50%;transform:translateX(-50%) translateY(-50%)}.border-left{box-shadow:1px 0 0 0 #eee inset}.border-right{box-shadow:1px 0 0 0 #eee}.theme-line{background-color:#f9f9f9}.theme-line header{background-color:#fff}.theme-line header a.btn{border:0 none;padding:10px 25px;background-color:rgba(0,0,0,0.15)}.theme-line header a.btn:hover{background-color:rgba(0,0,0,0.25)}.theme-line header a.btn.btn-link{background:transparent;color:rgba(255,255,25 5,0.8)}.theme-line header a.btn.btn-link:hover{color:#fff;text-decoration:none}.theme-line .navbar-nav a{background-color:transparent}.theme-line .navbar-nav a:hover,.theme-line .navbar-nav a:active,.theme-line .navbar-nav a:focus{background-color:transparent}.theme-line .main-links{padding-top:50px}.theme-line .main-links h3{margin-top:0;font-size:17px}.theme-line .main-links .links a{color:#888}.theme-line .main-links .links a:hover{text-decoration:none}.theme-line #category-columns,.theme-solid #category-columns{margin:50px 30px 0}.theme-line #category-columns h4{text-transform:uppercase;font-weight:300;color:#999;font-size:14px}.theme-line #category-columns ul{list-style:none;padding:0;margin-bottom:15px}.theme-line #category-columns ul li a{padding:4px 0;display:block;font-size:16px}.theme-line #category-columns ul .view-all{font-size:0.85em}.theme-line .docs-header{color:#999;overflow:hidden}.theme-line .docs-header h1{color:#444;margin-top:0;font-size:25px}.theme-line .btn-pr imary{border:0 none;background-color:#ec1c24}.theme-line .btn-primary:hover{background-color:#950d12}.theme-line .main-content .nav-horizontal a{box-shadow:0 0;border:0 none;background-color:#fff;border-radius:0;color:#aaa;padding:6px;margin:0 14px}.theme-line .main-content .nav-horizontal a:hover{color:#999;border-bottom:4px solid #ddd}.theme-line .main-content .nav-horizontal a.active{border-bottom:4px solid #888}.theme-line .sidebar-nav{color:#474a54;padding-bottom:30px}.theme-line .sidebar-nav ul{padding:0;list-style:none;font-size:13px;margin:3px 0 0}.theme-line .sidebar-nav ul li a{padding:3px 0;display:block;color:#666;position:relative;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.theme-line .sidebar-nav ul li a:before{top:0;content:" ";display:block;width:6px;height:100%;position:absolute;left:-30px}.theme-line .sidebar-nav ul li a:hover{text-decoration:none}.theme-line .select li a{color:#666}.theme-line .select li a:hover,.theme-line .select .active{color:#ec1c24;background-color:white}.theme-line .sidebar-nav ul li .subcategory{padding-left:15px}.theme-line .sidebar-nav h4{margin-top:2em;font-weight:normal;text-transform:uppercase;font-size:11px;margin-bottom:10px;color:#bbb}.theme-line .sidebar-nav h4:first-child{margin-top:0}.theme-line .sidebar-nav .ask{width:100%;text-align:center;padding:10px}.theme-line .border-left .sidebar-nav{padding-left:15px}.theme-line .suggest{padding:4px;display:inline-block;font-size:12px}.header{padding:15px}.header .has-github{padding-right:136px}.header h1.navbar-brand{height:40px;width:200px;padding:0;margin:5px 15px 0 0}.header h1.navbar-brand a{text-indent:-99999px;background:no-repeat center center;display:block;width:100%;height:100%;background-size:contain}.header .nav.navbar-nav.pull-right{position:relative;right:-30px}.header .nav.navbar-nav .not-link{padding:15px;display:inline-block}.header .nav.navbar-nav .stable,.header .nav.navbar-nav .beta,.header .nav.navbar-na v .private{font-size:9px;padding:3px 5px;display:inline-block;line-height:8px;border-radius:3px;margin-left:6px;color:#fff;top:-2px;position:relative;opacity:0.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";filter:alpha(opacity=60)}.header .nav.navbar-nav a:hover>.stable,.header .nav.navbar-nav a:hover>.beta,.header .nav.navbar-nav a:hover>.private{opacity:1;-ms-filter:none;filter:none}.header .nav.navbar-nav .beta{background-color:#59c3d1}.header .nav.navbar-nav .stable{background-color:#41b841}.header .nav.navbar-nav .private{background-color:#333}.theme-line header{border-bottom:8px solid}.theme-line header h2{color:#aaa}.theme-line header p{color:#666}.theme-line header{border-bottom-color:#ec1c24}.theme-line .navbar-nav{color:#888}.theme-line .navbar-nav a{color:#bbb}.theme-line header a.btn{background-color:#ec1c24}.theme-line header a.btn:hover{background-color:#950d12}.theme-line header .navbar-nav .tt-cursor{background-color:#ec1c24}.theme-line header .n avbar-nav a:hover,.theme-line header .navbar-nav .open>a{color:#ec1c24}.theme-line .navbar-nav .active a{color:#ec1c24}.theme-line .navbar-nav .active a:hover{color:#950d12}.theme-line .main-links .links a:hover{color:#ec1c24}.theme-line .main-content a{color:#666}.theme-line .main-content a:hover{color:#950d12}.theme-line .sidebar-nav ul li a.active:before{background-color:#ec1c24}.theme-line .sidebar-nav ul li a.active{color:#ec1c24}.theme-line .sidebar-nav ul li a:hover,.theme-line .sidebar-nav ul li a.active:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active{border-color:#ec1c24;color:#ec1c24}.theme-line .main-content .nav-horizontal a:hover{color:#950d12}.theme-line .main-content .nav-horizontal a.active:hover{border-color:#950d12}.theme-line header .navbar-nav a.active,.theme-line #versions-list li a:hover strong,.theme-line #versions-list li a.active .current,.theme-line #versions-list li a:active .current{color:#ec1c24}.theme-line.body-threes .section-rig ht .threes-nav .btn-default:hover,.theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover{color:#ec1c24;border-color:#ec1c24}.theme-line .section-right{padding-left:30px}.body-overlap .main-content{margin-top:30px}.body-box .main-content,.body-overlap .main-content{padding:30px;box-shadow:0 0 0 1px rgba(0,0,0,0.1);background-color:#fff}body{font-weight:400;font-family:Roboto Slab, serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Roboto Slab, serif}.submit-vote.submit-vote-parent.voted a.submit-vote-button,.submit-vote.submit-vote-parent a.submit-vote-button:hover{background-color:#ec1c24}div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover{background-color:#950d12}a,.link .title{color:#ec1c24}a:hover,.link:hover .title{color:#950d12}.header h1.navbar-brand a{background-image:url("https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.header h1.navbar-brand{width:96px}.block-edit-parameters{text-align:right;padding-bottom:5px}.ng-table-p ager{display:none}.container-footer{margin-top:20px}.vcenter{display:inline-block;vertical-align:middle;float:none}.vcenter2{position:relative;top:50%;transform:translateY(-50%)}.modal{display:block;overflow:hidden}.modal .close{position:absolute;top:0.65em;right:0.65em;float:none}.modal-header .close{margin-right:-2px}.modal .modal-dialog{width:610px}.modal .modal-content{border-radius:0;background-color:#f7f7f7}.modal .modal-content .modal-header{background-color:#fff;text-align:center;color:#555;padding:24px;font-family:"myriad-pro",sans-serif}.modal .modal-content .modal-header h4{font-family:"myriad-pro",sans-serif;font-size:22px}.modal .modal-content .modal-header h4 .fa{display:block;font-size:41px;color:#ddd;margin-bottom:5px}.modal .modal-content .modal-header p{color:#aaa;font-size:1em;margin:3px 0 0}.modal .modal-content .modal-spacer{padding:10px 10px 0 10px}.modal .modal-content .modal-footer{margin-top:0}.modal-body{padding-top:30px}h1.ignite-logo{background-image:url( "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli")}.st-sort-ascent:after{font-family:FontAwesome, serif;content:'\f077'}.st-sort-descent:after{font-family:FontAwesome, serif;content:'\f078'}.block-display-image img{max-width:100%;max-height:450px;margin:auto;display:block}.greedy{min-height:200px;height:calc(100vh - 230px)}@media (min-width:768px){.navbar-nav>li>a{padding-top:20px;padding-bottom:10px}}.details-row{padding-left:1.3em}.details-table-row{padding:0}.details-row,.settings-row{display:block;margin:0.65em 0;line-height:28px}.details-row [class*="col-"],.settings-row [class*="col-"]{display:inline-block;vertical-align:middle;float:none;padding-left:0 !important;padding-right:0 !important}.details-row input[type="checkbox"],.settings-row input[type="checkbox"]{line-height:20px;margin-right:4px}.details-row .checkbox label,.settings-row .checkbox label{line-height:20px;vertical-align:middle}button{margin-right:4px}h1,h2,h3{user-select:none;font-weight:normal;line-heig ht:1}h3{color:black;font-size:1.2em;margin-top:0;margin-bottom:1.5em}table tr:hover{cursor:pointer}.input-group{display:inline-block}.input-group .form-control{width:auto;margin-left:0;margin-right:0}.form-control{display:inline-block;text-align:left;padding:3px 3px;height:28px}.form-control button{text-align:left}.table-form-control{width:auto}.form-horizontal .control-label{padding-top:4px}button .caret{float:right;margin-left:0;margin-top:7px}.theme-line .panel-heading{padding:10px 10px;margin:0}.theme-line .panel-heading h3{margin-bottom:0}.theme-line .panel-heading h3>a{color:black;cursor:pointer}.theme-line .panel-title a{color:#ec1c24}.theme-line .panel-title h3{margin-bottom:1.3em}.theme-line .panel-body{padding:0.65em 1.3em}.theme-line .main-content a.customize{color:#ec1c24;cursor:pointer}.theme-line .panel-collapse{margin:0}.theme-line .links table,.theme-line table.links-edit,.theme-line table.links-edit-small-padding{display:table;table-layout:fixed;margin-bottom:10px}. theme-line .links table td,.theme-line table.links-edit td,.theme-line table.links-edit-small-padding td{padding-left:18px}.theme-line .links table .active a,.theme-line table.links-edit .active a,.theme-line table.links-edit-small-padding .active a{color:#ec1c24;font-weight:bold}.theme-line .links table a:hover,.theme-line table.links-edit a:hover,.theme-line table.links-edit-small-padding a:hover{color:#950d12}.theme-line .links table a,.theme-line table.links-edit a,.theme-line table.links-edit-small-padding a{color:#666}.theme-line table.links-edit label{line-height:28px;color:#666}.btn{padding:3px 6px}.panel-title a{font-size:14px}.panel-details{margin-top:1.3em;margin-bottom:0.65em;padding:0.65em;border-radius:4px;border:thin dotted lightgrey}.tooltip.right .tooltip-arrow{border-right-color:#ec1c24}.tooltip>.tooltip-inner{max-width:400px;text-align:left;background-color:#ec1c24}label{font-weight:normal;line-height:14px;margin-bottom:0}.form-horizontal .checkbox{padding-top:0}. input-tip{display:block;overflow:hidden;padding-right:4px}.labelField{float:left;margin-right:4px}.tipField{float:right;line-height:28px;margin-right:5px}.tipLabel{font-size:14px;margin-left:4px}.fieldButton{float:right;margin-left:4px;margin-right:0}.table-nowrap{table-layout:fixed}.td-overflow{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fa-edit{cursor:pointer}.fa-remove{color:#ec1c24;margin-left:5px;margin-right:5px;cursor:pointer}label.required:after{color:#ec1c24;content:' *';display:inline}.blank{visibility:hidden}.alert{outline:0}.alert.bottom,.alert.bottom-left,.alert.bottom-right,.alert.top,.alert.top-left,.alert.top-right{position:fixed;z-index:1050;margin:20px}.alert.top,.alert.top-left,.alert.top-right{top:50px}.alert.top{right:0;left:0}.alert.top-right{right:0}.alert.top-right .close{padding-left:10px}.alert.top-left{left:0}.alert.top-left .close{padding-right:10px}.alert.bottom,.alert.bottom-left,.alert.bottom-right{bottom:0}.alert.bottom{ right:0;left:0}.alert.bottom-right{right:0}.alert.bottom-right .close{padding-left:10px}.alert.bottom-left{left:0}.alert.bottom-left .close{padding-right:10px}#cfgResult textarea{font-family:monospace;font-size:12px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}input.ng-invalid{border-color:#ec1c24}input.ng-invalid :focus{border-color:#ec1c24}.form-control-feedback{display:inline-block;color:#ec1c24;right:18px;line-height:28px;pointer-events:initial}.syntaxhighlighter{padding:10px 5px;border-radius:6px}.theme-line table.links-edit-small-padding{margin-top:10px}.theme-line table.links-edit-small-padding label{line-height:28px;color:#666}.theme-line table.links-edit-small-padding a{line-height:28px}.theme-line table.links-edit-small-padding input[type="checkbox"]{line-height:20px;margin-right:4px}.theme-line table.links-edit-small-padding .checkbox label{li ne-height:20px;vertical-align:middle}.theme-line table.links-edit-small-padding th{text-align:center}.theme-line table.links-edit-small-padding td{padding-left:10px} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/public/stylesheets/style.less ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/stylesheets/style.less b/modules/webconfig/nodejs/public/stylesheets/style.less deleted file mode 100644 index 3a41467..0000000 --- a/modules/webconfig/nodejs/public/stylesheets/style.less +++ /dev/null @@ -1,997 +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. - */ - -@logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli"; -@input-height: 28px; - -.main-header .logo { - height: auto; -} - -.main-sidebar { - padding-top: 60px; -} - -.navbar-default .navbar-brand, .navbar-default .navbar-brand:hover { - position: absolute; - width: 100%; - left: 0; - text-align: center; -} - -.modal-backdrop.am-fade { - opacity: .5; - transition: opacity .15s linear; - &.ng-enter { - opacity: 0; - &.ng-enter-active { - opacity: .5; - } - } - &.ng-leave { - opacity: .5; - &.ng-leave-active { - opacity: 0; - } - } -} - -.modal.center .modal-dialog { - position: fixed; - top: 40%; - left: 50%; - min-width: 320px; - max-width: 630px; - width: 50%; - transform: translateX(-50%) translateY(-50%); -} - -.border-left { - box-shadow: 1px 0 0 0 #eee inset; -} - -.border-right { - box-shadow: 1px 0 0 0 #eee; -} - -.theme-line { - background-color: #f9f9f9; -} - -.theme-line header { - background-color: #fff; -} - -.theme-line header a.btn { - border: 0 none; - padding: 10px 25px; - background-color: rgba(0, 0, 0, 0.15); -} - -.theme-line header a.btn:hover { - background-color: rgba(0, 0, 0, 0.25); -} - -.theme-line header a.btn.btn-link { - background: transparent; - color: rgba(255, 255, 255, 0.8); -} - -.theme-line header a.btn.btn-link:hover { - color: #fff; - text-decoration: none; -} - -.theme-line .navbar-nav a { - background-color: transparent; -} - -.theme-line .navbar-nav a:hover, -.theme-line .navbar-nav a:active, -.theme-line .navbar-nav a:focus { - background-color: transparent; -} - -.theme-line .main-links { - padding-top: 50px; -} - -.theme-line .main-links h3 { - margin-top: 0; - font-size: 17px; -} - -.theme-line .main-links .links a { - color: #888; -} - -.theme-line .main-links .links a:hover { - text-decoration: none; -} - -.theme-line #category-columns, -.theme-solid #category-columns { - margin: 50px 30px 0; -} - -.theme-line #category-columns h4 { - text-transform: uppercase; - font-weight: 300; - color: #999; - font-size: 14px; -} - -.theme-line #category-columns ul { - list-style: none; - padding: 0; - margin-bottom: 15px; -} - -.theme-line #category-columns ul li a { - padding: 4px 0; - display: block; - font-size: 16px; -} - -.theme-line #category-columns ul .view-all { - font-size: 0.85em; -} - -.theme-line .docs-header { - color: #999; - overflow: hidden; -} - -.theme-line .docs-header h1 { - color: #444; - margin-top: 0; - font-size: 25px; -} - -.theme-line .btn-primary { - border: 0 none; - background-color: #ec1c24; -} - -.theme-line .btn-primary:hover { - background-color: #950d12; -} - -.theme-line .main-content .nav-horizontal a { - box-shadow: 0 0; - border: 0 none; - background-color: #fff; - border-radius: 0; - color: #aaa; - padding: 6px; - margin: 0 14px; -} - -.theme-line .main-content .nav-horizontal a:hover { - color: #999; - border-bottom: 4px solid #ddd; -} - -.theme-line .main-content .nav-horizontal a.active { - border-bottom: 4px solid #888; -} - -.theme-line .sidebar-nav { - color: #474a54; - padding-bottom: 30px; -} - -.theme-line .sidebar-nav ul { - padding: 0; - list-style: none; - font-size: 13px; - margin: 3px 0 0; -} - -.theme-line .sidebar-nav ul li a { - padding: 3px 0; - display: block; - color: #666; - position: relative; - white-space: nowrap; - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; -} - -.theme-line .sidebar-nav ul li a:before { - top: 0; - content: " "; - display: block; - width: 6px; - height: 100%; - position: absolute; - left: -30px; -} - -.theme-line .sidebar-nav ul li a:hover { - text-decoration: none; -} - -.theme-line .select li a { - color: #666; -} - -.theme-line .select { - li a:hover, .active { - color: #ec1c24; - background-color: white; - } -} - -.theme-line .sidebar-nav ul li .subcategory { - padding-left: 15px; -} - -.theme-line .sidebar-nav h4 { - margin-top: 2em; - font-weight: normal; - text-transform: uppercase; - font-size: 11px; - margin-bottom: 10px; - color: #bbb; -} - -.theme-line .sidebar-nav h4:first-child { - margin-top: 0; -} - -.theme-line .sidebar-nav .ask { - width: 100%; - text-align: center; - padding: 10px; -} - -.theme-line .border-left .sidebar-nav { - padding-left: 15px; -} - -.theme-line .suggest { - padding: 4px; - display: inline-block; - font-size: 12px; -} - -.header { - padding: 15px; -} - -.header .has-github { - padding-right: 136px; -} - -.header h1.navbar-brand { - height: 40px; - width: 200px; - padding: 0; - margin: 5px 15px 0 0; -} - -.header h1.navbar-brand a { - text-indent: -99999px; - background: no-repeat center center; - display: block; - width: 100%; - height: 100%; - background-size: contain; -} - -.header .nav.navbar-nav.pull-right { - position: relative; - right: -30px; -} - -.header .nav.navbar-nav .not-link { - padding: 15px; - display: inline-block; -} - -.header .nav.navbar-nav .stable, -.header .nav.navbar-nav .beta, -.header .nav.navbar-nav .private { - font-size: 9px; - padding: 3px 5px; - display: inline-block; - line-height: 8px; - border-radius: 3px; - margin-left: 6px; - color: #fff; - top: -2px; - position: relative; - opacity: 0.6; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; - filter: alpha(opacity=60); -} - -.header .nav.navbar-nav a:hover > .stable, -.header .nav.navbar-nav a:hover > .beta, -.header .nav.navbar-nav a:hover > .private { - opacity: 1; - -ms-filter: none; - filter: none; -} - -.header .nav.navbar-nav .beta { - background-color: #59c3d1; -} - -.header .nav.navbar-nav .stable { - background-color: #41b841; -} - -.header .nav.navbar-nav .private { - background-color: #333; -} - -.theme-line header { - border-bottom: 8px solid; -} - -.theme-line header h2 { - color: #aaa; -} - -.theme-line header p { - color: #666; -} - -.theme-line header { - border-bottom-color: #ec1c24; -} - -.theme-line .navbar-nav { - color: #888; -} - -.theme-line .navbar-nav a { - color: #bbb; -} - -.theme-line header a.btn { - background-color: #ec1c24; -} - -.theme-line header a.btn:hover { - background-color: #950d12; -} - -.theme-line header .navbar-nav .tt-cursor { - background-color: #ec1c24; -} - -.theme-line header .navbar-nav a:hover, .theme-line header .navbar-nav .open > a { - color: #ec1c24; -} - -.theme-line .navbar-nav .active a { - //font-weight: bold; - color: #ec1c24; -} - -.theme-line .navbar-nav .active a:hover { - color: #950d12; -} - -.theme-line .main-links .links a:hover { - color: #ec1c24; -} - -.theme-line .main-content a { - color: #666; -} - -.theme-line .main-content a:hover { - color: #950d12; -} - -.theme-line .sidebar-nav ul li a.active:before { - background-color: #ec1c24; -} - -.theme-line .sidebar-nav ul li a.active { - color: #ec1c24; -} - -.theme-line .sidebar-nav ul li a:hover, .theme-line .sidebar-nav ul li a.active:hover { - color: #950d12; -} - -.theme-line .main-content .nav-horizontal a.active { - border-color: #ec1c24; - color: #ec1c24; -} - -.theme-line .main-content .nav-horizontal a:hover { - color: #950d12; -} - -.theme-line .main-content .nav-horizontal a.active:hover { - border-color: #950d12; -} - -.theme-line header .navbar-nav a.active, .theme-line #versions-list li a:hover strong, .theme-line #versions-list li a.active .current, .theme-line #versions-list li a:active .current { - color: #ec1c24; -} - -.theme-line.body-threes .section-right .threes-nav .btn-default:hover, .theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover { - color: #ec1c24; - border-color: #ec1c24; -} - -.theme-line .section-right { - padding-left: 30px; -} - -.body-overlap .main-content { - margin-top: 30px; -} - -.body-box .main-content, -.body-overlap .main-content { - padding: 30px; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); - background-color: #fff; -} - -body { - font-weight: 400; - font-family: Roboto Slab, serif;; -} - -h1, h2, h3, h4, h5, h6 { - font-weight: 700; - font-family: Roboto Slab, serif; -} - -.submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover { - background-color: #ec1c24; -} - -div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover { - background-color: #950d12; -} - -a, .link .title { - color: #ec1c24; -} - -a:hover, .link:hover .title { - color: #950d12; -} - -.header h1.navbar-brand a { - background-image: url("@{logo-path}"); -} - -.header h1.navbar-brand { - width: 96px; -} - -.block-edit-parameters { - text-align: right; - padding-bottom: 5px; -} - -.ng-table-pager { - display: none; -} - -.container-footer { - margin-top: 20px; -} - -.vcenter { - display: inline-block; - vertical-align: middle; - float: none; -} - -.vcenter2 { - position: relative; - top: 50%; - transform: translateY(-50%); -} - -.border-right-remove { - -} - -/* Modal */ -.modal { - display: block; - overflow: hidden; -} - -.modal .close { - position: absolute; - top: 0.65em; - right: 0.65em; - float: none; -} - -// Close icon -.modal-header .close { - margin-right: -2px; -} - -.modal .modal-dialog { - width: 610px; -} - -.modal .modal-content { - border-radius: 0; - background-color: #f7f7f7; -} - -.modal .modal-content .modal-header { - background-color: #fff; - text-align: center; - color: #555; - padding: 24px; - font-family: "myriad-pro", sans-serif; -} - -.modal .modal-content .modal-header h4 { - font-family: "myriad-pro", sans-serif; - font-size: 22px; -} - -.modal .modal-content .modal-header h4 .fa { - display: block; - font-size: 41px; - color: #ddd; - margin-bottom: 5px; -} - -.modal .modal-content .modal-header p { - color: #aaa; - font-size: 1em; - margin: 3px 0 0; -} - -.modal .modal-content .modal-spacer { - padding: 10px 10px 0 10px; -} - -.modal .modal-content .modal-footer { - margin-top: 0; -} - -.modal-body { - padding-top: 30px; -} - -h1.ignite-logo { - background-image: url("@{logo-path}"); -} - -.st-sort-ascent:after { - font-family: FontAwesome, serif; - content: '\f077'; -} - -.st-sort-descent:after { - font-family: FontAwesome, serif; - content: '\f078'; -} - -.block-display-image img { - max-width: 100%; - max-height: 450px; - margin: auto; - display: block; -} - -.greedy { - min-height: 200px; - height: ~"calc(100vh - 230px)"; -} - -@media (min-width: 768px) { - .navbar-nav > li > a { - padding-top: 20px; - padding-bottom: 10px; - } -} - -.details-row { - padding-left: 1.3em; -} - -.details-table-row { - padding: 0; -} - -.details-row, .settings-row { - display: block; - margin: 0.65em 0; - line-height: @input-height; - - [class*="col-"] { - display: inline-block; - vertical-align: middle; - float: none; - - padding-left: 0 !important; - padding-right: 0 !important; - } - - input[type="checkbox"] { - line-height: 20px; - margin-right: 4px; - } - - .checkbox label { - line-height: 20px; - vertical-align: middle; - } -} - -button { - margin-right: 4px; -} - -h1, -h2, -h3 { - user-select: none; - font-weight: normal; - /* Makes the vertical size of the text the same for all fonts. */ - line-height: 1; -} - -h3 { - color: black; - font-size: 1.2em; - margin-top: 0; - margin-bottom: 1.5em; -} - -table tr:hover{ cursor:pointer; } - -.input-group { - display: inline-block; -} - -.input-group .form-control { - width: auto; - margin-left: 0; - margin-right: 0; -} - -.form-control { - display: inline-block; - text-align: left; - padding: 3px 3px; - height: @input-height; - - button { - text-align: left; - } -} - -.table-form-control { - width: auto; -} - -.form-horizontal .control-label { - padding-top: 4px; -} - -button .caret { - float: right; - margin-left: 0; - margin-top: 7px; -} - -.theme-line .panel-heading { - padding: 10px 10px; - margin: 0; - - h3 { - margin-bottom: 0; - } - - h3 > a { - color: black; - cursor: pointer; - } -} - -.theme-line .panel-title { - a { - color: #ec1c24; - } - - h3 { - margin-bottom: 1.3em; - } -} - -.theme-line .panel-body { - padding: 0.65em 1.3em; -} - -.theme-line .main-content a.customize { - //margin-left: 10px; - color: #ec1c24; - cursor: pointer; -} - -.theme-line .panel-collapse { - margin: 0; -} - -.theme-line .links table { - display: table; - table-layout: fixed; - margin-bottom: 10px; - - td { - padding-left: 18px; - } - - .active a { - color: #ec1c24; - font-weight: bold; - } - - a:hover { - color: #950d12; - } - - a { - color: #666; - } -} - -.theme-line table.links-edit:extend(.theme-line .links table all) { - label { - line-height: @input-height; - color: #666; - } -} - -.btn { - padding: 3px 6px; -} - -.panel-title a { - font-size: 14px; -} - -.panel-details { - margin-top: 1.3em; - margin-bottom: 0.65em; - padding: 0.65em; - - border-radius: 4px; - border: thin dotted lightgrey; -} - -.tooltip.right .tooltip-arrow { - border-right-color: #ec1c24; -} - -.tooltip > .tooltip-inner { - max-width: 400px; - text-align: left; - background-color: #ec1c24; -} - -label { - font-weight: normal; - line-height: 14px; - margin-bottom: 0; -} - -.form-horizontal .checkbox { - padding-top: 0; -} - -.input-tip { - display: block; - overflow: hidden; - padding-right:4px; -} - -.labelField { - float: left; - margin-right: 4px; -} - -.tipField { - float: right; - line-height: @input-height; - margin-right: 5px; -} - -.tipLabel { - font-size: 14px; - margin-left: 4px; -} - -.fieldButton { - float: right; - margin-left: 4px; - margin-right: 0; -} - -.table-nowrap { - table-layout:fixed; -} - -.td-overflow { - max-width: 100px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.fa-edit { - cursor: pointer; -} - -.fa-remove { - color: #ec1c24; - margin-left: 5px; - margin-right: 5px; - cursor: pointer; -} - -label.required:after { - color: #ec1c24; - content: ' *'; - display:inline; -} - -.blank { - visibility:hidden; -} - -.alert { - outline: 0 -} - -.alert.bottom, .alert.bottom-left, .alert.bottom-right, .alert.top, -.alert.top-left, .alert.top-right { - position: fixed; - z-index: 1050; - margin: 20px -} - -.alert.top, .alert.top-left, .alert.top-right { - top: 50px -} - -.alert.top { - right: 0; - left: 0 -} - -.alert.top-right { - right: 0 -} - -.alert.top-right .close { - padding-left: 10px -} - -.alert.top-left { - left: 0 -} - -.alert.top-left .close { - padding-right: 10px -} - -.alert.bottom, .alert.bottom-left, .alert.bottom-right { - bottom: 0 -} - -.alert.bottom { - right: 0; - left: 0 -} - -.alert.bottom-right { - right: 0 -} - -.alert.bottom-right .close { - padding-left: 10px -} - -.alert.bottom-left { - left: 0 -} - -.alert.bottom-left .close { - padding-right: 10px -} - -// Summary page -#cfgResult textarea { - font-family: monospace; - font-size: 12px; -} - -input[type="number"]::-webkit-outer-spin-button, -input[type="number"]::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} -input[type="number"] { - -moz-appearance: textfield; -} - -input.ng-invalid { - border-color: #ec1c24; - - :focus { - border-color: #ec1c24; - } -} - -.form-control-feedback { - display: inline-block; - color: #ec1c24; - right: 18px; - line-height: @input-height; - pointer-events: initial; -} - -.syntaxhighlighter { - padding: 10px 5px; - border-radius: 6px; -} - -.theme-line table.links-edit-small-padding:extend(.theme-line .links table all) { - label { - line-height: @input-height; - color: #666; - } - - a { - line-height: @input-height; - } - - input[type="checkbox"] { - line-height: 20px; - margin-right: 4px; - } - - .checkbox label { - line-height: 20px; - vertical-align: middle; - } - - th { - text-align: center; - } - - td { - padding-left: 10px; - } - - margin-top: 10px; -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/routes/auth.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/auth.js b/modules/webconfig/nodejs/routes/auth.js deleted file mode 100644 index 5ed7278..0000000 --- a/modules/webconfig/nodejs/routes/auth.js +++ /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. - */ - -var passport = require('passport'); -var router = require('express').Router(); - -var db = require('../db'); - -/** - * Register new account. - */ -router.post('/register', function(req, res, next) { - db.Account.register(new db.Account(req.body), req.body.password, function(err, account) { - if (err) - return res.status(401).send(err.message); - - if (!account) - return res.status(500).send('Failed to create account.'); - - new db.Space({name: 'Personal space', owner: account._id}).save(); - - req.logIn(account, {}, function(err) { - if (err) - return res.status(401).send(err.message); - - return res.redirect('/clusters'); - }); - }); -}); - -/** - * Login in exist account. - */ -router.post('/login', function(req, res, next) { - passport.authenticate('local', function(err, user) { - if (err) - return res.status(401).send(err.message); - - if (!user) - return res.status(401).send('Invalid email or password'); - - req.logIn(user, {}, function(err) { - if (err) - return res.status(401).send(err.message); - - res.redirect('/clusters'); - }); - })(req, res, next); -}); - -/** - * Logout. - */ -router.get('/logout', function(req, res) { - req.logout(); - - res.redirect('/'); -}); - -module.exports = router; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/routes/caches.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/caches.js b/modules/webconfig/nodejs/routes/caches.js deleted file mode 100644 index 7de5d57..0000000 --- a/modules/webconfig/nodejs/routes/caches.js +++ /dev/null @@ -1,91 +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. - */ - -var router = require('express').Router(); -var db = require('../db'); - -/** - * Send spaces and caches accessed for user account. - * - * @param req Request. - * @param res Response. - */ -function selectAll(req, res) { - var user_id = req.user._id; - - // Get owned space and all accessed space. - db.Space.find({$or: [{owner: user_id}, {usedBy: {$elemMatch: {account: user_id}}}]}, function (err, spaces) { - if (err) - return res.status(500).send(err.message); - - var space_ids = spaces.map(function(value) { - return value._id; - }); - - // Get all caches for spaces. - db.Cache.find({space: {$in: space_ids}}, function (err, caches) { - if (err) - return res.status(500).send(err.message); - - res.json({spaces: spaces, caches: caches}); - }); - }); -} - -/** - * Get spaces and caches accessed for user account. - */ -router.get('/', function(req, res) { - selectAll(req, res); -}); - -/** - * Save cache. - */ -router.post('/save', function(req, res) { - if (req.body._id) - db.Cache.update({_id: req.body._id}, req.body, {upsert: true}, function(err) { - if (err) - return res.status(500).send(err.message); - - res.send(req.body._id); - }); - else { - var cache = new db.Cache(req.body); - - cache.save(function(err, cache) { - if (err) - return res.status(500).send(err.message); - - res.send(cache._id); - }); - } -}); - -/** - * Remove cache by ._id. - */ -router.post('/remove', function(req, res) { - db.Cache.remove(req.body, function (err) { - if (err) - return res.status(500).send(err.message); - - res.sendStatus(200); - }) -}); - -module.exports = router; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/routes/clusters.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/clusters.js b/modules/webconfig/nodejs/routes/clusters.js deleted file mode 100644 index 91ac50a..0000000 --- a/modules/webconfig/nodejs/routes/clusters.js +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var router = require('express').Router(); -var db = require('../db'); - -/** - * Send spaces and clusters accessed for user account. - * - * @param req Request. - * @param res Response. - */ -function selectAll(req, res) { - var user_id = req.user._id; - - // Get owned space and all accessed space. - db.Space.find({$or: [{owner: user_id}, {usedBy: {$elemMatch: {account: user_id}}}]}, function (err, spaces) { - if (err) - return res.status(500).send(err.message); - - var space_ids = spaces.map(function(value) { - return value._id; - }); - - db.Cache.find({space: {$in: space_ids}}, '_id name swapEnabled', function (err, caches) { - if (err) - return res.status(500).send(err); - - // Get all clusters for spaces. - db.Cluster.find({space: {$in: space_ids}}, function (err, clusters) { - if (err) - return res.status(500).send(err.message); - - var cachesJson = caches.map(function(cache) { - return {value: cache._id, label: cache.name, swapEnabled: cache.swapEnabled}; - }); - - res.json({spaces: spaces, caches: cachesJson, clusters: clusters}); - }); - }); - }); -} - -/** - * Get spaces and clusters accessed for user account. - */ -router.get('/', function(req, res) { - selectAll(req, res); -}); - -/** - * Save cluster. - */ -router.post('/save', function(req, res) { - if (req.body._id) - db.Cluster.update({_id: req.body._id}, req.body, {upsert: true}, function(err) { - if (err) - return res.status(500).send(err.message); - - res.send(req.body._id); - }); - else { - var cluster = new db.Cluster(req.body); - - cluster.save(function(err, cluster) { - if (err) - return res.status(500).send(err.message); - - res.send(cluster._id); - }); - } -}); - -/** - * Remove cluster by ._id. - */ -router.post('/remove', function(req, res) { - db.Cluster.remove(req.body, function (err) { - if (err) - return res.status(500).send(err.message); - - res.sendStatus(200); - }) -}); - -module.exports = router; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/routes/configGenerator.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/configGenerator.js b/modules/webconfig/nodejs/routes/configGenerator.js deleted file mode 100644 index 407514a..0000000 --- a/modules/webconfig/nodejs/routes/configGenerator.js +++ /dev/null @@ -1,69 +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. - */ - -var db = require('../db'); - -var router = require('express').Router(); - -var generatorXml = require('./../utils/generatorXml'); -var generatorJava = require('./../utils/generatorJava'); - -router.get('/', function(req, res) { - var lang = req.query.lang; - var name = req.query.name; - - var user_id = req.user._id; - - db.Space.find({$or: [{owner: user_id}, {usedBy: {$elemMatch: {account: user_id}}}]}, function (err, spaces) { - if (err) - return res.status(500).send(err.message); - - var space_ids = spaces.map(function(value) { - return value._id; - }); - - // Get all clusters for spaces. - db.Cluster.find({name: name, space: {$in: space_ids}}).populate('caches').exec(function (err, clusters) { - if (err) - return res.status(500).send(err.message); - - if (clusters.length == 0) { - res.sendStatus(404); - - return - } - - var cluster = clusters[0]; - - switch (lang) { - case 'xml': - res.send(generatorXml.generateClusterConfiguration(cluster)); - break; - - case 'java': - res.send(generatorJava.generateClusterConfiguration(cluster, req.query.generateJavaClass == 'true')); - break; - - default: - res.status(404).send("Unknown language: " + lang); - break; - } - }); - }); -}); - -module.exports = router; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8e792605/modules/webconfig/nodejs/routes/pages.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/routes/pages.js b/modules/webconfig/nodejs/routes/pages.js deleted file mode 100644 index 7b6c24e..0000000 --- a/modules/webconfig/nodejs/routes/pages.js +++ /dev/null @@ -1,68 +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. - */ - -var router = require('express').Router(); - -// GET dropdown-menu template. -router.get('/select', function(req, res) { - res.render('templates/select', { }); -}); - -/* GET login page. */ -router.get('/login', function(req, res) { - res.render('login'); -}); - -/* GET home page. */ -router.get('/', function(req, res) { - if (req.isAuthenticated()) - res.redirect('/clusters'); - else - res.render('index', { user: req.user }); -}); - -/* GET clusters page. */ -router.get('/clusters', function(req, res) { - res.render('clusters', { user: req.user }); -}); - -/* GET caches page. */ -router.get('/caches', function(req, res) { - res.render('caches', { user: req.user }); -}); - -/* GET persistence page. */ -router.get('/persistence', function(req, res) { - res.render('persistence', { user: req.user }); -}); - -/* GET sql page. */ -router.get('/sql', function(req, res) { - res.render('sql', { user: req.user }); -}); - -/* GET clients page. */ -router.get('/clients', function(req, res) { - res.render('clients', { user: req.user }); -}); - -/* GET summary page. */ -router.get('/summary', function(req, res) { - res.render('summary', { user: req.user }); -}); - -module.exports = router;