Author: andy Date: Thu Nov 28 19:07:01 2013 New Revision: 1546450 URL: http://svn.apache.org/r1546450 Log: JENA-598 - Use URL file extension if no content type (or it's text/plain) by using RDFDataMgr.determineLang.
And various null point situations handled more gracefully (found during debugging). Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/ContentType.java jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java?rev=1546450&r1=1546449&r2=1546450&view=diff ============================================================================== --- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java (original) +++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateEngineWorker.java Thu Nov 28 19:07:01 2013 @@ -152,7 +152,8 @@ public class UpdateEngineWorker implemen try { // Read into temporary storage to protect against parse errors. TypedInputStream s = RDFDataMgr.open(source) ; - Lang lang = RDFLanguages.contentTypeToLang(s.getContentType()) ; + Lang lang = RDFDataMgr.determineLang(source, s.getContentType(), null) ; + if ( RDFLanguages.isTriples(lang) ) { // Triples Graph g = GraphFactory.createGraphMem() ; Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/ContentType.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/ContentType.java?rev=1546450&r1=1546449&r2=1546450&view=diff ============================================================================== --- jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/ContentType.java (original) +++ jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/ContentType.java Thu Nov 28 19:07:01 2013 @@ -30,6 +30,8 @@ public class ContentType public static ContentType create(String string) { + if ( string == null ) + return null ; ContentType ct = new ContentType(MediaType.create(string)) ; return ct ; } Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java?rev=1546450&r1=1546449&r2=1546450&view=diff ============================================================================== --- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java (original) +++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java Thu Nov 28 19:07:01 2013 @@ -883,7 +883,7 @@ public class RDFDataMgr /** Determine the Lang, given the URI target, any content type header string and a hint */ public static Lang determineLang(String target, String ctStr, Lang hintLang) { - ContentType ct = determineCT(target, ctStr, hintLang ) ; + ContentType ct = determineCT(target, ctStr, hintLang) ; if ( ct == null ) return hintLang ; Lang lang = RDFLanguages.contentTypeToLang(ct) ; Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java?rev=1546450&r1=1546449&r2=1546450&view=diff ============================================================================== --- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java (original) +++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFLanguages.java Thu Nov 28 19:07:01 2013 @@ -271,6 +271,8 @@ public class RDFLanguages /** Map a content type (without charset) to a {@link Lang} */ public static Lang contentTypeToLang(String contentType) { + if ( contentType == null ) + return null ; String key = canonicalKey(contentType) ; return mapContentTypeToLang.get(key) ; } @@ -278,6 +280,8 @@ public class RDFLanguages /** Map a content type (without charset) to a {@link Lang} */ public static Lang contentTypeToLang(ContentType ct) { + if ( ct == null ) + return null ; String key = canonicalKey(ct.getContentType()) ; return mapContentTypeToLang.get(key) ; } @@ -285,6 +289,8 @@ public class RDFLanguages /** Map a colloquial name (e.g. "Turtle") to a {@link Lang} */ public static Lang shortnameToLang(String label) { + if ( label == null ) + return null ; String key = canonicalKey(label) ; return mapLabelToLang.get(key) ; } Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java?rev=1546450&r1=1546449&r2=1546450&view=diff ============================================================================== --- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java (original) +++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java Thu Nov 28 19:07:01 2013 @@ -162,7 +162,8 @@ public class HttpOp { public void handle(String baseIRI, HttpResponse response) throws IOException { HttpEntity entity = response.getEntity(); - stream = new TypedInputStream(entity.getContent(), entity.getContentType().getValue()); + String ct = (entity.getContentType()==null) ? null : entity.getContentType().getValue() ; + stream = new TypedInputStream(entity.getContent(), ct); } @Override