@@ -105,44 +105,55 @@ public void accept(IProcessingRequest t) {
105105 docBean .setTextFiles (new ArrayList <>());
106106 docBean .setMetadataUrl (metadataService .getDocumentLink (doc ));
107107 docBean .setPages (new ArrayList <>());
108-
108+
109+ List <String > ids = new ArrayList <>();
110+ docBean .getTasks ().forEach (t -> {
111+ if (t .getResultFileId () != null ) {
112+ ids .add (t .getResultFileId ());
113+ }
114+ });
115+ Map <String , IFile > additionalFilesMap = fileService .getFilesForIds (ids );
116+
117+
109118 IFile origFile = fileService .getFileById (doc .getUploadedFileId ());
110119 if (origFile != null ) {
111120 FilePageBean bean = createFilePageBean (fileMappingService , requestsByFileId ,
112- badgesByFile , origFile , docBean .getTasks ());
121+ badgesByFile , origFile , docBean .getTasks (), additionalFilesMap );
113122 docBean .setUploadedFile (bean );
114123 }
115124
116125 IFile textFile = fileService .getFileById (doc .getExtractedTextFileId ());
117126 if (textFile != null ) {
118127 FilePageBean bean = createFilePageBean (fileMappingService , requestsByFileId ,
119- badgesByFile , textFile , docBean .getTasks ());
128+ badgesByFile , textFile , docBean .getTasks (), additionalFilesMap );
120129 docBean .setExtractedTextFile (bean );
121130 }
122-
131+
123132 for (IPage page : doc .getPages ()) {
124133 PagePageBean bean = pageMappingService .convertToT2 (page , new PagePageBean ());
125134 docBean .getPages ().add (bean );
135+
136+ Map <String , IFile > pageFiles = fileService .getFilesForPage (page );
126137
127- IFile imageFile = fileService . getFileById (page .getImageFileId ());
138+ IFile imageFile = pageFiles . get (page .getImageFileId ());
128139 if (imageFile != null ) {
129140 FilePageBean pageBean = createFilePageBean (fileMappingService ,
130- requestsByFileId , badgesByFile , imageFile , docBean .getTasks ());
141+ requestsByFileId , badgesByFile , imageFile , docBean .getTasks (), additionalFilesMap );
131142 bean .setImageFile (pageBean );
132143
133144 }
134145
135- IFile pageTextFile = fileService . getFileById (page .getTextFileId ());
146+ IFile pageTextFile = pageFiles . get (page .getTextFileId ());
136147 if (pageTextFile != null ) {
137148 FilePageBean textBean = createFilePageBean (fileMappingService ,
138- requestsByFileId , badgesByFile , pageTextFile , docBean .getTasks ());
149+ requestsByFileId , badgesByFile , pageTextFile , docBean .getTasks (), additionalFilesMap );
139150 bean .setTextFile (textBean );
140151 }
141152
142- IFile ocrFile = fileService . getFileById (page .getOcrFileId ());
153+ IFile ocrFile = pageFiles . get (page .getOcrFileId ());
143154 if (ocrFile != null ) {
144155 FilePageBean ocrBean = createFilePageBean (fileMappingService ,
145- requestsByFileId , badgesByFile , ocrFile , docBean .getTasks ());
156+ requestsByFileId , badgesByFile , ocrFile , docBean .getTasks (), additionalFilesMap );
146157 bean .setOcrFile (ocrBean );
147158 }
148159 }
@@ -153,19 +164,20 @@ public void accept(IProcessingRequest t) {
153164 private FilePageBean createFilePageBean (
154165 IGilesMappingService <IFile , FilePageBean > fileMappingService ,
155166 Map <String , List <IProcessingRequest >> requestsByFileId ,
156- Map <String , List <Badge >> badgesByFile , IFile file , List <ITask > tasks )
167+ Map <String , List <Badge >> badgesByFile , IFile file , List <ITask > tasks , Map < String , IFile > additionalFiles )
157168 throws GilesMappingException {
158169 FilePageBean pageBean = fileMappingService .convertToT2 (file , new FilePageBean ());
159170 pageBean .setMetadataLink (metadataService .getFileLink (file ));
160171 setRequestStatus (pageBean , requestsByFileId );
161172 pageBean .setBadges (badgesByFile .get (pageBean .getId ()));
162- addAdditionalFiles (pageBean , tasks , requestsByFileId );
173+ addAdditionalFiles (pageBean , tasks , requestsByFileId , additionalFiles );
163174 return pageBean ;
164175 }
165176
166- private void addAdditionalFiles (FilePageBean bean , List <ITask > tasks , Map <String , List <IProcessingRequest >> requestsByFileId ) {
177+ private void addAdditionalFiles (FilePageBean bean , List <ITask > tasks ,
178+ Map <String , List <IProcessingRequest >> requestsByFileId , Map <String , IFile > additionalFiles ) {
167179 tasks .forEach (t -> {
168- IFile additionalFile = fileService . getFileById (t .getResultFileId ());
180+ IFile additionalFile = additionalFiles . get (t .getResultFileId ());
169181 if (additionalFile != null ) {
170182 if (bean .getId ().equals (additionalFile .getDerivedFrom ())) {
171183 AdditionalFilePageBean additionalFileBean = new AdditionalFilePageBean (t .getResultFileId (),
0 commit comments