Skip to content

Commit 97b4223

Browse files
Merge pull request LinkedDataFragments#1 from LinkedDataFragments/master
Catch up with changes in upstream repo
2 parents bee673a + f92ee36 commit 97b4223

File tree

4 files changed

+43
-20
lines changed

4 files changed

+43
-20
lines changed

pom.xml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.linkeddatafragments</groupId>
55
<artifactId>ldfserver</artifactId>
6-
<version>0.2.1</version>
6+
<version>0.2.2</version>
77
<packaging>war</packaging>
88
<name>Linked Data Fragments Server</name>
99
<url>http://linkeddatafragments.org</url>
@@ -20,7 +20,7 @@
2020
<scm>
2121
<connection>https://github.com/LinkedDataFragments/Server.Java.git</connection>
2222
<developerConnection>https://github.com/LinkedDataFragments/Server.Java.git</developerConnection>
23-
<tag>v0.2.1</tag>
23+
<tag>v0.2.2</tag>
2424
<url>https://github.com/LinkedDataFragments/Server.Java</url>
2525
</scm>
2626
<developers>
@@ -38,7 +38,7 @@
3838
<name>Miel Vander Sande</name>
3939
<email>[email protected]</email>
4040
<url>http://semweb.mmlab.be</url>
41-
<organization>iMinds</organization>
41+
<organization>imec</organization>
4242
<organizationUrl>http://imec.be</organizationUrl>
4343
<timezone>Europe/Brussels</timezone>
4444
</developer>
@@ -54,18 +54,18 @@
5454
</contributor>
5555
</contributors>
5656
<properties>
57-
<jettyVersion>9.3.6.v20151106</jettyVersion>
57+
<jettyVersion>9.4.9.v20180320</jettyVersion>
5858
</properties>
5959
<dependencies>
6060
<dependency>
6161
<groupId>org.apache.jena</groupId>
6262
<artifactId>jena-core</artifactId>
63-
<version>3.0.1</version>
63+
<version>3.1.0</version>
6464
</dependency>
6565
<dependency>
6666
<groupId>org.apache.jena</groupId>
6767
<artifactId>jena-arq</artifactId>
68-
<version>3.0.1</version>
68+
<version>3.1.0</version>
6969
</dependency>
7070
<dependency>
7171
<groupId>org.apache.httpcomponents</groupId>
@@ -101,7 +101,7 @@
101101
<dependency>
102102
<groupId>org.apache.commons</groupId>
103103
<artifactId>commons-lang3</artifactId>
104-
<version>3.3.2</version>
104+
<version>3.4</version>
105105
<type>jar</type>
106106
</dependency>
107107
<dependency>
@@ -113,7 +113,7 @@
113113
<dependency>
114114
<groupId>org.apache.jena</groupId>
115115
<artifactId>jena-tdb</artifactId>
116-
<version>3.0.0</version>
116+
<version>3.1.0</version>
117117
</dependency>
118118
<dependency>
119119
<groupId>org.rdfhdt</groupId>
@@ -125,6 +125,16 @@
125125
<artifactId>freemarker</artifactId>
126126
<version>2.3.25-incubating</version>
127127
</dependency>
128+
<dependency>
129+
<groupId>org.slf4j</groupId>
130+
<artifactId>slf4j-api</artifactId>
131+
<version>1.7.21</version>
132+
</dependency>
133+
<dependency>
134+
<groupId>org.slf4j</groupId>
135+
<artifactId>slf4j-simple</artifactId>
136+
<version>1.7.10</version>
137+
</dependency>
128138
</dependencies>
129139
<build>
130140
<plugins>

