package com.k_int.aggr2.mimsy.solr;

import java.util.Properties;
import java.util.Set;

import org.apache.solr.common.SolrInputDocument;

import com.k_int.aggr2.mimsy.data.InstructionDTO;
import com.k_int.aggr2.mimsy.data.MimsyDataDTO;
import com.k_int.aggr2.mimsy.data.MimsySubjectDataDTO;
import com.k_int.aggr2.mimsy.data.conversion.AbstractSubjectFormatConverter;
import com.k_int.mimsy.ref.DataException;

public class SolrSubjectConverter extends AbstractSubjectFormatConverter {
	private SolrInputDocument doc;
	private Properties solr_props;
	
	public SolrSubjectConverter(SolrInputDocument doc, Properties solr_props)
	{
		this.doc=doc;
		this.solr_props=solr_props;
	}
	@Override
	protected void convert(String elementVal, String val) throws DataException {
		if(elementVal.equals("mo:name"))
		{
			SolrHelper.addField(solr_props,doc,elementVal, null, val,true);
		}
		else if(elementVal.equals("mo:variation"))
		{
			SolrHelper.addField(solr_props,doc,elementVal, null, val,true);
		}
		else if(elementVal.equals("dc:description"))
		{
			SolrHelper.addField(solr_props,doc,elementVal, null, val,true);
		}
		else
			SolrHelper.addField(solr_props,doc,elementVal, null, val,null);

	}

	@Override
	protected void convertConfAndLastUpdate(MimsyDataDTO data)
			throws DataException {
		SolrHelper.addConfAndLastUpdate(solr_props,doc,data);

	}

	@Override
	protected void convertInstructions(Set<InstructionDTO> instructions)
			throws DataException {
		// not used

	}

	@Override
	public void prefix(MimsySubjectDataDTO Type) throws DataException {
		// not used

	}

	@Override
	public void suffix(MimsySubjectDataDTO Type) throws DataException {
		// not used

	}

}
