updates for individuals via solr field options
This commit is contained in:
parent
39d7818ba1
commit
15e0fc0e39
2 changed files with 23 additions and 22 deletions
|
@ -3,7 +3,6 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -19,14 +18,9 @@ import org.apache.solr.common.SolrDocument;
|
|||
import org.apache.solr.common.SolrDocumentList;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.PelletListener;
|
||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
|
||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultObjectPropertyFormGenerator;
|
||||
import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames;
|
||||
import edu.cornell.mannlib.vitro.webapp.search.solr.SolrSetup;
|
||||
|
||||
|
@ -37,12 +31,9 @@ import edu.cornell.mannlib.vitro.webapp.search.solr.SolrSetup;
|
|||
public class IndividualsViaSolrQueryOptions extends IndividualsViaVClassOptions implements FieldOptions {
|
||||
private Log log = LogFactory.getLog(IndividualsViaSolrQueryOptions.class);
|
||||
|
||||
public static final String LEFT_BLANK = "";
|
||||
private List<String> vclassURIs;
|
||||
private String defaultOptionLabel;
|
||||
private ServletContext servletContext;
|
||||
public IndividualsViaSolrQueryOptions(ServletContext context, String ... vclassURIs) throws Exception {
|
||||
super();
|
||||
super(vclassURIs);
|
||||
this.servletContext = context;
|
||||
}
|
||||
|
||||
|
@ -59,18 +50,28 @@ public class IndividualsViaSolrQueryOptions extends IndividualsViaVClassOptions
|
|||
}else{
|
||||
query.setQuery( VitroSearchTermNames.MOST_SPECIFIC_TYPE_URIS + ":" + vclassURI);
|
||||
}
|
||||
query.setRows(0);
|
||||
query.setStart(0)
|
||||
.setRows(1000);
|
||||
query.setFields(VitroSearchTermNames.URI); // fields to retrieve
|
||||
|
||||
QueryResponse rsp = solrServer.query(query);
|
||||
SolrDocumentList docs = rsp.getResults();
|
||||
long found = docs.getNumFound();
|
||||
for (SolrDocument doc : docs) {
|
||||
String uri = doc.get(VitroSearchTermNames.URI).toString();
|
||||
Individual individual = wDaoFact.getIndividualDao().getIndividualByURI(uri);
|
||||
if (individual == null) {
|
||||
log.debug("No individual for search document with uri = " + uri);
|
||||
} else {
|
||||
individualMap.put(individual.getURI(), individual);
|
||||
log.debug("Adding individual " + uri + " to individual list");
|
||||
if(found > 0) {
|
||||
for (SolrDocument doc : docs) {
|
||||
try {
|
||||
String uri = doc.get(VitroSearchTermNames.URI).toString();
|
||||
Individual individual = wDaoFact.getIndividualDao().getIndividualByURI(uri);
|
||||
if (individual == null) {
|
||||
log.debug("No individual for search document with uri = " + uri);
|
||||
} else {
|
||||
individualMap.put(individual.getURI(), individual);
|
||||
log.debug("Adding individual " + uri + " to individual list");
|
||||
}
|
||||
}
|
||||
catch(Exception ex) {
|
||||
log.error("An error occurred retrieving the individual solr query resutls", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,7 +89,7 @@ public class IndividualsViaSolrQueryOptions extends IndividualsViaVClassOptions
|
|||
|
||||
Map<String, Individual> individualMap = new HashMap<String, Individual>();
|
||||
|
||||
for( String vclassURI : this.vclassURIs){
|
||||
for( String vclassURI : vclassURIs){
|
||||
individualMap.putAll( getIndividualsForClass( vclassURI, wDaoFact) );
|
||||
}
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTw
|
|||
public class IndividualsViaVClassOptions implements FieldOptions {
|
||||
|
||||
public static final String LEFT_BLANK = "";
|
||||
private List<String> vclassURIs;
|
||||
private String defaultOptionLabel;
|
||||
protected List<String> vclassURIs;
|
||||
protected String defaultOptionLabel;
|
||||
|
||||
public IndividualsViaVClassOptions(String ... vclassURIs) throws Exception {
|
||||
super();
|
||||
|
|
Loading…
Add table
Reference in a new issue