Skip to content

Commit 329ac03

Browse files
author
Miel Vander Sande
committed
Merge conflict
2 parents f160c7c + 09e861e commit 329ac03

File tree

7 files changed

+145
-98
lines changed

7 files changed

+145
-98
lines changed

WebContent/WEB-INF/web.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<servlet>
55
<display-name>BasicLdfServlet</display-name>
66
<servlet-name>BasicLdfServlet</servlet-name>
7-
<servlet-class>org.linkeddatafragments.servlet.TriplePatternFragmentServlet</servlet-class>
7+
<servlet-class>org.linkeddatafragments.servlet.LinkedDataFragmentServlet</servlet-class>
88
</servlet>
99
<servlet-mapping>
1010
<servlet-name>BasicLdfServlet</servlet-name>

src/org/linkeddatafragments/datasource/DataSource.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package org.linkeddatafragments.datasource;
22

3+
import javax.servlet.http.HttpServletRequest;
4+
5+
import org.linkeddatafragments.config.ConfigReader;
6+
import org.linkeddatafragments.fragments.LinkedDataFragmentRequest;
7+
import org.linkeddatafragments.fragments.tpf.TriplePatternFragmentRequest;
8+
import org.linkeddatafragments.fragments.tpf.TriplePatternFragmentRequestImpl;
9+
310
/**
411
*
512
* @author mielvandersande
@@ -24,6 +31,24 @@ public String getTitle() {
2431
return this.title;
2532
};
2633

34+
/**
35+
* This implementation assumes that the given request is a
36+
* {@link TriplePatternFragmentRequest}.
37+
*
38+
* Data sources for other types of {@link LinkedDataFragmentRequest}s must
39+
* override this method accordingly.
40+
*/
41+
@Override
42+
public IFragmentRequestProcessor getRequestProcessor(
43+
final HttpServletRequest request,
44+
final ConfigReader config )
45+
{
46+
final TriplePatternFragmentRequest r =
47+
new TriplePatternFragmentRequestImpl( request, config );
48+
49+
return getRequestProcessor( r );
50+
}
51+
2752
@Override
2853
public void close() {}
2954
}

src/org/linkeddatafragments/datasource/IDataSource.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import java.io.Closeable;
44

5+
import javax.servlet.http.HttpServletRequest;
6+
7+
import org.linkeddatafragments.config.ConfigReader;
58
import org.linkeddatafragments.fragments.LinkedDataFragmentRequest;
69

