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.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -19,14 +18,9 @@ import org.apache.solr.common.SolrDocument;
|
||||||
import org.apache.solr.common.SolrDocumentList;
|
import org.apache.solr.common.SolrDocumentList;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
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.VitroVocabulary;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
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.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.VitroSearchTermNames;
|
||||||
import edu.cornell.mannlib.vitro.webapp.search.solr.SolrSetup;
|
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 {
|
public class IndividualsViaSolrQueryOptions extends IndividualsViaVClassOptions implements FieldOptions {
|
||||||
private Log log = LogFactory.getLog(IndividualsViaSolrQueryOptions.class);
|
private Log log = LogFactory.getLog(IndividualsViaSolrQueryOptions.class);
|
||||||
|
|
||||||
public static final String LEFT_BLANK = "";
|
|
||||||
private List<String> vclassURIs;
|
|
||||||
private String defaultOptionLabel;
|
|
||||||
private ServletContext servletContext;
|
private ServletContext servletContext;
|
||||||
public IndividualsViaSolrQueryOptions(ServletContext context, String ... vclassURIs) throws Exception {
|
public IndividualsViaSolrQueryOptions(ServletContext context, String ... vclassURIs) throws Exception {
|
||||||
super();
|
super(vclassURIs);
|
||||||
this.servletContext = context;
|
this.servletContext = context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,18 +50,28 @@ public class IndividualsViaSolrQueryOptions extends IndividualsViaVClassOptions
|
||||||
}else{
|
}else{
|
||||||
query.setQuery( VitroSearchTermNames.MOST_SPECIFIC_TYPE_URIS + ":" + vclassURI);
|
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);
|
QueryResponse rsp = solrServer.query(query);
|
||||||
SolrDocumentList docs = rsp.getResults();
|
SolrDocumentList docs = rsp.getResults();
|
||||||
long found = docs.getNumFound();
|
long found = docs.getNumFound();
|
||||||
for (SolrDocument doc : docs) {
|
if(found > 0) {
|
||||||
String uri = doc.get(VitroSearchTermNames.URI).toString();
|
for (SolrDocument doc : docs) {
|
||||||
Individual individual = wDaoFact.getIndividualDao().getIndividualByURI(uri);
|
try {
|
||||||
if (individual == null) {
|
String uri = doc.get(VitroSearchTermNames.URI).toString();
|
||||||
log.debug("No individual for search document with uri = " + uri);
|
Individual individual = wDaoFact.getIndividualDao().getIndividualByURI(uri);
|
||||||
} else {
|
if (individual == null) {
|
||||||
individualMap.put(individual.getURI(), individual);
|
log.debug("No individual for search document with uri = " + uri);
|
||||||
log.debug("Adding individual " + uri + " to individual list");
|
} 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>();
|
Map<String, Individual> individualMap = new HashMap<String, Individual>();
|
||||||
|
|
||||||
for( String vclassURI : this.vclassURIs){
|
for( String vclassURI : vclassURIs){
|
||||||
individualMap.putAll( getIndividualsForClass( vclassURI, wDaoFact) );
|
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 class IndividualsViaVClassOptions implements FieldOptions {
|
||||||
|
|
||||||
public static final String LEFT_BLANK = "";
|
public static final String LEFT_BLANK = "";
|
||||||
private List<String> vclassURIs;
|
protected List<String> vclassURIs;
|
||||||
private String defaultOptionLabel;
|
protected String defaultOptionLabel;
|
||||||
|
|
||||||
public IndividualsViaVClassOptions(String ... vclassURIs) throws Exception {
|
public IndividualsViaVClassOptions(String ... vclassURIs) throws Exception {
|
||||||
super();
|
super();
|
||||||
|
|
Loading…
Add table
Reference in a new issue