diff --git a/config/pmd/pmd.xml b/config/pmd/pmd.xml index 6c558c0..7537e1c 100644 --- a/config/pmd/pmd.xml +++ b/config/pmd/pmd.xml @@ -14,6 +14,7 @@ + diff --git a/ocr-service-v1/ocr-service-api/build.gradle.kts b/ocr-service-v1/ocr-service-api/build.gradle.kts index 72a5322..9ac0636 100644 --- a/ocr-service-v1/ocr-service-api/build.gradle.kts +++ b/ocr-service-v1/ocr-service-api/build.gradle.kts @@ -1,7 +1,7 @@ plugins { `maven-publish` id("com.iqser.red.service.java-conventions") - id("io.freefair.lombok") version "8.2.2" + id("io.freefair.lombok") version "8.4" } publishing { diff --git a/ocr-service-v1/ocr-service-processor/build.gradle.kts b/ocr-service-v1/ocr-service-processor/build.gradle.kts index 580cc9b..a25a609 100644 --- a/ocr-service-v1/ocr-service-processor/build.gradle.kts +++ b/ocr-service-v1/ocr-service-processor/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.iqser.red.service.java-conventions") - id("io.freefair.lombok") version "8.2.2" + id("io.freefair.lombok") version "8.4" } configurations { diff --git a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/fonts/Type0FontMetricsFactory.java b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/fonts/Type0FontMetricsFactory.java index 9e787ad..059daed 100644 --- a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/fonts/Type0FontMetricsFactory.java +++ b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/fonts/Type0FontMetricsFactory.java @@ -44,6 +44,8 @@ public class Type0FontMetricsFactory implements FontMetricsFactory { @SneakyThrows + @SuppressWarnings("PMD.CloseResource") + // Todo i think this is not ok to never close the font... private static Type0FontMetricsFactory createFromResource(String resourcePath, PDDocument document) { try (var in = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath); var buffer = new RandomAccessReadBuffer(in)) { diff --git a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/ImageProcessingThread.java b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/ImageProcessingThread.java index bc47241..8825b45 100644 --- a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/ImageProcessingThread.java +++ b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/ImageProcessingThread.java @@ -107,6 +107,7 @@ public class ImageProcessingThread extends Thread { } + @SuppressWarnings("PMD.CompareObjectsWithEquals") private OcrImage processRenderedPageImageFile(RenderedPageImageFile renderedPageImageFile) { Pix pix = processPix(renderedPageImageFile.asPix(), settings.getDpi(), settings.getDpi()); @@ -127,7 +128,7 @@ public class ImageProcessingThread extends Thread { return ocrImage; } - + @SuppressWarnings("PMD.CompareObjectsWithEquals") private OcrImage processExtractedImage(ExtractedImage extractedImage) { float imageDPI = Math.abs(extractedImage.image().getWidth() / (extractedImage.ctm().getScalingFactorX() / 72)); diff --git a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/PdfDraw.java b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/PdfDraw.java index d33919e..017781e 100644 --- a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/PdfDraw.java +++ b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/PdfDraw.java @@ -17,58 +17,57 @@ public class PdfDraw { @SneakyThrows public static void drawGrid(ElementWriter writer, Page page) { - ElementBuilder eb = new ElementBuilder(); - double dX = 15; - double dY = 15; - int nRows = (int) (page.getPageHeight() / dY) + 1; - int nCols = (int) (page.getPageWidth() / dX) + 1; - for (int row = 0; row < nRows; ++row) { - for (int col = 0; col < nCols; ++col) { - Element cell = eb.createRect(col * dX, row * dY, dX, dY); - cell.setPathStroke(true); - cell.getGState().setLineWidth(1); - cell.getGState().setStrokeOpacity(0.1); - cell.getGState().setStrokeColorSpace(ColorSpace.createDeviceRGB()); - if (row == 0 && col == 0) { - cell.getGState().setStrokeColor(new ColorPt(0, 0, 1)); - cell.setPathFill(true); - cell.getGState().setFillOpacity(0.8); - cell.getGState().setFillColorSpace(ColorSpace.createDeviceRGB()); - cell.getGState().setFillColor(new ColorPt(0, 0, 1)); - } else { - cell.setPathFill(false); - cell.getGState().setStrokeColor(new ColorPt(0.1, 0.1, 0.1)); + try (var eb = new ElementBuilder()) { + double dX = 15; + double dY = 15; + int nRows = (int) (page.getPageHeight() / dY) + 1; + int nCols = (int) (page.getPageWidth() / dX) + 1; + for (int row = 0; row < nRows; ++row) { + for (int col = 0; col < nCols; ++col) { + Element cell = eb.createRect(col * dX, row * dY, dX, dY); + cell.setPathStroke(true); + cell.getGState().setLineWidth(1); + cell.getGState().setStrokeOpacity(0.1); + cell.getGState().setStrokeColorSpace(ColorSpace.createDeviceRGB()); + if (row == 0 && col == 0) { + cell.getGState().setStrokeColor(new ColorPt(0, 0, 1)); + cell.setPathFill(true); + cell.getGState().setFillOpacity(0.8); + cell.getGState().setFillColorSpace(ColorSpace.createDeviceRGB()); + cell.getGState().setFillColor(new ColorPt(0, 0, 1)); + } else { + cell.setPathFill(false); + cell.getGState().setStrokeColor(new ColorPt(0.1, 0.1, 0.1)); + } + writer.writePlacedElement(cell); } - writer.writePlacedElement(cell); } } - eb.destroy(); } @SneakyThrows public static void drawRectCollection(ElementWriter writer, RectCollection rectCollection) { - ColorPt colorPt = new ColorPt(1, 0, 0); - ElementBuilder eb = new ElementBuilder(); - for (int i = 0; i < rectCollection.getNumRects(); ++i) { - Rect r = rectCollection.getRectAt(i); - Element rect = eb.createRect(r.getX1(), r.getY1(), r.getWidth(), r.getHeight()); + try (var colorPt = new ColorPt(1, 0, 0); var eb = new ElementBuilder()) { + for (int i = 0; i < rectCollection.getNumRects(); ++i) { + try(var r = rectCollection.getRectAt(i)) { + Element rect = eb.createRect(r.getX1(), r.getY1(), r.getWidth(), r.getHeight()); - rect.setPathStroke(true); - rect.getGState().setLineWidth(5); - rect.getGState().setStrokeColorSpace(ColorSpace.createDeviceRGB()); - rect.getGState().setStrokeColor(colorPt); + rect.setPathStroke(true); + rect.getGState().setLineWidth(5); + rect.getGState().setStrokeColorSpace(ColorSpace.createDeviceRGB()); + rect.getGState().setStrokeColor(colorPt); - rect.setPathFill(true); - rect.getGState().setFillColorSpace(ColorSpace.createDeviceRGB()); - rect.getGState().setFillColor(colorPt); - rect.getGState().setFillOpacity(0.5); + rect.setPathFill(true); + rect.getGState().setFillColorSpace(ColorSpace.createDeviceRGB()); + rect.getGState().setFillColor(colorPt); + rect.getGState().setFillOpacity(0.5); - writer.writePlacedElement(rect); + writer.writePlacedElement(rect); + } + } } - colorPt.destroy(); - eb.destroy(); } } diff --git a/ocr-service-v1/ocr-service-server/build.gradle.kts b/ocr-service-v1/ocr-service-server/build.gradle.kts index 942051d..3b15526 100644 --- a/ocr-service-v1/ocr-service-server/build.gradle.kts +++ b/ocr-service-v1/ocr-service-server/build.gradle.kts @@ -6,7 +6,7 @@ plugins { id("org.springframework.boot") version "3.1.5" id("io.spring.dependency-management") version "1.1.3" id("org.sonarqube") version "4.3.0.3225" - id("io.freefair.lombok") version "8.2.2" + id("io.freefair.lombok") version "8.4" } configurations {