Package com.custardsource.dybdob.detectors

Source Code of com.custardsource.dybdob.detectors.AbstractDetector

package com.custardsource.dybdob.detectors;

import java.io.File;
import java.util.Collection;
import java.util.Map;

import com.custardsource.dybdob.ProjectVersion;
import com.custardsource.dybdob.WarningRecord;
import com.custardsource.dybdob.WarningSource;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;

abstract class AbstractDetector implements WarningDetector {
    private final String id;

    protected AbstractDetector(String id) {
        this.id = id;
    }

    @Override
    public final Collection<WarningRecord> getRecords(final ProjectVersion version, File log) {
        Map<String, Integer> results = getResultsFrom(log);
        return Collections2.transform(results.entrySet(), new Function<Map.Entry<String, Integer>, WarningRecord>(){
            @Override
            public WarningRecord apply(Map.Entry<String, Integer> from) {
                return WarningRecord.newRecord(version, new WarningSource(id, from.getKey()), from.getValue());
            }
        });
    }

    @Override
    public String getId() {
        return id;
    }

    protected abstract Map<String, Integer> getResultsFrom(File log);
}
TOP

Related Classes of com.custardsource.dybdob.detectors.AbstractDetector

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.