710
/**
@@ -16,6 +19,14 @@ public interface IDataSource extends Closeable {
1619

1720
public String getDescription();
1821

22+
/**
23+
* Returns a data source specific processor for the given request of a
24+
* Linked Data Fragment.
25+
*/
26+
IFragmentRequestProcessor getRequestProcessor(
27+
final HttpServletRequest request,
28+
final ConfigReader config );
29+
1930
/**
2031
* Returns a data source specific processor for the given request of a
2132
* Linked Data Fragment.

src/org/linkeddatafragments/fragments/tpf/TriplePatternFragmentImpl.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package org.linkeddatafragments.fragments.tpf;
22

3+
import java.util.NoSuchElementException;
4+
35
import org.linkeddatafragments.fragments.LinkedDataFragmentBase;
46
import org.linkeddatafragments.util.CommonResources;
57

68
import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
79
import com.hp.hpl.jena.rdf.model.Literal;
810
import com.hp.hpl.jena.rdf.model.Model;
9-
import com.hp.hpl.jena.rdf.model.ModelFactory;
1011
import com.hp.hpl.jena.rdf.model.Resource;
12+
import com.hp.hpl.jena.rdf.model.Statement;
1113
import com.hp.hpl.jena.rdf.model.StmtIterator;
14+
import com.hp.hpl.jena.util.iterator.NiceIterator;
1215

1316
/**
1417
* Implementation of {@link TriplePatternFragment}.
@@ -52,13 +55,16 @@ public TriplePatternFragmentImpl( Model triples,
5255
final long pageNumber,
5356
final boolean isLastPage ) {
5457
super( fragmentURL, datasetURL, pageNumber, isLastPage );
55-
this.triples = triples == null ? ModelFactory.createDefaultModel() : triples;
58+
this.triples = triples;
5659
this.totalSize = totalSize < 0 ? 0 : totalSize;
5760
}
5861

5962
@Override
6063
public StmtIterator getTriples() {
61-
return triples.listStatements();
64+
if ( triples != null )
65+
return triples.listStatements();
66+
else
67+
return emptyStmtIterator;
6268
}
6369

6470
@Override
@@ -119,4 +125,14 @@ public String getTemplate() {
119125
TriplePatternFragmentRequest.PARAMETERNAME_OBJ + "}";
120126
}
121127

128+
129+
public static final StmtIterator emptyStmtIterator = new EmptyStmtIterator();
130+
131+
public static class EmptyStmtIterator
132+
extends NiceIterator<Statement>
133+
implements StmtIterator
134+
{
135+
public Statement nextStatement() { throw new NoSuchElementException(); }
136+
}
137+
122138
}

src/org/linkeddatafragments/servlet/TriplePatternFragmentServlet.java renamed to src/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@
3030
import org.linkeddatafragments.exceptions.DataSourceNotFoundException;
3131
import org.linkeddatafragments.exceptions.NoRegisteredMimeTypesException;
3232
import org.linkeddatafragments.fragments.LinkedDataFragment;
33-
import org.linkeddatafragments.fragments.LinkedDataFragmentRequest;
3433
import org.linkeddatafragments.fragments.LinkedDataFragmentRequestBase;
35-
import org.linkeddatafragments.fragments.tpf.TriplePatternFragmentRequestImpl;
3634
import org.linkeddatafragments.util.MIMEParse;
3735
import org.linkeddatafragments.views.HtmlWriter;
3836

@@ -43,7 +41,7 @@
4341
* @author Bart Hanssens
4442
* @author <a href="http://olafhartig.de">Olaf Hartig</a>
4543
*/
46-
public class TriplePatternFragmentServlet extends HttpServlet {
44+
public class LinkedDataFragmentServlet extends HttpServlet {
4745

4846
private final static long serialVersionUID = 1L;
4947

@@ -54,7 +52,7 @@ public class TriplePatternFragmentServlet extends HttpServlet {
5452
private final HashMap<String, IDataSource> dataSources = new HashMap<>();
5553
private final Collection<String> mimeTypes = new ArrayList<>();
5654

57-
public TriplePatternFragmentServlet() {
55+
public LinkedDataFragmentServlet() {
5856
HdtDataSourceType.register();
5957
JenaTDBDataSourceType.register();
6058
}
@@ -145,8 +143,7 @@ private IDataSource getDataSource(HttpServletRequest request) throws DataSourceN
145143
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
146144
try {
147145
IDataSource dataSource = getDataSource(request);
148-
final LinkedDataFragmentRequest ldfRequest = new TriplePatternFragmentRequestImpl( request, config );
149-
final IFragmentRequestProcessor processor = dataSource.getRequestProcessor( ldfRequest );
146+
final IFragmentRequestProcessor processor = dataSource.getRequestProcessor( request, config );
150147
final LinkedDataFragment fragment = processor.createRequestedFragment();
151148

152149
// do conneg

src/org/linkeddatafragments/standalone/JettyServer.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
import org.apache.commons.cli.HelpFormatter;
77
import org.apache.commons.cli.Options;
88
import org.eclipse.jetty.server.Server;
9-
import org.eclipse.jetty.servlet.DefaultServlet;
10-
import org.eclipse.jetty.servlet.ServletContextHandler;
119
import org.eclipse.jetty.servlet.ServletHandler;
1210
import org.eclipse.jetty.servlet.ServletHolder;
13-
import org.linkeddatafragments.servlet.TriplePatternFragmentServlet;
11+
import org.linkeddatafragments.servlet.LinkedDataFragmentServlet;
1412

1513
/**
1614
* <p>
@@ -64,8 +62,8 @@ public static void main(String[] args) throws Exception {
6462
server.setHandler(handler);
6563

6664
// add the TriplePatternFragmentsServlet to the handler
67-
ServletHolder tpfServletHolder = new ServletHolder(new TriplePatternFragmentServlet());
68-
tpfServletHolder.setInitParameter(TriplePatternFragmentServlet.CFGFILE, config);
65+
ServletHolder tpfServletHolder = new ServletHolder(new LinkedDataFragmentServlet());
66+
tpfServletHolder.setInitParameter(LinkedDataFragmentServlet.CFGFILE, config);
6967
handler.addServletWithMapping(tpfServletHolder, "/*");
7068

7169
// TODO: create a servlet to serve assets

0 commit comments

Comments
 (0)