ORSPathProcessorFactory.java

package org.heigit.ors.routing.pathprocessors;

import com.graphhopper.routing.util.FlagEncoder;
import com.graphhopper.routing.util.PathProcessor;
import com.graphhopper.routing.util.PathProcessorFactory;
import com.graphhopper.storage.GraphHopperStorage;
import com.graphhopper.util.PMap;
import org.apache.log4j.Logger;
import org.heigit.ors.routing.graphhopper.extensions.reader.borders.CountryBordersReader;

public class ORSPathProcessorFactory implements PathProcessorFactory {
    private static final Logger LOGGER = Logger.getLogger(ORSPathProcessorFactory.class.getName());
    private CountryBordersReader countryBordersReader;

    @Override
    public PathProcessor createPathProcessor(PMap opts, FlagEncoder enc, GraphHopperStorage gs) {
        try {
            if (countryBordersReader != null) {
                return new ExtraInfoProcessor(opts, gs, enc, countryBordersReader);
            }
            return new ExtraInfoProcessor(opts, gs, enc);
        } catch (Exception e) {
            LOGGER.error(e);
        }
        return PathProcessor.DEFAULT;
    }

    public void setCountryBordersReader(CountryBordersReader cbr) {
        this.countryBordersReader = cbr;
    }
}