@@ -895,18 +895,23 @@ private ConceptSetVersion saveVersion(int id) {
895
895
public boolean saveConceptSetAnnotation (@ PathParam ("id" ) final int conceptSetId , SaveConceptSetAnnotationsRequest request ) {
896
896
removeAnnotations (conceptSetId , request );
897
897
if (CollectionUtils .isNotEmpty (request .getNewAnnotation ())) {
898
- List <ConceptSetAnnotation > annotationList = request .getNewAnnotation ().stream ().map (m -> {
898
+ List <ConceptSetAnnotation > annotationList = request .getNewAnnotation ()
899
+ .stream ()
900
+ .map (newAnnotationData -> {
899
901
ConceptSetAnnotation conceptSetAnnotation = new ConceptSetAnnotation ();
900
902
conceptSetAnnotation .setConceptSetId (conceptSetId );
901
903
try {
902
- AnnotationDetailsDTO annotationDetailsDTO = mapper .readValue (mapper .writeValueAsString (m ), AnnotationDetailsDTO .class );
904
+ AnnotationDetailsDTO annotationDetailsDTO = new AnnotationDetailsDTO ();
905
+ annotationDetailsDTO .setId (newAnnotationData .getId ());
906
+ annotationDetailsDTO .setConceptId (newAnnotationData .getConceptId ());
907
+ annotationDetailsDTO .setSearchData (newAnnotationData .getSearchData ());
903
908
conceptSetAnnotation .setAnnotationDetails (mapper .writeValueAsString (annotationDetailsDTO ));
904
909
} catch (JsonProcessingException e ) {
905
910
throw new RuntimeException (e );
906
911
}
907
- conceptSetAnnotation .setVocabularyVersion (m .getVocabularyVersion ());
908
- conceptSetAnnotation .setConceptSetVersion (m .getConceptSetVersion ());
909
- conceptSetAnnotation .setConceptId (m .getConceptId ());
912
+ conceptSetAnnotation .setVocabularyVersion (newAnnotationData .getVocabularyVersion ());
913
+ conceptSetAnnotation .setConceptSetVersion (newAnnotationData .getConceptSetVersion ());
914
+ conceptSetAnnotation .setConceptId (newAnnotationData .getConceptId ());
910
915
conceptSetAnnotation .setCreatedBy (getCurrentUser ());
911
916
conceptSetAnnotation .setCreatedDate (new Date ());
912
917
return conceptSetAnnotation ;
@@ -955,26 +960,35 @@ public void copyAnnotations(CopyAnnotationsRequest copyAnnotationsRequest ) {
955
960
@ Produces (MediaType .APPLICATION_JSON )
956
961
public List <AnnotationDTO > getConceptSetAnnotation (@ PathParam ("id" ) final int id ) {
957
962
List <ConceptSetAnnotation > annotationList = getConceptSetAnnotationRepository ().findByConceptSetId (id );
958
- List <AnnotationDTO > annotationDTOList = new ArrayList <>();
959
- for (ConceptSetAnnotation conceptSetAnnotation : annotationList ) {
960
- AnnotationDTO annotationDTO ;
961
- try {
962
- annotationDTO = mapper .readValue (conceptSetAnnotation .getAnnotationDetails (), AnnotationDTO .class );
963
- annotationDTO .setId (conceptSetAnnotation .getId ());
964
- annotationDTO .setVocabularyVersion (conceptSetAnnotation .getVocabularyVersion ());
965
- annotationDTO .setConceptSetVersion (conceptSetAnnotation .getConceptSetVersion ());
966
- annotationDTO .setCreatedBy (conceptSetAnnotation .getCreatedBy () != null ? conceptSetAnnotation .getCreatedBy ().getName () : null );
967
- annotationDTO .setCreatedDate (conceptSetAnnotation .getCreatedDate () != null ? conceptSetAnnotation .getCreatedDate ().toString () : null );
968
-
969
- String searchDataJSON = annotationDTO .getSearchData ();
970
- String humanReadableData = searchDataTransformer .convertJsonToReadableFormat (searchDataJSON );
971
- annotationDTO .setSearchData (humanReadableData );
972
- annotationDTOList .add (annotationDTO );
973
- } catch (IOException e ) {
974
- throw new RuntimeException (e );
975
- }
963
+ return annotationList .stream ()
964
+ .map (this ::convertAnnotationEntityToDTO )
965
+ .collect (Collectors .toList ());
966
+ }
967
+
968
+
969
+ private AnnotationDTO convertAnnotationEntityToDTO (ConceptSetAnnotation conceptSetAnnotation ) {
970
+ AnnotationDetailsDTO annotationDetails ;
971
+ try {
972
+ annotationDetails = mapper .readValue (conceptSetAnnotation .getAnnotationDetails (), AnnotationDetailsDTO .class );
973
+ } catch (JsonProcessingException e ) {
974
+ throw new RuntimeException (e );
976
975
}
977
- return annotationDTOList ;
976
+
977
+ AnnotationDTO annotationDTO = new AnnotationDTO ();
978
+
979
+ annotationDTO .setId (conceptSetAnnotation .getId ());
980
+ annotationDTO .setConceptId (conceptSetAnnotation .getConceptId ());
981
+
982
+ String searchDataJSON = annotationDetails .getSearchData ();
983
+ String humanReadableData = searchDataTransformer .convertJsonToReadableFormat (searchDataJSON );
984
+ annotationDTO .setSearchData (humanReadableData );
985
+
986
+ annotationDTO .setVocabularyVersion (conceptSetAnnotation .getVocabularyVersion ());
987
+ annotationDTO .setConceptSetVersion (conceptSetAnnotation .getConceptSetVersion ());
988
+ annotationDTO .setCreatedBy (conceptSetAnnotation .getCreatedBy () != null ? conceptSetAnnotation .getCreatedBy ().getName () : null );
989
+ annotationDTO .setCreatedDate (conceptSetAnnotation .getCreatedDate () != null ? conceptSetAnnotation .getCreatedDate ().toString () : null );
990
+
991
+ return annotationDTO ;
978
992
}
979
993
980
994
@ DELETE
0 commit comments