mirror of
https://github.com/pcvolkmer/mv64e-onkostar-data.git
synced 2025-09-13 16:02:52 +00:00
feat: add model project consent to mv metadata
This commit is contained in:
@@ -99,6 +99,10 @@ public class DataCatalogueFactory {
|
|||||||
return RebiopsieCatalogue.create(jdbcTemplate);
|
return RebiopsieCatalogue.create(jdbcTemplate);
|
||||||
} else if (c == ReevaluationCatalogue.class) {
|
} else if (c == ReevaluationCatalogue.class) {
|
||||||
return ReevaluationCatalogue.create(jdbcTemplate);
|
return ReevaluationCatalogue.create(jdbcTemplate);
|
||||||
|
} else if (c == ConsentMvCatalogue.class) {
|
||||||
|
return ConsentMvCatalogue.create(jdbcTemplate);
|
||||||
|
} else if (c == ConsentMvVerlaufCatalogue.class) {
|
||||||
|
return ConsentMvVerlaufCatalogue.create(jdbcTemplate);
|
||||||
}
|
}
|
||||||
throw new DataCatalogueCreationException(clazz);
|
throw new DataCatalogueCreationException(clazz);
|
||||||
});
|
});
|
||||||
|
@@ -60,15 +60,18 @@ public class ConsentMvDataMapper implements DataMapper<ModelProjectConsent> {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ModelProjectConsent getById(int id) {
|
public ModelProjectConsent getById(int id) {
|
||||||
|
try {
|
||||||
var data = catalogue.getById(id);
|
var data = catalogue.getById(id);
|
||||||
|
|
||||||
var builder = ModelProjectConsent.builder();
|
var builder = ModelProjectConsent.builder();
|
||||||
builder
|
builder
|
||||||
.date(data.getDate("date"))
|
|
||||||
.version(getLatestVersion(id))
|
.version(getLatestVersion(id))
|
||||||
.provisions(getProvisions(data))
|
.provisions(getProvisions(data))
|
||||||
;
|
;
|
||||||
return builder.build();
|
return builder.build();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getLatestVersion(int id) {
|
private String getLatestVersion(int id) {
|
||||||
|
@@ -20,9 +20,7 @@
|
|||||||
|
|
||||||
package dev.pcvolkmer.onco.datamapper.mapper;
|
package dev.pcvolkmer.onco.datamapper.mapper;
|
||||||
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.Mtb;
|
import dev.pcvolkmer.mv64e.mtb.*;
|
||||||
import dev.pcvolkmer.mv64e.mtb.Reference;
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.TumorSpecimen;
|
|
||||||
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
|
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
|
||||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.*;
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.*;
|
||||||
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
||||||
@@ -139,6 +137,11 @@ public class MtbDataMapper implements DataMapper<Mtb> {
|
|||||||
propertyCatalogue
|
propertyCatalogue
|
||||||
);
|
);
|
||||||
|
|
||||||
|
var consentMvDataMapper = new ConsentMvDataMapper(
|
||||||
|
catalogueFactory.catalogue(ConsentMvCatalogue.class),
|
||||||
|
catalogueFactory.catalogue(ConsentMvVerlaufCatalogue.class)
|
||||||
|
);
|
||||||
|
|
||||||
var resultBuilder = Mtb.builder();
|
var resultBuilder = Mtb.builder();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -194,8 +197,19 @@ public class MtbDataMapper implements DataMapper<Mtb> {
|
|||||||
.ngsReports(
|
.ngsReports(
|
||||||
kpaMolekulargenetikDataMapper.getAllByKpaId(kpaId)
|
kpaMolekulargenetikDataMapper.getAllByKpaId(kpaId)
|
||||||
)
|
)
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
// Consent - as far as present
|
||||||
|
var consentId = kpaCatalogue.getById(kpaId).getString("consentmv64e");
|
||||||
|
if (null != consentId) {
|
||||||
|
resultBuilder.metadata(
|
||||||
|
MvhMetadata.builder()
|
||||||
|
.modelProjectConsent(
|
||||||
|
consentMvDataMapper.getById(kpaCatalogue.getById(kpaId).getInteger("consentmv64e"))
|
||||||
|
)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
} catch (DataAccessException e) {
|
} catch (DataAccessException e) {
|
||||||
logger.error("Error while getting Mtb.", e);
|
logger.error("Error while getting Mtb.", e);
|
||||||
}
|
}
|
||||||
|
@@ -104,7 +104,8 @@ class ConsentMvDataMapperTest {
|
|||||||
|
|
||||||
var actual = this.dataMapper.getById(1);
|
var actual = this.dataMapper.getById(1);
|
||||||
assertThat(actual).isInstanceOf(ModelProjectConsent.class);
|
assertThat(actual).isInstanceOf(ModelProjectConsent.class);
|
||||||
assertThat(actual.getDate()).isEqualTo(Date.from(Instant.parse("2025-07-12T00:00:00Z")));
|
// Intentionally left blank/null
|
||||||
|
assertThat(actual.getDate()).isNull();
|
||||||
assertThat(actual.getVersion()).isEqualTo("02");
|
assertThat(actual.getVersion()).isEqualTo("02");
|
||||||
assertThat(actual.getProvisions()).hasSize(3);
|
assertThat(actual.getProvisions()).hasSize(3);
|
||||||
assertThat(actual.getProvisions()).containsAll(
|
assertThat(actual.getProvisions()).containsAll(
|
||||||
|
Reference in New Issue
Block a user