Skip to content

Commit e341051

Browse files
committed
Merge pull request #2 from LinkedDataFragments/master
Several corrections
2 parents c4bf72e + e925d53 commit e341051

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ If no parameter is set, it looks for a default `config-example.json` in the fold
4949
## Status
5050
This is software is still under development. It currently only supports:
5151
- HDT data sources
52-
- Turtle output
52+
- Turtle, NTriples, JsonLD, RDF/XML output
5353

5454
A [more complete server](https://github.com/LinkedDataFragments/Server.js/) has been implemented for the Node.js platform.

src/org/linkeddatafragments/servlet/TriplePatternFragmentServlet.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,18 @@ private IDataSource getDataSource(HttpServletRequest request) throws IOException
143143
* @return
144144
*/
145145
private String getDatasetUrl(HttpServletRequest request) {
146-
String hostName = request.getHeader(HttpHeaders.SERVER);
147-
if (hostName == null) {
148-
hostName = request.getServerName();
146+
if ((request.getServerPort() == 80)
147+
|| (request.getServerPort() == 443)) {
148+
return request.getScheme() + "://"
149+
+ request.getServerName()
150+
+ request.getRequestURI();
151+
} else {
152+
return request.getScheme() + "://"
153+
+ request.getServerName() + ":" + request.getServerPort()
154+
+ request.getRequestURI();
149155
}
150-
return request.getScheme() + "://" + hostName + request.getRequestURI();
156+
157+
//return request.getScheme() + "://" + hostName + request.getRequestURI();
151158
}
152159

153160
/**
@@ -258,16 +265,6 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
258265
// fill the output model
259266
Model output = fragment.getTriples();
260267
output.setNsPrefixes(config.getPrefixes());
261-
262-
// do conneg
263-
String bestMatch = MIMEParse.bestMatch(mimeTypes, request.getHeader("Accept"));
264-
Lang contentType = RDFLanguages.contentTypeToLang(bestMatch);
265-
266-
// serialize the output
267-
response.setHeader("Server", "Linked Data Fragments Server");
268-
response.setContentType(bestMatch);
269-
response.setCharacterEncoding("utf-8");
270-
RDFDataMgr.write(response.getOutputStream(), output, contentType);
271268

272269
// add dataset metadata
273270
String datasetUrl = getDatasetUrl(request);
@@ -283,12 +280,16 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
283280
addPages(output, fragmentId, fragmentUrl, total, limit, offset, page);
284281
addControls(output, datasetId, datasetUrl);
285282

286-
// serialize the output as Turtle
287-
response.setHeader(HttpHeaders.SERVER, "Linked Data Fragments Server");
288-
response.setContentType("text/turtle");
289-
response.setCharacterEncoding(CharEncoding.UTF_8);
283+
// do conneg
284+
String bestMatch = MIMEParse.bestMatch(mimeTypes, request.getHeader("Accept"));
285+
Lang contentType = RDFLanguages.contentTypeToLang(bestMatch);
286+
287+
// serialize the output
288+
response.setHeader("Server", "Linked Data Fragments Server");
289+
response.setContentType(bestMatch);
290+
response.setCharacterEncoding("utf-8");
290291

291-
output.write(response.getWriter(), "Turtle", fragmentUrl);
292+
RDFDataMgr.write(response.getOutputStream(), output, contentType);
292293
} catch (IOException | URISyntaxException e) {
293294
throw new ServletException(e);
294295
}

0 commit comments

Comments
 (0)