From bc517290aa89ac244b74a64f7a3ae6d297e2d9f3 Mon Sep 17 00:00:00 2001 From: Pil0tXia Date: Sat, 2 Mar 2024 16:14:02 +0800 Subject: [PATCH] implement classes in core are not Service Beans --- eventmesh-dashboard-common/pom.xml | 5 -- eventmesh-dashboard-console/pom.xml | 5 -- .../EventMeshDashboardApplication.java | 2 +- .../controller/ConnectionController.java | 5 +- .../console/controller/MetricsController.java | 2 + .../controller/SubscriptionController.java | 5 +- .../console/controller/TopicController.java | 5 +- .../dashboard/core/config/BeanTypeConfig.java | 85 ------------------- .../{ => connection}/EtcdConnectionCore.java | 5 +- .../{ => connection}/NacosConnectionCore.java | 9 +- .../EtcdSubscriptionCore.java | 5 +- .../NacosSubscriptionCore.java | 6 +- 12 files changed, 17 insertions(+), 122 deletions(-) delete mode 100644 eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java rename eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/{ => connection}/EtcdConnectionCore.java (90%) rename eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/{ => connection}/NacosConnectionCore.java (79%) rename eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/{ => subscription}/EtcdSubscriptionCore.java (92%) rename eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/{ => subscription}/NacosSubscriptionCore.java (98%) diff --git a/eventmesh-dashboard-common/pom.xml b/eventmesh-dashboard-common/pom.xml index 6fc3e3bf..29011722 100644 --- a/eventmesh-dashboard-common/pom.xml +++ b/eventmesh-dashboard-common/pom.xml @@ -24,11 +24,6 @@ org.springframework.boot spring-boot-starter-web - - org.springframework.boot - spring-boot-starter-test - test - diff --git a/eventmesh-dashboard-console/pom.xml b/eventmesh-dashboard-console/pom.xml index 9013082d..b071854f 100644 --- a/eventmesh-dashboard-console/pom.xml +++ b/eventmesh-dashboard-console/pom.xml @@ -30,11 +30,6 @@ eventmesh-dashboard-service 0.0.1-SNAPSHOT - - org.apache.eventmesh.dashboard.core - eventmesh-dashboard-core - 0.0.1-SNAPSHOT - diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java index 4472036a..53a951ae 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/EventMeshDashboardApplication.java @@ -24,7 +24,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -@SpringBootApplication(scanBasePackages = {"org.apache.eventmesh.dashboard.console", "org.apache.eventmesh.dashboard.core"}) +@SpringBootApplication @EnableTransactionManagement public class EventMeshDashboardApplication { diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java index 847a24a0..37e9049d 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/ConnectionController.java @@ -19,7 +19,6 @@ import org.apache.eventmesh.dashboard.service.meta.ConnectionCore; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -30,7 +29,9 @@ @RestController public class ConnectionController { - @Autowired + /** + * TODO expose implement by FunctionManager + */ ConnectionCore connectionCore; /** diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java index 38f5b1af..689f833c 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/MetricsController.java @@ -24,8 +24,10 @@ @RestController public class MetricsController { + @GetMapping("/druid/stat") public Object druidStat() { return DruidStatManagerFacade.getInstance().getDataSourceStatDataList(); } + } \ No newline at end of file diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java index 026a5245..1af09aee 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/SubscriptionController.java @@ -23,7 +23,6 @@ import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -33,7 +32,9 @@ @RequestMapping("/api/v1") public class SubscriptionController { - @Autowired + /** + * TODO expose implement by FunctionManager + */ SubscriptionCore subscriptionCore; // the subscription dataId naming pattern of EventMesh clients: ip-protocol diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java index a005d46c..1f6c601b 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/controller/TopicController.java @@ -25,7 +25,6 @@ import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.DeleteMapping; @@ -40,7 +39,9 @@ @RequestMapping("/topic") public class TopicController { - @Autowired + /** + * TODO expose implement by FunctionManager + */ TopicCore topicCore; /** diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java deleted file mode 100644 index 03193f1a..00000000 --- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/config/BeanTypeConfig.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.eventmesh.dashboard.core.config; - -import org.apache.eventmesh.dashboard.common.constant.ConfigConst; -import org.apache.eventmesh.dashboard.core.meta.EtcdConnectionCore; -import org.apache.eventmesh.dashboard.core.meta.EtcdSubscriptionCore; -import org.apache.eventmesh.dashboard.core.meta.NacosConnectionCore; -import org.apache.eventmesh.dashboard.core.meta.NacosSubscriptionCore; -import org.apache.eventmesh.dashboard.core.store.RocketmqTopicCore; -import org.apache.eventmesh.dashboard.service.meta.ConnectionCore; -import org.apache.eventmesh.dashboard.service.meta.SubscriptionCore; -import org.apache.eventmesh.dashboard.service.store.TopicCore; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * Use different registry SDK depending on the configured meta type; - * Use different storage SDK depending on the configured storage type. - * TODO get configs from DB (console module's work) - */ -@Deprecated -@Configuration -public class BeanTypeConfig { - - private final AdminProperties adminProperties; - - public BeanTypeConfig(AdminProperties adminProperties) { - this.adminProperties = adminProperties; - } - - @Bean - public ConnectionCore connectionCore() { - switch (adminProperties.getMeta().getType()) { - case ConfigConst.META_TYPE_NACOS: - return new NacosConnectionCore(adminProperties); - case ConfigConst.META_TYPE_ETCD: - return new EtcdConnectionCore(); - default: - throw new IllegalArgumentException("Unsupported EventMesh Meta type: " + adminProperties.getMeta().getType()); - } - } - - @Bean - public SubscriptionCore subscriptionCore() { - switch (adminProperties.getMeta().getType()) { - case ConfigConst.META_TYPE_NACOS: - return new NacosSubscriptionCore(adminProperties); - case ConfigConst.META_TYPE_ETCD: - return new EtcdSubscriptionCore(); - default: - throw new IllegalArgumentException("Unsupported EventMesh Meta type: " + adminProperties.getMeta().getType()); - } - } - - @Bean - public TopicCore topicCore() { - switch (adminProperties.getStore().getType()) { - case ConfigConst.STORE_TYPE_STANDALONE: - return null; // TODO StandaloneTopicService - case ConfigConst.STORE_TYPE_ROCKETMQ: - return new RocketmqTopicCore(adminProperties); - case ConfigConst.STORE_TYPE_KAFKA: - return null; // TODO KafkaTopicService - default: - throw new IllegalArgumentException("Unsupported EventMesh Store type: " + adminProperties.getStore().getType()); - } - } -} \ No newline at end of file diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java similarity index 90% rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java index 65f836b0..0a994bc7 100644 --- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdConnectionCore.java +++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/EtcdConnectionCore.java @@ -15,16 +15,13 @@ * limitations under the License. */ -package org.apache.eventmesh.dashboard.core.meta; +package org.apache.eventmesh.dashboard.core.meta.connection; import org.apache.eventmesh.dashboard.service.meta.ConnectionCore; -import org.springframework.stereotype.Service; - import lombok.extern.slf4j.Slf4j; @Slf4j -@Service public class EtcdConnectionCore implements ConnectionCore { } diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java similarity index 79% rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java index a9e62ad1..6f026525 100644 --- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosConnectionCore.java +++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/connection/NacosConnectionCore.java @@ -15,20 +15,13 @@ * limitations under the License. */ -package org.apache.eventmesh.dashboard.core.meta; +package org.apache.eventmesh.dashboard.core.meta.connection; -import org.apache.eventmesh.dashboard.core.config.AdminProperties; import org.apache.eventmesh.dashboard.service.meta.ConnectionCore; -import org.springframework.stereotype.Service; - import lombok.extern.slf4j.Slf4j; @Slf4j -@Service public class NacosConnectionCore implements ConnectionCore { - public NacosConnectionCore(AdminProperties adminProperties) { - } - } diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java similarity index 92% rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java index 7fdd9571..4fd39c81 100644 --- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/EtcdSubscriptionCore.java +++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/EtcdSubscriptionCore.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.eventmesh.dashboard.core.meta; +package org.apache.eventmesh.dashboard.core.meta.subscription; import org.apache.eventmesh.dashboard.common.dto.Result; import org.apache.eventmesh.dashboard.common.model.SubscriptionInfo; @@ -23,12 +23,9 @@ import java.util.List; -import org.springframework.stereotype.Service; - import lombok.extern.slf4j.Slf4j; @Slf4j -@Service public class EtcdSubscriptionCore implements SubscriptionCore { @Override diff --git a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java similarity index 98% rename from eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java rename to eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java index d4436e0d..0d665c69 100644 --- a/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/NacosSubscriptionCore.java +++ b/eventmesh-dashboard-core/src/main/java/org/apache/eventmesh/dashboard/core/meta/subscription/NacosSubscriptionCore.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.eventmesh.dashboard.core.meta; +package org.apache.eventmesh.dashboard.core.meta.subscription; import static org.apache.eventmesh.dashboard.common.enums.Status.NACOS_EMPTY_RESP_ERR; import static org.apache.eventmesh.dashboard.common.enums.Status.NACOS_GET_CONFIGS_ERR; @@ -42,7 +42,6 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; @@ -57,7 +56,6 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -@Service public class NacosSubscriptionCore implements SubscriptionCore { AdminProperties adminProperties; @@ -114,7 +112,7 @@ public String retrieveConfig(String dataId, String group) { /** * Retrieve a list of configs with Nacos OpenAPI, because Nacos SDK doesn't support listing and fuzzy matching. - * + *

* TODO Granularity should be based on subscriptions rather than Runtime; * retrieve all subscriptions for each Runtime, rather than retrieving subscriptions for each individual Runtime. */