All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sitoolkit.wt.app.compareevidence.MaskEvidenceGenerator Maven / Gradle / Ivy

package org.sitoolkit.wt.app.compareevidence;

import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.sitoolkit.wt.domain.evidence.EvidenceDir;
import org.sitoolkit.wt.domain.evidence.EvidenceOpener;
import org.sitoolkit.wt.infra.log.SitLogger;
import org.sitoolkit.wt.infra.log.SitLoggerFactory;

/**
 * @author yu.takada
 *
 */
public class MaskEvidenceGenerator {

    private static final SitLogger LOG = SitLoggerFactory.getLogger(MaskEvidenceGenerator.class);

    public static void main(String[] args) {

        EvidenceDir targetDir = EvidenceDir.targetEvidenceDir(args[0]);

        MaskScreenshotGenerator mask = new MaskScreenshotGenerator();
        mask.generate(targetDir);

        MaskEvidenceGenerator evidence = new MaskEvidenceGenerator();
        evidence.generate(targetDir);

        EvidenceOpener opener = new EvidenceOpener();
        opener.openMaskEvidence(targetDir);

    }

    public void generate(EvidenceDir targetDir) {

        LOG.info("mask.evidence.generate");

        if (!(targetDir.exists())) {
            LOG.error("evidence.error");
            return;
        }

        for (File evidenceFile : targetDir.getEvidenceFiles()) {

            Map ssMap = targetDir.getScreenshotFilesAsMap(evidenceFile.getName());

            for (Entry screenshot : ssMap.entrySet()) {
                if (EvidenceDir.isMaskScreenshot(screenshot.getKey())) {
                    generateMaskEvidence(evidenceFile, ssMap);
                    break;
                }
            }

        }

    }

    void generateMaskEvidence(File evidenceFile, Map ssMap) {

        File maskEvidence = new File(evidenceFile.getParent(),
                EvidenceDir.toMaskEvidenceName(evidenceFile.getName()));

        try {
            String evidenceHtml = FileUtils.readFileToString(evidenceFile, "UTF-8");

            for (Entry ssName : ssMap.entrySet()) {
                if (EvidenceDir.isMaskScreenshot(ssName.getKey())) {
                    evidenceHtml = StringUtils.replace(evidenceHtml,
                            EvidenceDir.toBeforeMaskSsName(ssName.getKey()), ssName.getKey());
                }
            }

            FileUtils.writeStringToFile(maskEvidence, evidenceHtml, "UTF-8");
            LOG.info("mask.evidence.generated", maskEvidence.getPath());

        } catch (IOException e) {
            LOG.error("evidence.generate.error", e);
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy