diff --git a/CHANGELOG.md b/CHANGELOG.md index 23633a07c40..6662a0941fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.0.0-RC2(Mar 22, 2019) +* [#923] Nacos 1.0.0 compatible with nacos-client 0.6.2 +* [#938] Client beat processor task lost +* [#946] Change default server mode to AP + + + ## 1.0.0-RC1(Mar 15, 2019) * [#870] About Nacos's namespace and tenant design diff --git a/README.md b/README.md index e1b7c5e5728..75e6ce96600 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,26 @@ These are only part of the companies using Nacos, for reference only. If you are ![云帐房](http://www.yunzhangfang.com/yzf-pc/img/logo.png) ![知氏教育](https://www.chyeth.com/622e88980a5d091eaa6449f82d48ca43.png) ![中化信息](http://www.sinochem.com/Portals/0/xinlogo.png) +![一点车](https://img.alicdn.com/tfs/TB1DXerNgDqK1RjSZSyXXaxEVXa-333-103.png) +![明传无线](https://img.alicdn.com/tfs/TB1VfOANgHqK1RjSZFPXXcwapXa-313-40.png) +![妙优车](https://img.alicdn.com/tfs/TB1lvCyNhTpK1RjSZFMXXbG_VXa-130-60.png) +![蜂巢](https://img.alicdn.com/tfs/TB1kY9qNgTqK1RjSZPhXXXfOFXa-120-50.png) +![华存数据](https://img.alicdn.com/tfs/TB1G.GBNbrpK1RjSZTEXXcWAVXa-234-65.png) +![数云](https://img.alicdn.com/tfs/TB1qsurNgDqK1RjSZSyXXaxEVXa-300-90.png) +![广通软件](https://img.alicdn.com/tfs/TB13aywNhTpK1RjSZR0XXbEwXXa-98-38.png) +![菜菜](https://img.alicdn.com/tfs/TB1xqmBNjTpK1RjSZKPXXa3UpXa-162-70.png) +![科蓝公司](https://img.alicdn.com/tfs/TB18DmINcfpK1RjSZFOXXa6nFXa-200-200.png) +![浩鲸](https://img.alicdn.com/tfs/TB15uqANXzqK1RjSZFoXXbfcXXa-188-86.png) +![未名天日语](https://img.alicdn.com/tfs/TB1mvmyNkvoK1RjSZPfXXXPKFXa-238-46.png) +![金联创](https://img.alicdn.com/tfs/TB1PSWsNmrqK1RjSZK9XXXyypXa-195-130.jpg) +![同窗链](https://img.alicdn.com/tfs/TB1k1qzNbvpK1RjSZFqXXcXUVXa-160-69.png) +![顺能](https://img.alicdn.com/tfs/TB1HdyvNmzqK1RjSZFLXXcn2XXa-143-143.jpg) +![百世快递](https://img.alicdn.com/tfs/TB1UdaGNgHqK1RjSZJnXXbNLpXa-277-62.png) +![汽车之家](https://img.alicdn.com/tfs/TB17OqENbrpK1RjSZTEXXcWAVXa-240-113.jpg) +![鲸打卡](https://img.alicdn.com/tfs/TB1q71ANkvoK1RjSZPfXXXPKFXa-257-104.png) +![时代光华](https://img.alicdn.com/tfs/TB1UzuyNhTpK1RjSZR0XXbEwXXa-201-86.jpg) +![康美](https://img.alicdn.com/tfs/TB19RCANgHqK1RjSZFPXXcwapXa-180-180.jpg) +![环球易购](https://img.alicdn.com/tfs/TB1iCGyNb2pK1RjSZFsXXaNlXXa-143-143.jpg) ![海格管家](https://img.alicdn.com/tfs/TB1FNq4EwHqK1RjSZFgXXa7JXXa-232-232.jpg) ![Nepxion](https://avatars0.githubusercontent.com/u/16344119?s=200&v=4) ![东莞最佳拍档](https://img.alicdn.com/tfs/TB11ugsDzTpK1RjSZKPXXa3UpXa-300-300.png) @@ -152,3 +172,4 @@ These are only part of the companies using Nacos, for reference only. If you are ![联合永道](https://img.alicdn.com/tfs/TB1CRAxDxYaK1RjSZFnXXa80pXa-190-190.jpg) ![明源云](https://img.alicdn.com/tfs/TB1.q14ErrpK1RjSZTEXXcWAVXa-219-219.jpg) + diff --git a/client/src/main/resources/nacos-logback.xml b/client/src/main/resources/nacos-logback.xml index 29aa6be626c..7026adbd7e5 100644 --- a/client/src/main/resources/nacos-logback.xml +++ b/client/src/main/resources/nacos-logback.xml @@ -5,9 +5,9 @@ ${nacos.logging.path}/config.log - - ${nacos.logging.path}/config.log.%d{yyyy-MM-dd}.%i - ${JM.LOG.RETAIN.COUNT:-7} + + ${nacos.logging.path}/config.log.%i + ${JM.LOG.RETAIN.COUNT:-7} @@ -22,9 +22,9 @@ ${nacos.logging.path}/naming.log - - ${nacos.logging.path}/naming.log.%d{yyyy-MM-dd}.%i - ${JM.LOG.RETAIN.COUNT:-7} + + ${nacos.logging.path}/naming.log.%i + ${JM.LOG.RETAIN.COUNT:-7} diff --git a/config/src/main/resources/META-INF/schema.sql b/config/src/main/resources/META-INF/schema.sql index 657b024efff..5489d69fa57 100644 --- a/config/src/main/resources/META-INF/schema.sql +++ b/config/src/main/resources/META-INF/schema.sql @@ -6,7 +6,7 @@ CREATE TABLE config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -31,7 +31,7 @@ CREATE TABLE his_config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', @@ -51,7 +51,7 @@ CREATE TABLE config_info_beta ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, beta_ips varchar(1024), md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -68,7 +68,7 @@ CREATE TABLE config_info_tag ( tenant_id varchar(128) default '', tag_id varchar(128) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -84,7 +84,7 @@ CREATE TABLE config_info_aggr ( tenant_id varchar(128) default '', datum_id varchar(255) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', constraint configinfoaggr_id_key PRIMARY KEY (id), constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id)); @@ -158,7 +158,7 @@ CREATE TABLE tenant_capacity ( gmt_modified timestamp DEFAULT '2010-05-05 00:00:00', constraint tenant_capacity_id_key PRIMARY KEY (id), constraint uk_tenant_id UNIQUE (tenant_id)); - + CREATE TABLE tenant_info ( id bigint NOT NULL generated by default as identity, kp varchar(128) NOT NULL, diff --git a/console/src/main/resources/META-INF/schema.sql b/console/src/main/resources/META-INF/schema.sql index d4e69a2105c..a5f19bf54a2 100644 --- a/console/src/main/resources/META-INF/schema.sql +++ b/console/src/main/resources/META-INF/schema.sql @@ -6,7 +6,7 @@ CREATE TABLE config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -31,7 +31,7 @@ CREATE TABLE his_config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', @@ -51,7 +51,7 @@ CREATE TABLE config_info_beta ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, beta_ips varchar(1024), md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -68,7 +68,7 @@ CREATE TABLE config_info_tag ( tenant_id varchar(128) default '', tag_id varchar(128) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -84,7 +84,7 @@ CREATE TABLE config_info_aggr ( tenant_id varchar(128) default '', datum_id varchar(255) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', constraint configinfoaggr_id_key PRIMARY KEY (id), constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id)); diff --git a/console/src/main/resources/static/console-fe/.gitignore b/console/src/main/resources/static/console-fe/.gitignore index aa6e4c4e6a1..5539ad8a506 100644 --- a/console/src/main/resources/static/console-fe/.gitignore +++ b/console/src/main/resources/static/console-fe/.gitignore @@ -9,3 +9,8 @@ # misc .DS_Store npm-debug.log* + +# test +test/uirecorder.log +test/reports +test/screenshots/* \ No newline at end of file diff --git a/console/src/main/resources/static/console-fe/.vscode/settings.json b/console/src/main/resources/static/console-fe/.vscode/settings.json deleted file mode 100644 index 6779945fa5f..00000000000 --- a/console/src/main/resources/static/console-fe/.vscode/settings.json +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1999-2018 Alibaba Group Holding Ltd. - * Licensed 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. - */ - -{ - "editor.tabSize": 2, - "editor.formatOnSave": true, - "[javascript]": { - "editor.formatOnSave": true, - "editor.formatOnPaste": false - }, - "[javascriptreact]": { - "editor.formatOnSave": true, - "editor.formatOnPaste": false - }, - "[typescript]": { - "editor.formatOnSave": true, - "editor.formatOnPaste": false - }, - "[typescriptreact]": { - "editor.formatOnSave": true, - "editor.formatOnPaste": false - }, - "[html]": { - "editor.formatOnSave": false - } -} diff --git a/console/src/main/resources/static/console-fe/src/layouts/MainLayout.js b/console/src/main/resources/static/console-fe/src/layouts/MainLayout.js index 2553b8ca288..529b4d223e9 100644 --- a/console/src/main/resources/static/console-fe/src/layouts/MainLayout.js +++ b/console/src/main/resources/static/console-fe/src/layouts/MainLayout.js @@ -390,7 +390,8 @@ class MainLayout extends React.Component { refreshNav() { const { navList } = this.state; - const { functionMode } = this.props; + const { location, history, functionMode } = this.props; + const [configUrl, serviceUrl] = ['/configurationManagement', '/serviceManagement']; this.setState( { navList: navList.map(item => { @@ -411,6 +412,12 @@ class MainLayout extends React.Component { }, () => this.setState({ navRow: this.nacosGetNav(navList) }, () => this.renderNav()) ); + if (functionMode === 'config' && location.pathname === serviceUrl) { + history.push(configUrl); + } + if (functionMode === 'naming' && location.pathname === configUrl) { + history.push(serviceUrl); + } } componentWillReceiveProps() { @@ -440,7 +447,7 @@ class MainLayout extends React.Component { ) : (
{nacosName} @@ -483,7 +490,12 @@ class MainLayout extends React.Component {
{this.props.children}
) : (
{doesNotExist}
diff --git a/console/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js b/console/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js index ab7fffe0999..59e976e948a 100644 --- a/console/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js +++ b/console/src/main/resources/static/console-fe/src/pages/ServiceManagement/ServiceList/ServiceList.js @@ -104,7 +104,7 @@ class ServiceList extends React.Component { setTimeout(() => this.queryServiceList()); }; - deleteService(serviceName) { + deleteService(service) { const { locale = {} } = this.props; const { prompt, promptDelete } = locale; Dialog.confirm({ @@ -113,7 +113,7 @@ class ServiceList extends React.Component { onOk: () => { request({ method: 'DELETE', - url: `v1/ns/service?serviceName=${serviceName}`, + url: `v1/ns/service?serviceName=${service.name}&groupName=${service.groupName}`, dataType: 'text', beforeSend: () => this.openLoading(), success: res => { @@ -241,7 +241,7 @@ class ServiceList extends React.Component { diff --git a/console/src/main/resources/static/console-fe/test/.editorconfig b/console/src/main/resources/static/console-fe/test/.editorconfig new file mode 100644 index 00000000000..5a13b97d00b --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/.editorconfig @@ -0,0 +1,17 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + +# Apply for all files +[*] + +charset = utf-8 + +indent_style = space +indent_size = 4 + +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/console/src/main/resources/static/console-fe/test/.gitignore b/console/src/main/resources/static/console-fe/test/.gitignore new file mode 100644 index 00000000000..704c683c515 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +.idea +node_modules +npm-debug.log +uirecorder.log +reports +screenshots/**/*.png +screenshots/**/*.html +screenshots/**/*.json diff --git a/console/src/main/resources/static/console-fe/test/README.md b/console/src/main/resources/static/console-fe/test/README.md new file mode 100644 index 00000000000..db1efe2c75c --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/README.md @@ -0,0 +1,40 @@ +## 使用说明 + +### 安装依赖 +```sh +npm install uirecorder mocha -g +npm install +``` + +### 安装chrome浏览器插件 +```sh +npm run installdriver +``` + +### 开始录制测试用例 +```sh +// xxx.spec.js 为你的测试用例文件名称 +uirecorder sample/xxx.spec.js +``` + +### 回归测试 +#### 启动服务 +```sh +npm run server +``` + +#### 单个文件测试 +```sh +// xxx.spec.js 为你的测试用例文件名称 +npm run singletest sample/xxx.spec.js +``` + +#### 并发测试 +```sh +npm run paralleltest +``` + +### 查看报告 +```sh +open reports/index.html +``` \ No newline at end of file diff --git a/console/src/main/resources/static/console-fe/test/commons/commons.md b/console/src/main/resources/static/console-fe/test/commons/commons.md new file mode 100644 index 00000000000..730f82ee0fd --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/commons/commons.md @@ -0,0 +1 @@ +Please save common test case here. \ No newline at end of file diff --git a/console/src/main/resources/static/console-fe/test/config.json b/console/src/main/resources/static/console-fe/test/config.json new file mode 100644 index 00000000000..a6e6c57ab73 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/config.json @@ -0,0 +1,14 @@ +{ + "webdriver": { + "host": "127.0.0.1", + "port": "4444", + "browsers": "chrome" + }, + "vars": {}, + "recorder": { + "pathAttrs": "data-id,data-name,type,data-type,role,data-role,data-value", + "attrValueBlack": "", + "classValueBlack": "", + "hideBeforeExpect": "" + } +} \ No newline at end of file diff --git a/console/src/main/resources/static/console-fe/test/hosts b/console/src/main/resources/static/console-fe/test/hosts new file mode 100644 index 00000000000..e69de29bb2d diff --git a/console/src/main/resources/static/console-fe/test/install.sh b/console/src/main/resources/static/console-fe/test/install.sh new file mode 100644 index 00000000000..67759d807c3 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/install.sh @@ -0,0 +1,4 @@ +ls ~/nvm || git clone https://github.com/creationix/nvm.git ~/nvm +source ~/nvm/nvm.sh +nvm install v7.10.0 +npm install diff --git a/console/src/main/resources/static/console-fe/test/package.json b/console/src/main/resources/static/console-fe/test/package.json new file mode 100644 index 00000000000..8f7971df108 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/package.json @@ -0,0 +1,25 @@ +{ + "name": "Nacos-console-fe-test", + "version": "1.0.0", + "description": "", + "main": "", + "dependencies": { + "chai": "3.5.0", + "jwebdriver": "2.2.6", + "mocha": "3.1.2", + "mocha-parallel-tests": "1.2.4", + "mochawesome-uirecorder": "1.5.25", + "resemblejs-node": "1.0.0", + "selenium-standalone": "6.x.x" + }, + "devDependencies": { + }, + "scripts": { + "installdriver": "./node_modules/.bin/selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium", + "server": "./node_modules/.bin/selenium-standalone start", + "test": "./node_modules/.bin/mocha \"!(node_modules)/**/*.spec.js\" --reporter mochawesome-uirecorder --bail", + "singletest": "./node_modules/.bin/mocha --reporter mochawesome-uirecorder --bail", + "paralleltest": "./node_modules/.bin/mocha-parallel-tests \"!(node_modules)/**/*.spec.js\" --reporter mochawesome-uirecorder --max-parallel 5 --bail" + }, + "author": "" +} diff --git a/console/src/main/resources/static/console-fe/test/run.bat b/console/src/main/resources/static/console-fe/test/run.bat new file mode 100644 index 00000000000..da1ec242109 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/run.bat @@ -0,0 +1,7 @@ +@echo off + +if "%1" neq "" ( + npm run singletest %1 %2 +) else ( + npm run paralleltest +) diff --git a/console/src/main/resources/static/console-fe/test/run.sh b/console/src/main/resources/static/console-fe/test/run.sh new file mode 100644 index 00000000000..6f479e13e30 --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/run.sh @@ -0,0 +1,5 @@ +if [ "$1" = "" ]; then + npm run paralleltest +else + npm run singletest $1 $2 +fi diff --git a/console/src/main/resources/static/console-fe/test/sample/configurationManagement.spec.js b/console/src/main/resources/static/console-fe/test/sample/configurationManagement.spec.js new file mode 100644 index 00000000000..b20c77a3dab --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/sample/configurationManagement.spec.js @@ -0,0 +1,527 @@ +const fs = require('fs'); +const path = require('path'); +const chai = require("chai"); +const should = chai.should(); +const JWebDriver = require('jwebdriver'); +chai.use(JWebDriver.chaiSupportChainPromise); +const resemble = require('resemblejs-node'); +resemble.outputSettings({ + errorType: 'flatDifferenceIntensity' +}); + +const rootPath = getRootPath(); + +module.exports = function(){ + + let driver, testVars; + + before(function(){ + let self = this; + driver = self.driver; + testVars = self.testVars; + }); + + it('url: http://127.0.0.1:8811', async function(){ + await driver.url(_(`http://127.0.0.1:8811`)); + }); + + it('waitBody: ', async function(){ + await driver.sleep(500).wait('body', 30000).html().then(function(code){ + isPageError(code).should.be.false; + }); + }); + + it('click: #username, 89, 41, 0', async function(){ + await driver.sleep(300).wait('#username', 30000) + .sleep(300).mouseMove(89, 41).click(0); + }); + + it('sendKeys: nacos', async function(){ + await driver.sendKeys('nacos'); + }); + + it('click: #password, 53, 34, 0', async function(){ + await driver.sleep(300).wait('#password', 30000) + .sleep(300).mouseMove(53, 34).click(0); + }); + + it('sendKeys: nacos', async function(){ + await driver.sendKeys('nacos'); + }); + + it('click: 提交 ( //button[text()="提交"], 321, 30, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="提交"]', 30000) + .sleep(300).mouseMove(321, 30).click(0); + }); + + it('click: div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"], 178, 9, 0', async function(){ + await driver.sleep(300).wait('div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"]', 30000) + .sleep(300).mouseMove(178, 9).click(0); + }); + + it('sendKeys: test_test', async function(){ + await driver.sendKeys('test_test'); + }); + + it('click: 查询 ( //button[text()="查询"], 3, 9, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="查询"]', 30000) + .sleep(300).mouseMove(3, 9).click(0); + }); + + it('click: #viewFramework-product-body i.next-icon-add, 15, 27, 0', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body i.next-icon-add', 30000) + .sleep(300).mouseMove(15, 27).click(0); + }); + + it('click: Data ID: ( #dataId, 154, 20, 0 )', async function(){ + await driver.sleep(300).wait('#dataId', 30000) + .sleep(300).mouseMove(154, 20).click(0); + }); + + it('sendKeys: test_test', async function(){ + await driver.sendKeys('test_test'); + }); + + it('dblClick: Group: ( #group, 89, 11, 0 )', async function(){ + await driver.sleep(300).wait('#group', 30000) + .sleep(300).mouseMove(89, 11).click(0).click(0); + }); + + it('click: #viewFramework-product-body i.next-icon-delete-filling, 11, 7, 0', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body i.next-icon-delete-filling', 30000) + .sleep(300).mouseMove(11, 7).click(0); + }); + + it('sendKeys: test', async function(){ + await driver.sendKeys('test'); + }); + + it('click: 更多高级选项 ( //a[text()="更多高级选项"], 61, 3, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="更多高级选项"]', 30000) + .sleep(300).mouseMove(61, 3).click(0); + }); + + it('click: span.next-select-trigger-search > input[role="combobox"]:nth-child(1), 66, 8, 0', async function(){ + await driver.sleep(300).wait('span.next-select-trigger-search > input[role="combobox"]:nth-child(1)', 30000) + .sleep(300).mouseMove(66, 8).click(0); + }); + + it('click: span.next-select-trigger-search > input[role="combobox"]:nth-child(1), 71, 16, 0', async function(){ + await driver.sleep(300).wait('span.next-select-trigger-search > input[role="combobox"]:nth-child(1)', 30000) + .sleep(300).mouseMove(71, 16).click(0); + }); + + it('click: 归属应用: ( #appName, 50, 19, 0 )', async function(){ + await driver.sleep(300).wait('#appName', 30000) + .sleep(300).mouseMove(50, 19).click(0); + }); + + it('click: 收起 ( //a[text()="收起"], 16, 5, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="收起"]', 30000) + .sleep(300).mouseMove(16, 5).click(0); + }); + + it('click: #desc, 77, 40, 0', async function(){ + await driver.sleep(300).wait('#desc', 30000) + .sleep(300).mouseMove(77, 40).click(0); + }); + + it('sendKeys: test', async function(){ + await driver.sendKeys('test'); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 49', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 49); + }); + + it('click: #container div.view-line, 60, 15, 0', async function(){ + await driver.sleep(300).wait('#container div.view-line', 30000) + .sleep(300).mouseMove(60, 15).click(0); + }); + + it('sendKeys: test', async function(){ + await driver.sendKeys('test'); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 155', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 155); + }); + + it('click: 发布 ( //button[text()="发布"], 39, 9, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="发布"]', 30000) + .sleep(300).mouseMove(39, 9).click(0); + }); + + it('× click: 确定 ( //button[text()="确定"], 13, 9, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="确定"]', 30000) + .sleep(300).mouseMove(13, 9).click(0); + }); + + it('click: 返回 ( //button[text()="返回"], 39, 18, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="返回"]', 30000) + .sleep(300).mouseMove(39, 18).click(0); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 0', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 0); + }); + + it('click: 详情 ( //a[text()="详情"], 12, 7, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="详情"]', 30000) + .sleep(300).mouseMove(12, 7).click(0); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 22', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 22); + }); + + it('click: test ( #content, 225, 35, 0 )', async function(){ + await driver.sleep(300).wait('#content', 30000) + .sleep(300).mouseMove(225, 35).click(0); + }); + + it('click: #backarrow, 13, 10, 0', async function(){ + await driver.sleep(300).wait('#backarrow', 30000) + .sleep(300).mouseMove(13, 10).click(0); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 0', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 0); + }); + + it('click: 示例代码 ( //a[text()="示例代码"], 29, 6, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="示例代码"]', 30000) + .sleep(300).mouseMove(29, 6).click(0); + }); + + it('click: Spring Boot ( li[role="tab"]:nth-child(2) > div.next-tabs-tab-inner, 63, 22, 0 )', async function(){ + await driver.sleep(300).wait('li[role="tab"]:nth-child(2) > div.next-tabs-tab-inner', 30000) + .sleep(300).mouseMove(63, 22).click(0); + }); + + it('click: i.next-icon-close, 9, 10, 0', async function(){ + await driver.sleep(300).wait('i.next-icon-close', 30000) + .sleep(300).mouseMove(9, 10).click(0); + }); + + it('click: 编辑 ( //a[text()="编辑"], 14, 6, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="编辑"]', 30000) + .sleep(300).mouseMove(14, 6).click(0); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 134', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 134); + }); + + it('click: label:nth-child(2) > span.next-radio > input[type="radio"][role="radio"].next-radio-input, 7, 1, 0', async function(){ + await driver.sleep(300).wait('label:nth-child(2) > span.next-radio > input[type="radio"][role="radio"].next-radio-input', 30000) + .sleep(300).mouseMove(7, 1).click(0); + }); + + it('click: label:nth-child(1) > span.next-radio > input[type="radio"][role="radio"].next-radio-input, 8, 8, 0', async function(){ + await driver.sleep(300).wait('label:nth-child(1) > span.next-radio > input[type="radio"][role="radio"].next-radio-input', 30000) + .sleep(300).mouseMove(8, 8).click(0); + }); + + it('click: test ( #container div.view-line, 47, 11, 0 )', async function(){ + await driver.sleep(300).wait('#container div.view-line', 30000) + .sleep(300).mouseMove(47, 11).click(0); + }); + + it('sendKeys: _test', async function(){ + await driver.sendKeys('_test'); + }); + + it('click: test ( #desc, 76, 25, 0 )', async function(){ + await driver.sleep(300).wait('#desc', 30000) + .sleep(300).mouseMove(76, 25).click(0); + }); + + it('sendKeys: _test', async function(){ + await driver.sendKeys('_test'); + }); + + it('click: 发布 ( //button[text()="发布"], 41, 15, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="发布"]', 30000) + .sleep(300).mouseMove(41, 15).click(0); + }); + + it('click: 确认发布 ( //button[text()="确认发布"], 61, 16, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="确认发布"]', 30000) + .sleep(300).mouseMove(61, 16).click(0); + }); + + it('click: 确定 ( //button[text()="确定"], 31, 15, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="确定"]', 30000) + .sleep(300).mouseMove(31, 15).click(0); + }); + + it('click: 返回 ( //button[text()="返回"], 25, 6, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="返回"]', 30000) + .sleep(300).mouseMove(25, 6).click(0); + }); + + it('scrollElementTo: #viewFramework-product-body, 0, 0', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body', 30000) + .sleep(300).scrollElementTo(0, 0); + }); + + it('click: 更多 ( #viewFramework-product-body span:nth-child(9), 19, 12, 0 )', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body span:nth-child(9)', 30000) + .sleep(300).mouseMove(19, 12).click(0); + }); + + it('click: 历史版本 ( //span[text()="历史版本"], 0, 3, 0 )', async function(){ + await driver.sleep(300).wait('//span[text()="历史版本"]', 30000) + .sleep(300).mouseMove(0, 3).click(0); + }); + + it('click: 配置列表 ( //div[text()="配置列表"], 120, 36, 0 )', async function(){ + await driver.sleep(300).wait('//div[text()="配置列表"]', 30000) + .sleep(300).mouseMove(120, 36).click(0); + }); + + it('click: 更多 ( #viewFramework-product-body tr.first > td[type="body"][role="gridcell"].last > div.next-table-cell-wrapper > div > span:nth-child(9), 10, 8, 0 )', async function(){ + await driver.sleep(300).wait('#viewFramework-product-body tr.first > td[type="body"][role="gridcell"].last > div.next-table-cell-wrapper > div > span:nth-child(9)', 30000) + .sleep(300).mouseMove(10, 8).click(0); + }); + + it('click: div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"], 163, 21, 0', async function(){ + await driver.sleep(300).wait('div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"]', 30000) + .sleep(300).mouseMove(163, 21).click(0); + }); + + it('click: span.next-input > input[role="combobox"], 31, 19, 0', async function(){ + await driver.sleep(300).wait('span.next-input > input[role="combobox"]', 30000) + .sleep(300).mouseMove(31, 19).click(0); + }); + + it('sendKeys: test', async function(){ + await driver.sendKeys('test'); + }); + + it('click: 查询 ( //button[text()="查询"], 8, 25, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="查询"]', 30000) + .sleep(300).mouseMove(8, 25).click(0); + }); + + it('click: div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"], 91, 18, 0', async function(){ + await driver.sleep(300).wait('div:nth-child(1) > div.next-form-item-control > span.next-medium > input[type="text"]', 30000) + .sleep(300).mouseMove(91, 18).click(0); + }); + + it('sendKeys: test_test', async function(){ + await driver.sendKeys('test_test'); + }); + + it('click: 查询 ( //button[text()="查询"], 17, 17, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="查询"]', 30000) + .sleep(300).mouseMove(17, 17).click(0); + }); + + it('click: 删除 ( //a[text()="删除"], 7, 8, 0 )', async function(){ + await driver.sleep(300).wait('//a[text()="删除"]', 30000) + .sleep(300).mouseMove(7, 8).click(0); + }); + + it('click: 确认 ( //button[text()="确认"], 21, 15, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="确认"]', 30000) + .sleep(300).mouseMove(21, 15).click(0); + }); + + it('click: 确定 ( //button[text()="确定"], 25, 14, 0 )', async function(){ + await driver.sleep(300).wait('//button[text()="确定"]', 30000) + .sleep(300).mouseMove(25, 14).click(0); + }); + + function _(str){ + if(typeof str === 'string'){ + return str.replace(/\{\{(.+?)\}\}/g, function(all, key){ + return testVars[key] || ''; + }); + } + else{ + return str; + } + } + +}; + +if(module.parent && /mocha\.js/.test(module.parent.id)){ + runThisSpec(); +} + +function runThisSpec(){ + // read config + let webdriver = process.env['webdriver'] || ''; + let proxy = process.env['wdproxy'] || ''; + let config = require(rootPath + '/config.json'); + let webdriverConfig = Object.assign({},config.webdriver); + let host = webdriverConfig.host; + let port = webdriverConfig.port || 4444; + let match = webdriver.match(/([^\:]+)(?:\:(\d+))?/); + if(match){ + host = match[1] || host; + port = match[2] || port; + } + let testVars = config.vars; + let browsers = webdriverConfig.browsers; + browsers = browsers.replace(/^\s+|\s+$/g, ''); + delete webdriverConfig.host; + delete webdriverConfig.port; + delete webdriverConfig.browsers; + + // read hosts + let hostsPath = rootPath + '/hosts'; + let hosts = ''; + if(fs.existsSync(hostsPath)){ + hosts = fs.readFileSync(hostsPath).toString(); + } + let specName = path.relative(rootPath, __filename).replace(/\\/g,'/').replace(/\.js$/,''); + + browsers.split(/\s*,\s*/).forEach(function(browserName){ + let caseName = specName + ' : ' + browserName; + + let browserInfo = browserName.split(' '); + browserName = browserInfo[0]; + let browserVersion = browserInfo[1]; + + describe(caseName, function(){ + + this.timeout(600000); + this.slow(1000); + + let driver; + before(function(){ + let self = this; + let driver = new JWebDriver({ + 'host': host, + 'port': port + }); + let sessionConfig = Object.assign({}, webdriverConfig, { + 'browserName': browserName, + 'version': browserVersion, + 'ie.ensureCleanSession': true, + 'chromeOptions': { + 'args': ['--enable-automation'] + } + }); + if(proxy){ + sessionConfig.proxy = { + 'proxyType': 'manual', + 'httpProxy': proxy, + 'sslProxy': proxy + } + } + else if(hosts){ + sessionConfig.hosts = hosts; + } + + try { + self.driver = driver.session(sessionConfig).windowSize(1024, 768).config({ + pageloadTimeout: 30000, // page onload timeout + scriptTimeout: 5000, // sync script timeout + asyncScriptTimeout: 10000 // async script timeout + }); + } catch (e) { + console.log(e); + } + + self.testVars = testVars; + let casePath = path.dirname(caseName); + self.screenshotPath = rootPath + '/screenshots/' + casePath; + self.diffbasePath = rootPath + '/diffbase/' + casePath; + self.caseName = caseName.replace(/.*\//g, '').replace(/\s*[:\.\:\-\s]\s*/g, '_'); + mkdirs(self.screenshotPath); + mkdirs(self.diffbasePath); + self.stepId = 0; + return self.driver; + }); + + module.exports(); + + beforeEach(function(){ + let self = this; + self.stepId ++; + if(self.skipAll){ + self.skip(); + } + }); + + afterEach(async function(){ + let self = this; + let currentTest = self.currentTest; + let title = currentTest.title; + if(currentTest.state === 'failed' && /^(url|waitBody|switchWindow|switchFrame):/.test(title)){ + self.skipAll = true; + } + if(!/^(closeWindow):/.test(title)){ + let filepath = self.screenshotPath + '/' + self.caseName + '_' + self.stepId; + let driver = self.driver; + try{ + // catch error when get alert msg + await driver.getScreenshot(filepath + '.png'); + let url = await driver.url(); + let html = await driver.source(); + html = '\n' + html; + fs.writeFileSync(filepath + '.html', html); + let cookies = await driver.cookies(); + fs.writeFileSync(filepath + '.cookie', JSON.stringify(cookies)); + } + catch(e){} + } + }); + + after(function(){ + return this.driver.close(); + }); + + }); + }); +} + +function getRootPath(){ + let rootPath = path.resolve(__dirname); + while(rootPath){ + if(fs.existsSync(rootPath + '/config.json')){ + break; + } + rootPath = rootPath.substring(0, rootPath.lastIndexOf(path.sep)); + } + return rootPath; +} + +function mkdirs(dirname){ + if(fs.existsSync(dirname)){ + return true; + }else{ + if(mkdirs(path.dirname(dirname))){ + fs.mkdirSync(dirname); + return true; + } + } +} + +function callSpec(name){ + try{ + require(rootPath + '/' + name)(); + } + catch(e){ + console.log(e) + process.exit(1); + } +} + +function isPageError(code){ + return code == '' || / jscontent="errorCode" jstcache="\d+"|diagnoseConnectionAndRefresh|dnserror_unavailable_header|id="reportCertificateErrorRetry"|400 Bad Request|403 Forbidden|404 Not Found|500 Internal Server Error|502 Bad Gateway|503 Service Temporarily Unavailable|504 Gateway Time-out/i.test(code); +} + +function catchError(error){ + +} diff --git a/console/src/main/resources/static/console-fe/test/uploadfiles/uploadfiles.md b/console/src/main/resources/static/console-fe/test/uploadfiles/uploadfiles.md new file mode 100644 index 00000000000..b9f2a65c2ac --- /dev/null +++ b/console/src/main/resources/static/console-fe/test/uploadfiles/uploadfiles.md @@ -0,0 +1 @@ +Please save upload files here. diff --git a/console/src/main/resources/static/js/main.js b/console/src/main/resources/static/js/main.js index 2ecd483678e..463af95993a 100644 --- a/console/src/main/resources/static/js/main.js +++ b/console/src/main/resources/static/js/main.js @@ -52,7 +52,7 @@ function(n){var e,p,b,r,o,h,d,m,M,l,u,w,k,i,S,g,s,c,y,T="sizzle"+1*new Date,_=n. object-assign (c) Sindre Sorhus @license MIT -*/var l=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),r=1;re.clientHeight&&0a.length&&a.every(function(e,t){return e===n[t]})},y.prototype.handleOpen=function(t,e,n,a){var o=this,r=void 0,i=this.props,s=i.mode,l=i.openMode,u=this.state.openKeys,c=u.indexOf(t);e&&-1===c?"inline"===s?"single"===l?(r=u.filter(function(e){return!o.isSibling(o.k2n[t].pos,o.k2n[e].pos)})).push(t):r=u.concat(t):(r=u.filter(function(e){return o.isAncestor(o.k2n[t].pos,o.k2n[e].pos)})).push(t):!e&&-1this.popupNode.offsetWidth&&y(this.popupNode,"width",p.offsetWidth+"px")}"outside"!==u||"hoz"===l&&1===n||(y(this.popupNode,"height",f.offsetHeight+"px"),y(this.popupNode,"overflow-y","scroll"));var h=this.popupProps;h.onOpen&&h.onOpen()},D.prototype.handlePopupClose=function(){var e=this.props.root.popupNodes,t=e.indexOf(this.popupNode);-1e.slidesToShow&&(t=e.slideWidth*e.slidesToShow*-1,o=e.slideHeight*e.slidesToShow*-1),e.slideCount%e.slidesToScroll!=0){var r=e.slideIndex+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow;if(e.rtl)r=(e.slideIndex>=e.slideCount?e.slideCount-e.slideIndex:e.slideIndex)+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow;r&&(o=e.slideIndex>e.slideCount?(t=(e.slidesToShow-(e.slideIndex-e.slideCount))*e.slideWidth*-1,(e.slidesToShow-(e.slideIndex-e.slideCount))*e.slideHeight*-1):(t=e.slideCount%e.slidesToScroll*e.slideWidth*-1,e.slideCount%e.slidesToScroll*e.slideHeight*-1))}}else e.slideCount%e.slidesToScroll!=0&&e.slideIndex+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow&&(t=(e.slidesToShow-e.slideCount%e.slidesToScroll)*e.slideWidth);if(e.centerMode&&(e.infinite?t+=e.slideWidth*Math.floor(e.slidesToShow/2):t=e.slideWidth*Math.floor(e.slidesToShow/2)),n=e.vertical?e.slideIndex*e.slideHeight*-1+o:e.slideIndex*e.slideWidth*-1+t,!0===e.variableWidth){var i=void 0;n=(a=e.slideCount<=e.slidesToShow||!1===e.infinite?s.default.findDOMNode(e.trackRef).childNodes[e.slideIndex]:(i=e.slideIndex+e.slidesToShow,s.default.findDOMNode(e.trackRef).childNodes[i]))?-1*a.offsetLeft:0,!0===e.centerMode&&(a=!1===e.infinite?s.default.findDOMNode(e.trackRef).children[e.slideIndex]:s.default.findDOMNode(e.trackRef).children[e.slideIndex+e.slidesToShow+1])&&(n=-1*a.offsetLeft+(e.listWidth-a.offsetWidth)/2)}return n}},function(e,t,n){"use strict";n(592)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.routerMiddleware=t.routerActions=t.goForward=t.goBack=t.go=t.replace=t.push=t.CALL_HISTORY_METHOD=t.routerReducer=t.LOCATION_CHANGE=t.syncHistoryWithStore=void 0;var a=n(293);Object.defineProperty(t,"LOCATION_CHANGE",{enumerable:!0,get:function(){return a.LOCATION_CHANGE}}),Object.defineProperty(t,"routerReducer",{enumerable:!0,get:function(){return a.routerReducer}});var o=n(294);Object.defineProperty(t,"CALL_HISTORY_METHOD",{enumerable:!0,get:function(){return o.CALL_HISTORY_METHOD}}),Object.defineProperty(t,"push",{enumerable:!0,get:function(){return o.push}}),Object.defineProperty(t,"replace",{enumerable:!0,get:function(){return o.replace}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return o.go}}),Object.defineProperty(t,"goBack",{enumerable:!0,get:function(){return o.goBack}}),Object.defineProperty(t,"goForward",{enumerable:!0,get:function(){return o.goForward}}),Object.defineProperty(t,"routerActions",{enumerable:!0,get:function(){return o.routerActions}});var r=s(n(424)),i=s(n(425));function s(e){return e&&e.__esModule?e:{default:e}}t.syncHistoryWithStore=r.default,t.routerMiddleware=i.default},function(e,t,n){"use strict";function a(o){return function(e){var n=e.dispatch,a=e.getState;return function(t){return function(e){return"function"==typeof e?e(n,a,o):t(e)}}}}var o=a();o.withExtraArgument=a,t.a=o},function(e,t,n){"use strict";var a=n(140),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},d={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function f(e){return a.isMemo(e)?r:i[e.$$typeof]||o}i[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var p=Object.defineProperty,h=Object.getOwnPropertyNames,m=Object.getOwnPropertySymbols,g=Object.getOwnPropertyDescriptor,y=Object.getPrototypeOf,_=Object.prototype;e.exports=function e(t,n,a){if("string"==typeof n)return t;if(_){var o=y(n);o&&o!==_&&e(t,o,a)}var r=h(n);m&&(r=r.concat(m(n)));for(var i=f(t),s=f(n),l=0;l\n com.alibaba.nacos\n nacos-client\n ${version}\n \n*/\npackage com.alibaba.nacos.example;\n\nimport java.util.Properties;\nimport java.util.concurrent.Executor;\nimport com.alibaba.nacos.api.NacosFactory;\nimport com.alibaba.nacos.api.config.ConfigService;\nimport com.alibaba.nacos.api.config.listener.Listener;\nimport com.alibaba.nacos.api.exception.NacosException;\n\n/**\n * Config service example\n * \n * @author Nacos\n *\n */\npublic class ConfigExample {\n\n\tpublic static void main(String[] args) throws NacosException, InterruptedException {\n\t\tString serverAddr = "localhost";\n\t\tString dataId = "'.concat(e.dataId,'";\n\t\tString group = "').concat(e.group,'";\n\t\tProperties properties = new Properties();\n\t\tproperties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);\n\t\tConfigService configService = NacosFactory.createConfigService(properties);\n\t\tString content = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\t\tconfigService.addListener(dataId, group, new Listener() {\n\t\t\t@Override\n\t\t\tpublic void receiveConfigInfo(String configInfo) {\n\t\t\t\tSystem.out.println("recieve:" + configInfo);\n\t\t\t}\n\n\t\t\t@Override\n\t\t\tpublic Executor getExecutor() {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t});\n\t\t\n\t\tboolean isPublishOk = configService.publishConfig(dataId, group, "content");\n\t\tSystem.out.println(isPublishOk);\n\t\t\n\t\tThread.sleep(3000);\n\t\tcontent = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\n\t\tboolean isRemoveOk = configService.removeConfig(dataId, group);\n\t\tSystem.out.println(isRemoveOk);\n\t\tThread.sleep(3000);\n\n\t\tcontent = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\t\tThread.sleep(300000);\n\n\t}\n}\n')}},{key:"getNodejsCode",value:function(e){return"TODO"}},{key:"getCppCode",value:function(e){return"TODO"}},{key:"getShellCode",value:function(e){return"TODO"}},{key:"getPythonCode",value:function(e){return"TODO"}},{key:"openDialog",value:function(e){var t=this;this.setState({dialogvisible:!0}),this.record=e,setTimeout(function(){t.getData()})}},{key:"closeDialog",value:function(){this.setState({dialogvisible:!1})}},{key:"createCodeMirror",value:function(e,t){var n=this.refs.codepreview;n&&(n.innerHTML="",this.cm=window.CodeMirror(n,{value:t,mode:e,height:400,width:500,lineNumbers:!0,theme:"xq-light",lint:!0,tabMode:"indent",autoMatchParens:!0,textWrapping:!0,gutters:["CodeMirror-lint-markers"],extraKeys:{F1:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}}}))}},{key:"changeTab",value:function(e,t){var n=this;setTimeout(function(){n[e]=!0,n.createCodeMirror("text/javascript",t)})}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=X.a.createElement("div",null);return X.a.createElement("div",null,X.a.createElement(H.a,{title:t.sampleCode,style:{width:"80%"},visible:this.state.dialogvisible,footer:n,onClose:this.closeDialog.bind(this)},X.a.createElement("div",{style:{height:500}},X.a.createElement(g.a,{tip:t.loading,style:{width:"100%"},visible:this.state.loading},X.a.createElement(re.a,{shape:"text",style:{height:40,paddingBottom:10}},X.a.createElement(ie,{title:"Java",key:1,onClick:this.changeTab.bind(this,"commoneditor1",this.defaultCode)}),X.a.createElement(ie,{title:"Spring Boot",key:2,onClick:this.changeTab.bind(this,"commoneditor2",this.sprigboot_code)}),X.a.createElement(ie,{title:"Spring Cloud",key:21,onClick:this.changeTab.bind(this,"commoneditor21",this.sprigcloud_code)}),X.a.createElement(ie,{title:"Node.js",key:3,onClick:this.changeTab.bind(this,"commoneditor3",this.nodejsCode)}),X.a.createElement(ie,{title:"C++",key:4,onClick:this.changeTab.bind(this,"commoneditor4",this.cppCode)}),X.a.createElement(ie,{title:"Shell",key:5,onClick:this.changeTab.bind(this,"commoneditor5",this.shellCode)}),X.a.createElement(ie,{title:"Python",key:6,onClick:this.changeTab.bind(this,"commoneditor6",this.pythonCode)})),X.a.createElement("div",{ref:"codepreview"})))))}}]),n}(X.a.Component),o.displayName="ShowCodeing",a=r))||a,le=(n(78),n(39)),ue=n.n(le),ce=(n(579),ue.a.Row),de=ue.a.Col,fe=(0,G.a.config)((l=s=function(e){function n(e){var t;return Object(F.a)(this,n),(t=Object(V.a)(this,Object(K.a)(n).call(this,e))).state={visible:!1,title:"",content:"",isok:!0,dataId:"",group:""},t}return Object(U.a)(n,e),Object(W.a)(n,[{key:"componentDidMount",value:function(){this.initData()}},{key:"initData",value:function(){var e=this.props.locale,t=void 0===e?{}:e;this.setState({title:t.confManagement})}},{key:"openDialog",value:function(e){this.setState({visible:!0,title:e.title,content:e.content,isok:e.isok,dataId:e.dataId,group:e.group,message:e.message})}},{key:"closeDialog",value:function(){this.setState({visible:!1})}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=X.a.createElement("div",{style:{textAlign:"right"}},X.a.createElement(b.a,{type:"primary",onClick:this.closeDialog.bind(this)},t.determine));return X.a.createElement("div",null,X.a.createElement(H.a,{visible:this.state.visible,footer:n,style:{width:555},onCancel:this.closeDialog.bind(this),onClose:this.closeDialog.bind(this),title:t.deletetitle},X.a.createElement("div",null,X.a.createElement(ce,null,X.a.createElement(de,{span:"4",style:{paddingTop:16}},X.a.createElement(j.a,{type:"".concat(this.state.isok?"success":"delete","-filling"),style:{color:this.state.isok?"green":"red"},size:"xl"})),X.a.createElement(de,{span:"20"},X.a.createElement("div",null,X.a.createElement("h3",null,this.state.isok?t.deletedSuccessfully:t.deleteFailed),X.a.createElement("p",null,X.a.createElement("span",{style:{color:"#999",marginRight:5}},"Data ID:"),X.a.createElement("span",{style:{color:"#c7254e"}},this.state.dataId)),X.a.createElement("p",null,X.a.createElement("span",{style:{color:"#999",marginRight:5}},"Group:"),X.a.createElement("span",{style:{color:"#c7254e"}},this.state.group)),this.state.isok?"":X.a.createElement("p",{style:{color:"red"}},this.state.message)))))))}}]),n}(X.a.Component),s.displayName="DeleteDialog",i=l))||i,pe=(n(580),n(345)),he=n.n(pe),me=(0,G.a.config)((d=c=function(e){function t(){return Object(F.a)(this,t),Object(V.a)(this,Object(K.a)(t).apply(this,arguments))}return Object(U.a)(t,e),Object(W.a)(t,[{key:"render",value:function(){var e=this.props,t=e.data,n=void 0===t?{}:t,a=e.height,o=e.locale,r=void 0===o?{}:o;return X.a.createElement("div",null,"notice"===n.modeType?X.a.createElement("div",{"data-spm-click":"gostr=/aliyun;locaid=notice"},X.a.createElement(he.a,{style:{marginBottom:1l?P.a.createElement($.a,{className:"pagination",total:s.count,pageSize:l,onChange:function(e){return a.onChangePage(e)}}):null,P.a.createElement(Z,{ref:this.editInstanceDialog,serviceName:r,clusterName:n,openLoading:function(){return a.openLoading()},closeLoading:function(){return a.closeLoading()},getInstanceList:function(){return a.getInstanceList()}})):null}}]),n}(P.a.Component),c.displayName="InstanceTable",u=d))||u,te=(n(593),Y.a.Item),ne={labelCol:{fixedSpan:10},wrapperCol:{span:14}},ae=(0,O.a.config)((h=p=function(e){function n(e){var t;return Object(T.a)(this,n),(t=Object(L.a)(this,Object(C.a)(n).call(this,e))).editServiceDialog=P.a.createRef(),t.editClusterDialog=P.a.createRef(),t.state={serviceName:Object(q.a)(e.location.search,"name"),groupName:Object(q.a)(e.location.search,"groupName"),loading:!1,currentPage:1,clusters:[],instances:{},service:{},pageSize:10,pageNum:{}},t}return Object(D.a)(n,e),Object(x.a)(n,[{key:"componentDidMount",value:function(){this.state.serviceName?this.getServiceDetail():this.props.history.goBack()}},{key:"getServiceDetail",value:function(){var r=this,e=this.state,t=e.serviceName,n=e.groupName;Object(I.c)({url:"v1/ns/catalog/service?serviceName=".concat(t,"&groupName=").concat(n),beforeSend:function(){return r.openLoading()},success:function(e){var t=e.clusters,n=void 0===t?[]:t,a=e.service,o=void 0===a?{}:a;return r.setState({service:o,clusters:n})},error:function(e){return k.a.error(e.responseText||"error")},complete:function(){return r.closeLoading()}})}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"openEditServiceDialog",value:function(){this.editServiceDialog.current.getInstance().show(this.state.service)}},{key:"openClusterDialog",value:function(e){this.editClusterDialog.current.getInstance().show(e)}},{key:"render",value:function(){var t=this,e=this.props.locale,n=void 0===e?{}:e,a=this.state,o=a.serviceName,r=a.loading,i=a.service,s=void 0===i?{}:i,l=a.clusters,u=s.metadata,c=void 0===u?{}:u,d=s.selector,f=void 0===d?{}:d,p=Object(q.b)(B.c)(c);return P.a.createElement("div",{className:"main-container service-detail"},P.a.createElement(g.a,{shape:"flower",tip:"Loading...",className:"loading",visible:r,color:"#333"},P.a.createElement("h1",{style:{position:"relative",width:"100%"}},n.serviceDetails,P.a.createElement(M.a,{type:"primary",className:"header-btn",onClick:function(){return t.props.history.goBack()}},n.back),P.a.createElement(M.a,{type:"normal",className:"header-btn",onClick:function(){return t.openEditServiceDialog()}},n.editService)),P.a.createElement(Y.a,ne,P.a.createElement(te,{label:"".concat(n.serviceName,":")},P.a.createElement(S.a,{value:s.name,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.groupName,":")},P.a.createElement(S.a,{value:s.groupName,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.protectThreshold,":")},P.a.createElement(S.a,{value:s.protectThreshold,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.metadata,":")},P.a.createElement(U.a,{language:"properties",width:"100%",height:200,value:p,options:B.e})),P.a.createElement(te,{label:"".concat(n.type,":")},P.a.createElement(S.a,{value:f.type,readOnly:!0})),"label"===s.type&&P.a.createElement(te,{label:"".concat(n.selector,":")},P.a.createElement(S.a,{value:f.selector,readOnly:!0}))),l.map(function(e){return P.a.createElement(_.a,{key:e.name,className:"cluster-card",title:"".concat(n.cluster,":"),subTitle:e.name,contentHeight:"auto",extra:P.a.createElement(M.a,{type:"normal",onClick:function(){return t.openClusterDialog(e)}},n.editCluster)},P.a.createElement(ee,{clusterName:e.name,serviceName:o}))})),P.a.createElement(A.a,{ref:this.editServiceDialog,openLoading:function(){return t.openLoading()},closeLoading:function(){return t.closeLoading()},getServiceDetail:function(){return t.getServiceDetail()}}),P.a.createElement(G,{ref:this.editClusterDialog,openLoading:function(){return t.openLoading()},closeLoading:function(){return t.closeLoading()},getServiceDetail:function(){return t.getServiceDetail()}}))}}]),n}(P.a.Component),p.displayName="ServiceDetail",f=h))||f;t.a=ae},function(e,t,n){"use strict";n(41);var a,o,r,i,s,l,u=n(25),c=n.n(u),d=(n(29),n(19)),f=n.n(d),p=(n(330),n(110)),h=n.n(p),m=(n(30),n(23)),g=n.n(m),y=(n(58),n(31)),_=n.n(y),v=(n(32),n(10)),b=n.n(v),M=(n(50),n(27)),w=n.n(M),k=(n(33),n(20)),S=n.n(k),T=(n(44),n(28)),x=n.n(T),L=n(14),C=n(15),D=n(16),E=n(17),O=n(22),N=n(18),Y=(n(26),n(8)),j=n.n(Y),P=(n(98),n(81)),I=n.n(P),A=(n(35),n(9)),H=n.n(A),R=(n(138),n(56)),z=n.n(R),F=n(42),W=n.n(F),V=n(0),K=n.n(V),B=n(1),U=(n(78),n(39)),q=n.n(U),G=(n(557),q.a.Row),J=q.a.Col,$=(0,j.a.config)((r=o=function(e){function n(e){var t;return Object(L.a)(this,n),(t=Object(D.a)(this,Object(E.a)(n).call(this,e))).diffeditor=K.a.createRef(),t.state={dialogvisible:!1},t}return Object(N.a)(n,e),Object(C.a)(n,[{key:"openDialog",value:function(e,t){var n=this;this.setState({dialogvisible:!0}),setTimeout(function(){n.createDiffCodeMirror(e,t)})}},{key:"closeDialog",value:function(){this.setState({dialogvisible:!1})}},{key:"createDiffCodeMirror",value:function(e,t){var n=this.diffeditor.current;n.innerHTML="",this.diffeditor=window.CodeMirror.MergeView(n,{value:e||"",readOnly:!0,origLeft:null,orig:t||"",lineNumbers:!0,mode:this.mode,theme:"xq-light",highlightDifferences:!0,connect:"align",collapseIdentical:!1})}},{key:"confirmPub",value:function(){this.closeDialog(),this.props.publishConfig()}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=K.a.createElement("div",null," ",K.a.createElement(f.a,{type:"primary",onClick:this.confirmPub.bind(this)},t.publish));return K.a.createElement("div",null,K.a.createElement(S.a,{title:t.contents,style:{width:"80%"},visible:this.state.dialogvisible,footer:n,onClose:this.closeDialog.bind(this)},K.a.createElement("div",{style:{height:400}},K.a.createElement("div",null,K.a.createElement(G,null,K.a.createElement(J,{style:{textAlign:"center"}},t.currentArea),K.a.createElement(J,{style:{textAlign:"center"}},t.originalValue))),K.a.createElement("div",{style:{clear:"both",height:480},ref:this.diffeditor}))))}}]),n}(K.a.Component),o.displayName="DiffEditorDialog",a=r))||a,Q=n(83),X=n(111),Z=(n(558),z.a.Item),ee=H.a.Item,te=I.a.Group,ne=(0,j.a.config)((l=s=function(e){function t(e){var n;return Object(L.a)(this,t),(n=Object(D.a)(this,Object(E.a)(t).call(this,e)))._publishConfig=function(e){var t=n.props.locale,o=void 0===t?{}:t,r=Object(O.a)(n);n.codeValue=e,n.tenant=Object(B.b)("namespace")||"",n.serverId=Object(B.b)("serverId")||"center";var i={dataId:n.field.getValue("dataId"),appName:n.inApp?n.edasAppId:n.field.getValue("appName"),group:n.field.getValue("group"),desc:n.field.getValue("desc"),config_tags:n.state.config_tags.join(),type:n.state.configType,content:e,tenant:n.tenant};Object(B.c)({type:"post",contentType:"application/x-www-form-urlencoded",url:"v1/cs/configs",data:i,success:function(e){var t={};if(t.maintitle=o.toedittitle,t.title=K.a.createElement("div",null,o.toedit),t.content="",t.dataId=i.dataId,t.group=i.group,null!=e){t.isok=!0;var n=r.state.activeKey.split("-")[0];if("normal"===n&&!0===r.hasips){var a=(new Date).getTime();r.setState({tag:[{title:o.official,key:"normal-".concat(a)},{title:"BETA",key:"beta-".concat(a)}],hasbeta:!0,activeKey:"beta-".concat(a)}),i.betaIps=i.betaIps||i.ips,r.valueMap.beta=i,r.changeTab("beta-".concat(a))}"normal"===n&&!1===r.hasips&&(r.valueMap.normal=i),"beta"===n&&!0===r.hasips&&(r.valueMap.beta=i)}else t.isok=!1,t.message=e.message;r.successDialog.current.getInstance().openDialog(t)},error:function(){}})},n.diffEditorDialog=K.a.createRef(),n.successDialog=K.a.createRef(),n.edasAppName=Object(B.b)("edasAppName")||"",n.edasAppId=Object(B.b)("edasAppId")||"",n.inApp=n.edasAppName,n.field=new x.a(Object(O.a)(n)),n.dataId=Object(B.b)("dataId")||"yanlin",n.group=Object(B.b)("group")||"DEFAULT_GROUP",n.tenant=Object(B.b)("namespace")||"",n.state={configType:"text",codeValue:"",envname:"center",targetEnvName:"",envlist:[],envvalues:[],loading:!1,showmore:!1,activeKey:"normal",hasbeta:!1,ips:"",checkedBeta:!1,tagLst:[],config_tags:[],switchEncrypt:!1,tag:[]},n.codeValue="",n.mode="text",n.ips="",n.valueMap={},n.searchDataId=Object(B.b)("searchDataId")||"",n.searchGroup=Object(B.b)("searchGroup")||"",n}return Object(N.a)(t,e),Object(C.a)(t,[{key:"componentDidMount",value:function(){this.initData(),this.betaips=document.getElementById("betaips"),this.getDataDetail(),this.chontenttab=document.getElementById("chontenttab")}},{key:"initData",value:function(){var e=this.props.locale,t=void 0===e?{}:e;this.setState({tag:[{title:t.official,key:"normal"}]}),this.dataId.startsWith("cipher-")&&this.setState({switchEncrypt:!0})}},{key:"initMoacoEditor",value:function(e,t){var n=this;window.monaco?this.monacoEditor=window.monaco.editor.create(document.getElementById("container"),{value:t,language:this.state.configType,codeLens:!0,selectOnLineNumbers:!0,roundedSelection:!1,readOnly:!1,lineNumbersMinChars:!0,theme:"vs-dark",wordWrapColumn:120,folding:!1,showFoldingControls:"always",wordWrap:"wordWrapColumn",cursorStyle:"line",automaticLayout:!0}):window.importEditor(function(){n.monacoEditor=window.monaco.editor.create(document.getElementById("container"),{value:t,language:n.state.configType,codeLens:!0,selectOnLineNumbers:!0,roundedSelection:!1,readOnly:!1,lineNumbersMinChars:!0,theme:"vs-dark",wordWrapColumn:120,folding:!1,showFoldingControls:"always",wordWrap:"wordWrapColumn",cursorStyle:"line",automaticLayout:!0})})}},{key:"toggleMore",value:function(){this.setState({showmore:!this.state.showmore})}},{key:"navTo",value:function(e){this.serverId=Object(B.b)("serverId")||"",this.tenant=Object(B.b)("namespace")||"",this.props.history.push("".concat(e,"?serverId=").concat(this.serverId||"","&dataId=").concat(this.dataId,"&group=").concat(this.group,"&namespace=").concat(this.tenant))}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"getDataDetail",value:function(){var e=this.props.locale,o=void 0===e?{}:e,r=this;this.tenant=Object(B.b)("namespace")||"",this.serverId=Object(B.b)("serverId")||"center";var t="v1/cs/configs?show=all&dataId=".concat(this.dataId,"&group=").concat(this.group);Object(B.c)({url:t,beforeSend:function(){r.openLoading()},success:function(e){if(null!=e){var t=e;r.valueMap.normal=t,r.field.setValue("dataId",t.dataId),r.field.setValue("appName",r.inApp?r.edasAppName:t.appName),r.field.setValue("group",t.group),r.field.setValue("desc",t.desc),r.codeValue=t.content||"";var n=t.type||"text";if(r.setState({configType:n}),r.initMoacoEditor(n,r.codeValue),null!=t.configTags){var a=t.configTags.split(",");r.setConfigTags(a)}r.serverId={}.serverId,r.targetEnvs=[]}else S.a.alert({title:o.wrong,content:e.message})},complete:function(){r.closeLoading()}})}},{key:"goList",value:function(){var e=Object(B.b)("namespace");this.props.history.push("/configurationManagement?serverId=".concat(this.serverId,"&group=").concat(this.searchGroup,"&dataId=").concat(this.searchDataId,"&namespace=").concat(e))}},{key:"createCodeMirror",value:function(e,t){var n=this.refs.commoneditor;n.innerHTML="",this.commoneditor=window.CodeMirror(n,{value:t,mode:e,lineNumbers:!0,theme:"xq-light",lint:!0,gutters:["CodeMirror-lint-markers"],extraKeys:{F1:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}}}),this.commoneditor.on("change",this.codemirrorValueChanged.bind(this))}},{key:"codemirrorValueChanged",value:function(e){this.diffeditor&&this.diffeditor.edit.doc.setValue(e.getValue())}},{key:"createDiffCodeMirror",value:function(e,t){var n=this.diffEditorDialog.current.getInstance();n.innerHTML="",this.diffeditor=window.CodeMirror.MergeView(n,{value:e||"",origLeft:null,orig:t||"",lineNumbers:!0,mode:this.mode,theme:"xq-light",highlightDifferences:!0,connect:"align",collapseIdentical:!1})}},{key:"changeConfig",value:function(e){0===e&&(this.createCodeMirror("text",this.codeValue),this.mode="text"),1===e&&(this.createCodeMirror("application/json",this.codeValue),this.mode="application/json"),2===e&&(this.createCodeMirror("xml",this.codeValue),this.mode="xml"),this.setState({configType:e})}},{key:"setCodeValue",value:function(e){this.setState({codeValue:e})}},{key:"toggleDiff",value:function(e){if(e){this.chontenttab.style.display="block";var t=this.commoneditor.doc.getValue();this.diffeditor||this.createDiffCodeMirror(t,this.codeValue)}else this.chontenttab.style.display="none"}},{key:"publishConfig",value:function(){var o=this,e=this.props.locale,r=void 0===e?{}:e;this.field.validate(function(e,t){if(!e){var n="",a=o.state.configType;(n=o.monacoEditor?o.monacoEditor.getValue():o.codeValue)?X.a.validate({content:n,type:a})?o._publishConfig(n):S.a.confirm({content:"配置信息可能有语法错误, 确定提交吗?",onOk:function(){o._publishConfig(n)}}):w.a.error({content:r.submitFailed,align:"cc cc"})}})}},{key:"validateChart",value:function(e,t,n){var a=this.props.locale,o=void 0===a?{}:a;/[@#\$%\^&\*]+/g.test(t)?n(o.vdchart):n()}},{key:"changeEnv",value:function(e){this.targetEnvs=e,this.setState({envvalues:e})}},{key:"changeBeta",value:function(e){this.betaips.style.display=e?"block":"none",this.setState({checkedBeta:e})}},{key:"getIps",value:function(e){this.ips=e,this.setState({ips:e})}},{key:"setConfigTags",value:function(n){5this.state.pageSize&&P.a.createElement("div",{style:{marginTop:10,textAlign:"right"}},P.a.createElement(b.a,{current:this.state.currentPage,total:this.state.total,pageSize:this.state.pageSize,onChange:function(e){return a.setState({currentPage:e},function(){return a.queryServiceList()})}}))),P.a.createElement(H.a,{ref:this.editServiceDialog,openLoading:function(){return a.openLoading()},closeLoading:function(){return a.closeLoading()},queryServiceList:function(){return a.setState({currentPage:1},function(){return a.queryServiceList()})}}))}}]),t}(P.a.Component),o.displayName="ServiceList",a=r))||a;t.a=V},function(e,t,n){"use strict";n(41);var a,o,r,i=n(25),s=n.n(i),l=(n(80),n(49)),u=n.n(l),c=(n(79),n(21)),d=n.n(c),f=(n(32),n(10)),p=n.n(f),h=(n(58),n(31)),m=n.n(h),g=(n(44),n(28)),y=n.n(g),_=n(60),v=n(14),b=n(15),M=n(16),w=n(17),k=n(22),S=n(18),T=(n(26),n(8)),x=n.n(T),L=(n(78),n(39)),C=n.n(L),D=(n(35),n(9)),E=n.n(D),O=n(0),N=n.n(O),Y=n(53),j=n(1),P=(n(564),E.a.Item),I=C.a.Row,A=C.a.Col,H=(0,x.a.config)((r=o=function(e){function t(e){var r;return Object(v.a)(this,t),(r=Object(M.a)(this,Object(w.a)(t).call(this,e))).queryTrackQuery=function(){var c=Object(k.a)(r),e="",d=r.getValue("type");if(1===d){var t=r.getValue("ip");e="v1/cs/listener?ip=".concat(t);var n=window.nownamespace||Object(j.b)("namespace")||"";n&&(e+="&tenant=".concat(n))}else{var a=r.getValue("dataId"),o=r.getValue("group");if(!a||!o)return!1;e="v1/cs/configs/listener?dataId=".concat(a,"&group=").concat(o)}Object(j.c)({url:e,beforeSend:function(){c.openLoading()},success:function(e){if(200===e.collectStatus){var t=[],n=e.lisentersGroupkeyStatus;for(var a in n)if(1===d){var o={},r=a.split("+"),i=Object(_.a)(r,2),s=i[0],l=i[1];o.dataId=s,o.group=l,o.md5=n[a],t.push(o)}else{var u={};u.ip=a,u.md5=n[a],t.push(u)}c.setState({dataSource:t||[],total:t.length||0})}},complete:function(){c.closeLoading()}})},r.changePage=function(e){r.setState({currentPage:e})},r.getQueryLater=function(){setTimeout(function(){r.queryTrackQuery()})},r.state={value:"",visible:!1,loading:!1,total:0,pageSize:10,currentPage:1,dataSource:[]},r.field=new y.a(Object(k.a)(r)),r.group=Object(j.b)("group")||"",r.dataId=Object(j.b)("dataId")||"",r.serverId=Object(j.b)("serverId")||"",r.tenant=Object(j.b)("namespace")||"",r}return Object(S.a)(t,e),Object(b.a)(t,[{key:"componentDidMount",value:function(){this.field.setValue("type",0),this.field.setValue("group",this.group),this.field.setValue("dataId",this.dataId)}},{key:"onSearch",value:function(){}},{key:"onChange",value:function(){}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"showMore",value:function(){}},{key:"resetSearch",value:function(){this.field.reset(),this.forceUpdate()}},{key:"renderStatus",value:function(e,t,n){var a=this.props.locale,o=void 0===a?{}:a;return N.a.createElement("div",null,!0===n.pushStatus?N.a.createElement("span",{style:{color:"green"}},o.success):N.a.createElement("span",{style:{color:"red"}},o.failure))}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=this.field,a=n.init,o=n.getValue;this.init=a,this.getValue=o;var r=[{label:t.configuration,value:0},{label:"IP",value:1}];return N.a.createElement("div",{style:{padding:10}},N.a.createElement(s.a,{shape:"flower",style:{position:"relative"},visible:this.state.loading,tip:"Loading...",color:"#333"},N.a.createElement(Y.a,{left:t.listenerQuery,namespaceCallBack:this.getQueryLater}),N.a.createElement(I,{className:"demo-row",style:{marginBottom:10,padding:0}},N.a.createElement(A,{span:"24"},N.a.createElement(E.a,{inline:!0,field:this.field},N.a.createElement(P,{label:"".concat(t.queryDimension,":")},N.a.createElement(m.a,Object.assign({dataSource:r,style:{width:200}},this.init("type")))),N.a.createElement(P,{label:"Data ID:",style:{display:0===this.getValue("type")?"":"none"},required:!0},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseEnterTheDataId,style:{width:200}},this.init("dataId",{rules:[{required:!0,message:t.dataIdCanNotBeEmpty}]})))),N.a.createElement(P,{label:"Group:",style:{display:0===this.getValue("type")?"":"none"},required:!0},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseInputGroup,style:{width:200}},this.init("group",{rules:[{required:!0,message:t.groupCanNotBeEmpty}]})))),N.a.createElement(P,{label:"IP:",style:{display:0===this.getValue("type")?"none":""}},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseInputIp,style:{width:200,boxSize:"border-box"}},this.init("ip")))),N.a.createElement(P,{label:""},N.a.createElement(E.a.Submit,{validate:!0,type:"primary",onClick:this.queryTrackQuery,style:{marginRight:10}},t.query))))),N.a.createElement("div",{style:{position:"relative"}},N.a.createElement("h3",{style:{height:28,lineHeight:"28px",paddingLeft:10,borderLeft:"3px solid #09c",margin:0,marginBottom:10,fontSize:16}},t.queryResultsQuery,N.a.createElement("strong",{style:{fontWeight:"bold"}}," ",this.state.total," "),t.articleMeetRequirementsConfiguration)),N.a.createElement(I,{style:{padding:0}},N.a.createElement(A,{span:"24",style:{padding:0}},1===this.getValue("type")?N.a.createElement(d.a,{dataSource:this.state.dataSource,fixedHeader:!0,maxBodyHeight:500,locale:{empty:t.pubNoData}},N.a.createElement(d.a.Column,{title:"Data ID",dataIndex:"dataId"}),N.a.createElement(d.a.Column,{title:"Group",dataIndex:"group"}),N.a.createElement(d.a.Column,{title:"MD5",dataIndex:"md5"})):N.a.createElement(d.a,{dataSource:this.state.dataSource,fixedHeader:!0,maxBodyHeight:400,locale:{empty:t.pubNoData}},N.a.createElement(d.a.Column,{title:"IP",dataIndex:"ip"}),N.a.createElement(d.a.Column,{title:"MD5",dataIndex:"md5"})))),N.a.createElement("div",{style:{marginTop:10,textAlign:"right"}},N.a.createElement(u.a,{current:this.state.currentPage,total:this.state.total,pageSize:this.state.pageSize,onChange:this.changePage}),",")))}}]),t}(N.a.Component),o.displayName="ListeningToQuery",a=r))||a;t.a=H},function(e,t,n){"use strict";n(41);var a,o,r,i=n(25),s=n.n(i),l=(n(80),n(49)),u=n.n(l),c=(n(79),n(21)),d=n.n(c),f=(n(35),n(9)),p=n.n(f),h=(n(32),n(10)),m=n.n(h),g=(n(44),n(28)),y=n.n(g),_=n(14),v=n(15),b=n(16),M=n(17),w=n(22),k=n(18),S=(n(26),n(8)),T=n.n(S),x=n(0),L=n.n(x),C=n(53),D=n(1),E=(n(563),(0,T.a.config)((r=o=function(e){function a(e){var t;Object(_.a)(this,a),(t=Object(b.a)(this,Object(M.a)(a).call(this,e))).field=new y.a(Object(w.a)(t)),t.appName=Object(D.b)("appName")||"",t.preAppName=t.appName,t.group=Object(D.b)("group")||"",t.preGroup=t.group,t.dataId=Object(D.b)("dataId")||"",t.preDataId=t.dataId,t.serverId=Object(D.b)("serverId")||"",t.state={value:"",visible:!1,total:0,pageSize:10,currentPage:1,dataSource:[],fieldValue:[],showAppName:!1,showgroup:!1,dataId:t.dataId,group:t.group,appName:t.appName,selectValue:[],loading:!1};var n={dataId:t.dataId||"",group:t.preGroup||"",appName:t.appName||"",serverId:t.serverId||""};return Object(D.d)(n),t}return Object(k.a)(a,e),Object(v.a)(a,[{key:"componentDidMount",value:function(){this.field.setValue("group",this.group),this.field.setValue("dataId",this.dataId)}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"keyDownSearch",value:function(e){var t=e||window.event;return 13!==(t.keyCode||t.which||t.charCode)||(this.getData(),!1)}},{key:"UNSAFE_componentWillMount",value:function(){window.addEventListener("keydown",this.keyDownSearch.bind(this),!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.keyDownSearch.bind(this))}},{key:"onSearch",value:function(){}},{key:"onChange",value:function(){}},{key:"cleanAndGetData",value:function(){0=t.length?{value:void 0,done:!0}:(e=a(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var l=n(118),u=n(117);e.exports=function(s){return function(e,t){var n,a,o=String(u(e)),r=l(t),i=o.length;return r<0||i<=r?s?"":void 0:(n=o.charCodeAt(r))<55296||56319=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),r.Arguments=r.Array,a("keys"),a("values"),a("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(388),__esModule:!0}},function(e,t,n){n(389),n(394),n(395),n(396),e.exports=n(63).Symbol},function(e,t,n){"use strict";var a=n(57),i=n(64),o=n(72),r=n(87),s=n(152),l=n(390).KEY,u=n(89),c=n(120),d=n(125),f=n(96),p=n(74),h=n(126),m=n(127),g=n(391),y=n(392),_=n(88),v=n(71),b=n(73),M=n(116),w=n(93),k=n(124),S=n(393),T=n(154),x=n(70),L=n(94),C=T.f,D=x.f,E=S.f,O=a.Symbol,N=a.JSON,Y=N&&N.stringify,j="prototype",P=p("_hidden"),I=p("toPrimitive"),A={}.propertyIsEnumerable,H=c("symbol-registry"),R=c("symbols"),z=c("op-symbols"),F=Object[j],W="function"==typeof O,V=a.QObject,K=!V||!V[j]||!V[j].findChild,B=o&&u(function(){return 7!=k(D({},"a",{get:function(){return D(this,"a",{value:7}).a}})).a})?function(e,t,n){var a=C(F,t);a&&delete F[t],D(e,t,n),a&&e!==F&&D(F,t,a)}:D,U=function(e){var t=R[e]=k(O[j]);return t._k=e,t},q=W&&"symbol"==typeof O.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof O},G=function(e,t,n){return e===F&&G(z,t,n),_(e),t=M(t,!0),_(n),i(R,t)?(n.enumerable?(i(e,P)&&e[P][t]&&(e[P][t]=!1),n=k(n,{enumerable:w(0,!1)})):(i(e,P)||D(e,P,w(1,{})),e[P][t]=!0),B(e,t,n)):D(e,t,n)},J=function(e,t){_(e);for(var n,a=g(t=b(t)),o=0,r=a.length;oo;)i(R,t=n[o++])||t==P||t==l||a.push(t);return a},Z=function(e){for(var t,n=e===F,a=E(n?z:b(e)),o=[],r=0;a.length>r;)!i(R,t=a[r++])||n&&!i(F,t)||o.push(R[t]);return o};W||(s((O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var t=f(0te;)p(ee[te++]);for(var ne=L(p.store),ae=0;ne.length>ae;)m(ne[ae++]);r(r.S+r.F*!W,"Symbol",{for:function(e){return i(H,e+="")?H[e]:H[e]=O(e)},keyFor:function(e){if(!q(e))throw TypeError(e+" is not a symbol!");for(var t in H)if(H[t]===e)return t},useSetter:function(){K=!0},useSimple:function(){K=!1}}),r(r.S+r.F*!W,"Object",{create:function(e,t){return void 0===t?k(e):J(k(e),t)},defineProperty:G,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),N&&r(r.S+r.F*(!W||u(function(){var e=O();return"[null]"!=Y([e])||"{}"!=Y({a:e})||"{}"!=Y(Object(e))})),"JSON",{stringify:function(e){for(var t,n,a=[e],o=1;arguments.length>o;)a.push(arguments[o++]);if(n=t=a[1],(v(t)||void 0!==e)&&!q(e))return y(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!q(t))return t}),a[1]=t,Y.apply(N,a)}}),O[j][I]||n(69)(O[j],I,O[j].valueOf),d(O,"Symbol"),d(Math,"Math",!0),d(a.JSON,"JSON",!0)},function(e,t,n){var a=n(96)("meta"),o=n(71),r=n(64),i=n(70).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(89)(function(){return l(Object.preventExtensions({}))}),c=function(e){i(e,a,{value:{i:"O"+ ++s,w:{}}})},d=e.exports={KEY:a,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!r(e,a)){if(!l(e))return"F";if(!t)return"E";c(e)}return e[a].i},getWeak:function(e,t){if(!r(e,a)){if(!l(e))return!0;if(!t)return!1;c(e)}return e[a].w},onFreeze:function(e){return u&&d.NEED&&l(e)&&!r(e,a)&&c(e),e}}},function(e,t,n){var s=n(94),l=n(122),u=n(97);e.exports=function(e){var t=s(e),n=l.f;if(n)for(var a,o=n(e),r=u.f,i=0;o.length>i;)r.call(e,a=o[i++])&&t.push(a);return t}},function(e,t,n){var a=n(149);e.exports=Array.isArray||function(e){return"Array"==a(e)}},function(e,t,n){var a=n(73),o=n(153).f,r={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return i&&"[object Window]"==r.call(e)?function(e){try{return o(e)}catch(e){return i.slice()}}(e):o(a(e))}},function(e,t){},function(e,t,n){n(127)("asyncIterator")},function(e,t,n){n(127)("observable")},function(e,t,n){e.exports={default:n(398),__esModule:!0}},function(e,t,n){n(399),e.exports=n(63).Object.setPrototypeOf},function(e,t,n){var a=n(87);a(a.S,"Object",{setPrototypeOf:n(400).set})},function(e,t,o){var n=o(71),a=o(88),r=function(e,t){if(a(e),!n(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,a){try{(a=o(144)(Function.call,o(154).f(Object.prototype,"__proto__").set,2))(e,[]),n=!(e instanceof Array)}catch(e){n=!0}return function(e,t){return r(e,t),n?e.__proto__=t:a(e,t),e}}({},!1):void 0),check:r}},function(e,t,n){e.exports={default:n(402),__esModule:!0}},function(e,t,n){n(403);var a=n(63).Object;e.exports=function(e,t){return a.create(e,t)}},function(e,t,n){var a=n(87);a(a.S,"Object",{create:n(124)})},function(e,t,n){"use strict"; +*/var l=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),r=1;re.clientHeight&&0a.length&&a.every(function(e,t){return e===n[t]})},y.prototype.handleOpen=function(t,e,n,a){var o=this,r=void 0,i=this.props,s=i.mode,l=i.openMode,u=this.state.openKeys,c=u.indexOf(t);e&&-1===c?"inline"===s?"single"===l?(r=u.filter(function(e){return!o.isSibling(o.k2n[t].pos,o.k2n[e].pos)})).push(t):r=u.concat(t):(r=u.filter(function(e){return o.isAncestor(o.k2n[t].pos,o.k2n[e].pos)})).push(t):!e&&-1this.popupNode.offsetWidth&&y(this.popupNode,"width",p.offsetWidth+"px")}"outside"!==u||"hoz"===l&&1===n||(y(this.popupNode,"height",f.offsetHeight+"px"),y(this.popupNode,"overflow-y","scroll"));var h=this.popupProps;h.onOpen&&h.onOpen()},D.prototype.handlePopupClose=function(){var e=this.props.root.popupNodes,t=e.indexOf(this.popupNode);-1e.slidesToShow&&(t=e.slideWidth*e.slidesToShow*-1,o=e.slideHeight*e.slidesToShow*-1),e.slideCount%e.slidesToScroll!=0){var r=e.slideIndex+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow;if(e.rtl)r=(e.slideIndex>=e.slideCount?e.slideCount-e.slideIndex:e.slideIndex)+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow;r&&(o=e.slideIndex>e.slideCount?(t=(e.slidesToShow-(e.slideIndex-e.slideCount))*e.slideWidth*-1,(e.slidesToShow-(e.slideIndex-e.slideCount))*e.slideHeight*-1):(t=e.slideCount%e.slidesToScroll*e.slideWidth*-1,e.slideCount%e.slidesToScroll*e.slideHeight*-1))}}else e.slideCount%e.slidesToScroll!=0&&e.slideIndex+e.slidesToScroll>e.slideCount&&e.slideCount>e.slidesToShow&&(t=(e.slidesToShow-e.slideCount%e.slidesToScroll)*e.slideWidth);if(e.centerMode&&(e.infinite?t+=e.slideWidth*Math.floor(e.slidesToShow/2):t=e.slideWidth*Math.floor(e.slidesToShow/2)),n=e.vertical?e.slideIndex*e.slideHeight*-1+o:e.slideIndex*e.slideWidth*-1+t,!0===e.variableWidth){var i=void 0;n=(a=e.slideCount<=e.slidesToShow||!1===e.infinite?s.default.findDOMNode(e.trackRef).childNodes[e.slideIndex]:(i=e.slideIndex+e.slidesToShow,s.default.findDOMNode(e.trackRef).childNodes[i]))?-1*a.offsetLeft:0,!0===e.centerMode&&(a=!1===e.infinite?s.default.findDOMNode(e.trackRef).children[e.slideIndex]:s.default.findDOMNode(e.trackRef).children[e.slideIndex+e.slidesToShow+1])&&(n=-1*a.offsetLeft+(e.listWidth-a.offsetWidth)/2)}return n}},function(e,t,n){"use strict";n(592)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.routerMiddleware=t.routerActions=t.goForward=t.goBack=t.go=t.replace=t.push=t.CALL_HISTORY_METHOD=t.routerReducer=t.LOCATION_CHANGE=t.syncHistoryWithStore=void 0;var a=n(293);Object.defineProperty(t,"LOCATION_CHANGE",{enumerable:!0,get:function(){return a.LOCATION_CHANGE}}),Object.defineProperty(t,"routerReducer",{enumerable:!0,get:function(){return a.routerReducer}});var o=n(294);Object.defineProperty(t,"CALL_HISTORY_METHOD",{enumerable:!0,get:function(){return o.CALL_HISTORY_METHOD}}),Object.defineProperty(t,"push",{enumerable:!0,get:function(){return o.push}}),Object.defineProperty(t,"replace",{enumerable:!0,get:function(){return o.replace}}),Object.defineProperty(t,"go",{enumerable:!0,get:function(){return o.go}}),Object.defineProperty(t,"goBack",{enumerable:!0,get:function(){return o.goBack}}),Object.defineProperty(t,"goForward",{enumerable:!0,get:function(){return o.goForward}}),Object.defineProperty(t,"routerActions",{enumerable:!0,get:function(){return o.routerActions}});var r=s(n(424)),i=s(n(425));function s(e){return e&&e.__esModule?e:{default:e}}t.syncHistoryWithStore=r.default,t.routerMiddleware=i.default},function(e,t,n){"use strict";function a(o){return function(e){var n=e.dispatch,a=e.getState;return function(t){return function(e){return"function"==typeof e?e(n,a,o):t(e)}}}}var o=a();o.withExtraArgument=a,t.a=o},function(e,t,n){"use strict";var a=n(140),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},d={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function f(e){return a.isMemo(e)?r:i[e.$$typeof]||o}i[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var p=Object.defineProperty,h=Object.getOwnPropertyNames,m=Object.getOwnPropertySymbols,g=Object.getOwnPropertyDescriptor,y=Object.getPrototypeOf,_=Object.prototype;e.exports=function e(t,n,a){if("string"==typeof n)return t;if(_){var o=y(n);o&&o!==_&&e(t,o,a)}var r=h(n);m&&(r=r.concat(m(n)));for(var i=f(t),s=f(n),l=0;l\n com.alibaba.nacos\n nacos-client\n ${version}\n \n*/\npackage com.alibaba.nacos.example;\n\nimport java.util.Properties;\nimport java.util.concurrent.Executor;\nimport com.alibaba.nacos.api.NacosFactory;\nimport com.alibaba.nacos.api.config.ConfigService;\nimport com.alibaba.nacos.api.config.listener.Listener;\nimport com.alibaba.nacos.api.exception.NacosException;\n\n/**\n * Config service example\n * \n * @author Nacos\n *\n */\npublic class ConfigExample {\n\n\tpublic static void main(String[] args) throws NacosException, InterruptedException {\n\t\tString serverAddr = "localhost";\n\t\tString dataId = "'.concat(e.dataId,'";\n\t\tString group = "').concat(e.group,'";\n\t\tProperties properties = new Properties();\n\t\tproperties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);\n\t\tConfigService configService = NacosFactory.createConfigService(properties);\n\t\tString content = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\t\tconfigService.addListener(dataId, group, new Listener() {\n\t\t\t@Override\n\t\t\tpublic void receiveConfigInfo(String configInfo) {\n\t\t\t\tSystem.out.println("recieve:" + configInfo);\n\t\t\t}\n\n\t\t\t@Override\n\t\t\tpublic Executor getExecutor() {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t});\n\t\t\n\t\tboolean isPublishOk = configService.publishConfig(dataId, group, "content");\n\t\tSystem.out.println(isPublishOk);\n\t\t\n\t\tThread.sleep(3000);\n\t\tcontent = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\n\t\tboolean isRemoveOk = configService.removeConfig(dataId, group);\n\t\tSystem.out.println(isRemoveOk);\n\t\tThread.sleep(3000);\n\n\t\tcontent = configService.getConfig(dataId, group, 5000);\n\t\tSystem.out.println(content);\n\t\tThread.sleep(300000);\n\n\t}\n}\n')}},{key:"getNodejsCode",value:function(e){return"TODO"}},{key:"getCppCode",value:function(e){return"TODO"}},{key:"getShellCode",value:function(e){return"TODO"}},{key:"getPythonCode",value:function(e){return"TODO"}},{key:"openDialog",value:function(e){var t=this;this.setState({dialogvisible:!0}),this.record=e,setTimeout(function(){t.getData()})}},{key:"closeDialog",value:function(){this.setState({dialogvisible:!1})}},{key:"createCodeMirror",value:function(e,t){var n=this.refs.codepreview;n&&(n.innerHTML="",this.cm=window.CodeMirror(n,{value:t,mode:e,height:400,width:500,lineNumbers:!0,theme:"xq-light",lint:!0,tabMode:"indent",autoMatchParens:!0,textWrapping:!0,gutters:["CodeMirror-lint-markers"],extraKeys:{F1:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}}}))}},{key:"changeTab",value:function(e,t){var n=this;setTimeout(function(){n[e]=!0,n.createCodeMirror("text/javascript",t)})}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=X.a.createElement("div",null);return X.a.createElement("div",null,X.a.createElement(H.a,{title:t.sampleCode,style:{width:"80%"},visible:this.state.dialogvisible,footer:n,onClose:this.closeDialog.bind(this)},X.a.createElement("div",{style:{height:500}},X.a.createElement(g.a,{tip:t.loading,style:{width:"100%"},visible:this.state.loading},X.a.createElement(re.a,{shape:"text",style:{height:40,paddingBottom:10}},X.a.createElement(ie,{title:"Java",key:1,onClick:this.changeTab.bind(this,"commoneditor1",this.defaultCode)}),X.a.createElement(ie,{title:"Spring Boot",key:2,onClick:this.changeTab.bind(this,"commoneditor2",this.sprigboot_code)}),X.a.createElement(ie,{title:"Spring Cloud",key:21,onClick:this.changeTab.bind(this,"commoneditor21",this.sprigcloud_code)}),X.a.createElement(ie,{title:"Node.js",key:3,onClick:this.changeTab.bind(this,"commoneditor3",this.nodejsCode)}),X.a.createElement(ie,{title:"C++",key:4,onClick:this.changeTab.bind(this,"commoneditor4",this.cppCode)}),X.a.createElement(ie,{title:"Shell",key:5,onClick:this.changeTab.bind(this,"commoneditor5",this.shellCode)}),X.a.createElement(ie,{title:"Python",key:6,onClick:this.changeTab.bind(this,"commoneditor6",this.pythonCode)})),X.a.createElement("div",{ref:"codepreview"})))))}}]),n}(X.a.Component),o.displayName="ShowCodeing",a=r))||a,le=(n(78),n(39)),ue=n.n(le),ce=(n(579),ue.a.Row),de=ue.a.Col,fe=(0,G.a.config)((l=s=function(e){function n(e){var t;return Object(F.a)(this,n),(t=Object(V.a)(this,Object(K.a)(n).call(this,e))).state={visible:!1,title:"",content:"",isok:!0,dataId:"",group:""},t}return Object(U.a)(n,e),Object(W.a)(n,[{key:"componentDidMount",value:function(){this.initData()}},{key:"initData",value:function(){var e=this.props.locale,t=void 0===e?{}:e;this.setState({title:t.confManagement})}},{key:"openDialog",value:function(e){this.setState({visible:!0,title:e.title,content:e.content,isok:e.isok,dataId:e.dataId,group:e.group,message:e.message})}},{key:"closeDialog",value:function(){this.setState({visible:!1})}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=X.a.createElement("div",{style:{textAlign:"right"}},X.a.createElement(b.a,{type:"primary",onClick:this.closeDialog.bind(this)},t.determine));return X.a.createElement("div",null,X.a.createElement(H.a,{visible:this.state.visible,footer:n,style:{width:555},onCancel:this.closeDialog.bind(this),onClose:this.closeDialog.bind(this),title:t.deletetitle},X.a.createElement("div",null,X.a.createElement(ce,null,X.a.createElement(de,{span:"4",style:{paddingTop:16}},X.a.createElement(j.a,{type:"".concat(this.state.isok?"success":"delete","-filling"),style:{color:this.state.isok?"green":"red"},size:"xl"})),X.a.createElement(de,{span:"20"},X.a.createElement("div",null,X.a.createElement("h3",null,this.state.isok?t.deletedSuccessfully:t.deleteFailed),X.a.createElement("p",null,X.a.createElement("span",{style:{color:"#999",marginRight:5}},"Data ID:"),X.a.createElement("span",{style:{color:"#c7254e"}},this.state.dataId)),X.a.createElement("p",null,X.a.createElement("span",{style:{color:"#999",marginRight:5}},"Group:"),X.a.createElement("span",{style:{color:"#c7254e"}},this.state.group)),this.state.isok?"":X.a.createElement("p",{style:{color:"red"}},this.state.message)))))))}}]),n}(X.a.Component),s.displayName="DeleteDialog",i=l))||i,pe=(n(580),n(345)),he=n.n(pe),me=(0,G.a.config)((d=c=function(e){function t(){return Object(F.a)(this,t),Object(V.a)(this,Object(K.a)(t).apply(this,arguments))}return Object(U.a)(t,e),Object(W.a)(t,[{key:"render",value:function(){var e=this.props,t=e.data,n=void 0===t?{}:t,a=e.height,o=e.locale,r=void 0===o?{}:o;return X.a.createElement("div",null,"notice"===n.modeType?X.a.createElement("div",{"data-spm-click":"gostr=/aliyun;locaid=notice"},X.a.createElement(he.a,{style:{marginBottom:1l?P.a.createElement($.a,{className:"pagination",total:s.count,pageSize:l,onChange:function(e){return a.onChangePage(e)}}):null,P.a.createElement(Z,{ref:this.editInstanceDialog,serviceName:r,clusterName:n,openLoading:function(){return a.openLoading()},closeLoading:function(){return a.closeLoading()},getInstanceList:function(){return a.getInstanceList()}})):null}}]),n}(P.a.Component),c.displayName="InstanceTable",u=d))||u,te=(n(593),Y.a.Item),ne={labelCol:{fixedSpan:10},wrapperCol:{span:14}},ae=(0,O.a.config)((h=p=function(e){function n(e){var t;return Object(T.a)(this,n),(t=Object(L.a)(this,Object(C.a)(n).call(this,e))).editServiceDialog=P.a.createRef(),t.editClusterDialog=P.a.createRef(),t.state={serviceName:Object(q.a)(e.location.search,"name"),groupName:Object(q.a)(e.location.search,"groupName"),loading:!1,currentPage:1,clusters:[],instances:{},service:{},pageSize:10,pageNum:{}},t}return Object(D.a)(n,e),Object(x.a)(n,[{key:"componentDidMount",value:function(){this.state.serviceName?this.getServiceDetail():this.props.history.goBack()}},{key:"getServiceDetail",value:function(){var r=this,e=this.state,t=e.serviceName,n=e.groupName;Object(I.c)({url:"v1/ns/catalog/service?serviceName=".concat(t,"&groupName=").concat(n),beforeSend:function(){return r.openLoading()},success:function(e){var t=e.clusters,n=void 0===t?[]:t,a=e.service,o=void 0===a?{}:a;return r.setState({service:o,clusters:n})},error:function(e){return k.a.error(e.responseText||"error")},complete:function(){return r.closeLoading()}})}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"openEditServiceDialog",value:function(){this.editServiceDialog.current.getInstance().show(this.state.service)}},{key:"openClusterDialog",value:function(e){this.editClusterDialog.current.getInstance().show(e)}},{key:"render",value:function(){var t=this,e=this.props.locale,n=void 0===e?{}:e,a=this.state,o=a.serviceName,r=a.loading,i=a.service,s=void 0===i?{}:i,l=a.clusters,u=s.metadata,c=void 0===u?{}:u,d=s.selector,f=void 0===d?{}:d,p=Object(q.b)(B.c)(c);return P.a.createElement("div",{className:"main-container service-detail"},P.a.createElement(g.a,{shape:"flower",tip:"Loading...",className:"loading",visible:r,color:"#333"},P.a.createElement("h1",{style:{position:"relative",width:"100%"}},n.serviceDetails,P.a.createElement(M.a,{type:"primary",className:"header-btn",onClick:function(){return t.props.history.goBack()}},n.back),P.a.createElement(M.a,{type:"normal",className:"header-btn",onClick:function(){return t.openEditServiceDialog()}},n.editService)),P.a.createElement(Y.a,ne,P.a.createElement(te,{label:"".concat(n.serviceName,":")},P.a.createElement(S.a,{value:s.name,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.groupName,":")},P.a.createElement(S.a,{value:s.groupName,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.protectThreshold,":")},P.a.createElement(S.a,{value:s.protectThreshold,readOnly:!0})),P.a.createElement(te,{label:"".concat(n.metadata,":")},P.a.createElement(U.a,{language:"properties",width:"100%",height:200,value:p,options:B.e})),P.a.createElement(te,{label:"".concat(n.type,":")},P.a.createElement(S.a,{value:f.type,readOnly:!0})),"label"===s.type&&P.a.createElement(te,{label:"".concat(n.selector,":")},P.a.createElement(S.a,{value:f.selector,readOnly:!0}))),l.map(function(e){return P.a.createElement(_.a,{key:e.name,className:"cluster-card",title:"".concat(n.cluster,":"),subTitle:e.name,contentHeight:"auto",extra:P.a.createElement(M.a,{type:"normal",onClick:function(){return t.openClusterDialog(e)}},n.editCluster)},P.a.createElement(ee,{clusterName:e.name,serviceName:o}))})),P.a.createElement(A.a,{ref:this.editServiceDialog,openLoading:function(){return t.openLoading()},closeLoading:function(){return t.closeLoading()},getServiceDetail:function(){return t.getServiceDetail()}}),P.a.createElement(G,{ref:this.editClusterDialog,openLoading:function(){return t.openLoading()},closeLoading:function(){return t.closeLoading()},getServiceDetail:function(){return t.getServiceDetail()}}))}}]),n}(P.a.Component),p.displayName="ServiceDetail",f=h))||f;t.a=ae},function(e,t,n){"use strict";n(41);var a,o,r,i,s,l,u=n(25),c=n.n(u),d=(n(29),n(19)),f=n.n(d),p=(n(330),n(110)),h=n.n(p),m=(n(30),n(23)),g=n.n(m),y=(n(58),n(31)),_=n.n(y),v=(n(32),n(10)),b=n.n(v),M=(n(50),n(27)),w=n.n(M),k=(n(33),n(20)),S=n.n(k),T=(n(44),n(28)),x=n.n(T),L=n(14),C=n(15),D=n(16),E=n(17),O=n(22),N=n(18),Y=(n(26),n(8)),j=n.n(Y),P=(n(98),n(81)),I=n.n(P),A=(n(35),n(9)),H=n.n(A),R=(n(138),n(56)),z=n.n(R),F=n(42),W=n.n(F),V=n(0),K=n.n(V),B=n(1),U=(n(78),n(39)),q=n.n(U),G=(n(557),q.a.Row),J=q.a.Col,$=(0,j.a.config)((r=o=function(e){function n(e){var t;return Object(L.a)(this,n),(t=Object(D.a)(this,Object(E.a)(n).call(this,e))).diffeditor=K.a.createRef(),t.state={dialogvisible:!1},t}return Object(N.a)(n,e),Object(C.a)(n,[{key:"openDialog",value:function(e,t){var n=this;this.setState({dialogvisible:!0}),setTimeout(function(){n.createDiffCodeMirror(e,t)})}},{key:"closeDialog",value:function(){this.setState({dialogvisible:!1})}},{key:"createDiffCodeMirror",value:function(e,t){var n=this.diffeditor.current;n.innerHTML="",this.diffeditor=window.CodeMirror.MergeView(n,{value:e||"",readOnly:!0,origLeft:null,orig:t||"",lineNumbers:!0,mode:this.mode,theme:"xq-light",highlightDifferences:!0,connect:"align",collapseIdentical:!1})}},{key:"confirmPub",value:function(){this.closeDialog(),this.props.publishConfig()}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=K.a.createElement("div",null," ",K.a.createElement(f.a,{type:"primary",onClick:this.confirmPub.bind(this)},t.publish));return K.a.createElement("div",null,K.a.createElement(S.a,{title:t.contents,style:{width:"80%"},visible:this.state.dialogvisible,footer:n,onClose:this.closeDialog.bind(this)},K.a.createElement("div",{style:{height:400}},K.a.createElement("div",null,K.a.createElement(G,null,K.a.createElement(J,{style:{textAlign:"center"}},t.currentArea),K.a.createElement(J,{style:{textAlign:"center"}},t.originalValue))),K.a.createElement("div",{style:{clear:"both",height:480},ref:this.diffeditor}))))}}]),n}(K.a.Component),o.displayName="DiffEditorDialog",a=r))||a,Q=n(83),X=n(111),Z=(n(558),z.a.Item),ee=H.a.Item,te=I.a.Group,ne=(0,j.a.config)((l=s=function(e){function t(e){var n;return Object(L.a)(this,t),(n=Object(D.a)(this,Object(E.a)(t).call(this,e)))._publishConfig=function(e){var t=n.props.locale,o=void 0===t?{}:t,r=Object(O.a)(n);n.codeValue=e,n.tenant=Object(B.b)("namespace")||"",n.serverId=Object(B.b)("serverId")||"center";var i={dataId:n.field.getValue("dataId"),appName:n.inApp?n.edasAppId:n.field.getValue("appName"),group:n.field.getValue("group"),desc:n.field.getValue("desc"),config_tags:n.state.config_tags.join(),type:n.state.configType,content:e,tenant:n.tenant};Object(B.c)({type:"post",contentType:"application/x-www-form-urlencoded",url:"v1/cs/configs",data:i,success:function(e){var t={};if(t.maintitle=o.toedittitle,t.title=K.a.createElement("div",null,o.toedit),t.content="",t.dataId=i.dataId,t.group=i.group,null!=e){t.isok=!0;var n=r.state.activeKey.split("-")[0];if("normal"===n&&!0===r.hasips){var a=(new Date).getTime();r.setState({tag:[{title:o.official,key:"normal-".concat(a)},{title:"BETA",key:"beta-".concat(a)}],hasbeta:!0,activeKey:"beta-".concat(a)}),i.betaIps=i.betaIps||i.ips,r.valueMap.beta=i,r.changeTab("beta-".concat(a))}"normal"===n&&!1===r.hasips&&(r.valueMap.normal=i),"beta"===n&&!0===r.hasips&&(r.valueMap.beta=i)}else t.isok=!1,t.message=e.message;r.successDialog.current.getInstance().openDialog(t)},error:function(){}})},n.diffEditorDialog=K.a.createRef(),n.successDialog=K.a.createRef(),n.edasAppName=Object(B.b)("edasAppName")||"",n.edasAppId=Object(B.b)("edasAppId")||"",n.inApp=n.edasAppName,n.field=new x.a(Object(O.a)(n)),n.dataId=Object(B.b)("dataId")||"yanlin",n.group=Object(B.b)("group")||"DEFAULT_GROUP",n.tenant=Object(B.b)("namespace")||"",n.state={configType:"text",codeValue:"",envname:"center",targetEnvName:"",envlist:[],envvalues:[],loading:!1,showmore:!1,activeKey:"normal",hasbeta:!1,ips:"",checkedBeta:!1,tagLst:[],config_tags:[],switchEncrypt:!1,tag:[]},n.codeValue="",n.mode="text",n.ips="",n.valueMap={},n.searchDataId=Object(B.b)("searchDataId")||"",n.searchGroup=Object(B.b)("searchGroup")||"",n}return Object(N.a)(t,e),Object(C.a)(t,[{key:"componentDidMount",value:function(){this.initData(),this.betaips=document.getElementById("betaips"),this.getDataDetail(),this.chontenttab=document.getElementById("chontenttab")}},{key:"initData",value:function(){var e=this.props.locale,t=void 0===e?{}:e;this.setState({tag:[{title:t.official,key:"normal"}]}),this.dataId.startsWith("cipher-")&&this.setState({switchEncrypt:!0})}},{key:"initMoacoEditor",value:function(e,t){var n=this;window.monaco?this.monacoEditor=window.monaco.editor.create(document.getElementById("container"),{value:t,language:this.state.configType,codeLens:!0,selectOnLineNumbers:!0,roundedSelection:!1,readOnly:!1,lineNumbersMinChars:!0,theme:"vs-dark",wordWrapColumn:120,folding:!1,showFoldingControls:"always",wordWrap:"wordWrapColumn",cursorStyle:"line",automaticLayout:!0}):window.importEditor(function(){n.monacoEditor=window.monaco.editor.create(document.getElementById("container"),{value:t,language:n.state.configType,codeLens:!0,selectOnLineNumbers:!0,roundedSelection:!1,readOnly:!1,lineNumbersMinChars:!0,theme:"vs-dark",wordWrapColumn:120,folding:!1,showFoldingControls:"always",wordWrap:"wordWrapColumn",cursorStyle:"line",automaticLayout:!0})})}},{key:"toggleMore",value:function(){this.setState({showmore:!this.state.showmore})}},{key:"navTo",value:function(e){this.serverId=Object(B.b)("serverId")||"",this.tenant=Object(B.b)("namespace")||"",this.props.history.push("".concat(e,"?serverId=").concat(this.serverId||"","&dataId=").concat(this.dataId,"&group=").concat(this.group,"&namespace=").concat(this.tenant))}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"getDataDetail",value:function(){var e=this.props.locale,o=void 0===e?{}:e,r=this;this.tenant=Object(B.b)("namespace")||"",this.serverId=Object(B.b)("serverId")||"center";var t="v1/cs/configs?show=all&dataId=".concat(this.dataId,"&group=").concat(this.group);Object(B.c)({url:t,beforeSend:function(){r.openLoading()},success:function(e){if(null!=e){var t=e;r.valueMap.normal=t,r.field.setValue("dataId",t.dataId),r.field.setValue("appName",r.inApp?r.edasAppName:t.appName),r.field.setValue("group",t.group),r.field.setValue("desc",t.desc),r.codeValue=t.content||"";var n=t.type||"text";if(r.setState({configType:n}),r.initMoacoEditor(n,r.codeValue),null!=t.configTags){var a=t.configTags.split(",");r.setConfigTags(a)}r.serverId={}.serverId,r.targetEnvs=[]}else S.a.alert({title:o.wrong,content:e.message})},complete:function(){r.closeLoading()}})}},{key:"goList",value:function(){var e=Object(B.b)("namespace");this.props.history.push("/configurationManagement?serverId=".concat(this.serverId,"&group=").concat(this.searchGroup,"&dataId=").concat(this.searchDataId,"&namespace=").concat(e))}},{key:"createCodeMirror",value:function(e,t){var n=this.refs.commoneditor;n.innerHTML="",this.commoneditor=window.CodeMirror(n,{value:t,mode:e,lineNumbers:!0,theme:"xq-light",lint:!0,gutters:["CodeMirror-lint-markers"],extraKeys:{F1:function(e){e.setOption("fullScreen",!e.getOption("fullScreen"))},Esc:function(e){e.getOption("fullScreen")&&e.setOption("fullScreen",!1)}}}),this.commoneditor.on("change",this.codemirrorValueChanged.bind(this))}},{key:"codemirrorValueChanged",value:function(e){this.diffeditor&&this.diffeditor.edit.doc.setValue(e.getValue())}},{key:"createDiffCodeMirror",value:function(e,t){var n=this.diffEditorDialog.current.getInstance();n.innerHTML="",this.diffeditor=window.CodeMirror.MergeView(n,{value:e||"",origLeft:null,orig:t||"",lineNumbers:!0,mode:this.mode,theme:"xq-light",highlightDifferences:!0,connect:"align",collapseIdentical:!1})}},{key:"changeConfig",value:function(e){0===e&&(this.createCodeMirror("text",this.codeValue),this.mode="text"),1===e&&(this.createCodeMirror("application/json",this.codeValue),this.mode="application/json"),2===e&&(this.createCodeMirror("xml",this.codeValue),this.mode="xml"),this.setState({configType:e})}},{key:"setCodeValue",value:function(e){this.setState({codeValue:e})}},{key:"toggleDiff",value:function(e){if(e){this.chontenttab.style.display="block";var t=this.commoneditor.doc.getValue();this.diffeditor||this.createDiffCodeMirror(t,this.codeValue)}else this.chontenttab.style.display="none"}},{key:"publishConfig",value:function(){var o=this,e=this.props.locale,r=void 0===e?{}:e;this.field.validate(function(e,t){if(!e){var n="",a=o.state.configType;(n=o.monacoEditor?o.monacoEditor.getValue():o.codeValue)?X.a.validate({content:n,type:a})?o._publishConfig(n):S.a.confirm({content:"配置信息可能有语法错误, 确定提交吗?",onOk:function(){o._publishConfig(n)}}):w.a.error({content:r.submitFailed,align:"cc cc"})}})}},{key:"validateChart",value:function(e,t,n){var a=this.props.locale,o=void 0===a?{}:a;/[@#\$%\^&\*]+/g.test(t)?n(o.vdchart):n()}},{key:"changeEnv",value:function(e){this.targetEnvs=e,this.setState({envvalues:e})}},{key:"changeBeta",value:function(e){this.betaips.style.display=e?"block":"none",this.setState({checkedBeta:e})}},{key:"getIps",value:function(e){this.ips=e,this.setState({ips:e})}},{key:"setConfigTags",value:function(n){5this.state.pageSize&&P.a.createElement("div",{style:{marginTop:10,textAlign:"right"}},P.a.createElement(b.a,{current:this.state.currentPage,total:this.state.total,pageSize:this.state.pageSize,onChange:function(e){return a.setState({currentPage:e},function(){return a.queryServiceList()})}}))),P.a.createElement(H.a,{ref:this.editServiceDialog,openLoading:function(){return a.openLoading()},closeLoading:function(){return a.closeLoading()},queryServiceList:function(){return a.setState({currentPage:1},function(){return a.queryServiceList()})}}))}}]),t}(P.a.Component),o.displayName="ServiceList",a=r))||a;t.a=V},function(e,t,n){"use strict";n(41);var a,o,r,i=n(25),s=n.n(i),l=(n(80),n(49)),u=n.n(l),c=(n(79),n(21)),d=n.n(c),f=(n(32),n(10)),p=n.n(f),h=(n(58),n(31)),m=n.n(h),g=(n(44),n(28)),y=n.n(g),_=n(60),v=n(14),b=n(15),M=n(16),w=n(17),k=n(22),S=n(18),T=(n(26),n(8)),x=n.n(T),L=(n(78),n(39)),C=n.n(L),D=(n(35),n(9)),E=n.n(D),O=n(0),N=n.n(O),Y=n(53),j=n(1),P=(n(564),E.a.Item),I=C.a.Row,A=C.a.Col,H=(0,x.a.config)((r=o=function(e){function t(e){var r;return Object(v.a)(this,t),(r=Object(M.a)(this,Object(w.a)(t).call(this,e))).queryTrackQuery=function(){var c=Object(k.a)(r),e="",d=r.getValue("type");if(1===d){var t=r.getValue("ip");e="v1/cs/listener?ip=".concat(t);var n=window.nownamespace||Object(j.b)("namespace")||"";n&&(e+="&tenant=".concat(n))}else{var a=r.getValue("dataId"),o=r.getValue("group");if(!a||!o)return!1;e="v1/cs/configs/listener?dataId=".concat(a,"&group=").concat(o)}Object(j.c)({url:e,beforeSend:function(){c.openLoading()},success:function(e){if(200===e.collectStatus){var t=[],n=e.lisentersGroupkeyStatus;for(var a in n)if(1===d){var o={},r=a.split("+"),i=Object(_.a)(r,2),s=i[0],l=i[1];o.dataId=s,o.group=l,o.md5=n[a],t.push(o)}else{var u={};u.ip=a,u.md5=n[a],t.push(u)}c.setState({dataSource:t||[],total:t.length||0})}},complete:function(){c.closeLoading()}})},r.changePage=function(e){r.setState({currentPage:e})},r.getQueryLater=function(){setTimeout(function(){r.queryTrackQuery()})},r.state={value:"",visible:!1,loading:!1,total:0,pageSize:10,currentPage:1,dataSource:[]},r.field=new y.a(Object(k.a)(r)),r.group=Object(j.b)("group")||"",r.dataId=Object(j.b)("dataId")||"",r.serverId=Object(j.b)("serverId")||"",r.tenant=Object(j.b)("namespace")||"",r}return Object(S.a)(t,e),Object(b.a)(t,[{key:"componentDidMount",value:function(){this.field.setValue("type",0),this.field.setValue("group",this.group),this.field.setValue("dataId",this.dataId)}},{key:"onSearch",value:function(){}},{key:"onChange",value:function(){}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"showMore",value:function(){}},{key:"resetSearch",value:function(){this.field.reset(),this.forceUpdate()}},{key:"renderStatus",value:function(e,t,n){var a=this.props.locale,o=void 0===a?{}:a;return N.a.createElement("div",null,!0===n.pushStatus?N.a.createElement("span",{style:{color:"green"}},o.success):N.a.createElement("span",{style:{color:"red"}},o.failure))}},{key:"render",value:function(){var e=this.props.locale,t=void 0===e?{}:e,n=this.field,a=n.init,o=n.getValue;this.init=a,this.getValue=o;var r=[{label:t.configuration,value:0},{label:"IP",value:1}];return N.a.createElement("div",{style:{padding:10}},N.a.createElement(s.a,{shape:"flower",style:{position:"relative"},visible:this.state.loading,tip:"Loading...",color:"#333"},N.a.createElement(Y.a,{left:t.listenerQuery,namespaceCallBack:this.getQueryLater}),N.a.createElement(I,{className:"demo-row",style:{marginBottom:10,padding:0}},N.a.createElement(A,{span:"24"},N.a.createElement(E.a,{inline:!0,field:this.field},N.a.createElement(P,{label:"".concat(t.queryDimension,":")},N.a.createElement(m.a,Object.assign({dataSource:r,style:{width:200}},this.init("type")))),N.a.createElement(P,{label:"Data ID:",style:{display:0===this.getValue("type")?"":"none"},required:!0},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseEnterTheDataId,style:{width:200}},this.init("dataId",{rules:[{required:!0,message:t.dataIdCanNotBeEmpty}]})))),N.a.createElement(P,{label:"Group:",style:{display:0===this.getValue("type")?"":"none"},required:!0},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseInputGroup,style:{width:200}},this.init("group",{rules:[{required:!0,message:t.groupCanNotBeEmpty}]})))),N.a.createElement(P,{label:"IP:",style:{display:0===this.getValue("type")?"none":""}},N.a.createElement(p.a,Object.assign({placeholder:t.pleaseInputIp,style:{width:200,boxSize:"border-box"}},this.init("ip")))),N.a.createElement(P,{label:""},N.a.createElement(E.a.Submit,{validate:!0,type:"primary",onClick:this.queryTrackQuery,style:{marginRight:10}},t.query))))),N.a.createElement("div",{style:{position:"relative"}},N.a.createElement("h3",{style:{height:28,lineHeight:"28px",paddingLeft:10,borderLeft:"3px solid #09c",margin:0,marginBottom:10,fontSize:16}},t.queryResultsQuery,N.a.createElement("strong",{style:{fontWeight:"bold"}}," ",this.state.total," "),t.articleMeetRequirementsConfiguration)),N.a.createElement(I,{style:{padding:0}},N.a.createElement(A,{span:"24",style:{padding:0}},1===this.getValue("type")?N.a.createElement(d.a,{dataSource:this.state.dataSource,fixedHeader:!0,maxBodyHeight:500,locale:{empty:t.pubNoData}},N.a.createElement(d.a.Column,{title:"Data ID",dataIndex:"dataId"}),N.a.createElement(d.a.Column,{title:"Group",dataIndex:"group"}),N.a.createElement(d.a.Column,{title:"MD5",dataIndex:"md5"})):N.a.createElement(d.a,{dataSource:this.state.dataSource,fixedHeader:!0,maxBodyHeight:400,locale:{empty:t.pubNoData}},N.a.createElement(d.a.Column,{title:"IP",dataIndex:"ip"}),N.a.createElement(d.a.Column,{title:"MD5",dataIndex:"md5"})))),N.a.createElement("div",{style:{marginTop:10,textAlign:"right"}},N.a.createElement(u.a,{current:this.state.currentPage,total:this.state.total,pageSize:this.state.pageSize,onChange:this.changePage}),",")))}}]),t}(N.a.Component),o.displayName="ListeningToQuery",a=r))||a;t.a=H},function(e,t,n){"use strict";n(41);var a,o,r,i=n(25),s=n.n(i),l=(n(80),n(49)),u=n.n(l),c=(n(79),n(21)),d=n.n(c),f=(n(35),n(9)),p=n.n(f),h=(n(32),n(10)),m=n.n(h),g=(n(44),n(28)),y=n.n(g),_=n(14),v=n(15),b=n(16),M=n(17),w=n(22),k=n(18),S=(n(26),n(8)),T=n.n(S),x=n(0),L=n.n(x),C=n(53),D=n(1),E=(n(563),(0,T.a.config)((r=o=function(e){function a(e){var t;Object(_.a)(this,a),(t=Object(b.a)(this,Object(M.a)(a).call(this,e))).field=new y.a(Object(w.a)(t)),t.appName=Object(D.b)("appName")||"",t.preAppName=t.appName,t.group=Object(D.b)("group")||"",t.preGroup=t.group,t.dataId=Object(D.b)("dataId")||"",t.preDataId=t.dataId,t.serverId=Object(D.b)("serverId")||"",t.state={value:"",visible:!1,total:0,pageSize:10,currentPage:1,dataSource:[],fieldValue:[],showAppName:!1,showgroup:!1,dataId:t.dataId,group:t.group,appName:t.appName,selectValue:[],loading:!1};var n={dataId:t.dataId||"",group:t.preGroup||"",appName:t.appName||"",serverId:t.serverId||""};return Object(D.d)(n),t}return Object(k.a)(a,e),Object(v.a)(a,[{key:"componentDidMount",value:function(){this.field.setValue("group",this.group),this.field.setValue("dataId",this.dataId)}},{key:"openLoading",value:function(){this.setState({loading:!0})}},{key:"closeLoading",value:function(){this.setState({loading:!1})}},{key:"keyDownSearch",value:function(e){var t=e||window.event;return 13!==(t.keyCode||t.which||t.charCode)||(this.getData(),!1)}},{key:"UNSAFE_componentWillMount",value:function(){window.addEventListener("keydown",this.keyDownSearch.bind(this),!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.keyDownSearch.bind(this))}},{key:"onSearch",value:function(){}},{key:"onChange",value:function(){}},{key:"cleanAndGetData",value:function(){0=t.length?{value:void 0,done:!0}:(e=a(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var l=n(118),u=n(117);e.exports=function(s){return function(e,t){var n,a,o=String(u(e)),r=l(t),i=o.length;return r<0||i<=r?s?"":void 0:(n=o.charCodeAt(r))<55296||56319=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),r.Arguments=r.Array,a("keys"),a("values"),a("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(388),__esModule:!0}},function(e,t,n){n(389),n(394),n(395),n(396),e.exports=n(63).Symbol},function(e,t,n){"use strict";var a=n(57),i=n(64),o=n(72),r=n(87),s=n(152),l=n(390).KEY,u=n(89),c=n(120),d=n(125),f=n(96),p=n(74),h=n(126),m=n(127),g=n(391),y=n(392),_=n(88),v=n(71),b=n(73),M=n(116),w=n(93),k=n(124),S=n(393),T=n(154),x=n(70),L=n(94),C=T.f,D=x.f,E=S.f,O=a.Symbol,N=a.JSON,Y=N&&N.stringify,j="prototype",P=p("_hidden"),I=p("toPrimitive"),A={}.propertyIsEnumerable,H=c("symbol-registry"),R=c("symbols"),z=c("op-symbols"),F=Object[j],W="function"==typeof O,V=a.QObject,K=!V||!V[j]||!V[j].findChild,B=o&&u(function(){return 7!=k(D({},"a",{get:function(){return D(this,"a",{value:7}).a}})).a})?function(e,t,n){var a=C(F,t);a&&delete F[t],D(e,t,n),a&&e!==F&&D(F,t,a)}:D,U=function(e){var t=R[e]=k(O[j]);return t._k=e,t},q=W&&"symbol"==typeof O.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof O},G=function(e,t,n){return e===F&&G(z,t,n),_(e),t=M(t,!0),_(n),i(R,t)?(n.enumerable?(i(e,P)&&e[P][t]&&(e[P][t]=!1),n=k(n,{enumerable:w(0,!1)})):(i(e,P)||D(e,P,w(1,{})),e[P][t]=!0),B(e,t,n)):D(e,t,n)},J=function(e,t){_(e);for(var n,a=g(t=b(t)),o=0,r=a.length;oo;)i(R,t=n[o++])||t==P||t==l||a.push(t);return a},Z=function(e){for(var t,n=e===F,a=E(n?z:b(e)),o=[],r=0;a.length>r;)!i(R,t=a[r++])||n&&!i(F,t)||o.push(R[t]);return o};W||(s((O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var t=f(0te;)p(ee[te++]);for(var ne=L(p.store),ae=0;ne.length>ae;)m(ne[ae++]);r(r.S+r.F*!W,"Symbol",{for:function(e){return i(H,e+="")?H[e]:H[e]=O(e)},keyFor:function(e){if(!q(e))throw TypeError(e+" is not a symbol!");for(var t in H)if(H[t]===e)return t},useSetter:function(){K=!0},useSimple:function(){K=!1}}),r(r.S+r.F*!W,"Object",{create:function(e,t){return void 0===t?k(e):J(k(e),t)},defineProperty:G,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),N&&r(r.S+r.F*(!W||u(function(){var e=O();return"[null]"!=Y([e])||"{}"!=Y({a:e})||"{}"!=Y(Object(e))})),"JSON",{stringify:function(e){for(var t,n,a=[e],o=1;arguments.length>o;)a.push(arguments[o++]);if(n=t=a[1],(v(t)||void 0!==e)&&!q(e))return y(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!q(t))return t}),a[1]=t,Y.apply(N,a)}}),O[j][I]||n(69)(O[j],I,O[j].valueOf),d(O,"Symbol"),d(Math,"Math",!0),d(a.JSON,"JSON",!0)},function(e,t,n){var a=n(96)("meta"),o=n(71),r=n(64),i=n(70).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(89)(function(){return l(Object.preventExtensions({}))}),c=function(e){i(e,a,{value:{i:"O"+ ++s,w:{}}})},d=e.exports={KEY:a,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!r(e,a)){if(!l(e))return"F";if(!t)return"E";c(e)}return e[a].i},getWeak:function(e,t){if(!r(e,a)){if(!l(e))return!0;if(!t)return!1;c(e)}return e[a].w},onFreeze:function(e){return u&&d.NEED&&l(e)&&!r(e,a)&&c(e),e}}},function(e,t,n){var s=n(94),l=n(122),u=n(97);e.exports=function(e){var t=s(e),n=l.f;if(n)for(var a,o=n(e),r=u.f,i=0;o.length>i;)r.call(e,a=o[i++])&&t.push(a);return t}},function(e,t,n){var a=n(149);e.exports=Array.isArray||function(e){return"Array"==a(e)}},function(e,t,n){var a=n(73),o=n(153).f,r={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return i&&"[object Window]"==r.call(e)?function(e){try{return o(e)}catch(e){return i.slice()}}(e):o(a(e))}},function(e,t){},function(e,t,n){n(127)("asyncIterator")},function(e,t,n){n(127)("observable")},function(e,t,n){e.exports={default:n(398),__esModule:!0}},function(e,t,n){n(399),e.exports=n(63).Object.setPrototypeOf},function(e,t,n){var a=n(87);a(a.S,"Object",{setPrototypeOf:n(400).set})},function(e,t,o){var n=o(71),a=o(88),r=function(e,t){if(a(e),!n(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,a){try{(a=o(144)(Function.call,o(154).f(Object.prototype,"__proto__").set,2))(e,[]),n=!(e instanceof Array)}catch(e){n=!0}return function(e,t){return r(e,t),n?e.__proto__=t:a(e,t),e}}({},!1):void 0),check:r}},function(e,t,n){e.exports={default:n(402),__esModule:!0}},function(e,t,n){n(403);var a=n(63).Object;e.exports=function(e,t){return a.create(e,t)}},function(e,t,n){var a=n(87);a(a.S,"Object",{create:n(124)})},function(e,t,n){"use strict"; /** @license React v16.8.3 * react.production.min.js * diff --git a/distribution/bin/shutdown.cmd b/distribution/bin/shutdown.cmd index 71c0b5f7118..e3ae899e335 100755 --- a/distribution/bin/shutdown.cmd +++ b/distribution/bin/shutdown.cmd @@ -19,6 +19,6 @@ set "PATH=%JAVA_HOME%\bin;%PATH%" echo killing nacos server -for /f "tokens=1" %%i in ('jps -m ^| find "nacos"') do ( taskkill /F /PID %%i ) +for /f "tokens=1" %%i in ('jps -m ^| find "nacos.nacos"') do ( taskkill /F /PID %%i ) echo Done! diff --git a/distribution/bin/shutdown.sh b/distribution/bin/shutdown.sh index f2113168a95..cb64555b1ce 100644 --- a/distribution/bin/shutdown.sh +++ b/distribution/bin/shutdown.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -pid=`ps ax | grep -i 'nacos' |grep java | grep -v grep | awk '{print $1}'` +pid=`ps ax | grep -i 'nacos.nacos' |grep java | grep -v grep | awk '{print $1}'` if [ -z "$pid" ] ; then echo "No nacosServer running." exit -1; @@ -23,4 +23,4 @@ echo "The nacosServer(${pid}) is running..." kill ${pid} -echo "Send shutdown request to nacosServer(${pid}) OK" \ No newline at end of file +echo "Send shutdown request to nacosServer(${pid}) OK" diff --git a/distribution/bin/startup.cmd b/distribution/bin/startup.cmd index a7abf8c2917..63bfc2d1af8 100755 --- a/distribution/bin/startup.cmd +++ b/distribution/bin/startup.cmd @@ -41,4 +41,4 @@ set "JAVA_OPT=%JAVA_OPT% -jar %BASE_DIR%\target\nacos-server.jar" set "JAVA_OPT=%JAVA_OPT% --spring.config.location=%CUSTOM_SEARCH_LOCATIONS%" set "JAVA_OPT=%JAVA_OPT% --logging.config=%BASE_DIR%/conf/nacos-logback.xml" -call "%JAVA%" %JAVA_OPT% %* +call "%JAVA%" %JAVA_OPT% nacos.nacos %* diff --git a/distribution/bin/startup.sh b/distribution/bin/startup.sh index c2f75a586f7..e73b67a2a1c 100644 --- a/distribution/bin/startup.sh +++ b/distribution/bin/startup.sh @@ -116,13 +116,13 @@ echo "$JAVA ${JAVA_OPT}" if [[ "${MODE}" == "standalone" ]]; then echo "nacos is starting" - $JAVA ${JAVA_OPT} + $JAVA ${JAVA_OPT} nacos.nacos else if [ ! -f "${BASE_DIR}/logs/start.out" ]; then touch "${BASE_DIR}/logs/start.out" fi echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 & - nohup $JAVA ${JAVA_OPT} >> ${BASE_DIR}/logs/start.out 2>&1 & + nohup $JAVA ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 & echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out" fi diff --git a/distribution/conf/schema.sql b/distribution/conf/schema.sql index d635cfb7d6f..fd95b3e9fac 100644 --- a/distribution/conf/schema.sql +++ b/distribution/conf/schema.sql @@ -6,7 +6,7 @@ CREATE TABLE config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -31,7 +31,7 @@ CREATE TABLE his_config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', @@ -51,7 +51,7 @@ CREATE TABLE config_info_beta ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, beta_ips varchar(1024), md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -68,7 +68,7 @@ CREATE TABLE config_info_tag ( tenant_id varchar(128) default '', tag_id varchar(128) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -84,7 +84,7 @@ CREATE TABLE config_info_aggr ( tenant_id varchar(128) default '', datum_id varchar(255) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', constraint configinfoaggr_id_key PRIMARY KEY (id), constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id)); diff --git a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftCore.java b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftCore.java index e41a57aebe0..1bcafdbe8ee 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftCore.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftCore.java @@ -353,6 +353,8 @@ public void onDelete(Datum datum, RaftPeer source) throws Exception { raftStore.updateTerm(local.term.get()); } + Loggers.RAFT.info("data removed, key={}, term={}", datum.key, local.term); + } public class MasterElection implements Runnable { diff --git a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftProxy.java b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftProxy.java index 9c8ae71d38d..5e196e40ecc 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftProxy.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftProxy.java @@ -15,7 +15,6 @@ */ package com.alibaba.nacos.naming.consistency.persistent.raft; -import com.alibaba.nacos.api.naming.pojo.AbstractHealthChecker; import com.alibaba.nacos.naming.boot.RunningConfig; import com.alibaba.nacos.naming.misc.HttpClient; import com.alibaba.nacos.naming.misc.UtilsAndCommons; diff --git a/naming/src/main/java/com/alibaba/nacos/naming/controllers/ApiController.java b/naming/src/main/java/com/alibaba/nacos/naming/controllers/ApiController.java index 176f2735bbd..010d2966d3d 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/controllers/ApiController.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/controllers/ApiController.java @@ -24,6 +24,7 @@ import com.alibaba.nacos.naming.core.ServiceManager; import com.alibaba.nacos.naming.misc.UtilsAndCommons; import com.alibaba.nacos.naming.push.ClientInfo; +import com.alibaba.nacos.naming.web.OverrideParameterRequestWrapper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.codehaus.jackson.util.VersionUtil; @@ -116,7 +117,6 @@ public String hello(HttpServletRequest request) throws Exception { @ResponseBody public JSONObject srvIPXT(HttpServletRequest request) throws Exception { - String namespaceId = WebUtils.optional(request, CommonParams.NAMESPACE_ID, Constants.DEFAULT_NAMESPACE_ID); @@ -137,4 +137,12 @@ public JSONObject srvIPXT(HttpServletRequest request) throws Exception { return doSrvIPXT(namespaceId, NamingUtils.getGroupedName(dom, Constants.DEFAULT_GROUP), agent, clusters, clientIP, udpPort, env, isCheck, app, tenant, healthyOnly); } + + @RequestMapping("/clientBeat") + public JSONObject clientBeat(HttpServletRequest request) throws Exception { + OverrideParameterRequestWrapper requestWrapper = OverrideParameterRequestWrapper.buildRequest(request); + requestWrapper.addParameter(CommonParams.SERVICE_NAME, + Constants.DEFAULT_GROUP + Constants.SERVICE_INFO_SPLITER + WebUtils.required(request, "dom")); + return beat(requestWrapper); + } } diff --git a/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java b/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java index e0a9054828e..ecdda747ba5 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java @@ -54,9 +54,6 @@ public class Service extends com.alibaba.nacos.api.naming.pojo.Service implement private static final String SERVICE_NAME_SYNTAX = "[0-9a-zA-Z@\\.:_-]+"; - @JSONField(serialize = false) - private ClientBeatProcessor clientBeatProcessor = new ClientBeatProcessor(); - @JSONField(serialize = false) private ClientBeatCheckTask clientBeatCheckTask = new ClientBeatCheckTask(this); @@ -104,6 +101,7 @@ public void setIpDeleteTimeout(long ipDeleteTimeout) { } public void processClientBeat(final RsInfo rsInfo) { + ClientBeatProcessor clientBeatProcessor = new ClientBeatProcessor(); clientBeatProcessor.setService(this); clientBeatProcessor.setRsInfo(rsInfo); HealthCheckReactor.scheduleNow(clientBeatProcessor); @@ -248,7 +246,8 @@ public void updateIPs(Collection instances, boolean ephemeral) { stringBuilder.append(instance.toIPAddr()).append("_").append(instance.isHealthy()).append(","); } - Loggers.EVT_LOG.info("[IP-UPDATED] service: {}, ips: {}", getName(), stringBuilder.toString()); + Loggers.EVT_LOG.info("[IP-UPDATED] namespace: {}, service: {}, ips: {}", + getNamespaceId(), getName(), stringBuilder.toString()); } @@ -292,7 +291,7 @@ public List allIPs(List clusters) { for (String cluster : clusters) { Cluster clusterObj = clusterMap.get(cluster); if (clusterObj == null) { - throw new IllegalArgumentException("can not find cluster: " + cluster + ", service:" + getName()); + continue; } allIPs.addAll(clusterObj.allIPs()); diff --git a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java index d06bd90b65c..9dea26128c4 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java @@ -254,7 +254,8 @@ public void updatedHealthStatus(String namespaceId, String serviceName, String s stringBuilder.append(instance.toIPAddr()).append("_").append(instance.isHealthy()).append(","); } - Loggers.EVT_LOG.info("[IP-UPDATED] service: {}, ips: {}", service.getName(), stringBuilder.toString()); + Loggers.EVT_LOG.info("[IP-UPDATED] namespace: {}, service: {}, ips: {}", + service.getNamespaceId(), service.getName(), stringBuilder.toString()); } diff --git a/naming/src/main/java/com/alibaba/nacos/naming/web/FilterBase.java b/naming/src/main/java/com/alibaba/nacos/naming/web/FilterBase.java index 6eac8157565..f9e8923a38c 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/web/FilterBase.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/web/FilterBase.java @@ -47,6 +47,7 @@ public void init() { initClassMethod(RaftController.class); initClassMethod(DistroController.class); initClassMethod(OperatorController.class); + initClassMethod(ApiController.class); } public Method getMethod(String httpMethod, String path) { diff --git a/test/src/test/resources/schema.sql b/test/src/test/resources/schema.sql index 3e7a6d5c613..b8419a380ce 100644 --- a/test/src/test/resources/schema.sql +++ b/test/src/test/resources/schema.sql @@ -6,7 +6,7 @@ CREATE TABLE config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -31,7 +31,7 @@ CREATE TABLE his_config_info ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000', @@ -51,7 +51,7 @@ CREATE TABLE config_info_beta ( group_id varchar(128) NOT NULL, tenant_id varchar(128) default '', app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, beta_ips varchar(1024), md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -68,7 +68,7 @@ CREATE TABLE config_info_tag ( tenant_id varchar(128) default '', tag_id varchar(128) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, md5 varchar(32) DEFAULT NULL, gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', @@ -84,7 +84,7 @@ CREATE TABLE config_info_aggr ( tenant_id varchar(128) default '', datum_id varchar(255) NOT NULL, app_name varchar(128), - content LONG VARCHAR NOT NULL, + content CLOB, gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00', constraint configinfoaggr_id_key PRIMARY KEY (id), constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id));