ProductResolverImpl.java

package esa.bscs.pds4.packager.resolver;

import static esa.bscs.pds4.reader.model.Dictionary.*;

import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

import esa.bscs.pds4.reader.model.Pds4Label;

public class ProductResolverImpl implements ProductResolver {
    
    private final Map<String, Pds4Label> pds4Labels;
    
    public ProductResolverImpl(List<Pds4Label> pds4Labels) {
        this.pds4Labels = pds4Labels.stream().collect(Collectors.toMap(label -> label.getRootClass().searchValue(PDS.uri(), "logical_identifier", String.class), Function.identity()));
    }
    
    @Override
    public Pds4Label findProduct(String logicalIdentifier) {
        return pds4Labels.get(logicalIdentifier);
    }
}