mirror of
https://github.com/pcvolkmer/mv64e-onkostar-data.git
synced 2025-07-02 02:22:54 +00:00
refactor: rename catalogue classes
This commit is contained in:
@ -8,6 +8,7 @@ version = "0.1.0-SNAPSHOT"
|
||||
|
||||
var versions = mapOf(
|
||||
"mtb-dto" to "0.1.0-SNAPSHOT",
|
||||
"slf4j" to "2.0.17",
|
||||
"junit" to "5.13.1",
|
||||
"assertj" to "3.27.3",
|
||||
"mockito" to "5.18.0"
|
||||
@ -46,6 +47,7 @@ dependencies {
|
||||
prefer("4.3.8.RELEASE")
|
||||
}
|
||||
}
|
||||
implementation("org.slf4j:slf4j-api:${versions["slf4j"]}")
|
||||
|
||||
testImplementation(platform("org.junit:junit-bom:${versions["junit"]}"))
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
|
@ -1,13 +1,11 @@
|
||||
package dev.pcvolkmer.onco.datamapper;
|
||||
|
||||
import dev.pcvolkmer.mv64e.mtb.Coding;
|
||||
import dev.pcvolkmer.mv64e.mtb.Mtb;
|
||||
import dev.pcvolkmer.mv64e.mtb.MtbDiagnosis;
|
||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.Kpa;
|
||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
|
||||
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
@ -20,18 +18,18 @@ public class KpaDiagnosisDataMapper implements DataMapper<MtbDiagnosis> {
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
KpaDiagnosisDataMapper(final JdbcTemplate jdbcTemplate) {
|
||||
private KpaDiagnosisDataMapper(final JdbcTemplate jdbcTemplate) {
|
||||
this.jdbcTemplate = jdbcTemplate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create instance of the mapper class
|
||||
*
|
||||
* @param dataSource The datasource to be used
|
||||
* @param jdbcTemplate The Spring JdbcTemplate to be used
|
||||
* @return The initialized mapper
|
||||
*/
|
||||
public static KpaDiagnosisDataMapper create(final DataSource dataSource) {
|
||||
return new KpaDiagnosisDataMapper(new JdbcTemplate(dataSource));
|
||||
public static KpaDiagnosisDataMapper create(final JdbcTemplate jdbcTemplate) {
|
||||
return new KpaDiagnosisDataMapper(jdbcTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -42,7 +40,7 @@ public class KpaDiagnosisDataMapper implements DataMapper<MtbDiagnosis> {
|
||||
*/
|
||||
@Override
|
||||
public MtbDiagnosis getById(int id) {
|
||||
var kpa = Kpa.create(this.jdbcTemplate);
|
||||
var kpa = KpaCatalogue.create(this.jdbcTemplate);
|
||||
var data = kpa.getById(id);
|
||||
|
||||
var builder = MtbDiagnosis.builder();
|
||||
|
@ -1,10 +1,14 @@
|
||||
package dev.pcvolkmer.onco.datamapper;
|
||||
|
||||
import dev.pcvolkmer.mv64e.mtb.Mtb;
|
||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.Kpa;
|
||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
|
||||
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Mapper class to load and map Mtb files from database
|
||||
@ -14,6 +18,8 @@ import javax.sql.DataSource;
|
||||
*/
|
||||
public class MtbDataMapper implements DataMapper<Mtb> {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
MtbDataMapper(final JdbcTemplate jdbcTemplate) {
|
||||
@ -30,15 +36,35 @@ public class MtbDataMapper implements DataMapper<Mtb> {
|
||||
return new MtbDataMapper(new JdbcTemplate(dataSource));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create instance of the mapper class
|
||||
*
|
||||
* @param jdbcTemplate The Spring JdbcTemplate to be used
|
||||
* @return The initialized mapper
|
||||
*/
|
||||
public static MtbDataMapper create(final JdbcTemplate jdbcTemplate) {
|
||||
return new MtbDataMapper(jdbcTemplate);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads and maps a Mtb file using the root procedures database id
|
||||
*
|
||||
* @param id The database id of the root procedure data set
|
||||
* @param kpaId The database id of the root procedure data set
|
||||
* @return The loaded Mtb file
|
||||
*/
|
||||
@Override
|
||||
public Mtb getById(int id) {
|
||||
return Mtb.builder().build();
|
||||
public Mtb getById(int kpaId) {
|
||||
var diagnosisDataMapper = KpaDiagnosisDataMapper.create(jdbcTemplate);
|
||||
var resultBuilder = Mtb.builder();
|
||||
|
||||
try {
|
||||
resultBuilder
|
||||
.diagnoses(List.of(diagnosisDataMapper.getById(kpaId)));
|
||||
} catch (DataAccessException e) {
|
||||
logger.error("Error while getting Mtb.", e);
|
||||
}
|
||||
|
||||
return resultBuilder.build();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -48,7 +74,7 @@ public class MtbDataMapper implements DataMapper<Mtb> {
|
||||
* @return The loaded Mtb file
|
||||
*/
|
||||
public Mtb getByCaseId(String caseId) {
|
||||
var kpa = Kpa.create(this.jdbcTemplate);
|
||||
var kpa = KpaCatalogue.create(this.jdbcTemplate);
|
||||
return this.getById(
|
||||
kpa.getProcedureIdByCaseId(caseId)
|
||||
);
|
||||
|
@ -11,16 +11,16 @@ import java.sql.ResultSet;
|
||||
* @author Paul-Christian Volkmer
|
||||
* @since 0.1
|
||||
*/
|
||||
public class Kpa {
|
||||
public class KpaCatalogue {
|
||||
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
|
||||
private Kpa(JdbcTemplate jdbcTemplate) {
|
||||
private KpaCatalogue(JdbcTemplate jdbcTemplate) {
|
||||
this.jdbcTemplate = jdbcTemplate;
|
||||
}
|
||||
|
||||
public static Kpa create(JdbcTemplate jdbcTemplate) {
|
||||
return new Kpa(jdbcTemplate);
|
||||
public static KpaCatalogue create(JdbcTemplate jdbcTemplate) {
|
||||
return new KpaCatalogue(jdbcTemplate);
|
||||
}
|
||||
|
||||
/**
|
@ -13,6 +13,7 @@ import javax.sql.DataSource;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
@ -28,7 +29,7 @@ class KpaDiagnosisDataMapperTest {
|
||||
@BeforeEach
|
||||
void setUp(@Mock JdbcTemplate jdbcTemplate) {
|
||||
this.jdbcTemplate = jdbcTemplate;
|
||||
this.dataMapper = new KpaDiagnosisDataMapper(jdbcTemplate);
|
||||
this.dataMapper = KpaDiagnosisDataMapper.create(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -37,17 +38,10 @@ class KpaDiagnosisDataMapperTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldUseKpaProcedureId(@Mock ResultSet resultSet) throws SQLException {
|
||||
void shouldCreateDiagnosis(@Mock ResultSet resultSet) throws SQLException {
|
||||
doAnswer(invocationOnMock -> {
|
||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||
switch (columnName) {
|
||||
case "id":
|
||||
return "1";
|
||||
case "icd10":
|
||||
return "F79.9";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return testData().get(columnName);
|
||||
}).when(resultSet).getString(anyString());
|
||||
|
||||
doAnswer(invocationOnMock -> List.of(resultSet))
|
||||
@ -60,4 +54,11 @@ class KpaDiagnosisDataMapperTest {
|
||||
assertThat(actual.getCode().getCode()).isEqualTo("F79.9");
|
||||
}
|
||||
|
||||
private static Map<String, Object> testData() {
|
||||
return Map.of(
|
||||
"id", "1",
|
||||
"icd10", "F79.9"
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user