From ad9ccd798a67961e221e8daf01c8cad565057392 Mon Sep 17 00:00:00 2001 From: QU3B1M Date: Wed, 22 Jan 2025 11:14:20 -0300 Subject: [PATCH] Add ID field to Agent class --- .../java/com/wazuh/commandmanager/model/Agent.java | 12 +++++++++--- .../commandmanager/rest/RestPostCommandAction.java | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Agent.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Agent.java index 5f8da173..09195c75 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Agent.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Agent.java @@ -27,6 +27,8 @@ public class Agent implements ToXContentObject { public static final String AGENT = "agent"; public static final String GROUPS = "groups"; + public static final String ID = "id"; + private final String id; private final List groups; /** @@ -34,7 +36,8 @@ public class Agent implements ToXContentObject { * * @param groups Agent's groups */ - public Agent(List groups) { + public Agent(String id, List groups) { + this.id = id; this.groups = groups; } @@ -47,12 +50,15 @@ public Agent(List groups) { */ public static Agent parse(XContentParser parser) throws IOException { List groups = List.of(); + String id = null; while (parser.nextToken() != XContentParser.Token.END_OBJECT) { String fieldName = parser.currentName(); parser.nextToken(); if (fieldName.equals(GROUPS)) { groups = parser.list(); + } else if (fieldName.equals(ID)) { + id = parser.text(); } else { parser.skipChildren(); } @@ -60,7 +66,7 @@ public static Agent parse(XContentParser parser) throws IOException { // Cast args field Object list to String list List convertedGroupFields = (List) (List) (groups); - return new Agent(convertedGroupFields); + return new Agent(id, convertedGroupFields); } @Override @@ -72,6 +78,6 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws @Override public String toString() { - return "Agent{" + "groups=" + groups + '}'; + return "Agent{" + "id=" + id + '\'' + ", groups=" + groups + '}'; } } diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/rest/RestPostCommandAction.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/rest/RestPostCommandAction.java index 035571c2..cf1e2170 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/rest/RestPostCommandAction.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/rest/RestPostCommandAction.java @@ -209,7 +209,9 @@ private static Orders commandsToOrders(NodeClient client, List commands final Map agentMap = Search.getNestedObject(hit.getSourceAsMap(), "agent", Map.class); if (agentMap != null) { - Agent agent = new Agent((List) agentMap.get("groups")); + String agentId = (String) agentMap.get(Agent.ID); + List agentGroups = (List) agentMap.get(Agent.GROUPS); + Agent agent = new Agent(agentId, agentGroups); agentList.add(agent); } }