GeneratePDFUtil.java 5.1 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.aemfd.docmanager.Document
 *  com.adobe.native2pdf.xml.SecuritySettings
 *  com.adobe.native2pdf.xml.SecuritySettings$Settings
 *  com.adobe.pdfg.common.FileUtilities
 *  com.adobe.pdfg.exception.InvalidParameterException
 *  com.adobe.pdfg.logging.PDFGLogger
 *  com.adobe.pdfg.service.api.PDFGConfigService
 */
package com.adobe.pdfg.impl;

import com.adobe.aemfd.docmanager.Document;
import com.adobe.native2pdf.xml.SecuritySettings;
import com.adobe.pdfg.common.FileUtilities;
import com.adobe.pdfg.exception.InvalidParameterException;
import com.adobe.pdfg.impl.Native2PdfCaller;
import com.adobe.pdfg.logging.PDFGLogger;
import com.adobe.pdfg.service.api.PDFGConfigService;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public class GeneratePDFUtil {
    private static PDFGLogger LOGGER = PDFGLogger.getPDFGLogger(GeneratePDFUtil.class);
    public static final String CONVERTED_DOC_KEY = "ConvertedDoc";
    public static final String LOG_DOC_KEY = "LogDoc";
    private static final Native2PdfCaller NATIVE_2_PDF_CALLER = new Native2PdfCaller();
    private static String ourAdobePDFSettings = null;
    private static String ourFileTypeSettings = null;
    private static String ourSecuritySettings = null;
    private static boolean ourApplyWaterMarkVal = true;
    private static long ourLastTriggerTime = 0;
    private static long ourWaitTimeForEval = 120000;

    public static void setPDFSettings(String pdfSettings) {
        ourAdobePDFSettings = pdfSettings;
    }

    public static void setFiletypeSettings(String filetypeSettings) {
        ourFileTypeSettings = filetypeSettings;
    }

    public static void setSecuritySettings(String securitySettings) {
        ourSecuritySettings = securitySettings;
    }

    public static String getJobConfigurationString(PDFGConfigService configService, Document settingsDoc, String fileTypeSettings, String pdfSettings, String securitySettings) throws InvalidParameterException {
        try {
            String jobConfigurationString = null;
            if (settingsDoc == null) {
                if (securitySettings == null || "".equals(securitySettings)) {
                    securitySettings = ourSecuritySettings;
                }
                if (pdfSettings == null || "".equals(pdfSettings)) {
                    pdfSettings = ourAdobePDFSettings;
                }
                if (fileTypeSettings == null || "".equals(fileTypeSettings)) {
                    fileTypeSettings = ourFileTypeSettings;
                }
                jobConfigurationString = configService.getConfigurationXML(securitySettings, pdfSettings, fileTypeSettings);
            } else {
                jobConfigurationString = FileUtilities.inputStreamToString((InputStream)settingsDoc.getInputStream());
            }
            return jobConfigurationString;
        }
        catch (Exception e) {
            throw new InvalidParameterException(1001, (Throwable)e);
        }
    }

    public static void updateSecuritySettings(PDFGConfigService configService, SecuritySettings.Settings security) throws Exception {
        String password;
        Object response = null;
        if (GeneratePDFUtil.isCipher(security.getDocumentOpenPasswd())) {
            password = configService.getClearText(security.getDocumentOpenPasswd());
            security.setDocumentOpenPasswd(password);
        }
        if (GeneratePDFUtil.isCipher(security.getDocumentChangePasswd())) {
            password = configService.getClearText(security.getDocumentChangePasswd());
            security.setDocumentChangePasswd(password);
        }
    }

    public static Native2PdfCaller getNative2PDFCaller() {
        return NATIVE_2_PDF_CALLER;
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    public static boolean applyWaterMark() {
        try {
            long currentTime = System.currentTimeMillis();
            if (!ourApplyWaterMarkVal || currentTime - ourLastTriggerTime <= ourWaitTimeForEval) return ourApplyWaterMarkVal;
            Class<GeneratePDFUtil> class_ = GeneratePDFUtil.class;
            synchronized (GeneratePDFUtil.class) {
                ourApplyWaterMarkVal = false;
                // ** MonitorExit[var2_2] (shouldn't be in output)
                return ourApplyWaterMarkVal;
            }
        }
        catch (Exception ex) {
            LOGGER.trace("Problem in getting product info: " + ex.getMessage(), null, (Throwable)ex);
            return true;
        }
    }

    private static boolean isCipher(String text) {
        if (text == null) {
            return false;
        }
        return text.startsWith("{") && text.endsWith("}");
    }

    private static Map<String, String> getRequestMap(String arg, String value) {
        HashMap<String, String> requestMap = new HashMap<String, String>();
        requestMap.put(arg, value);
        return requestMap;
    }
}