Skip to content

Commit 0e2f663

Browse files
committed
Turn off language filtering in case lang=* parameter is provided
Removed trailing whitespaces
1 parent ec30049 commit 0e2f663

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

api/src/main/java/edu/cornell/library/scholars/webapp/controller/api/distribute/rdf/SelectFromContentDistributor.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import java.io.OutputStream;
88

99
import edu.cornell.library.scholars.webapp.controller.api.distribute.DataDistributorContext;
10+
import edu.cornell.library.scholars.webapp.controller.api.distribute.rdf.graphbuilder.GraphBuilderUtilities;
11+
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
1012
import edu.cornell.mannlib.vitro.webapp.modelaccess.RequestModelAccess;
13+
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
1114
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService.ResultFormat;
1215
import edu.cornell.mannlib.vitro.webapp.utils.configuration.Property;
1316
import edu.cornell.mannlib.vitro.webapp.utils.sparqlrunner.QueryHolder;
@@ -93,7 +96,14 @@ public String getContentType() throws DataDistributorException {
9396
public void writeOutput(OutputStream output) throws DataDistributorException {
9497
QueryHolder boundQuery = binder.bindValuesToQuery(uriBindingNames, literalBindingNames,
9598
new QueryHolder(rawQuery));
96-
createSelectQueryContext(this.models.getRDFService(), boundQuery).execute().writeToOutput(output,
99+
RDFService rdfService;
100+
if (GraphBuilderUtilities.isLanguageFilteringDisabledForRequest(ddContext)) {
101+
rdfService = ModelAccess.getInstance().getRDFService();
102+
} else {
103+
rdfService = this.models.getRDFService();
104+
}
105+
106+
createSelectQueryContext(rdfService, boundQuery).execute().writeToOutput(output,
97107
ResultFormat.valueOf(resultFormat));
98108
}
99109

api/src/main/java/edu/cornell/library/scholars/webapp/controller/api/distribute/rdf/graphbuilder/ConstructQueryGraphBuilder.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import edu.cornell.library.scholars.webapp.controller.api.distribute.DataDistributor.DataDistributorException;
1212
import edu.cornell.library.scholars.webapp.controller.api.distribute.DataDistributorContext;
1313
import edu.cornell.library.scholars.webapp.controller.api.distribute.rdf.SelectFromContentDistributor;
14+
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
1415
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
1516
import edu.cornell.mannlib.vitro.webapp.utils.configuration.Property;
1617
import edu.cornell.mannlib.vitro.webapp.utils.sparqlrunner.QueryHolder;
@@ -97,8 +98,12 @@ public void addRawQuery(String query) {
9798
@Override
9899
public Model buildGraph(DataDistributorContext ddContext) throws DataDistributorException {
99100
log.debug("Parameters: " + formatParameters(ddContext));
100-
101-
RDFService rdfService = ddContext.getRequestModels().getRDFService();
101+
RDFService rdfService;
102+
if (GraphBuilderUtilities.isLanguageFilteringDisabledForRequest(ddContext)) {
103+
rdfService = ModelAccess.getInstance().getRDFService();
104+
} else {
105+
rdfService = ddContext.getRequestModels().getRDFService();
106+
}
102107
Model m = ModelFactory.createDefaultModel();
103108

104109
for (String rawQuery : rawQueries) {
@@ -109,4 +114,5 @@ public Model buildGraph(DataDistributorContext ddContext) throws DataDistributor
109114
}
110115
return m;
111116
}
117+
112118
}

api/src/main/java/edu/cornell/library/scholars/webapp/controller/api/distribute/rdf/graphbuilder/GraphBuilderUtilities.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,9 @@ public boolean isAuthorized(AuthorizationRequest actions) {
9494
}
9595

9696
}
97+
98+
public static boolean isLanguageFilteringDisabledForRequest(DataDistributorContext ddContext) {
99+
String[] lang = ddContext.getRequestParameters().get("lang");
100+
return lang != null && lang.length == 1 && "*".equals(lang[0]);
101+
}
97102
}

0 commit comments

Comments
 (0)