LogUtil.java 2.24 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.workflow.exec.WorkItem
 *  com.adobe.granite.workflow.exec.Workflow
 *  com.adobe.granite.workflow.metadata.MetaDataMap
 *  com.adobe.granite.workflow.model.WorkflowNode
 */
package com.adobe.aemfd.watchfolder.util;

import com.adobe.granite.workflow.exec.WorkItem;
import com.adobe.granite.workflow.exec.Workflow;
import com.adobe.granite.workflow.metadata.MetaDataMap;
import com.adobe.granite.workflow.model.WorkflowNode;

public class LogUtil {
    private static String escapeJSON(String str) {
        if (str == null) {
            return str;
        }
        str = str.replace("\\", "/");
        return str;
    }

    public static String toExecutionJSON(WorkItem wi) {
        Workflow w = wi.getWorkflow();
        String filePath = (String)w.getMetaDataMap().get("com.adobe.aemfd.watchfolder.sourceFileOrDir", String.class);
        String jobId = (String)w.getMetaDataMap().get("com.adobe.aemfd.watchfolder.jobId", String.class);
        String msg = "STEP=" + wi.getNode().getTitle();
        return LogUtil.toJSON("EXECUTE_WORKFLOW", filePath, jobId, w.getId(), msg);
    }

    public static String toJSON(String type, String filePath, String jobId, String wfId) {
        return LogUtil.toJSON(type, filePath, jobId, wfId, null);
    }

    public static String toJSON(String type, String filePath, String jobId, String wfId, String msg) {
        StringBuilder sbuf = new StringBuilder("{");
        sbuf.append("\"STAT_TYPE\": \"").append(type).append("\"");
        sbuf.append(", \"TIME_STAMP\": \"").append(System.currentTimeMillis()).append("\"");
        if (filePath != null) {
            filePath = LogUtil.escapeJSON(filePath);
            sbuf.append(", \"SOURCE_FILE\": \"").append(filePath).append("\"");
        }
        if (jobId != null) {
            sbuf.append(", \"JOB_ID\": \"").append(jobId).append("\"");
        }
        if (wfId != null) {
            sbuf.append(", \"WORKFLOW_ID\": \"").append(wfId).append("\"");
        }
        if (msg != null) {
            msg = LogUtil.escapeJSON(msg);
            sbuf.append(", \"MESSAGE\": \"").append(msg).append("\"");
        }
        sbuf.append("}");
        return sbuf.toString();
    }
}