Skip to content

Commit 4f7047c

Browse files
author
Miel Vander Sande
committed
Completed index output
1 parent 110bb24 commit 4f7047c

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

src/org/linkeddatafragments/servlet/TriplePatternFragmentServlet.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.io.FileReader;
1515
import java.io.IOException;
1616
import java.net.URISyntaxException;
17+
import java.net.URL;
1718
import java.util.ArrayList;
1819
import java.util.Collection;
1920
import java.util.HashMap;
@@ -94,10 +95,6 @@ public void init(ServletConfig servletConfig) throws ServletException {
9495
for (Entry<String, JsonObject> dataSource : config.getDataSources().entrySet()) {
9596
dataSources.put(dataSource.getKey(), DataSourceFactory.create(dataSource.getValue()));
9697
}
97-
98-
String baseURL = config.getBaseURL() != null ? config.getBaseURL() : "http://localhost:8080";
99-
100-
IndexDataSource index = new IndexDataSource(baseURL, dataSources);
10198

10299
// register content types
103100
mimeTypes.add(Lang.TTL.getHeaderString());
@@ -123,6 +120,11 @@ private IDataSource getDataSource(HttpServletRequest request) throws IOException
123120
String path = contextPath == null
124121
? requestURI
125122
: requestURI.substring(contextPath.length());
123+
124+
if (path.equals("/") || path.isEmpty()) {
125+
return new IndexDataSource(getBaseUrl(request), dataSources);
126+
}
127+
126128
String dataSourceName = path.substring(1);
127129
IDataSource dataSource = dataSources.get(dataSourceName);
128130
if (dataSource == null) {
@@ -138,18 +140,20 @@ private IDataSource getDataSource(HttpServletRequest request) throws IOException
138140
* @return
139141
*/
140142
private String getDatasetUrl(HttpServletRequest request) {
141-
if ((request.getServerPort() == 80)
143+
return getBaseUrl(request) + request.getRequestURI();
144+
}
145+
146+
private String getBaseUrl(HttpServletRequest request) {
147+
if (config.getBaseURL() != null)
148+
return config.getBaseURL();
149+
else if ((request.getServerPort() == 80)
142150
|| (request.getServerPort() == 443)) {
143151
return request.getScheme() + "://"
144-
+ request.getServerName()
145-
+ request.getRequestURI();
152+
+ request.getServerName();
146153
} else {
147154
return request.getScheme() + "://"
148-
+ request.getServerName() + ":" + request.getServerPort()
149-
+ request.getRequestURI();
155+
+ request.getServerName() + ":" + request.getServerPort();
150156
}
151-
152-
//return request.getScheme() + "://" + hostName + request.getRequestURI();
153157
}
154158

155159
/**
@@ -286,6 +290,7 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
286290

287291
RDFDataMgr.write(response.getOutputStream(), output, contentType);
288292
} catch (IOException | URISyntaxException e) {
293+
e.printStackTrace();
289294
throw new ServletException(e);
290295
}
291296
}

0 commit comments

Comments
 (0)