2121package at .kc .tugraz .ss .serv .dataimport .impl .bitsandpieces ;
2222
2323import at .kc .tugraz .ss .serv .dataimport .datatypes .pars .SSDataImportBitsAndPiecesPar ;
24+ import at .kc .tugraz .ss .serv .dataimport .impl .SSDataImportImpl ;
2425import at .kc .tugraz .ss .serv .datatypes .entity .api .SSEntityServerI ;
2526import at .kc .tugraz .ss .serv .voc .conf .SSVocConf ;
2627import at .kc .tugraz .ss .service .filerepo .api .SSFileRepoServerI ;
3435import at .tugraz .sss .serv .SSLogU ;
3536import at .tugraz .sss .serv .SSServErrReg ;
3637import at .tugraz .sss .serv .SSServReg ;
38+ import at .tugraz .sss .serv .SSStrU ;
3739import at .tugraz .sss .serv .SSUri ;
3840import at .tugraz .sss .serv .caller .SSServCaller ;
3941import at .tugraz .sss .servs .entity .datatypes .par .SSEntityGetPar ;
4042import at .tugraz .sss .servs .file .datatype .par .SSEntityFileAddPar ;
4143import at .tugraz .sss .servs .mail .SSMailServerI ;
4244import at .tugraz .sss .servs .mail .datatype .SSMail ;
4345import at .tugraz .sss .servs .mail .datatype .par .SSMailsReceivePar ;
46+ import java .awt .image .BufferedImage ;
47+ import java .io .File ;
48+ import javax .imageio .ImageIO ;
4449import sss .serv .eval .api .SSEvalServerI ;
4550
4651public class SSDataImportBitsAndPiecesMailImporter {
@@ -232,6 +237,10 @@ private void handleMailContentMultimedia(
232237
233238 for (SSEntity attachment : mail .contentMultimedia ){
234239
240+ if (!areResourceDimensionsOk (attachment .id )){
241+ continue ;
242+ }
243+
235244 resourceUri = SSServCaller .vocURICreate ();
236245
237246 miscFct .addResource (
@@ -276,6 +285,10 @@ private void handleMailAttachments(
276285
277286 for (SSEntity attachment : mail .attachments ){
278287
288+ if (!areResourceDimensionsOk (attachment .id )){
289+ continue ;
290+ }
291+
279292 resourceUri = SSServCaller .vocURICreate ();
280293
281294 miscFct .addResource (
@@ -309,4 +322,30 @@ private void handleMailAttachments(
309322 SSServErrReg .regErrThrow (error );
310323 }
311324 }
325+
326+ private Boolean areResourceDimensionsOk (final SSUri resource ) throws Exception {
327+
328+ try {
329+
330+ if (!SSFileExtE .isImageFileExt (SSFileExtE .getFromStrToFormat (SSStrU .toStr (resource )))){
331+ return true ;
332+ }
333+
334+ final BufferedImage image = ImageIO .read (new File (localWorkPath + SSVocConf .fileIDFromSSSURI (resource )));
335+
336+ if (
337+ image .getWidth () <= SSDataImportImpl .bitsAndPiecesImageMinWidth ||
338+ image .getHeight () <= SSDataImportImpl .bitsAndPiecesImageMinHeight ){
339+
340+ SSLogU .info ("mail attachment height or width < " + SSDataImportImpl .bitsAndPiecesImageMinWidth );
341+ return false ;
342+ }
343+
344+ return true ;
345+
346+ }catch (Exception error ){
347+ SSServErrReg .regErrThrow (error );
348+ return false ;
349+ }
350+ }
312351}
0 commit comments