This is an automated email from the ASF dual-hosted git repository.

lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git

commit 06cf089e2fa574ba0e6a2858113deff309fce85f
Author: zhaohaihzb <[email protected]>
AuthorDate: Tue Jul 28 19:28:06 2026 +0800

    feat: add message and trace model DTOs (#526)
---
 .../org/apache/rocketmq/studio/model/Entry.java    |  61 +++++++++
 .../apache/rocketmq/studio/model/MessageInfo.java  | 144 +++++++++++++++++++++
 2 files changed, 205 insertions(+)

diff --git a/server/src/main/java/org/apache/rocketmq/studio/model/Entry.java 
b/server/src/main/java/org/apache/rocketmq/studio/model/Entry.java
new file mode 100644
index 00000000..8b623ede
--- /dev/null
+++ b/server/src/main/java/org/apache/rocketmq/studio/model/Entry.java
@@ -0,0 +1,61 @@
+/*
+ * 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.rocketmq.studio.model;
+
+
+import java.util.List;
+
+public class Entry {
+    private List<String> resource;
+    private List<String> actions;
+    private List<String> sourceIps;
+    private String decision;
+
+    public List<String> getResource() {
+        return resource;
+    }
+
+    public void setResource(List<String> resource) {
+        this.resource = resource;
+    }
+
+    public List<String> getActions() {
+        return actions;
+    }
+
+    public void setActions(List<String> actions) {
+        this.actions = actions;
+    }
+
+    public List<String> getSourceIps() {
+        return sourceIps;
+    }
+
+    public void setSourceIps(List<String> sourceIps) {
+        this.sourceIps = sourceIps;
+    }
+
+    public String getDecision() {
+        return decision;
+    }
+
+    public void setDecision(String decision) {
+        this.decision = decision;
+    }
+
+}
diff --git 
a/server/src/main/java/org/apache/rocketmq/studio/model/MessageInfo.java 
b/server/src/main/java/org/apache/rocketmq/studio/model/MessageInfo.java
new file mode 100644
index 00000000..26c0f42b
--- /dev/null
+++ b/server/src/main/java/org/apache/rocketmq/studio/model/MessageInfo.java
@@ -0,0 +1,144 @@
+/*
+ * 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.rocketmq.studio.model;
+
+import java.util.Map;
+
+/**
+ * Message information model for message query and management.
+ * Encapsulates key message attributes for dashboard display.
+ */
+public class MessageInfo {
+
+    private String msgId;
+    private String topic;
+    private String brokerName;
+    private int queueId;
+    private long queueOffset;
+    private long storeTimestamp;
+    private long bornTimestamp;
+    private String keys;
+    private String tags;
+    private String body;
+    private Map<String, String> properties;
+    private boolean retryTopic;
+    private int reconsumeTimes;
+
+    public String getMsgId() {
+        return msgId;
+    }
+
+    public void setMsgId(String msgId) {
+        this.msgId = msgId;
+    }
+
+    public String getTopic() {
+        return topic;
+    }
+
+    public void setTopic(String topic) {
+        this.topic = topic;
+    }
+
+    public String getBrokerName() {
+        return brokerName;
+    }
+
+    public void setBrokerName(String brokerName) {
+        this.brokerName = brokerName;
+    }
+
+    public int getQueueId() {
+        return queueId;
+    }
+
+    public void setQueueId(int queueId) {
+        this.queueId = queueId;
+    }
+
+    public long getQueueOffset() {
+        return queueOffset;
+    }
+
+    public void setQueueOffset(long queueOffset) {
+        this.queueOffset = queueOffset;
+    }
+
+    public long getStoreTimestamp() {
+        return storeTimestamp;
+    }
+
+    public void setStoreTimestamp(long storeTimestamp) {
+        this.storeTimestamp = storeTimestamp;
+    }
+
+    public long getBornTimestamp() {
+        return bornTimestamp;
+    }
+
+    public void setBornTimestamp(long bornTimestamp) {
+        this.bornTimestamp = bornTimestamp;
+    }
+
+    public String getKeys() {
+        return keys;
+    }
+
+    public void setKeys(String keys) {
+        this.keys = keys;
+    }
+
+    public String getTags() {
+        return tags;
+    }
+
+    public void setTags(String tags) {
+        this.tags = tags;
+    }
+
+    public String getBody() {
+        return body;
+    }
+
+    public void setBody(String body) {
+        this.body = body;
+    }
+
+    public Map<String, String> getProperties() {
+        return properties;
+    }
+
+    public void setProperties(Map<String, String> properties) {
+        this.properties = properties;
+    }
+
+    public boolean isRetryTopic() {
+        return retryTopic;
+    }
+
+    public void setRetryTopic(boolean retryTopic) {
+        this.retryTopic = retryTopic;
+    }
+
+    public int getReconsumeTimes() {
+        return reconsumeTimes;
+    }
+
+    public void setReconsumeTimes(int reconsumeTimes) {
+        this.reconsumeTimes = reconsumeTimes;
+    }
+}
\ No newline at end of file

Reply via email to