package org.solrmarc.solr; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrInputDocument; public class StdOutProxy extends SolrProxy { PrintStream output; public StdOutProxy(PrintStream out) { this.output = out; } public int addDoc(SolrInputDocument inputDoc) { synchronized (output) { ArrayList<String> fNames = new ArrayList<String>(); fNames.addAll(inputDoc.getFieldNames()); Collections.sort(fNames); String id = inputDoc.getFieldValue("id") != null ? inputDoc.getFieldValue("id").toString() : "<no id>"; for (String fieldName : fNames) { Collection<Object> values = inputDoc.getFieldValues(fieldName); if (values != null) { for (Object val : values) { output.print(id + " : " + fieldName + " = " + ((val != null) ? val.toString() : "[null]") + "\n"); } } } return(1); } } @Override public int addDocs(Collection<SolrInputDocument> docQ) { int num = 0; for (SolrInputDocument doc : docQ) { num += this.addDoc(doc); } return(num); } @Override public void commit(boolean optimize) { output.flush(); } @Override public void delete(String id) { } @Override public QueryResponse query(SolrQuery params) { return null; } }