diff --git a/eventmesh-dashboard-common/pom.xml b/eventmesh-dashboard-common/pom.xml index d6c277c5..6c895104 100644 --- a/eventmesh-dashboard-common/pom.xml +++ b/eventmesh-dashboard-common/pom.xml @@ -19,6 +19,7 @@ + org.springframework.boot @@ -40,30 +41,6 @@ fastjson2 2.0.40 - - - - - io.lettuce - lettuce-core - - - - com.alibaba.nacos - nacos-client - ${nacos.version} - - - - org.apache.rocketmq - rocketmq-client - ${rocketmq.version} - - - org.apache.rocketmq - rocketmq-tools - ${rocketmq.version} - \ No newline at end of file diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/StoreTypeConstant.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/StoreTypeConstant.java new file mode 100644 index 00000000..dfa3711c --- /dev/null +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/StoreTypeConstant.java @@ -0,0 +1,29 @@ +/* + * 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.common.constant; + +public class StoreTypeConstant { + public static final String STORE_TYPE_TYPE_UNKNOWN = "unknown"; + public static final String STORE_TYPE_STANDALONE = "standalone"; + public static final String STORE_TYPE_REDIS = "redis"; + public static final String STORE_TYPE_MYSQL = "mysql"; + public static final String STORE_TYPE_ROCKETMQ = "rocketmq4"; + public static final String STORE_TYPE_KAFKA = "kafka"; + public static final String STORE_TYPE_PULSAR = "pulsar"; + public static final String STORE_TYPE_RABBITMQ = "rabbitmq"; +} diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/health/HealthCheckTypeConstant.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/health/HealthCheckTypeConstant.java index ff9c602a..5252899e 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/health/HealthCheckTypeConstant.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/constant/health/HealthCheckTypeConstant.java @@ -17,6 +17,8 @@ package org.apache.eventmesh.dashboard.common.constant.health; +import org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant; + public class HealthCheckTypeConstant { public static final String HEALTH_CHECK_TYPE_UNKNOWN = "unknown"; @@ -28,11 +30,9 @@ public class HealthCheckTypeConstant { public static final String HEALTH_CHECK_TYPE_META = "meta"; public static final String HEALTH_CHECK_TYPE_TOPIC = "topic"; - public static final String HEALTH_CHECK_SUBTYPE_REDIS = "redis"; - public static final String HEALTH_CHECK_SUBTYPE_MYSQL = "mysql"; - public static final String HEALTH_CHECK_SUBTYPE_ROCKETMQ_BROKER = "rocketmq4-broker"; - public static final String HEALTH_CHECK_SUBTYPE_ROCKETMQ_NAMESERVER = "rocketmq4-nameserver"; - public static final String HEALTH_CHECK_SUBTYPE_ROCKETMQ_TOPIC = "rocketmq4-topic"; + public static final String HEALTH_CHECK_SUBTYPE_REDIS = StoreTypeConstant.STORE_TYPE_REDIS; + public static final String HEALTH_CHECK_SUBTYPE_MYSQL = StoreTypeConstant.STORE_TYPE_MYSQL; + public static final String HEALTH_CHECK_SUBTYPE_ROCKETMQ = StoreTypeConstant.STORE_TYPE_ROCKETMQ; public static final String HEALTH_CHECK_SUBTYPE_NACOS_CONFIG = "nacos-config"; public static final String HEALTH_CHECK_SUBTYPE_NACOS_REGISTRY = "nacos-registry"; diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/StoreType.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/StoreType.java index d5146b14..ed15a868 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/StoreType.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/StoreType.java @@ -17,21 +17,51 @@ package org.apache.eventmesh.dashboard.common.enums; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_KAFKA; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_PULSAR; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_RABBITMQ; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_REDIS; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_ROCKETMQ; +import static org.apache.eventmesh.dashboard.common.constant.StoreTypeConstant.STORE_TYPE_STANDALONE; + import lombok.AllArgsConstructor; import lombok.Getter; @AllArgsConstructor public enum StoreType { - STANDALONE(0, "Standalone"), - ROCKETMQ(1, "RocketMQ"), - KAFKA(2, "Kafka"), - PULSAR(3, "Pulsar"), - RABBITMQ(4, "RabbitMQ"), - REDIS(5, "Redis"); + STANDALONE(0, STORE_TYPE_STANDALONE), + ROCKETMQ(1, STORE_TYPE_ROCKETMQ), + KAFKA(2, STORE_TYPE_KAFKA), + PULSAR(3, STORE_TYPE_PULSAR), + RABBITMQ(4, STORE_TYPE_RABBITMQ), + REDIS(5, STORE_TYPE_REDIS); @Getter private final Integer number; @Getter private final String name; + + public static StoreType fromNumber(Integer number) { + for (StoreType storeType : StoreType.values()) { + if (storeType.getNumber().equals(number)) { + return storeType; + } + } + return null; + } + + public static StoreType fromName(String name) { + for (StoreType storeType : StoreType.values()) { + if (storeType.getName().equalsIgnoreCase(name)) { + return storeType; + } + } + return null; + } + + @Override + public String toString() { + return name; + } } diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/health/HealthCheckStatus.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/health/HealthCheckStatus.java index 17856f87..75423765 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/health/HealthCheckStatus.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/enums/health/HealthCheckStatus.java @@ -26,7 +26,8 @@ public enum HealthCheckStatus { FAILED(0, "failed"), PASSED(1, "passed"), CHECKING(2, "checking"), - TIMEOUT(3, "timeout"); + TIMEOUT(3, "timeout"), + NOT_CONNECTED(4, "not connected"); private final Integer number; private final String name; diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/ClusterMetadata.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/ClusterMetadata.java index 432f9fe0..c65e27a8 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/ClusterMetadata.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/ClusterMetadata.java @@ -44,6 +44,9 @@ public class ClusterMetadata extends MetadataConfig { private Integer status; + /** + * @see StoreType + */ private StoreType storeType; private String description; diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/RuntimeMetadata.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/RuntimeMetadata.java index 5bdab8f3..e8d1432a 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/RuntimeMetadata.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/metadata/RuntimeMetadata.java @@ -17,9 +17,15 @@ package org.apache.eventmesh.dashboard.common.model.metadata; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@NoArgsConstructor +@AllArgsConstructor +@Builder public class RuntimeMetadata extends MetadataConfig { private String host; diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/acl/CreateAclRequest.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/acl/CreateAclRequest.java index 2c2ae35c..08b80990 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/acl/CreateAclRequest.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/acl/CreateAclRequest.java @@ -18,5 +18,6 @@ package org.apache.eventmesh.dashboard.common.model.remoting.acl; public class CreateAclRequest { - + //acl is included in runtime config + private String runtimeAddress; } diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/group/GetGroupsResponse.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/group/GetGroupsResponse.java index 60968105..fbe90235 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/group/GetGroupsResponse.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/group/GetGroupsResponse.java @@ -22,5 +22,6 @@ import java.util.List; public class GetGroupsResponse { + private List groupList; } diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/offset/ResetOffsetRequest.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/offset/ResetOffsetRequest.java index cf77017e..f33d8a75 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/offset/ResetOffsetRequest.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/offset/ResetOffsetRequest.java @@ -29,7 +29,7 @@ public class ResetOffsetRequest { private String topic; - private String bootStrapServers; + private String bootstrapServers; private Integer partitionId; diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/runtime/GetRuntimeResponse.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/runtime/GetRuntimeResponse.java index 27917ba9..783a78ab 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/runtime/GetRuntimeResponse.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/runtime/GetRuntimeResponse.java @@ -26,5 +26,5 @@ @Data public class GetRuntimeResponse { - private List runtimeMetadata; + private List runtimeMetadataList; } diff --git a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/subscription/GetSubscriptionResponse.java b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/subscription/GetSubscriptionResponse.java index 2c0a0660..853675f5 100644 --- a/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/subscription/GetSubscriptionResponse.java +++ b/eventmesh-dashboard-common/src/main/java/org/apache/eventmesh/dashboard/common/model/remoting/subscription/GetSubscriptionResponse.java @@ -18,12 +18,5 @@ package org.apache.eventmesh.dashboard.common.model.remoting.subscription; public class GetSubscriptionResponse { - // client name - private String clientName; - // group name - private String group; - - // config content - private String subscription; } diff --git a/eventmesh-dashboard-console/pom.xml b/eventmesh-dashboard-console/pom.xml index 020bd9e0..016215da 100644 --- a/eventmesh-dashboard-console/pom.xml +++ b/eventmesh-dashboard-console/pom.xml @@ -19,12 +19,23 @@ + + + org.springframework.boot + spring-boot-starter-web + + org.apache.eventmesh.dashboard.common eventmesh-dashboard-common 0.0.1-SNAPSHOT + + org.apache.eventmesh.dashboard.core + eventmesh-dashboard-core + 0.0.1-SNAPSHOT + org.apache.eventmesh.dashboard.service eventmesh-dashboard-service @@ -79,29 +90,29 @@ runtime - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/annotation/HealthCheckType.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/annotation/HealthCheckType.java index 7a23b902..0d3750ca 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/annotation/HealthCheckType.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/annotation/HealthCheckType.java @@ -24,7 +24,7 @@ /** * This annotation is used to mark the type of health check service implement. - * @see org.apache.eventmesh.dashboard.console.enums.health.HealthCheckType + * @see org.apache.eventmesh.dashboard.common.enums.health.HealthCheckType */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4BrokerCheck.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4BrokerCheck.java index 7f8e56c7..b60a73ce 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4BrokerCheck.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4BrokerCheck.java @@ -17,10 +17,6 @@ package org.apache.eventmesh.dashboard.console.function.health.check.impl.storage.rocketmq4; -import static org.apache.eventmesh.dashboard.common.constant.health.HealthCheckTypeConstant.HEALTH_CHECK_SUBTYPE_ROCKETMQ_BROKER; -import static org.apache.eventmesh.dashboard.common.constant.health.HealthCheckTypeConstant.HEALTH_CHECK_TYPE_STORAGE; - -import org.apache.eventmesh.dashboard.console.function.health.annotation.HealthCheckType; import org.apache.eventmesh.dashboard.console.function.health.callback.HealthCheckCallback; import org.apache.eventmesh.dashboard.console.function.health.check.AbstractHealthCheckService; import org.apache.eventmesh.dashboard.console.function.health.check.config.HealthCheckObjectConfig; @@ -36,7 +32,6 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -@HealthCheckType(type = HEALTH_CHECK_TYPE_STORAGE, subType = HEALTH_CHECK_SUBTYPE_ROCKETMQ_BROKER) public class Rocketmq4BrokerCheck extends AbstractHealthCheckService { private RemotingClient remotingClient; diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4NameServerCheck.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4NameServerCheck.java index e855ba18..7ba3667e 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4NameServerCheck.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4NameServerCheck.java @@ -34,7 +34,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -@HealthCheckType(type = HealthCheckTypeConstant.HEALTH_CHECK_TYPE_STORAGE, subType = HealthCheckTypeConstant.HEALTH_CHECK_SUBTYPE_ROCKETMQ_NAMESERVER) +@HealthCheckType(type = HealthCheckTypeConstant.HEALTH_CHECK_TYPE_STORAGE, subType = HealthCheckTypeConstant.HEALTH_CHECK_SUBTYPE_ROCKETMQ) public class Rocketmq4NameServerCheck extends AbstractHealthCheckService { private RemotingClient remotingClient; diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4TopicCheck.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4TopicCheck.java index 739ac445..6656589c 100644 --- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4TopicCheck.java +++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/function/health/check/impl/storage/rocketmq4/Rocketmq4TopicCheck.java @@ -19,9 +19,7 @@ import static org.apache.rocketmq.client.producer.SendStatus.SEND_OK; -import org.apache.eventmesh.dashboard.common.constant.health.HealthCheckTypeConstant; import org.apache.eventmesh.dashboard.common.constant.health.HealthConstant; -import org.apache.eventmesh.dashboard.console.function.health.annotation.HealthCheckType; import org.apache.eventmesh.dashboard.console.function.health.callback.HealthCheckCallback; import org.apache.eventmesh.dashboard.console.function.health.check.AbstractHealthCheckService; import org.apache.eventmesh.dashboard.console.function.health.check.config.HealthCheckObjectConfig; @@ -57,7 +55,6 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -@HealthCheckType(type = HealthCheckTypeConstant.HEALTH_CHECK_TYPE_STORAGE, subType = HealthCheckTypeConstant.HEALTH_CHECK_SUBTYPE_ROCKETMQ_TOPIC) public class Rocketmq4TopicCheck extends AbstractHealthCheckService { private RemotingClient remotingClient; diff --git a/eventmesh-dashboard-core/pom.xml b/eventmesh-dashboard-core/pom.xml index 64d6dff9..ca133402 100644 --- a/eventmesh-dashboard-core/pom.xml +++ b/eventmesh-dashboard-core/pom.xml @@ -21,8 +21,8 @@ --> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.apache.eventmesh.dashboard @@ -52,11 +52,11 @@ 0.0.1-SNAPSHOT - + com.alibaba.nacos nacos-client - 2.2.4 + ${nacos.version} io.etcd @@ -64,12 +64,49 @@ 0.3.0 - + + + + + + + + + + + + + + + + + + + + + + + + io.lettuce + lettuce-core + + org.apache.rocketmq rocketmq-client - 4.9.7 + 4.9.4 + + + org.apache.rocketmq + rocketmq-tools + 4.9.4 + + + + org.apache.kafka + kafka-clients +