From 8ed8c7ff59cf052aaab1fbe07deca55aa1dcacc0 Mon Sep 17 00:00:00 2001 From: Jakob Heher Date: Wed, 3 Aug 2022 14:09:46 +0200 Subject: exterminate SignaturePlaceholderCache (it does not offer any measurable benefit) --- .../gui/utils/SignaturePlaceholderCache.java | 146 --------------------- 1 file changed, 146 deletions(-) delete mode 100644 pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SignaturePlaceholderCache.java (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SignaturePlaceholderCache.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SignaturePlaceholderCache.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SignaturePlaceholderCache.java deleted file mode 100644 index 92efea0a..00000000 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SignaturePlaceholderCache.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2012 by A-SIT, Secure Information Technology Center Austria - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://joinup.ec.europa.eu/software/page/eupl - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - */ -package at.asit.pdfover.gui.utils; - -// Imports -import java.awt.Image; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Properties; - -import javax.imageio.ImageIO; - -import at.asit.pdfover.commons.Profile; -import org.eclipse.swt.graphics.ImageData; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.asit.pdfover.Util; -import at.asit.pdfover.commons.Constants; -import at.asit.pdfover.signator.Emblem; -import at.asit.pdfover.signer.pdfas.PdfAs4SignatureParameter; - -/** - * - */ -public class SignaturePlaceholderCache { - /** - * SLF4J Logger instance - **/ - private static final Logger log = LoggerFactory.getLogger(SignaturePlaceholderCache.class); - - private static void saveImage(BufferedImage image, String fileDir, String fileName, String fileExt) throws IOException { - File file = new File(fileDir, fileName + "." + fileExt); - ImageIO.write(image, fileExt, file); // ignore returned boolean - } - - private static Image loadImage(String fileDir, String fileName, String fileExt) throws IOException { - return Util.readImageWithEXIFRotation(new File(fileDir, fileName + "." + fileExt)); - } - - /** - * Get placeholder as AWT Image - * @param param SignatureParameter - * @return the placeholder AWT Image - */ - public static Image getPlaceholder(PdfAs4SignatureParameter param) { - final String fileDir = Constants.CONFIG_DIRECTORY; - final String imgFileName = Constants.PLACEHOLDER_CACHE_FILENAME; - final String imgFileExt = "png"; - final String propFileName = Constants.PLACEHOLDER_CACHE_PROPS_FILENAME; - - final String sigLangProp = "LANG"; - final String sigEmblProp = "EMBL"; - final String sigEHshProp = "EHSH"; - final String sigPdfAProp = "PDFA"; - final String sigNoteProp = "NOTE"; - final String sigProfProp = "PROF"; - - String sigLang = param.signatureLanguage; - String sigEmbl = ""; - String sigEHsh = ""; - if (param.emblem != null) { - Emblem embl = param.emblem; - sigEmbl = embl.getOriginalFileName(); - sigEHsh = embl.getOriginalFileHash(); - } - String sigPdfA = param.enablePDFACompat ? Constants.TRUE : Constants.FALSE; - String sigNote = param.getProperty("SIG_NOTE"); - if (sigNote == null) - sigNote = ""; - String profile = param.signatureProfileName; - if (profile == null){ - // set default value - profile = Profile.getDefaultProfile(); - } - Properties sigProps = new Properties(); - // compare cache, try to load if match - try { - InputStream in = new FileInputStream(new File(fileDir, propFileName)); - sigProps.load(in); - if (sigLang.equals(sigProps.getProperty(sigLangProp)) && - sigEmbl.equals(sigProps.getProperty(sigEmblProp)) && - sigEHsh.equals(sigProps.getProperty(sigEHshProp)) && - sigNote.equals(sigProps.getProperty(sigNoteProp)) && - sigPdfA.equals(sigProps.getProperty(sigPdfAProp)) && - profile.equals(sigProps.getProperty(sigProfProp))) { - log.debug("Placeholder cache hit"); - return loadImage(fileDir, imgFileName, imgFileExt); - } - log.debug("Placeholder cache miss (" + - sigLang + "|" + sigProps.getProperty(sigLangProp) + " - " +// - sigEmbl + "|" + sigProps.getProperty(sigEmblProp) + " - " + - sigEHsh + "|" + sigProps.getProperty(sigEHshProp) + " - " + - sigNote + "|" + sigProps.getProperty(sigNoteProp) + " - " + - sigPdfA + "|" + sigProps.getProperty(sigPdfAProp) + " - " + - profile + "|" + sigProps.getProperty(sigProfProp) + ")"); - } catch (Exception e) { - log.warn("Can't load signature Placeholder", e); - } - - // create new cache - try { - sigProps.setProperty(sigLangProp, sigLang); - sigProps.setProperty(sigEmblProp, sigEmbl); - sigProps.setProperty(sigEHshProp, sigEHsh); - sigProps.setProperty(sigNoteProp, sigNote); - sigProps.setProperty(sigPdfAProp, sigPdfA); - sigProps.setProperty(sigProfProp, profile); - OutputStream out = new FileOutputStream(new File(fileDir, propFileName)); - sigProps.store(out, null); - Image img = param.getPlaceholder(); - saveImage((BufferedImage) img, fileDir, imgFileName, imgFileExt); - return img; - } catch (IOException e) { - log.error("Can't save signature Placeholder", e); - return param.getPlaceholder(); - } - } - - /** - * Get placeholder as SWT ImageData - * @param param SignatureParameter - * @return the placeholder SWT ImageData - */ - public static ImageData getSWTPlaceholder(PdfAs4SignatureParameter param) { - return ImageConverter.convertToSWT((BufferedImage) getPlaceholder(param)); - } -} -- cgit v1.2.3