summaryrefslogtreecommitdiff
path: root/src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java')
-rw-r--r--src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java79
1 files changed, 39 insertions, 40 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java b/src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java
index 306563d..0dfb1e6 100644
--- a/src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java
+++ b/src/main/java/dev/dnpm/oshelper/atc/services/OnkostarAgentCodeService.java
@@ -22,10 +22,9 @@ package dev.dnpm.oshelper.atc.services;
import dev.dnpm.oshelper.atc.AgentCode;
import dev.dnpm.oshelper.atc.AtcCode;
import dev.dnpm.oshelper.atc.UnregisteredCode;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-import javax.sql.DataSource;
import java.util.List;
+import javax.sql.DataSource;
+import org.springframework.jdbc.core.JdbcTemplate;
/**
* Implementation of {@link AgentCodeService} that uses database to query for unregistered agents
@@ -35,45 +34,45 @@ import java.util.List;
*/
public class OnkostarAgentCodeService implements AgentCodeService {
- private final JdbcTemplate jdbcTemplate;
-
- public OnkostarAgentCodeService(final DataSource dataSource) {
- this.jdbcTemplate = new JdbcTemplate(dataSource);
- }
+ private final JdbcTemplate jdbcTemplate;
- /**
- * 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 sql = "SELECT code, shortdesc, synonyms\n" +
- " FROM property_catalogue\n" +
- " JOIN property_catalogue_version ON (property_catalogue_version.datacatalog_id = property_catalogue.id)\n" +
- " JOIN property_catalogue_version_entry p ON (p.property_version_id = property_catalogue_version.id)\n" +
- " WHERE name = 'OS.Substanzen'\n" +
- " AND (LOWER(code) LIKE ? OR LOWER(shortdesc) LIKE ? OR LOWER(synonyms) LIKE ?)";
+ public OnkostarAgentCodeService(final DataSource dataSource) {
+ this.jdbcTemplate = new JdbcTemplate(dataSource);
+ }
- if (size > 0) {
- sql = sql + " LIMIT " + size;
- }
+ /**
+ * 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 sql =
+ "SELECT code, shortdesc, synonyms\n"
+ + " FROM property_catalogue\n"
+ + " JOIN property_catalogue_version ON (property_catalogue_version.datacatalog_id = property_catalogue.id)\n"
+ + " JOIN property_catalogue_version_entry p ON (p.property_version_id = property_catalogue_version.id)\n"
+ + " WHERE name = 'OS.Substanzen'\n"
+ + " AND (LOWER(code) LIKE ? OR LOWER(shortdesc) LIKE ? OR LOWER(synonyms) LIKE ?)";
- return jdbcTemplate.query(
- sql,
- new Object[]{query + "%", "%" + query + "%", "%" + query + "%"},
- (resultSet, i) -> {
- var code = resultSet.getString("code");
- var shortdesc = resultSet.getString("shortdesc");
- var synonyms = resultSet.getString("synonyms");
- if (AtcCode.isAtcCode(code)) {
- return new AtcCode(code, shortdesc);
- }
- return new UnregisteredCode(code, shortdesc, synonyms);
- }
- );
+ if (size > 0) {
+ sql = sql + " LIMIT " + size;
}
+
+ return jdbcTemplate.query(
+ sql,
+ new Object[] {query + "%", "%" + query + "%", "%" + query + "%"},
+ (resultSet, i) -> {
+ var code = resultSet.getString("code");
+ var shortdesc = resultSet.getString("shortdesc");
+ var synonyms = resultSet.getString("synonyms");
+ if (AtcCode.isAtcCode(code)) {
+ return new AtcCode(code, shortdesc);
+ }
+ return new UnregisteredCode(code, shortdesc, synonyms);
+ });
+ }
}