Merge branch 'develop' into service-test
# Conflicts:
# dubbo-admin-backend/pom.xml
# dubbo-admin-frontend/src/components/test/ServiceTest.vue
diff --git a/README.md b/README.md
index b0bd681..db5a673 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@
* visit web page
visit `http://localhost:8081`, frontend supports hot reload.
* CORS problem
- for the convenience of development, we deploy frontend and backend separately, so the frontend supports hot reload. In this mode, frontend will request `localhost:8080` to fetch data, this will cause a CORS problem, so we add a configuration in `dubbo-admin-frontend/config/index.js` to support CORS. this config will activated under `npm run dev` mode.
+ for the convenience of development, we deploy frontend and backend separately, so the frontend supports hot reload. In this mode, frontend will request `localhost:8080` to fetch data, this will cause a CORS problem, so we add a configuration in `dubbo-admin-frontend/config/index.js` to support CORS. This config will be activated under `npm run dev` mode.
### Swagger support
diff --git a/dubbo-admin-backend/pom.xml b/dubbo-admin-backend/pom.xml
index c9c1a65..671f865 100644
--- a/dubbo-admin-backend/pom.xml
+++ b/dubbo-admin-backend/pom.xml
@@ -72,11 +72,6 @@
<artifactId>dubbo</artifactId>
</dependency>
- <!--<dependency>-->
- <!--<groupId>org.apache.dubbo</groupId>-->
- <!--<artifactId>dubbo-metadata-report-api</artifactId>-->
- <!--</dependency>-->
-
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
index 31af96f..0aa0442 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
@@ -103,7 +103,7 @@
Registry getRegistry() {
Registry registry = null;
if (registryUrl == null) {
- if (StringUtils.isNotEmpty(registryAddress)) {
+ if (StringUtils.isBlank(registryAddress)) {
throw new ConfigurationException("Either configcenter or registry address is needed");
}
registryUrl = formUrl(registryAddress, group);
@@ -129,11 +129,7 @@
}
private URL formUrl(String config, String group) {
- String protocol = config.split("://")[0];
- String address = config.split("://")[1];
- String port = address.split(":")[1];
- String host = address.split(":")[0];
- URL url = new URL(protocol, host, Integer.parseInt(port));
+ URL url = URL.valueOf(config);
if (StringUtils.isNotEmpty(group)) {
url.addParameter(org.apache.dubbo.common.Constants.GROUP_KEY, group);
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/handler/CustomExceptionHandler.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/handler/CustomExceptionHandler.java
index bbba539..191250d 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/handler/CustomExceptionHandler.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/handler/CustomExceptionHandler.java
@@ -24,6 +24,7 @@
import org.apache.dubbo.common.logger.Logger;
import org.apache.dubbo.common.logger.LoggerFactory;
import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -66,7 +67,8 @@
@ResponseBody
@ResponseStatus(HttpStatus.BAD_REQUEST)
- @ExceptionHandler(value = {ParamValidationException.class})
+ @ExceptionHandler(value = {ParamValidationException.class,
+ ServletRequestBindingException.class})
public CommonResponse paramValidationExceptionHandle(Exception e) {
CommonResponse commonResponse = CommonResponse.createCommonResponse();
logger.error("[ParamValidationException]Exception:", e);
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
index f888113..b7e7def 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/service/impl/RouteServiceImpl.java
@@ -339,14 +339,14 @@
String[] array = condition.split("=>", 2);
String consumer = array[0].trim();
String provider = array[1].trim();
- if (consumer != "") {
+ if (consumer.length() != 0) {
if (when.length() != 0) {
when.append(" & ").append(consumer);
} else {
when.append(consumer);
}
}
- if (provider != "") {
+ if (provider.length() != 0) {
if (then.length() != 0) {
then.append(" & ").append(provider);
} else {
diff --git a/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue b/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
index 433ba02..f21b34e 100644
--- a/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
+++ b/dubbo-admin-frontend/src/components/governance/WeightAdjust.vue
@@ -260,6 +260,7 @@
this.readonly = false
},
openDialog: function () {
+ this.updateId = ''
this.dialog = true
},
openWarn: function (title, text) {
diff --git a/dubbo-admin-frontend/src/components/metrics/ServiceMetrics.vue b/dubbo-admin-frontend/src/components/metrics/ServiceMetrics.vue
new file mode 100644
index 0000000..373d1cf
--- /dev/null
+++ b/dubbo-admin-frontend/src/components/metrics/ServiceMetrics.vue
@@ -0,0 +1,40 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements. See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<template>
+ <v-container grid-list-xl fluid>
+ <v-layout row wrap>
+ <v-flex lg12>
+ <v-card>
+ <v-card-title>
+ <h1>Service Metrics will release in the future</h1>
+ </v-card-title>
+ </v-card>
+ </v-flex>
+ </v-layout>
+ </v-container>
+</template>
+
+<script>
+ export default {
+ name: 'ServiceMetrics'
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/dubbo-admin-frontend/src/components/public/Toolbar.vue b/dubbo-admin-frontend/src/components/public/Toolbar.vue
index dba8907..b32c37a 100644
--- a/dubbo-admin-frontend/src/components/public/Toolbar.vue
+++ b/dubbo-admin-frontend/src/components/public/Toolbar.vue
@@ -34,13 +34,13 @@
</v-text-field>
<v-spacer></v-spacer>
- <v-btn icon>
+ <v-btn icon v-if="false">
<v-icon>settings</v-icon>
</v-btn>
<v-btn icon @click="handleFullScreen()">
<v-icon>fullscreen</v-icon>
</v-btn>
- <v-menu offset-y origin="center center" class="elelvation-1" :nudge-bottom="14" transition="scale-transition">
+ <v-menu offset-y origin="center center" class="elelvation-1" :nudge-bottom="14" transition="scale-transition" v-if="false">
<v-btn icon flat slot="activator">
<v-badge color="red" overlap>
<span slot="badge">3</span>
@@ -49,7 +49,7 @@
</v-btn>
<!--<notification-list></notification-list>-->
</v-menu>
- <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition">
+ <v-menu offset-y origin="center center" :nudge-bottom="10" transition="scale-transition" v-if="false">
<v-btn icon large flat slot="activator">
<v-avatar size="30px">
<img src="@/assets/avatar.png" alt="Logined User" />
diff --git a/dubbo-admin-frontend/src/components/test/ServiceMock.vue b/dubbo-admin-frontend/src/components/test/ServiceMock.vue
new file mode 100644
index 0000000..7fd9a76
--- /dev/null
+++ b/dubbo-admin-frontend/src/components/test/ServiceMock.vue
@@ -0,0 +1,40 @@
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements. See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<template>
+ <v-container grid-list-xl fluid>
+ <v-layout row wrap>
+ <v-flex lg12>
+ <v-card>
+ <v-card-title>
+ <h1>Service Mock will release in the future</h1>
+ </v-card-title>
+ </v-card>
+ </v-flex>
+ </v-layout>
+ </v-container>
+</template>
+
+<script>
+ export default {
+ name: 'ServiceMock'
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/dubbo-admin-frontend/src/router/index.js b/dubbo-admin-frontend/src/router/index.js
index d2896b5..98507b8 100644
--- a/dubbo-admin-frontend/src/router/index.js
+++ b/dubbo-admin-frontend/src/router/index.js
@@ -27,6 +27,9 @@
import LoadBalance from '@/components/governance/LoadBalance'
import WeightAdjust from '@/components/governance/WeightAdjust'
import Overrides from '@/components/governance/Overrides'
+import ServiceTest from '@/components/test/ServiceTest'
+import ServiceMock from '@/components/test/ServiceMock'
+import ServiceMetrics from '@/components/metrics/ServiceMetrics'
Vue.use(Router)
@@ -72,8 +75,7 @@
name: 'LoadBalance',
component: LoadBalance
},
- {
- path: '/governance/weight',
+ { path: '/governance/weight',
name: 'WeightAdjust',
component: WeightAdjust
},
@@ -81,6 +83,22 @@
path: '/governance/config',
name: 'Overrides',
component: Overrides
+ },
+ {
+ path: '/test',
+ name: 'ServiceTest',
+ component: ServiceTest
+ },
+ {
+ path: '/mock',
+ name: 'ServiceMock',
+ component: ServiceMock
+ },
+ {
+ path: '/metrics',
+ name: 'ServiceMetrics',
+ component: ServiceMetrics
}
+
]
})
diff --git a/pom.xml b/pom.xml
index abee9bd..ee4d1b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,12 +93,6 @@
<dependency>
<groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-metadata-report-api</artifactId>
- <version>${dubbo-version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo-version}</version>
</dependency>