1
0
mirror of https://github.com/pcvolkmer/mv64e-onkostar-data.git synced 2025-07-04 19:32:55 +00:00

refactor: create mapper with catalogue

This commit is contained in:
2025-06-20 23:12:38 +02:00
parent 60ff180973
commit 865bebcaa6
8 changed files with 46 additions and 82 deletions

View File

@ -3,7 +3,6 @@ package dev.pcvolkmer.onco.datamapper;
import dev.pcvolkmer.mv64e.mtb.Coding;
import dev.pcvolkmer.mv64e.mtb.MtbDiagnosis;
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
import org.springframework.jdbc.core.JdbcTemplate;
import static dev.pcvolkmer.onco.datamapper.TypeMapper.asString;
@ -15,20 +14,10 @@ import static dev.pcvolkmer.onco.datamapper.TypeMapper.asString;
*/
public class KpaDiagnosisDataMapper implements DataMapper<MtbDiagnosis> {
private final JdbcTemplate jdbcTemplate;
private final KpaCatalogue kpaCatalogue;
private KpaDiagnosisDataMapper(final JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
/**
* Create instance of the mapper class
*
* @param jdbcTemplate The Spring JdbcTemplate to be used
* @return The initialized mapper
*/
public static KpaDiagnosisDataMapper create(final JdbcTemplate jdbcTemplate) {
return new KpaDiagnosisDataMapper(jdbcTemplate);
public KpaDiagnosisDataMapper(final KpaCatalogue kpaCatalogue) {
this.kpaCatalogue = kpaCatalogue;
}
/**
@ -39,8 +28,7 @@ public class KpaDiagnosisDataMapper implements DataMapper<MtbDiagnosis> {
*/
@Override
public MtbDiagnosis getById(int id) {
var kpa = KpaCatalogue.create(this.jdbcTemplate);
var data = kpa.getById(id);
var data = kpaCatalogue.getById(id);
var builder = MtbDiagnosis.builder();
builder

View File

@ -2,7 +2,6 @@ package dev.pcvolkmer.onco.datamapper;
import dev.pcvolkmer.mv64e.mtb.*;
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Map;
@ -17,20 +16,10 @@ import static dev.pcvolkmer.onco.datamapper.TypeMapper.asString;
*/
public class KpaPatientDataMapper implements DataMapper<Patient> {
private final JdbcTemplate jdbcTemplate;
private final KpaCatalogue kpaCatalogue;
private KpaPatientDataMapper(final JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
/**
* Create instance of the mapper class
*
* @param jdbcTemplate The Spring JdbcTemplate to be used
* @return The initialized mapper
*/
public static KpaPatientDataMapper create(final JdbcTemplate jdbcTemplate) {
return new KpaPatientDataMapper(jdbcTemplate);
public KpaPatientDataMapper(final KpaCatalogue kpaCatalogue) {
this.kpaCatalogue = kpaCatalogue;
}
/**
@ -41,7 +30,6 @@ public class KpaPatientDataMapper implements DataMapper<Patient> {
*/
@Override
public Patient getById(int id) {
var kpaCatalogue = KpaCatalogue.create(this.jdbcTemplate);
var kpaData = kpaCatalogue.getById(id);
var builder = Patient.builder();

View File

@ -2,6 +2,7 @@ package dev.pcvolkmer.onco.datamapper;
import dev.pcvolkmer.mv64e.mtb.Mtb;
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
import dev.pcvolkmer.onco.datamapper.datacatalogues.PatientCatalogue;
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -54,9 +55,10 @@ public class MtbDataMapper implements DataMapper<Mtb> {
*/
@Override
public Mtb getById(int kpaId) {
var patientDataMapper = PatientDataMapper.create(jdbcTemplate);
var kpaPatientDataMapper = KpaPatientDataMapper.create(jdbcTemplate);
var diagnosisDataMapper = KpaDiagnosisDataMapper.create(jdbcTemplate);
var kpaCatalogue = KpaCatalogue.create(jdbcTemplate);
var patientDataMapper = new PatientDataMapper(new PatientCatalogue(jdbcTemplate));
var kpaPatientDataMapper = new KpaPatientDataMapper(kpaCatalogue);
var diagnosisDataMapper = new KpaDiagnosisDataMapper(kpaCatalogue);
var resultBuilder = Mtb.builder();

View File

@ -6,7 +6,6 @@ import dev.pcvolkmer.mv64e.mtb.GenderCodingCode;
import dev.pcvolkmer.mv64e.mtb.Patient;
import dev.pcvolkmer.onco.datamapper.datacatalogues.PatientCatalogue;
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.Map;
@ -21,20 +20,10 @@ import static dev.pcvolkmer.onco.datamapper.TypeMapper.asString;
*/
public class PatientDataMapper implements DataMapper<Patient> {
private final JdbcTemplate jdbcTemplate;
private final PatientCatalogue patientCatalogue;
private PatientDataMapper(final JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
/**
* Create instance of the mapper class
*
* @param jdbcTemplate The Spring JdbcTemplate to be used
* @return The initialized mapper
*/
public static PatientDataMapper create(final JdbcTemplate jdbcTemplate) {
return new PatientDataMapper(jdbcTemplate);
public PatientDataMapper(final PatientCatalogue patientCatalogue) {
this.patientCatalogue = patientCatalogue;
}
/**
@ -45,7 +34,6 @@ public class PatientDataMapper implements DataMapper<Patient> {
*/
@Override
public Patient getById(int id) {
var patientCatalogue = PatientCatalogue.create(this.jdbcTemplate);
var patientData = patientCatalogue.getById(id);
var builder = Patient.builder();

View File

@ -15,7 +15,7 @@ public class PatientCatalogue implements DataCatalogue {
private final JdbcTemplate jdbcTemplate;
private PatientCatalogue(JdbcTemplate jdbcTemplate) {
public PatientCatalogue(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}