You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/12/08 18:31:58 UTC
svn commit: r1549071 - in /jena/trunk/jena-arq/src/main/java:
com/hp/hpl/jena/sparql/engine/http/ org/apache/jena/atlas/web/
org/apache/jena/riot/
Author: andy
Date: Sun Dec 8 17:31:58 2013
New Revision: 1549071
URL: http://svn.apache.org/r1549071
Log:
Consoldiate on RDFLanguages for content-type to Lang
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.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/Lang.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/WebContent.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java?rev=1549071&r1=1549070&r2=1549071&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java Sun Dec 8 17:31:58 2013
@@ -427,7 +427,7 @@ public class QueryEngineHTTP implements
// Try to select language appropriately here based on the model content
// type
- Lang lang = WebContent.contentTypeToLang(actualContentType);
+ Lang lang = RDFLanguages.contentTypeToLang(actualContentType);
if (!RDFLanguages.isTriples(lang))
throw new QueryException("Endpoint returned Content Type: " + actualContentType
+ " which is not a valid RDF Graph syntax");
@@ -453,7 +453,7 @@ public class QueryEngineHTTP implements
// Try to select language appropriately here based on the model content
// type
- Lang lang = WebContent.contentTypeToLang(actualContentType);
+ Lang lang = RDFLanguages.contentTypeToLang(actualContentType);
if (!RDFLanguages.isTriples(lang))
throw new QueryException("Endpoint returned Content Type: " + actualContentType
+ " which is not a valid RDF Graph syntax");
@@ -477,7 +477,7 @@ public class QueryEngineHTTP implements
if (actualContentType == null || actualContentType.equals("")) {
actualContentType = askContentType;
}
- Lang lang = WebContent.contentTypeToLang(actualContentType);
+ Lang lang = RDFLanguages.contentTypeToLang(actualContentType);
if (!RDFLanguages.isTriples(lang))
// Parse the result appropriately depending on the selected
@@ -738,7 +738,7 @@ public class QueryEngineHTTP implements
*/
public void setModelContentType(String contentType) {
// Check that this is a valid setting
- Lang lang = WebContent.contentTypeToLang(contentType);
+ Lang lang = RDFLanguages.contentTypeToLang(contentType);
if (lang == null)
throw new IllegalArgumentException("Given Content Type '" + contentType + "' is not supported by RIOT");
if (!RDFLanguages.isTriples(lang))
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=1549071&r1=1549070&r2=1549071&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 Sun Dec 8 17:31:58 2013
@@ -52,6 +52,7 @@ public class ContentType
public String getCharset() { return mediaType.getCharset() ; }
public String getType() { return mediaType.getType() ; }
public String getSubType() { return mediaType.getSubType() ; }
+ public String toHeaderString() { return mediaType.toHeaderString() ; }
@Override
public int hashCode()
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/Lang.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/Lang.java?rev=1549071&r1=1549070&r2=1549071&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/Lang.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/Lang.java Sun Dec 8 17:31:58 2013
@@ -131,6 +131,9 @@ public class Lang
public String getName() { return label ; }
public ContentType getContentType() { return contentType ; }
+
+ /** As an HTTP Content-Type field value */
+ public String getHeaderString() { return contentType.toHeaderString() ; }
public String getLabel() { return label ; }
public List<String> getAltNames() { return altLabels ; }
public List<String> getAltContentTypes() { return altContentTypes ; }
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=1549071&r1=1549070&r2=1549071&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 Sun Dec 8 17:31:58 2013
@@ -18,22 +18,7 @@
package org.apache.jena.riot;
-import static org.apache.jena.riot.WebContent.contentTypeN3 ;
-import static org.apache.jena.riot.WebContent.contentTypeN3Alt1 ;
-import static org.apache.jena.riot.WebContent.contentTypeN3Alt2 ;
-import static org.apache.jena.riot.WebContent.contentTypeNQuads ;
-import static org.apache.jena.riot.WebContent.contentTypeNQuadsAlt1 ;
-import static org.apache.jena.riot.WebContent.contentTypeNQuadsAlt2 ;
-import static org.apache.jena.riot.WebContent.contentTypeNTriples ;
-import static org.apache.jena.riot.WebContent.contentTypeNTriplesAlt ;
-import static org.apache.jena.riot.WebContent.contentTypeRDFJSON ;
-import static org.apache.jena.riot.WebContent.contentTypeRDFXML ;
-import static org.apache.jena.riot.WebContent.contentTypeTriG ;
-import static org.apache.jena.riot.WebContent.contentTypeTriGAlt1 ;
-import static org.apache.jena.riot.WebContent.contentTypeTriGAlt2 ;
-import static org.apache.jena.riot.WebContent.contentTypeTurtle ;
-import static org.apache.jena.riot.WebContent.contentTypeTurtleAlt1 ;
-import static org.apache.jena.riot.WebContent.contentTypeTurtleAlt2 ;
+import static org.apache.jena.riot.WebContent.* ;
import java.util.Collection ;
import java.util.Collections ;
@@ -42,6 +27,7 @@ import java.util.Map ;
import org.apache.jena.atlas.lib.DS ;
import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.atlas.web.MediaType ;
import com.hp.hpl.jena.util.FileUtils ;
@@ -286,6 +272,22 @@ public class RDFLanguages
return mapContentTypeToLang.get(key) ;
}
+ public static String getCharsetForContentType(String contentType)
+ {
+ MediaType ct = MediaType.create(contentType) ;
+ if ( ct.getCharset() != null )
+ return ct.getCharset() ;
+
+ String mt = ct.getContentType() ;
+ if ( contentTypeNTriples.equals(mt) ) return charsetUTF8 ;
+ if ( contentTypeNTriplesAlt.equals(mt) ) return charsetASCII ;
+ if ( contentTypeNQuads.equals(mt) ) return charsetUTF8 ;
+ if ( contentTypeNQuadsAlt1.equals(mt) ) return charsetASCII ;
+ if ( contentTypeNQuadsAlt2.equals(mt) ) return charsetASCII ;
+ return charsetUTF8 ;
+ }
+
+
/** Map a colloquial name (e.g. "Turtle") to a {@link Lang} */
public static Lang shortnameToLang(String label)
{
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java?rev=1549071&r1=1549070&r2=1549071&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/WebContent.java Sun Dec 8 17:31:58 2013
@@ -18,20 +18,11 @@
package org.apache.jena.riot;
-import java.util.HashMap ;
-import java.util.Map ;
-
-import org.apache.jena.atlas.web.MediaType ;
public class WebContent
{
// Names for things.
- // contentType => ctStr
-
- // Rename as:
- // TEXT_TURTLE etc etc.
-
public static final String contentTypeN3 = "text/rdf+n3" ;
public static final String contentTypeN3Alt1 = "application/n3" ;
public static final String contentTypeN3Alt2 = "text/n3" ;
@@ -101,29 +92,6 @@ public class WebContent
/** Java name for UTF-8 encoding */
public static final String encodingUTF8 = "utf-8" ;
- private static Map<String, Lang> mapContentTypeToLang = new HashMap<String, Lang>() ;
- static {
- // Or is code preferrable?
- mapContentTypeToLang.put(contentTypeRDFXML, RDFLanguages.RDFXML) ;
- mapContentTypeToLang.put(contentTypeN3, RDFLanguages.N3);
- mapContentTypeToLang.put(contentTypeN3Alt1, RDFLanguages.N3);
- mapContentTypeToLang.put(contentTypeN3Alt2, RDFLanguages.N3);
- mapContentTypeToLang.put(contentTypeTurtle, RDFLanguages.TURTLE) ;
- mapContentTypeToLang.put(contentTypeTurtleAlt1, RDFLanguages.TURTLE) ;
- mapContentTypeToLang.put(contentTypeTurtleAlt2, RDFLanguages.TURTLE) ;
- mapContentTypeToLang.put(contentTypeNTriples, RDFLanguages.NTRIPLES) ;
- // Remove? Causes more trouble than it's worth.
- mapContentTypeToLang.put(contentTypeNTriplesAlt, RDFLanguages.NTRIPLES) ; // text/plain
- mapContentTypeToLang.put(contentTypeRdfJson, RDFLanguages.RDFJSON) ;
-
- mapContentTypeToLang.put(contentTypeNQuads, RDFLanguages.NQUADS) ;
- mapContentTypeToLang.put(contentTypeNQuadsAlt1, RDFLanguages.NQUADS) ;
- mapContentTypeToLang.put(contentTypeNQuadsAlt2, RDFLanguages.NQUADS) ;
- mapContentTypeToLang.put(contentTypeTriG, RDFLanguages.TRIG) ;
- mapContentTypeToLang.put(contentTypeTriGAlt1, RDFLanguages.TRIG) ;
- mapContentTypeToLang.put(contentTypeTriGAlt2, RDFLanguages.TRIG) ;
- }
-
/** Accept header part when looking for a graph */
private static final String defaultGraphAccept = "text/turtle,application/n-triples;q=0.9,application/rdf+xml;q=0.8,application/xml;q=0.7" ;
/** Accept header when looking for a graph */
@@ -137,59 +105,33 @@ public class WebContent
/** Accept header when looking for a graph or dataset */
public static final String defaultRDFAcceptHeader = defaultGraphAccept+","+defaultDatasetAccept+",*/*;q=0.5" ;
-
/** Return our "canonical" name for a Content Type.
* This should be the standard one, no X-*
*/
public static String contentTypeCanonical(String contentType)
{
- Lang lang = contentTypeToLang(contentType) ;
+ Lang lang = RDFLanguages.contentTypeToLang(contentType) ;
if ( lang == null )
return null ;
- return mapLangToContentType.get(lang) ;
+ return lang.getHeaderString() ;
+ //return mapLangToContentType.get(lang) ;
}
- /** @deprecated Use RDFlanguages.contentTypeToLang(String)*/
+ /** @deprecated Use {@linkplain RDFLanguages#contentTypeToLang(String)}*/
@Deprecated
public static Lang contentTypeToLang(String contentType)
- {
- if ( contentType == null )
- return null ;
- return mapContentTypeToLang.get(contentType) ;
+ {
+ return RDFLanguages.contentTypeToLang(contentType) ;
}
- /** Canonical names */
- private static Map<Lang, String> mapLangToContentType = new HashMap<Lang, String>() ;
- static {
- mapLangToContentType.put(RDFLanguages.N3, contentTypeN3) ;
- mapLangToContentType.put(RDFLanguages.TURTLE, contentTypeTurtle) ;
- mapLangToContentType.put(RDFLanguages.NTRIPLES, contentTypeNTriples) ;
- mapLangToContentType.put(RDFLanguages.RDFXML, contentTypeRDFXML) ;
- mapLangToContentType.put(RDFLanguages.RDFJSON, contentTypeRdfJson) ;
-
- mapLangToContentType.put(RDFLanguages.NQUADS, contentTypeNQuads) ;
- mapLangToContentType.put(RDFLanguages.TRIG, contentTypeTriG) ;
- }
- public static String mapLangToContentType(Lang lang) { return mapLangToContentType.get(lang) ; }
+ /** @deprecated Use {@linkplain Lang#getHeaderString()} */
+ @Deprecated
+ public static String mapLangToContentType(Lang lang) { return lang.getHeaderString() ; }
+ /** @deprecated Use {@linkplain RDFLanguages#getCharsetForContentType(String)} */
+ @Deprecated
public static String getCharsetForContentType(String contentType)
{
- MediaType ct = MediaType.create(contentType) ;
- if ( ct.getCharset() != null )
- return ct.getCharset() ;
-
- String mt = ct.getContentType() ;
- if ( contentTypeNTriples.equals(mt) ) return charsetUTF8 ;
- if ( contentTypeNTriplesAlt.equals(mt) ) return charsetASCII ;
- if ( contentTypeNQuads.equals(mt) ) return charsetUTF8 ;
- if ( contentTypeNQuadsAlt1.equals(mt) ) return charsetASCII ;
- if ( contentTypeNQuadsAlt2.equals(mt) ) return charsetASCII ;
- return charsetUTF8 ;
+ return RDFLanguages.getCharsetForContentType(contentType) ;
}
-
-// public static ContentType contentTypeForFilename(String filename)
-// {
-// }
-
-
}