src/main/java/org/linkeddatafragments/servlet/LinkedDataFragmentServlet.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.File;
55
import java.io.FileReader;
66
import java.io.IOException;
7+
import java.nio.charset.StandardCharsets;
78
import java.util.ArrayList;
89
import java.util.Collection;
910
import java.util.HashMap;
@@ -13,6 +14,8 @@
1314
import javax.servlet.http.HttpServlet;
1415
import javax.servlet.http.HttpServletRequest;
1516
import javax.servlet.http.HttpServletResponse;
17+
18+
import org.apache.http.HttpHeaders;
1619
import org.apache.jena.riot.Lang;
1720
import org.linkeddatafragments.config.ConfigReader;
1821
import org.linkeddatafragments.datasource.DataSourceFactory;
@@ -94,10 +97,10 @@ public void init(ServletConfig servletConfig) throws ServletException {
9497

9598
// register content types
9699
MIMEParse.register("text/html");
97-
MIMEParse.register(Lang.TTL.getHeaderString());
98-
MIMEParse.register(Lang.JSONLD.getHeaderString());
99-
MIMEParse.register(Lang.NTRIPLES.getHeaderString());
100100
MIMEParse.register(Lang.RDFXML.getHeaderString());
101+
MIMEParse.register(Lang.NTRIPLES.getHeaderString());
102+
MIMEParse.register(Lang.JSONLD.getHeaderString());
103+
MIMEParse.register(Lang.TTL.getHeaderString());
101104
} catch (Exception e) {
102105
throw new ServletException(e);
103106
}
@@ -158,13 +161,14 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
158161
ILinkedDataFragment fragment = null;
159162
try {
160163
// do conneg
161-
String bestMatch = MIMEParse.bestMatch(request.getHeader("Accept"));
164+
String acceptHeader = request.getHeader(HttpHeaders.ACCEPT);
165+
String bestMatch = MIMEParse.bestMatch(acceptHeader);
162166

163167
// set additional response headers
164-
response.setHeader("Server", "Linked Data Fragments Server");
168+
response.setHeader(HttpHeaders.SERVER, "Linked Data Fragments Server");
165169
response.setContentType(bestMatch);
166-
response.setCharacterEncoding("utf-8");
167-
170+
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
171+
168172
// create a writer depending on the best matching mimeType
169173
ILinkedDataFragmentWriter writer = LinkedDataFragmentWriterFactory.create(config.getPrefixes(), dataSources, bestMatch);
170174

@@ -178,7 +182,6 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
178182

179183
fragment = dataSource.getRequestProcessor()
180184
.createRequestedFragment( ldfRequest );
181-
182185
writer.writeFragment(response.getOutputStream(), dataSource, fragment, ldfRequest);
183186

184187
} catch (DataSourceNotFoundException ex) {
@@ -189,11 +192,13 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro
189192
throw new ServletException(ex1);
190193
}
191194
} catch (Exception e) {
195+
e.printStackTrace();
192196
response.setStatus(500);
193197
writer.writeError(response.getOutputStream(), e);
194198
}
195199

196200
} catch (Exception e) {
201+
e.printStackTrace();
197202
throw new ServletException(e);
198203
}
199204
finally {

src/main/java/org/linkeddatafragments/util/MIMEParse.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,11 @@ public static String bestMatch(List<String> supported, String header) throws NoR
264264

265265
List<ParseResults> parseResults = new LinkedList<ParseResults>();
266266
List<FitnessAndQuality> weightedMatches = new LinkedList<FitnessAndQuality>();
267-
for (String r : StringUtils.split(header, ','))
268-
parseResults.add(parseMediaRange(r));
267+
for (String r : StringUtils.split(header, ',')) {
268+
try {
269+
parseResults.add(parseMediaRange(r));
270+
} catch (Exception ex) {} // Fail silently on malformed media type and omit from list.
271+
}
269272

270273
for (String s : supported)
271274
{
@@ -274,10 +277,13 @@ public static String bestMatch(List<String> supported, String header) throws NoR
274277
fitnessAndQuality.mimeType = s;
275278
weightedMatches.add(fitnessAndQuality);
276279
}
277-
Collections.sort(weightedMatches);
278280

281+
282+
283+
Collections.sort(weightedMatches);
279284
FitnessAndQuality lastOne = weightedMatches
280285
.get(weightedMatches.size() - 1);
286+
281287
return NumberUtils.compare(lastOne.quality, 0) != 0 ? lastOne.mimeType : supported.get(0);
282288
}
283289

src/main/java/org/linkeddatafragments/views/RdfWriterImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import java.util.Map;
66
import javax.servlet.ServletOutputStream;
77
import javax.servlet.http.HttpServletRequest;
8+
9+
import org.apache.jena.query.ARQ;
810
import org.apache.jena.rdf.model.Model;
911
import org.apache.jena.rdf.model.ModelFactory;
1012
import org.apache.jena.riot.Lang;
@@ -26,6 +28,7 @@ class RdfWriterImpl extends LinkedDataFragmentWriterBase implements ILinkedDataF
2628
public RdfWriterImpl(Map<String, String> prefixes, HashMap<String, IDataSource> datasources, String mimeType) {
2729
super(prefixes, datasources);
2830
this.contentType = RDFLanguages.contentTypeToLang(mimeType);
31+
ARQ.init();
2932
}
3033

3134
@Override
@@ -47,7 +50,6 @@ public void writeFragment(ServletOutputStream outputStream, IDataSource datasour
4750
output.add(fragment.getMetadata());
4851
output.add(fragment.getTriples());
4952
output.add(fragment.getControls());
50-
5153
RDFDataMgr.write(outputStream, output, contentType);
5254
}
5355

0 commit comments

Comments
 (0)