@@ -143,13 +143,7 @@ public List<ObservationVariable> findObservationVariables(ObservationVariableSea
143143 log .debug ("Starting variable search" );
144144 Page <ObservationVariableEntity > page = observationVariableRepository .findAllBySearch (searchQuery , pageReq );
145145 log .debug ("Variable search complete" );
146- if (!page .isEmpty ()) {
147- observationVariableRepository .fetchXrefs (page , ObservationVariableEntity .class );
148- fetchSynonyms (page );
149- fetchMethodXrefs (page );
150- fetchScaleXrefs (page );
151- fetchTraitXrefs (page );
152- }
146+
153147
154148 log .debug ("converting " +page .getSize ()+" entities" );
155149 List <ObservationVariable > observationVariables = page .map (this ::convertFromEntity ).getContent ();
@@ -158,75 +152,6 @@ public List<ObservationVariable> findObservationVariables(ObservationVariableSea
158152 return observationVariables ;
159153 }
160154
161- public void fetchSynonyms (Page <ObservationVariableEntity > page ) {
162- SearchQueryBuilder <ObservationVariableEntity > searchQuery = new SearchQueryBuilder <>(ObservationVariableEntity .class );
163- searchQuery .leftJoinFetch ("synonyms" , "synonyms" )
164- .appendList (page .stream ().map (BrAPIBaseEntity ::getId ).collect (Collectors .toList ()), "id" );
165-
166- Page <ObservationVariableEntity > synonyms = observationVariableRepository .findAllBySearch (searchQuery , PageRequest .of (0 , page .getSize ()));
167-
168- Map <String , List <String >> synonymsByVar = new HashMap <>();
169- synonyms .forEach (entity -> synonymsByVar .put (entity .getId (), entity .getSynonyms ()));
170-
171- page .forEach (entity -> entity .setSynonyms (synonymsByVar .get (entity .getMethod ().getId ())));
172- }
173-
174- public void fetchMethodXrefs (Page <ObservationVariableEntity > page ) {
175- SearchQueryBuilder <MethodEntity > searchQuery = new SearchQueryBuilder <>(MethodEntity .class );
176- searchQuery .leftJoinFetch ("externalReferences" , "externalReferences" )
177- .join ("variables" , "variables" )
178- .appendList (page .stream ().map (BrAPIBaseEntity ::getId ).collect (Collectors .toList ()), "*variables.id" );
179-
180- Page <MethodEntity > xrefs = methodRepository .findAllBySearch (searchQuery , PageRequest .of (0 , page .getSize ()));
181-
182- Map <String , List <ExternalReferenceEntity >> xrefByEntity = new HashMap <>();
183- xrefs .forEach (entity -> xrefByEntity .put (entity .getId (), entity .getExternalReferences ()));
184-
185- page .forEach (entity -> entity .getMethod ().setExternalReferences (xrefByEntity .get (entity .getMethod ().getId ())));
186- }
187-
188- public void fetchScaleXrefs (Page <ObservationVariableEntity > page ) {
189- SearchQueryBuilder <ScaleEntity > searchQuery = new SearchQueryBuilder <>(ScaleEntity .class );
190- searchQuery .leftJoinFetch ("externalReferences" , "externalReferences" )
191- .join ("variables" , "variables" )
192- .appendList (page .stream ().map (BrAPIBaseEntity ::getId ).collect (Collectors .toList ()), "*variables.id" );
193-
194- Page <ScaleEntity > xrefs = scaleRepository .findAllBySearch (searchQuery , PageRequest .of (0 , page .getSize ()));
195-
196- Map <String , List <ExternalReferenceEntity >> xrefByEntity = new HashMap <>();
197- xrefs .forEach (entity -> xrefByEntity .put (entity .getId (), entity .getExternalReferences ()));
198-
199- page .forEach (entity -> entity .getScale ().setExternalReferences (xrefByEntity .get (entity .getMethod ().getId ())));
200- }
201-
202- public void fetchScaleValidValueCategories (Page <ObservationVariableEntity > page ) {
203- SearchQueryBuilder <ScaleEntity > searchQuery = new SearchQueryBuilder <>(ScaleEntity .class );
204- searchQuery .leftJoinFetch ("validValueCategories" , "validValueCategories" )
205- .join ("variables" , "variables" )
206- .appendList (page .stream ().map (BrAPIBaseEntity ::getId ).collect (Collectors .toList ()), "*variables.id" );
207-
208- Page <ScaleEntity > validValueCategories = scaleRepository .findAllBySearch (searchQuery , PageRequest .of (0 , page .getSize ()));
209-
210- Map <String , List <ScaleValidValueCategoryEntity >> infoByEntity = new HashMap <>();
211- validValueCategories .forEach (entity -> infoByEntity .put (entity .getId (), entity .getValidValueCategories ()));
212-
213- page .forEach (entity -> entity .getScale ().setValidValueCategories (infoByEntity .get (entity .getId ())));
214- }
215-
216- public void fetchTraitXrefs (Page <ObservationVariableEntity > page ) {
217- SearchQueryBuilder <TraitEntity > searchQuery = new SearchQueryBuilder <>(TraitEntity .class );
218- searchQuery .leftJoinFetch ("externalReferences" , "externalReferences" )
219- .join ("variables" , "variables" )
220- .appendList (page .stream ().map (BrAPIBaseEntity ::getId ).collect (Collectors .toList ()), "*variables.id" );
221-
222- Page <TraitEntity > xrefs = traitRepository .findAllBySearch (searchQuery , PageRequest .of (0 , page .getSize ()));
223-
224- Map <String , List <ExternalReferenceEntity >> xrefByEntity = new HashMap <>();
225- xrefs .forEach (entity -> xrefByEntity .put (entity .getId (), entity .getExternalReferences ()));
226-
227- page .forEach (entity -> entity .getTrait ().setExternalReferences (xrefByEntity .get (entity .getMethod ().getId ())));
228- }
229-
230155 public List <ObservationVariable > saveObservationVariables (@ Valid List <ObservationVariableNewRequest > body )
231156 throws BrAPIServerException {
232157 List <ObservationVariable > savedObservationVariables = new ArrayList <>();
0 commit comments