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)
-//    {
-//    }
-    
-
 }