From 79f05a17396fd903d085dbf92810afc5c325140f Mon Sep 17 00:00:00 2001 From: KomachiSion Date: Fri, 3 Jan 2025 10:09:25 +0800 Subject: [PATCH 1/2] Add conditional annotation for console request handler. --- .../impl/inner/EnabledInnerHandler.java | 39 +++++++++++++++++++ .../{ => impl}/inner/HealthInnerHandler.java | 6 +-- .../inner/ServerStateInnerHandler.java | 6 +-- .../inner/config/ConfigInnerHandler.java | 7 ++-- .../inner/config/HistoryInnerHandler.java | 7 ++-- .../inner/core/ClusterInnerHandler.java | 7 ++-- .../inner/core/NamespaceInnerHandler.java | 7 ++-- .../inner/naming/InstanceInnerHandler.java | 7 ++-- .../inner/naming/ServiceInnerHandler.java | 7 ++-- .../impl/remote/EnabledRemoteHandler.java | 39 +++++++++++++++++++ .../nacos/console/proxy/HealthProxy.java | 2 +- .../nacos/console/proxy/ServerStateProxy.java | 2 +- .../console/proxy/config/ConfigProxy.java | 2 +- .../console/proxy/config/HistoryProxy.java | 2 +- .../console/proxy/core/ClusterProxy.java | 2 +- .../console/proxy/core/NamespaceProxy.java | 2 +- .../console/proxy/naming/InstanceProxy.java | 2 +- .../console/proxy/naming/ServiceProxy.java | 2 +- 18 files changed, 116 insertions(+), 32 deletions(-) create mode 100644 console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/EnabledInnerHandler.java rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/HealthInnerHandler.java (91%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/ServerStateInnerHandler.java (95%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/config/ConfigInnerHandler.java (99%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/config/HistoryInnerHandler.java (94%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/core/ClusterInnerHandler.java (92%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/core/NamespaceInnerHandler.java (93%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/naming/InstanceInnerHandler.java (96%) rename console/src/main/java/com/alibaba/nacos/console/handler/{ => impl}/inner/naming/ServiceInnerHandler.java (97%) create mode 100644 console/src/main/java/com/alibaba/nacos/console/handler/impl/remote/EnabledRemoteHandler.java diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/EnabledInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/EnabledInnerHandler.java new file mode 100644 index 00000000000..012d47ce002 --- /dev/null +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/EnabledInnerHandler.java @@ -0,0 +1,39 @@ +/* + * Copyright 1999-2023 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. + */ + +package com.alibaba.nacos.console.handler.impl.inner; + +import com.alibaba.nacos.sys.env.Constants; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Using Inner handler to handle console API request. + * + * @author xiweng.yy + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@ConditionalOnProperty(value = Constants.NACOS_DEPLOYMENT_TYPE, havingValue = Constants.NACOS_DEPLOYMENT_TYPE_MERGED) +public @interface EnabledInnerHandler { + +} diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/HealthInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/HealthInnerHandler.java similarity index 91% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/HealthInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/HealthInnerHandler.java index 82c2512c4bf..33dcf827777 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/HealthInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/HealthInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner; +package com.alibaba.nacos.console.handler.impl.inner; import com.alibaba.nacos.api.model.v2.Result; import com.alibaba.nacos.console.handler.HealthHandler; @@ -29,6 +28,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class HealthInnerHandler implements HealthHandler { @Override diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/ServerStateInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/ServerStateInnerHandler.java similarity index 95% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/ServerStateInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/ServerStateInnerHandler.java index e6beb1cf4b6..f5d250ae29b 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/ServerStateInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/ServerStateInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner; +package com.alibaba.nacos.console.handler.impl.inner; import com.alibaba.nacos.console.handler.ServerStateHandler; import com.alibaba.nacos.sys.env.EnvUtil; @@ -38,6 +37,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class ServerStateInnerHandler implements ServerStateHandler { private static final String ANNOUNCEMENT_FILE = "announcement.conf"; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/config/ConfigInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/ConfigInnerHandler.java similarity index 99% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/config/ConfigInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/ConfigInnerHandler.java index 7ff1bac837d..8dfdb79f61f 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/config/ConfigInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/ConfigInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.config; +package com.alibaba.nacos.console.handler.impl.inner.config; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.model.v2.ErrorCode; @@ -50,6 +49,7 @@ import com.alibaba.nacos.config.server.utils.YamlParserUtil; import com.alibaba.nacos.config.server.utils.ZipUtils; import com.alibaba.nacos.console.handler.config.ConfigHandler; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.core.namespace.repository.NamespacePersistService; import com.alibaba.nacos.persistence.model.Page; import com.alibaba.nacos.plugin.encryption.handler.EncryptionHandler; @@ -81,6 +81,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class ConfigInnerHandler implements ConfigHandler { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigInnerHandler.class); diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/config/HistoryInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/HistoryInnerHandler.java similarity index 94% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/config/HistoryInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/HistoryInnerHandler.java index e4ae925d94e..472795204e6 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/config/HistoryInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/config/HistoryInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.config; +package com.alibaba.nacos.console.handler.impl.inner.config; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.exception.api.NacosApiException; @@ -24,6 +23,7 @@ import com.alibaba.nacos.config.server.model.ConfigInfoWrapper; import com.alibaba.nacos.config.server.service.HistoryService; import com.alibaba.nacos.console.handler.config.HistoryHandler; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.persistence.model.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; @@ -38,6 +38,7 @@ * @author zhangyukun on:2024/8/16 */ @Service +@EnabledInnerHandler public class HistoryInnerHandler implements HistoryHandler { private final HistoryService historyService; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/core/ClusterInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/ClusterInnerHandler.java similarity index 92% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/core/ClusterInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/ClusterInnerHandler.java index 4395039c33f..f8b7675b2f3 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/core/ClusterInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/ClusterInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,13 +12,13 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.core; +package com.alibaba.nacos.console.handler.impl.inner.core; import com.alibaba.nacos.common.utils.StringUtils; import com.alibaba.nacos.console.handler.core.ClusterHandler; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.core.cluster.Member; import com.alibaba.nacos.core.cluster.ServerMemberManager; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +33,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class ClusterInnerHandler implements ClusterHandler { private final ServerMemberManager memberManager; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/core/NamespaceInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/NamespaceInnerHandler.java similarity index 93% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/core/NamespaceInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/NamespaceInnerHandler.java index 6d121329794..7c20f665cad 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/core/NamespaceInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/core/NamespaceInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,13 +12,13 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.core; +package com.alibaba.nacos.console.handler.impl.inner.core; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.console.handler.core.NamespaceHandler; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.core.namespace.model.Namespace; import com.alibaba.nacos.core.namespace.model.form.NamespaceForm; import com.alibaba.nacos.core.namespace.repository.NamespacePersistService; @@ -33,6 +33,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class NamespaceInnerHandler implements NamespaceHandler { private final NamespaceOperationService namespaceOperationService; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/InstanceInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/InstanceInnerHandler.java similarity index 96% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/InstanceInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/InstanceInnerHandler.java index 961bb685e91..56c8e3c65ec 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/InstanceInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/InstanceInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.naming; +package com.alibaba.nacos.console.handler.impl.inner.naming; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.pojo.Instance; @@ -23,6 +22,7 @@ import com.alibaba.nacos.common.notify.NotifyCenter; import com.alibaba.nacos.common.trace.event.naming.UpdateInstanceTraceEvent; import com.alibaba.nacos.common.utils.JacksonUtils; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.console.handler.naming.InstanceHandler; import com.alibaba.nacos.naming.core.CatalogServiceV2Impl; import com.alibaba.nacos.naming.core.InstanceOperatorClientImpl; @@ -42,6 +42,7 @@ * @author zhangyukun */ @Service +@EnabledInnerHandler public class InstanceInnerHandler implements InstanceHandler { private final CatalogServiceV2Impl catalogServiceV2; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/ServiceInnerHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/ServiceInnerHandler.java similarity index 97% rename from console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/ServiceInnerHandler.java rename to console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/ServiceInnerHandler.java index bb7e3c3a66b..e8b6cf8630d 100644 --- a/console/src/main/java/com/alibaba/nacos/console/handler/inner/naming/ServiceInnerHandler.java +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/inner/naming/ServiceInnerHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 1999-2024 Alibaba Group Holding Ltd. + * Copyright 1999-2023 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. @@ -12,10 +12,9 @@ * 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. - * */ -package com.alibaba.nacos.console.handler.inner.naming; +package com.alibaba.nacos.console.handler.impl.inner.naming; import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.common.notify.NotifyCenter; @@ -24,6 +23,7 @@ import com.alibaba.nacos.common.trace.event.naming.UpdateServiceTraceEvent; import com.alibaba.nacos.common.utils.JacksonUtils; import com.alibaba.nacos.common.utils.StringUtils; +import com.alibaba.nacos.console.handler.impl.inner.EnabledInnerHandler; import com.alibaba.nacos.console.handler.naming.ServiceHandler; import com.alibaba.nacos.naming.core.CatalogServiceV2Impl; import com.alibaba.nacos.naming.core.ClusterOperatorV2Impl; @@ -48,6 +48,7 @@ * @author zhangyukun */ @org.springframework.stereotype.Service +@EnabledInnerHandler public class ServiceInnerHandler implements ServiceHandler { private final ServiceOperatorV2Impl serviceOperatorV2; diff --git a/console/src/main/java/com/alibaba/nacos/console/handler/impl/remote/EnabledRemoteHandler.java b/console/src/main/java/com/alibaba/nacos/console/handler/impl/remote/EnabledRemoteHandler.java new file mode 100644 index 00000000000..296677baafd --- /dev/null +++ b/console/src/main/java/com/alibaba/nacos/console/handler/impl/remote/EnabledRemoteHandler.java @@ -0,0 +1,39 @@ +/* + * Copyright 1999-2023 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. + */ + +package com.alibaba.nacos.console.handler.impl.remote; + +import com.alibaba.nacos.sys.env.Constants; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Using Remote handler to call Nacos Admin API to handle console API request. + * + * @author xiweng.yy + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@ConditionalOnProperty(value = Constants.NACOS_DEPLOYMENT_TYPE, havingValue = Constants.NACOS_DEPLOYMENT_TYPE_CONSOLE) +public @interface EnabledRemoteHandler { + +} diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java index 032a7abbd84..14d9b6404db 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java @@ -21,7 +21,7 @@ import com.alibaba.nacos.api.model.v2.Result; import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.HealthHandler; -import com.alibaba.nacos.console.handler.inner.HealthInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.HealthInnerHandler; import org.springframework.stereotype.Service; import java.util.HashMap; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java index 29cbc751b86..a51ba5da739 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java @@ -18,7 +18,7 @@ package com.alibaba.nacos.console.proxy; import com.alibaba.nacos.console.handler.ServerStateHandler; -import com.alibaba.nacos.console.handler.inner.ServerStateInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.ServerStateInnerHandler; import org.springframework.stereotype.Service; import java.util.Map; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java index e29f315189f..89d998f643a 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java @@ -29,7 +29,7 @@ import com.alibaba.nacos.config.server.model.form.ConfigForm; import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.config.ConfigHandler; -import com.alibaba.nacos.console.handler.inner.config.ConfigInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.config.ConfigInnerHandler; import com.alibaba.nacos.persistence.model.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java index ef7c6472379..42a0d831969 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java @@ -23,7 +23,7 @@ import com.alibaba.nacos.config.server.model.ConfigInfoWrapper; import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.config.HistoryHandler; -import com.alibaba.nacos.console.handler.inner.config.HistoryInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.config.HistoryInnerHandler; import com.alibaba.nacos.persistence.model.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java index 28e4893b4f8..9c43b1bbe83 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java @@ -19,7 +19,7 @@ import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.core.ClusterHandler; -import com.alibaba.nacos.console.handler.inner.core.ClusterInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.core.ClusterInnerHandler; import com.alibaba.nacos.core.cluster.Member; import org.springframework.stereotype.Service; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java index 206dd625d08..c1755d1e926 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java @@ -20,7 +20,7 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.core.NamespaceHandler; -import com.alibaba.nacos.console.handler.inner.core.NamespaceInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.core.NamespaceInnerHandler; import com.alibaba.nacos.core.namespace.model.Namespace; import com.alibaba.nacos.core.namespace.model.form.NamespaceForm; import org.springframework.stereotype.Service; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java index a43e2b4931f..e81396f7979 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java @@ -20,7 +20,7 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.pojo.Instance; import com.alibaba.nacos.console.config.ConsoleWebConfig; -import com.alibaba.nacos.console.handler.inner.naming.InstanceInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.naming.InstanceInnerHandler; import com.alibaba.nacos.console.handler.naming.InstanceHandler; import com.alibaba.nacos.naming.model.form.InstanceForm; import com.fasterxml.jackson.databind.node.ObjectNode; diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java index 85999ad90e8..6c27facbd0b 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java @@ -19,7 +19,7 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.console.config.ConsoleWebConfig; -import com.alibaba.nacos.console.handler.inner.naming.ServiceInnerHandler; +import com.alibaba.nacos.console.handler.impl.inner.naming.ServiceInnerHandler; import com.alibaba.nacos.console.handler.naming.ServiceHandler; import com.alibaba.nacos.naming.core.v2.metadata.ClusterMetadata; import com.alibaba.nacos.naming.core.v2.metadata.ServiceMetadata; From 07f13b558ae8780bfd38778626ec0bd0ebc62be7 Mon Sep 17 00:00:00 2001 From: KomachiSion Date: Fri, 3 Jan 2025 10:25:53 +0800 Subject: [PATCH 2/2] Refactor console proxy. --- .../nacos/console/proxy/HealthProxy.java | 21 +----- .../nacos/console/proxy/ServerStateProxy.java | 3 +- .../console/proxy/config/ConfigProxy.java | 74 ++----------------- .../console/proxy/config/HistoryProxy.java | 32 +------- .../console/proxy/core/ClusterProxy.java | 20 +---- .../console/proxy/core/NamespaceProxy.java | 43 ++--------- .../console/proxy/naming/InstanceProxy.java | 25 +------ .../console/proxy/naming/ServiceProxy.java | 51 ++----------- 8 files changed, 35 insertions(+), 234 deletions(-) diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java index 14d9b6404db..eb7e364f3ad 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/HealthProxy.java @@ -17,16 +17,10 @@ package com.alibaba.nacos.console.proxy; -import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.model.v2.Result; -import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.HealthHandler; -import com.alibaba.nacos.console.handler.impl.inner.HealthInnerHandler; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.Map; - /** * Proxy class for handling health check operations. * @@ -35,13 +29,10 @@ @Service public class HealthProxy { - private final Map healthHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final HealthHandler healthHandler; - public HealthProxy(HealthInnerHandler healthInnerHandler, ConsoleWebConfig consoleConfig) { - this.healthHandlerMap.put("merged", healthInnerHandler); - this.consoleConfig = consoleConfig; + public HealthProxy(HealthHandler healthHandler) { + this.healthHandler = healthHandler; } /** @@ -49,11 +40,7 @@ public HealthProxy(HealthInnerHandler healthInnerHandler, ConsoleWebConfig conso * * @return readiness result */ - public Result checkReadiness() throws NacosException { - HealthHandler healthHandler = healthHandlerMap.get(consoleConfig.getType()); - if (healthHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public Result checkReadiness() { return healthHandler.checkReadiness(); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java index a51ba5da739..a38ba929485 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/ServerStateProxy.java @@ -18,7 +18,6 @@ package com.alibaba.nacos.console.proxy; import com.alibaba.nacos.console.handler.ServerStateHandler; -import com.alibaba.nacos.console.handler.impl.inner.ServerStateInnerHandler; import org.springframework.stereotype.Service; import java.util.Map; @@ -33,7 +32,7 @@ public class ServerStateProxy { private final ServerStateHandler serverStateHandler; - public ServerStateProxy(ServerStateInnerHandler serverStateHandler) { + public ServerStateProxy(ServerStateHandler serverStateHandler) { this.serverStateHandler = serverStateHandler; } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java index 89d998f643a..7d92f389f3f 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/config/ConfigProxy.java @@ -27,9 +27,7 @@ import com.alibaba.nacos.config.server.model.GroupkeyListenserStatus; import com.alibaba.nacos.config.server.model.SameConfigPolicy; import com.alibaba.nacos.config.server.model.form.ConfigForm; -import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.config.ConfigHandler; -import com.alibaba.nacos.console.handler.impl.inner.config.ConfigInnerHandler; import com.alibaba.nacos.persistence.model.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -38,7 +36,6 @@ import javax.servlet.ServletException; import java.io.IOException; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -50,14 +47,11 @@ @Service public class ConfigProxy { - private final Map configHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final ConfigHandler configHandler; @Autowired - public ConfigProxy(ConfigInnerHandler configInnerHandler, ConsoleWebConfig consoleConfig) { - this.configHandlerMap.put("merged", configInnerHandler); - this.consoleConfig = consoleConfig; + public ConfigProxy(ConfigHandler configHandler) { + this.configHandler = configHandler; } /** @@ -65,10 +59,6 @@ public ConfigProxy(ConfigInnerHandler configInnerHandler, ConsoleWebConfig conso */ public Page getConfigList(int pageNo, int pageSize, String dataId, String group, String namespaceId, Map configAdvanceInfo) throws IOException, ServletException, NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.getConfigList(pageNo, pageSize, dataId, group, namespaceId, configAdvanceInfo); } @@ -76,10 +66,6 @@ public Page getConfigList(int pageNo, int pageSize, String dataId, S * Get the specific configuration information. */ public ConfigAllInfo getConfigDetail(String dataId, String group, String namespaceId) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.getConfigDetail(dataId, group, namespaceId); } @@ -87,10 +73,6 @@ public ConfigAllInfo getConfigDetail(String dataId, String group, String namespa * Add or update configuration. */ public Boolean publishConfig(ConfigForm configForm, ConfigRequestInfo configRequestInfo) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.publishConfig(configForm, configRequestInfo); } @@ -99,10 +81,6 @@ public Boolean publishConfig(ConfigForm configForm, ConfigRequestInfo configRequ */ public Boolean deleteConfig(String dataId, String group, String namespaceId, String tag, String clientIp, String srcUser) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.deleteConfig(dataId, group, namespaceId, tag, clientIp, srcUser); } @@ -110,10 +88,6 @@ public Boolean deleteConfig(String dataId, String group, String namespaceId, Str * Batch delete configurations. */ public Boolean batchDeleteConfigs(List ids, String clientIp, String srcUser) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.batchDeleteConfigs(ids, clientIp, srcUser); } @@ -122,10 +96,6 @@ public Boolean batchDeleteConfigs(List ids, String clientIp, String srcUse */ public Page getConfigListByContent(String search, int pageNo, int pageSize, String dataId, String group, String namespaceId, Map configAdvanceInfo) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.getConfigListByContent(search, pageNo, pageSize, dataId, group, namespaceId, configAdvanceInfo); } @@ -135,21 +105,14 @@ public Page getConfigListByContent(String search, int pageNo, int pa */ public GroupkeyListenserStatus getListeners(String dataId, String group, String namespaceId, int sampleTime) throws Exception { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.getListeners(dataId, group, namespaceId, sampleTime); } /** * Get subscription information based on IP, tenant, and other parameters. */ - public GroupkeyListenserStatus getAllSubClientConfigByIp(String ip, boolean all, String namespaceId, int sampleTime) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public GroupkeyListenserStatus getAllSubClientConfigByIp(String ip, boolean all, String namespaceId, int sampleTime) + throws NacosException { return configHandler.getAllSubClientConfigByIp(ip, all, namespaceId, sampleTime); } @@ -158,10 +121,6 @@ public GroupkeyListenserStatus getAllSubClientConfigByIp(String ip, boolean all, */ public ResponseEntity exportConfig(String dataId, String group, String namespaceId, String appName, List ids) throws Exception { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.exportConfig(dataId, group, namespaceId, appName, ids); } @@ -170,10 +129,6 @@ public ResponseEntity exportConfig(String dataId, String group, String n */ public ResponseEntity exportConfigV2(String dataId, String group, String namespaceId, String appName, List ids) throws Exception { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.exportConfigV2(dataId, group, namespaceId, appName, ids); } @@ -182,10 +137,6 @@ public ResponseEntity exportConfigV2(String dataId, String group, String */ public Result> importAndPublishConfig(String srcUser, String namespaceId, SameConfigPolicy policy, MultipartFile file, String srcIp, String requestIpApp) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.importAndPublishConfig(srcUser, namespaceId, policy, file, srcIp, requestIpApp); } @@ -195,10 +146,6 @@ public Result> importAndPublishConfig(String srcUser, String public Result> cloneConfig(String srcUser, String namespaceId, List configBeansList, SameConfigPolicy policy, String srcIp, String requestIpApp) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.cloneConfig(srcUser, namespaceId, configBeansList, policy, srcIp, requestIpApp); } @@ -207,21 +154,14 @@ public Result> cloneConfig(String srcUser, String namespaceI */ public boolean removeBetaConfig(String dataId, String group, String namespaceId, String remoteIp, String requestIpApp) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return configHandler.removeBetaConfig(dataId, group, namespaceId, remoteIp, requestIpApp); } /** * Query beta configuration based on dataId, group, and namespaceId. */ - public Result queryBetaConfig(String dataId, String group, String namespaceId) throws NacosException { - ConfigHandler configHandler = configHandlerMap.get(consoleConfig.getType()); - if (configHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public Result queryBetaConfig(String dataId, String group, String namespaceId) + throws NacosException { return configHandler.queryBetaConfig(dataId, group, namespaceId); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java index 42a0d831969..9d5c53915dc 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/config/HistoryProxy.java @@ -21,16 +21,12 @@ import com.alibaba.nacos.api.exception.api.NacosApiException; import com.alibaba.nacos.config.server.model.ConfigHistoryInfo; import com.alibaba.nacos.config.server.model.ConfigInfoWrapper; -import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.config.HistoryHandler; -import com.alibaba.nacos.console.handler.impl.inner.config.HistoryInnerHandler; import com.alibaba.nacos.persistence.model.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * . @@ -40,20 +36,16 @@ @Service public class HistoryProxy { - private final Map historyHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final HistoryHandler historyHandler; /** * Constructs a new HistoryProxy with the given HistoryInnerHandler and ConsoleConfig. * - * @param historyInnerHandler the default implementation of HistoryHandler - * @param consoleConfig the console configuration used to determine the deployment type + * @param historyHandler the default implementation of HistoryHandler */ @Autowired - public HistoryProxy(HistoryInnerHandler historyInnerHandler, ConsoleWebConfig consoleConfig) { - this.historyHandlerMap.put("merged", historyInnerHandler); - this.consoleConfig = consoleConfig; + public HistoryProxy(HistoryHandler historyHandler) { + this.historyHandler = historyHandler; } /** @@ -68,10 +60,6 @@ public HistoryProxy(HistoryInnerHandler historyInnerHandler, ConsoleWebConfig co */ public ConfigHistoryInfo getConfigHistoryInfo(String dataId, String group, String namespaceId, Long nid) throws NacosException { - HistoryHandler historyHandler = historyHandlerMap.get(consoleConfig.getType()); - if (historyHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return historyHandler.getConfigHistoryInfo(dataId, group, namespaceId, nid); } @@ -88,10 +76,6 @@ public ConfigHistoryInfo getConfigHistoryInfo(String dataId, String group, Strin */ public Page listConfigHistory(String dataId, String group, String namespaceId, Integer pageNo, Integer pageSize) throws NacosException { - HistoryHandler historyHandler = historyHandlerMap.get(consoleConfig.getType()); - if (historyHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return historyHandler.listConfigHistory(dataId, group, namespaceId, pageNo, pageSize); } @@ -107,10 +91,6 @@ public Page listConfigHistory(String dataId, String group, St */ public ConfigHistoryInfo getPreviousConfigHistoryInfo(String dataId, String group, String namespaceId, Long id) throws NacosException { - HistoryHandler historyHandler = historyHandlerMap.get(consoleConfig.getType()); - if (historyHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return historyHandler.getPreviousConfigHistoryInfo(dataId, group, namespaceId, id); } @@ -122,10 +102,6 @@ public ConfigHistoryInfo getPreviousConfigHistoryInfo(String dataId, String grou * @throws NacosApiException if any error occurs during the operation */ public List getConfigsByTenant(String namespaceId) throws NacosException { - HistoryHandler historyHandler = historyHandlerMap.get(consoleConfig.getType()); - if (historyHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return historyHandler.getConfigsByTenant(namespaceId); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java index 9c43b1bbe83..2dc6f6a78c7 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/core/ClusterProxy.java @@ -17,15 +17,11 @@ package com.alibaba.nacos.console.proxy.core; -import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.core.ClusterHandler; -import com.alibaba.nacos.console.handler.impl.inner.core.ClusterInnerHandler; import com.alibaba.nacos.core.cluster.Member; import org.springframework.stereotype.Service; import java.util.Collection; -import java.util.HashMap; -import java.util.Map; /** * Proxy class for handling cluster-related operations. @@ -35,19 +31,15 @@ @Service public class ClusterProxy { - private final Map clusterHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final ClusterHandler clusterHandler; /** * Constructs a new ClusterProxy with the given ClusterInnerHandler and ConsoleConfig. * - * @param clusterInnerHandler the default implementation of ClusterHandler - * @param consoleConfig the console configuration used to determine the deployment type + * @param clusterHandler the default implementation of ClusterHandler */ - public ClusterProxy(ClusterInnerHandler clusterInnerHandler, ConsoleWebConfig consoleConfig) { - this.clusterHandlerMap.put("merged", clusterInnerHandler); - this.consoleConfig = consoleConfig; + public ClusterProxy(ClusterHandler clusterHandler) { + this.clusterHandler = clusterHandler; } /** @@ -58,10 +50,6 @@ public ClusterProxy(ClusterInnerHandler clusterInnerHandler, ConsoleWebConfig co * @throws IllegalArgumentException if the deployment type is invalid */ public Collection getNodeList(String ipKeyWord) { - ClusterHandler clusterHandler = clusterHandlerMap.get(consoleConfig.getType()); - if (clusterHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } return clusterHandler.getNodeList(ipKeyWord); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java index c1755d1e926..6ee1043a108 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/core/NamespaceProxy.java @@ -18,16 +18,12 @@ package com.alibaba.nacos.console.proxy.core; import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.console.config.ConsoleWebConfig; import com.alibaba.nacos.console.handler.core.NamespaceHandler; -import com.alibaba.nacos.console.handler.impl.inner.core.NamespaceInnerHandler; import com.alibaba.nacos.core.namespace.model.Namespace; import com.alibaba.nacos.core.namespace.model.form.NamespaceForm; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * Proxy class for handling namespace operations. @@ -37,23 +33,16 @@ @Service public class NamespaceProxy { - private final Map namespaceHandlerMap = new HashMap<>(); + private final NamespaceHandler namespaceHandler; - private final ConsoleWebConfig consoleConfig; - - public NamespaceProxy(NamespaceInnerHandler namespaceInnerHandler, ConsoleWebConfig consoleConfig) { - this.namespaceHandlerMap.put("merged", namespaceInnerHandler); - this.consoleConfig = consoleConfig; + public NamespaceProxy(NamespaceHandler namespaceHandler) { + this.namespaceHandler = namespaceHandler; } /** * Get namespace list. */ - public List getNamespaceList() throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public List getNamespaceList() { return namespaceHandler.getNamespaceList(); } @@ -61,10 +50,6 @@ public List getNamespaceList() throws NacosException { * Get the specific namespace information. */ public Namespace getNamespaceDetail(String namespaceId) throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return namespaceHandler.getNamespaceDetail(namespaceId); } @@ -73,10 +58,6 @@ public Namespace getNamespaceDetail(String namespaceId) throws NacosException { */ public Boolean createNamespace(String namespaceId, String namespaceName, String namespaceDesc) throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return namespaceHandler.createNamespace(namespaceId, namespaceName, namespaceDesc); } @@ -84,32 +65,20 @@ public Boolean createNamespace(String namespaceId, String namespaceName, String * Edit namespace. */ public Boolean updateNamespace(NamespaceForm namespaceForm) throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } return namespaceHandler.updateNamespace(namespaceForm); } /** * Delete namespace. */ - public Boolean deleteNamespace(String namespaceId) throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public Boolean deleteNamespace(String namespaceId) { return namespaceHandler.deleteNamespace(namespaceId); } /** * Check if namespace exists. */ - public Boolean checkNamespaceIdExist(String namespaceId) throws NacosException { - NamespaceHandler namespaceHandler = namespaceHandlerMap.get(consoleConfig.getType()); - if (namespaceHandler == null) { - throw new NacosException(NacosException.INVALID_PARAM, "Invalid deployment type"); - } + public Boolean checkNamespaceIdExist(String namespaceId) { return namespaceHandler.checkNamespaceIdExist(namespaceId); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java index e81396f7979..4d2f095787e 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/InstanceProxy.java @@ -19,16 +19,11 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.pojo.Instance; -import com.alibaba.nacos.console.config.ConsoleWebConfig; -import com.alibaba.nacos.console.handler.impl.inner.naming.InstanceInnerHandler; import com.alibaba.nacos.console.handler.naming.InstanceHandler; import com.alibaba.nacos.naming.model.form.InstanceForm; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.Map; - /** * Proxy class for handling instance-related operations. * @@ -37,19 +32,15 @@ @Service public class InstanceProxy { - private final Map instanceHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final InstanceHandler instanceHandler; /** * Constructs a new InstanceProxy with the given InstanceInnerHandler and ConsoleConfig. * - * @param instanceInnerHandler the default implementation of InstanceHandler - * @param consoleConfig the console configuration used to determine the deployment type + * @param instanceHandler the default implementation of InstanceHandler */ - public InstanceProxy(InstanceInnerHandler instanceInnerHandler, ConsoleWebConfig consoleConfig) { - this.instanceHandlerMap.put("merged", instanceInnerHandler); - this.consoleConfig = consoleConfig; + public InstanceProxy(InstanceHandler instanceHandler) { + this.instanceHandler = instanceHandler; } /** @@ -67,10 +58,6 @@ public InstanceProxy(InstanceInnerHandler instanceInnerHandler, ConsoleWebConfig */ public ObjectNode listInstances(String namespaceId, String serviceNameWithoutGroup, String groupName, int page, int pageSize, Boolean healthyOnly, Boolean enabledOnly) { - InstanceHandler instanceHandler = instanceHandlerMap.get(consoleConfig.getType()); - if (instanceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } return instanceHandler.listInstances(namespaceId, serviceNameWithoutGroup, groupName, page, pageSize, healthyOnly, enabledOnly); } @@ -84,10 +71,6 @@ public ObjectNode listInstances(String namespaceId, String serviceNameWithoutGro * @throws IllegalArgumentException if the deployment type is invalid */ public void updateInstance(InstanceForm instanceForm, Instance instance) throws NacosException { - InstanceHandler instanceHandler = instanceHandlerMap.get(consoleConfig.getType()); - if (instanceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } instanceHandler.updateInstance(instanceForm, instance); } } diff --git a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java index 6c27facbd0b..249571b1f3a 100644 --- a/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java +++ b/console/src/main/java/com/alibaba/nacos/console/proxy/naming/ServiceProxy.java @@ -18,17 +18,13 @@ package com.alibaba.nacos.console.proxy.naming; import com.alibaba.nacos.api.exception.NacosException; -import com.alibaba.nacos.console.config.ConsoleWebConfig; -import com.alibaba.nacos.console.handler.impl.inner.naming.ServiceInnerHandler; import com.alibaba.nacos.console.handler.naming.ServiceHandler; import com.alibaba.nacos.naming.core.v2.metadata.ClusterMetadata; import com.alibaba.nacos.naming.core.v2.metadata.ServiceMetadata; - import com.alibaba.nacos.naming.model.form.ServiceForm; import com.fasterxml.jackson.databind.node.ObjectNode; import org.springframework.stereotype.Service; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,20 +36,16 @@ @Service public class ServiceProxy { - private final Map serviceHandlerMap = new HashMap<>(); - - private final ConsoleWebConfig consoleConfig; + private final ServiceHandler serviceHandler; /** * Constructs a new ServiceProxy with the given ServiceInnerHandler and ConsoleConfig. The handler is mapped to a * deployment type key. * - * @param serviceInnerHandler the default implementation of ServiceHandler - * @param consoleConfig the console configuration used to determine the deployment type + * @param serviceHandler the default implementation of ServiceHandler */ - public ServiceProxy(ServiceInnerHandler serviceInnerHandler, ConsoleWebConfig consoleConfig) { - this.serviceHandlerMap.put("merged", serviceInnerHandler); - this.consoleConfig = consoleConfig; + public ServiceProxy(ServiceHandler serviceHandler) { + this.serviceHandler = serviceHandler; } /** @@ -63,10 +55,6 @@ public ServiceProxy(ServiceInnerHandler serviceInnerHandler, ConsoleWebConfig co * @throws Exception if an error occurs during service creation */ public void createService(ServiceForm serviceForm, ServiceMetadata serviceMetadata) throws Exception { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } serviceHandler.createService(serviceForm, serviceMetadata); } @@ -79,10 +67,6 @@ public void createService(ServiceForm serviceForm, ServiceMetadata serviceMetada * @throws Exception if an error occurs during service deletion */ public void deleteService(String namespaceId, String serviceName, String groupName) throws Exception { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } serviceHandler.deleteService(namespaceId, serviceName, groupName); } @@ -96,10 +80,6 @@ public void deleteService(String namespaceId, String serviceName, String groupNa */ public void updateService(ServiceForm serviceForm, com.alibaba.nacos.naming.core.v2.pojo.Service service, ServiceMetadata serviceMetadata, Map metadata) throws Exception { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } serviceHandler.updateService(serviceForm, service, serviceMetadata, metadata); } @@ -109,10 +89,6 @@ public void updateService(ServiceForm serviceForm, com.alibaba.nacos.naming.core * @return a list of selector types */ public List getSelectorTypeList() { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } return serviceHandler.getSelectorTypeList(); } @@ -130,10 +106,6 @@ public List getSelectorTypeList() { */ public ObjectNode getSubscribers(int pageNo, int pageSize, String namespaceId, String serviceName, String groupName, boolean aggregation) throws Exception { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } return serviceHandler.getSubscribers(pageNo, pageSize, namespaceId, serviceName, groupName, aggregation); } @@ -152,10 +124,6 @@ public ObjectNode getSubscribers(int pageNo, int pageSize, String namespaceId, S */ public Object getServiceList(boolean withInstances, String namespaceId, int pageNo, int pageSize, String serviceName, String groupName, boolean hasIpCount) throws NacosException { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } return serviceHandler.getServiceList(withInstances, namespaceId, pageNo, pageSize, serviceName, groupName, hasIpCount); } @@ -169,12 +137,7 @@ public Object getServiceList(boolean withInstances, String namespaceId, int page * @return service detail information * @throws NacosException if an error occurs during fetching service details */ - public Object getServiceDetail(String namespaceId, String serviceName, String groupName) - throws NacosException { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } + public Object getServiceDetail(String namespaceId, String serviceName, String groupName) throws NacosException { return serviceHandler.getServiceDetail(namespaceId, serviceName, groupName); } @@ -190,10 +153,6 @@ public Object getServiceDetail(String namespaceId, String serviceName, String gr */ public void updateClusterMetadata(String namespaceId, String serviceName, String clusterName, ClusterMetadata clusterMetadata) throws Exception { - ServiceHandler serviceHandler = serviceHandlerMap.get(consoleConfig.getType()); - if (serviceHandler == null) { - throw new IllegalArgumentException("Invalid deployment type"); - } serviceHandler.updateClusterMetadata(namespaceId, serviceName, clusterName, clusterMetadata); } }