@@ -79,11 +79,28 @@ public FeAnalysisWithCriteriaEntity createCriteriaAnalysis(final FeAnalysisWithC
79
79
FeAnalysisWithCriteriaEntity newAnalysis = newAnalysis (analysis );
80
80
newAnalysis .setDesign (Collections .emptyList ());
81
81
final FeAnalysisWithCriteriaEntity entityWithMainFields = saveNew (newAnalysis );
82
+ if (createOrUpdateConceptSetEntity (entityWithMainFields , analysis .getConceptSetEntity ())) {
83
+ analysisRepository .save (entityWithMainFields );
84
+ }
82
85
final List <FeAnalysisCriteriaEntity > criteriaList = createCriteriaListForAnalysis (entityWithMainFields , analysis .getDesign ());
83
86
entityWithMainFields .setDesign (criteriaList );
84
87
return entityWithMainFields ;
85
88
}
86
89
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
+
87
104
private <T extends FeAnalysisEntity > T saveNew (T entity ) {
88
105
entity .setCreatedBy (getCurrentUser ());
89
106
entity .setCreatedDate (new Date ());
@@ -129,13 +146,7 @@ public FeAnalysisEntity updateAnalysis(Integer feAnalysisId, FeAnalysisEntity up
129
146
savedWithCriteria = (FeAnalysisWithCriteriaEntity ) savedEntity ;
130
147
removeFeAnalysisCriteriaEntities (savedWithCriteria , updatedWithCriteriaEntity );
131
148
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 ());
139
150
}
140
151
savedEntity .setDesign (updatedEntity .getDesign ());
141
152
if (Objects .nonNull (updatedEntity .getDomain ())) {
0 commit comments