package eu.dnetlib.recolecta.utils;

import eu.dnetlib.clients.index.client.IndexClient;
import eu.dnetlib.clients.index.client.IndexClientException;
import eu.dnetlib.clients.index.client.ResolvingIndexClientFactory;
import eu.dnetlib.functionality.modular.ui.index.IndexClientMap;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * Created by miriam on 11/06/2018.
 */
public class IndexClientManager {

    @Autowired
    private IndexClientMap clientMap;

    @Autowired
    private ResolvingIndexClientFactory indexClientFactory;

    final String BACK_END = "solr";
    final String INTERPRETATION = "cleaned";
    final String FORMAT = "PMF";
    final String LAYOUT = "index";
    final String ALL = "all";

    public IndexClient initClient() throws IndexClientException {
        String indexClientKeys = BACK_END + "-" + FORMAT + "-" + LAYOUT + "-" + INTERPRETATION;

        //log.debug(indexClientKeys);

        if (!clientMap.getMap().containsKey(indexClientKeys)) {
            clientMap.getMap().put(indexClientKeys, indexClientFactory.getClient(FORMAT, LAYOUT, INTERPRETATION, BACK_END));
        }
        return clientMap.getMap().get(indexClientKeys);
    }
}
