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

org.sitoolkit.wt.gui.domain.script.CaseNoCache Maven / Gradle / Ivy

package org.sitoolkit.wt.gui.domain.script;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CaseNoCache {

    private Map cache = new HashMap<>();

    public CaseNoCache() {
        // TODO Auto-generated constructor stub
    }

    public void putCaesNos(File testScript, List caseNos) {
        cache.put(toCacheKey(testScript), new TestScript(testScript, caseNos));
    }

    public List getCaseNosIfNotModified(File testScript) {
        String key = toCacheKey(testScript);
        TestScript cachedTestScript = cache.get(testScript);

        if (cachedTestScript == null) {
            return null;
        }

        if (key == toCacheKey(cachedTestScript.getFile())) {
            return cachedTestScript.getCaseNos();
        }
        return null;
    }

    private String toCacheKey(File file) {
        return file.getAbsolutePath() + ";" + file.lastModified();
    }

    class TestScript {

        private File file;

        private List caseNos;

        public TestScript() {
        }

        public TestScript(File file, List caseNos) {
            super();
            this.file = file;
            this.caseNos = caseNos;
        }

        public File getFile() {
            return file;
        }

        public void setFile(File file) {
            this.file = file;
        }

        public List getCaseNos() {
            return caseNos;
        }

        public void setCaseNos(List caseNos) {
            this.caseNos = caseNos;
        }

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy