Create a language-neutral Dataset in the VitroRequest.

This commit is contained in:
j2blake 2013-08-23 10:40:51 -04:00
parent 9d1fef76ea
commit 22f29cb958
3 changed files with 20 additions and 4 deletions

View file

@ -95,6 +95,14 @@ public class VitroRequest extends HttpServletRequestWrapper {
setAttribute("dataset", dataset); setAttribute("dataset", dataset);
} }
public Dataset getUnfilteredDataset() {
return (Dataset) getAttribute("unfilteredDataset");
}
public void setUnfilteredDataset(Dataset dataset) {
setAttribute("unfilteredDataset", dataset);
}
//Method that retrieves write model, returns special model in case of write model //Method that retrieves write model, returns special model in case of write model
public OntModel getWriteModel() { public OntModel getWriteModel() {
//if special write model doesn't exist use get ont model //if special write model doesn't exist use get ont model

View file

@ -115,8 +115,15 @@ public class QueryUtils {
} }
public static ResultSet getQueryResults(String queryStr, VitroRequest vreq) { public static ResultSet getQueryResults(String queryStr, VitroRequest vreq) {
return getQueryResults(queryStr, vreq.getDataset());
}
Dataset dataset = vreq.getDataset(); public static ResultSet getLanguageNeutralQueryResults(String queryStr, VitroRequest vreq) {
return getQueryResults(queryStr, vreq.getUnfilteredDataset());
}
/** Already have the dataset, so process the query and return the results. */
private static ResultSet getQueryResults(String queryStr, Dataset dataset) {
dataset.getLock().enterCriticalSection(Lock.READ); dataset.getLock().enterCriticalSection(Lock.READ);
QueryExecution qexec = null; QueryExecution qexec = null;
ResultSet results = null; ResultSet results = null;

View file

@ -131,6 +131,7 @@ public class RequestModelsPrep implements Filter {
VitroRequest vreq = new VitroRequest(req); VitroRequest vreq = new VitroRequest(req);
vreq.setUnfilteredRDFService(rawRdfService); vreq.setUnfilteredRDFService(rawRdfService);
vreq.setUnfilteredDataset(new RDFServiceDataset(rawRdfService));
List<String> langs = getPreferredLanguages(req); List<String> langs = getPreferredLanguages(req);
RDFService rdfService = addLanguageAwareness(langs, rawRdfService); RDFService rdfService = addLanguageAwareness(langs, rawRdfService);