From fb91356b7777dfa5b6088bcc3a48b43924c1c0fd Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 3 Sep 2026 14:35:10 +0200 Subject: build: apply Spotless plugin (#293) --- .../oshelper/atc/services/AgentCodeService.java | 126 ++++++++++----------- 1 file changed, 61 insertions(+), 65 deletions(-) (limited to 'src/main/java/dev/dnpm/oshelper/atc/services/AgentCodeService.java') diff --git a/src/main/java/dev/dnpm/oshelper/atc/services/AgentCodeService.java b/src/main/java/dev/dnpm/oshelper/atc/services/AgentCodeService.java index b074364..f1dc2e2 100644 --- a/src/main/java/dev/dnpm/oshelper/atc/services/AgentCodeService.java +++ b/src/main/java/dev/dnpm/oshelper/atc/services/AgentCodeService.java @@ -19,17 +19,15 @@ package dev.dnpm.oshelper.atc.services; +import static java.util.stream.Collectors.groupingBy; import dev.dnpm.oshelper.atc.AgentCode; -import org.jspecify.annotations.NullMarked; - import java.util.Comparator; import java.util.List; import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; - -import static java.util.stream.Collectors.groupingBy; +import org.jspecify.annotations.NullMarked; /** * Common interface for agent code services @@ -39,69 +37,67 @@ import static java.util.stream.Collectors.groupingBy; */ public interface AgentCodeService { - /** - * Filters the provided list of AgentCodes to include only the latest available versions - * for each unique code name and, if required, code. - * If the input list is empty or null, an empty list will be returned. - * - * @param agentCodes A list of {@link AgentCode} objects to be filtered. Each object in the list - * should contain information about the agent's code, name, system, and version. - * @param classifier A function that returns a string value to be used as a key for grouping agent codes. - * @return A list of {@link AgentCode} objects representing the latest available versions of unique agent codes. - * If no valid inputs are provided, an empty list is returned. - */ - @NullMarked - static List latestAgentCodeVersions(List agentCodes, Function classifier) { - return latestAvailable(agentCodes, classifier); - } - - /** - * Function that extracts the name of an {@link AgentCode} object. - * This function is used as a classifier for grouping agent codes by their name. - */ - Function byCodeOnly = AgentCode::getName; + /** + * Filters the provided list of AgentCodes to include only the latest available versions for each + * unique code name and, if required, code. If the input list is empty or null, an empty list will + * be returned. + * + * @param agentCodes A list of {@link AgentCode} objects to be filtered. Each object in the list + * should contain information about the agent's code, name, system, and version. + * @param classifier A function that returns a string value to be used as a key for grouping agent + * codes. + * @return A list of {@link AgentCode} objects representing the latest available versions of + * unique agent codes. If no valid inputs are provided, an empty list is returned. + */ + @NullMarked + static List latestAgentCodeVersions( + List agentCodes, Function classifier) { + return latestAvailable(agentCodes, classifier); + } - /** - * Function that extracts the name and code of an {@link AgentCode} object. - * This function is used as a classifier for grouping agent codes by their name and code. - */ - Function byNameAndCode = (agentCode -> - String.format("%s_%s", agentCode.getCode(), agentCode.getName()) - ); + /** + * Function that extracts the name of an {@link AgentCode} object. This function is used as a + * classifier for grouping agent codes by their name. + */ + Function byCodeOnly = AgentCode::getName; + /** + * Function that extracts the name and code of an {@link AgentCode} object. This function is used + * as a classifier for grouping agent codes by their name and code. + */ + Function byNameAndCode = + (agentCode -> String.format("%s_%s", agentCode.getCode(), agentCode.getName())); - @NullMarked - private static List latestAvailable( - List agentCodes, - Function classifier - ) { - return agentCodes.stream() - .collect(groupingBy(classifier)).values().stream() - .map(list -> - list.stream() - .sorted(Comparator.comparing(AgentCode::getCode)) - .max((ac1, ac2) -> { - if (null == ac1.getVersion()) { - return -1; - } else if (null == ac2.getVersion()) { - return 1; - } - return ac1.getVersion().compareTo(ac2.getVersion()); - }) - .orElse(null) - ) - .filter(Objects::nonNull) - .distinct() - .collect(Collectors.toList()); - } + @NullMarked + private static List latestAvailable( + List agentCodes, Function classifier) { + return agentCodes.stream().collect(groupingBy(classifier)).values().stream() + .map( + list -> + list.stream() + .sorted(Comparator.comparing(AgentCode::getCode)) + .max( + (ac1, ac2) -> { + if (null == ac1.getVersion()) { + return -1; + } else if (null == ac2.getVersion()) { + return 1; + } + return ac1.getVersion().compareTo(ac2.getVersion()); + }) + .orElse(null)) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + } - /** - * Queries source for agents with name and code starting with query string. - * If size is zero, all available results will be returned. - * - * @param query The query string - * @param size Maximal amount of responses - * @return A list with agent codes - */ - List findAgentCodes(String query, int size); + /** + * Queries source for agents with name and code starting with query string. If size is zero, all + * available results will be returned. + * + * @param query The query string + * @param size Maximal amount of responses + * @return A list with agent codes + */ + List findAgentCodes(String query, int size); } -- cgit v1.2.3