You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by fc...@apache.org on 2011/11/29 12:06:00 UTC
svn commit: r1207822 - in /incubator/stanbol/trunk:
commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/
enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/
Author: fchrist
Date: Tue Nov 29 11:05:58 2011
New Revision: 1207822
URL: http://svn.apache.org/viewvc?rev=1207822&view=rev
Log:
STANBOL-101 fixed problems with Accept header.
If accept header is omitted or wildcard, then JSON-LD is produced as the default output format.
If accept header is application/json, then JSON-LD is produced.
Modified:
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/GraphWriter.java
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java
incubator/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnginesRootResource.java
Modified: incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/GraphWriter.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/GraphWriter.java?rev=1207822&r1=1207821&r2=1207822&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/GraphWriter.java (original)
+++ incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/GraphWriter.java Tue Nov 29 11:05:58 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.commons.web.b
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
+import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
import static org.apache.clerezza.rdf.core.serializedform.SupportedFormat.N3;
import static org.apache.clerezza.rdf.core.serializedform.SupportedFormat.N_TRIPLE;
import static org.apache.clerezza.rdf.core.serializedform.SupportedFormat.RDF_JSON;
@@ -66,9 +67,12 @@ public class GraphWriter implements Mess
types.add(X_TURTLE);
types.add(RDF_JSON);
types.add(APPLICATION_JSON);
+ types.add(APPLICATION_OCTET_STREAM);
supportedMediaTypes = Collections.unmodifiableSet(types);
}
+ public static final String ENCODING = "UTF-8";
+
@Context
protected ServletContext servletContext;
@@ -92,13 +96,15 @@ public class GraphWriter implements Mess
MultivaluedMap<String, Object> httpHeaders,
OutputStream entityStream) throws IOException,
WebApplicationException {
+
long start = System.currentTimeMillis();
String mediaTypeString = mediaType.getType()+'/'+mediaType.getSubtype();
- if (mediaType.isWildcardType() || TEXT_PLAIN.equals(mediaTypeString)) {
+ if (mediaType.isWildcardType() || TEXT_PLAIN.equals(mediaTypeString) || APPLICATION_OCTET_STREAM.equals(mediaTypeString)) {
getSerializer().serialize(entityStream, t, APPLICATION_JSON);
} else {
getSerializer().serialize(entityStream, t, mediaTypeString);
}
+
log.debug("Serialized {} in {}ms",t.size(),System.currentTimeMillis()-start);
}
}
Modified: incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java?rev=1207822&r1=1207821&r2=1207822&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java (original)
+++ incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java Tue Nov 29 11:05:58 2011
@@ -27,7 +27,6 @@ import java.util.Iterator;
import java.util.Map;
import org.apache.clerezza.rdf.core.BNode;
-import org.apache.clerezza.rdf.core.Literal;
import org.apache.clerezza.rdf.core.NonLiteral;
import org.apache.clerezza.rdf.core.PlainLiteral;
import org.apache.clerezza.rdf.core.Triple;
Modified: incubator/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnginesRootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnginesRootResource.java?rev=1207822&r1=1207821&r2=1207822&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnginesRootResource.java (original)
+++ incubator/stanbol/trunk/enhancer/jersey/src/main/java/org/apache/stanbol/enhancer/jersey/resource/EnginesRootResource.java Tue Nov 29 11:05:58 2011
@@ -17,11 +17,9 @@
package org.apache.stanbol.enhancer.jersey.resource;
import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE;
import static javax.ws.rs.core.MediaType.TEXT_HTML;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
import static javax.ws.rs.core.MediaType.WILDCARD;
-import static org.apache.clerezza.rdf.core.serializedform.SupportedFormat.RDF_JSON;
import static org.apache.clerezza.rdf.core.serializedform.SupportedFormat.RDF_XML;
import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
@@ -77,8 +75,8 @@ public class EnginesRootResource extends
protected Serializer serializer;
- // bind the job manager by looking it up from the servlet request context
public EnginesRootResource(@Context ServletContext context) {
+ // bind the job manager by looking it up from the servlet request context
jobManager = ContextHelper.getServiceFromContext(EnhancementJobManager.class, context);
tcManager = ContextHelper.getServiceFromContext(TcManager.class, context);
serializer = ContextHelper.getServiceFromContext(Serializer.class, context);
@@ -97,8 +95,6 @@ public class EnginesRootResource extends
ResponseBuilder res = Response.ok(new Viewable("index", this),TEXT_HTML);
addCORSOrigin(servletContext,res, headers);
return res.build();
-// return Response.ok(new Viewable("index", this))
-// .header(HttpHeaders.CONTENT_TYPE, TEXT_HTML+"; charset=utf-8").build();
}
public List<EnhancementEngine> getActiveEngines() {
@@ -164,7 +160,7 @@ public class EnginesRootResource extends
format = headers.getMediaType().toString();
}
if (uri != null && uri.isEmpty()) {
- // let the store build an internal URI basted on the content
+ // let the store build an internal URI based on the content
uri = null;
}
ContentItem ci = new InMemoryContentItem(uri, data, format);
@@ -178,7 +174,6 @@ public class EnginesRootResource extends
if (jobManager != null) {
jobManager.enhanceContent(ci);
}
- MGraph graph = ci.getMetadata();
if (buildAjaxview) {
ContentItemResource contentItemResource = new ContentItemResource(null, ci, uriInfo, tcManager,
@@ -190,19 +185,16 @@ public class EnginesRootResource extends
addCORSOrigin(servletContext,rb, headers);
return rb.build();
}
+
+ MGraph graph = ci.getMetadata();
ResponseBuilder rb = Response.ok(graph);
- if (format != null) {
- // force mimetype from form params
- rb.header(HttpHeaders.CONTENT_TYPE, format+"; charset=UTF-8");
- }
- if (headers.getAcceptableMediaTypes().contains(APPLICATION_JSON_TYPE)) {
- // force RDF JSON media type (TODO: move this logic
- rb.header(HttpHeaders.CONTENT_TYPE, RDF_JSON+"; charset=UTF-8");
- } else if (headers.getAcceptableMediaTypes().isEmpty()) {
+ if (headers.getAcceptableMediaTypes().isEmpty()) {
// use RDF/XML as default format to keep compat with OpenCalais
// clients
+ System.out.println("NO ACCEPTABLE MEDIA TYPE");
rb.header(HttpHeaders.CONTENT_TYPE, RDF_XML+"; charset=UTF-8");
}
+
addCORSOrigin(servletContext,rb, headers);
return rb.build();
}