Skip to content

Commit 6b5997d

Browse files
authored
Fixes Feature concept set isn't imported (#1376)
1 parent 216fc25 commit 6b5997d

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

src/main/java/org/ohdsi/webapi/feanalysis/FeAnalysisServiceImpl.java

+18-7
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,28 @@ public FeAnalysisWithCriteriaEntity createCriteriaAnalysis(final FeAnalysisWithC
7979
FeAnalysisWithCriteriaEntity newAnalysis = newAnalysis(analysis);
8080
newAnalysis.setDesign(Collections.emptyList());
8181
final FeAnalysisWithCriteriaEntity entityWithMainFields = saveNew(newAnalysis);
82+
if (createOrUpdateConceptSetEntity(entityWithMainFields, analysis.getConceptSetEntity())) {
83+
analysisRepository.save(entityWithMainFields);
84+
}
8285
final List<FeAnalysisCriteriaEntity> criteriaList = createCriteriaListForAnalysis(entityWithMainFields, analysis.getDesign());
8386
entityWithMainFields.setDesign(criteriaList);
8487
return entityWithMainFields;
8588
}
8689

90+
private boolean createOrUpdateConceptSetEntity(FeAnalysisWithCriteriaEntity analysis, FeAnalysisConcepsetEntity modifiedConceptSet) {
91+
92+
if (Objects.nonNull(modifiedConceptSet)) {
93+
FeAnalysisConcepsetEntity concepsetEntity = Optional.ofNullable(analysis.getConceptSetEntity())
94+
.orElseGet(FeAnalysisConcepsetEntity::new);
95+
concepsetEntity.setFeatureAnalysis(analysis);
96+
concepsetEntity.setRawExpression(modifiedConceptSet.getRawExpression());
97+
analysis.setConceptSetEntity(concepsetEntity);
98+
return true;
99+
} else {
100+
return false;
101+
}
102+
}
103+
87104
private <T extends FeAnalysisEntity> T saveNew(T entity) {
88105
entity.setCreatedBy(getCurrentUser());
89106
entity.setCreatedDate(new Date());
@@ -129,13 +146,7 @@ public FeAnalysisEntity updateAnalysis(Integer feAnalysisId, FeAnalysisEntity up
129146
savedWithCriteria = (FeAnalysisWithCriteriaEntity) savedEntity;
130147
removeFeAnalysisCriteriaEntities(savedWithCriteria, updatedWithCriteriaEntity);
131148
updatedWithCriteriaEntity.getDesign().forEach(criteria -> criteria.setFeatureAnalysis(savedWithCriteria));
132-
if (Objects.nonNull(updatedWithCriteriaEntity.getConceptSetEntity())) {
133-
FeAnalysisConcepsetEntity concepsetEntity = Optional.ofNullable(((FeAnalysisWithCriteriaEntity) savedEntity).getConceptSetEntity())
134-
.orElseGet(FeAnalysisConcepsetEntity::new);
135-
concepsetEntity.setFeatureAnalysis(savedWithCriteria);
136-
concepsetEntity.setRawExpression(updatedWithCriteriaEntity.getConceptSetEntity().getRawExpression());
137-
savedWithCriteria.setConceptSetEntity(concepsetEntity);
138-
}
149+
createOrUpdateConceptSetEntity((FeAnalysisWithCriteriaEntity) savedEntity, updatedWithCriteriaEntity.getConceptSetEntity());
139150
}
140151
savedEntity.setDesign(updatedEntity.getDesign());
141152
if (Objects.nonNull(updatedEntity.getDomain())) {

0 commit comments

Comments
 (0)