diff options
| author | Paul-Christian Volkmer | 2023-04-05 10:28:55 +0200 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-04-05 10:52:26 +0200 |
| commit | abb54090aa5173f9822802e23b510862d93889b2 (patch) | |
| tree | 7ef8df0339fab98115271a1e8e43f183dee7ae0f /src/main/java/ATCCodes/services/FileBasedAgentCodeService.java | |
| parent | a47d6279cfd6a45acb570b4b398d0f712eef9313 (diff) | |
Issue #19: Integration des ATC-Codes-Plugins in dieses Plugin
closes #19
Diffstat (limited to 'src/main/java/ATCCodes/services/FileBasedAgentCodeService.java')
| -rw-r--r-- | src/main/java/ATCCodes/services/FileBasedAgentCodeService.java | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/main/java/ATCCodes/services/FileBasedAgentCodeService.java b/src/main/java/ATCCodes/services/FileBasedAgentCodeService.java deleted file mode 100644 index 17ba389..0000000 --- a/src/main/java/ATCCodes/services/FileBasedAgentCodeService.java +++ /dev/null @@ -1,63 +0,0 @@ -package ATCCodes.services; - -import ATCCodes.AgentCode; -import org.apache.commons.lang.SystemUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.core.io.ResourceLoader; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * Abstract {@link AgentCodeService} for use with files that will load information into memory - * - * @author Paul-Christian Volkmer - * @since 0.1.0 - */ -public abstract class FileBasedAgentCodeService implements AgentCodeService { - - protected final Logger logger = LoggerFactory.getLogger(this.getClass()); - - protected final List<AgentCode> codeList = new ArrayList<>(); - - FileBasedAgentCodeService(final ResourceLoader resourceLoader) { - this.codeList.addAll(parseFile(resourceLoader)); - } - - static String getFilePath(final String filename) { - String pluginPathPart = "onkostar/files/onkostar/plugins/onkostar-plugin-atccodes"; - - if (SystemUtils.IS_OS_WINDOWS) { - return String.format("file:///c:/%s/%s", pluginPathPart, filename); - } else if (SystemUtils.IS_OS_LINUX) { - return String.format("file:///opt/%s/%s", pluginPathPart, filename); - } - return filename; - } - - protected abstract List<AgentCode> parseFile(final ResourceLoader resourceLoader); - - /** - * Queries source for agents code starting with or name containing 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 - */ - @Override - public List<AgentCode> findAgentCodes(final String query, final int size) { - var resultStream = this.codeList.stream().filter(agentCode -> - agentCode.getCode().toLowerCase().startsWith(query.toLowerCase()) - || agentCode.getName().toLowerCase().contains(query.toLowerCase()) - ); - - if (size > 0) { - return resultStream.limit(size).collect(Collectors.toList()); - } - return resultStream.collect(Collectors.toList()); - } - -}
\ No newline at end of file |
