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/11/05 14:18:54 UTC

svn commit: r1538988 - /jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java

Author: andy
Date: Tue Nov  5 13:18:53 2013
New Revision: 1538988

URL: http://svn.apache.org/r1538988
Log:
Remove duplicated process of deciding syntax.

Modified:
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java

Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java?rev=1538988&r1=1538987&r2=1538988&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java Tue Nov  5 13:18:53 2013
@@ -18,18 +18,17 @@
 
 package org.apache.jena.riot.adapters;
 
-import java.io.IOException ;
 import java.io.InputStream ;
 import java.util.Iterator ;
 
-import org.apache.jena.atlas.web.TypedInputStream ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RDFLanguages ;
 import org.apache.jena.riot.stream.* ;
-import org.apache.jena.riot.system.IRILib ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
 import com.hp.hpl.jena.rdf.model.Model ;
-import com.hp.hpl.jena.shared.NotFoundException ;
 import com.hp.hpl.jena.util.FileManager ;
 import com.hp.hpl.jena.util.FileUtils ;
 import com.hp.hpl.jena.util.TypedStream ;
@@ -271,50 +270,19 @@ public class AdapterFileManager extends 
 
         if ( log.isDebugEnabled() && !mappedURI.equals(filenameOrURI) )
             log.debug("Map: " + filenameOrURI + " => " + mappedURI) ;
-
-        if ( syntax == null && baseURI == null && mappedURI.startsWith("http:") ) {
-            // No syntax, no baseURI, HTTP URL ==> use content negotiation
-            model.read(mappedURI) ;
-            return model ;
-        }
-
-        if ( syntax == null ) {
-            syntax = FileUtils.guessLang(mappedURI) ;
-            if ( syntax == null || syntax.equals("") )
-                syntax = FileUtils.langXML ;
-            if ( log.isDebugEnabled() )
-                log.debug("Syntax guess: " + syntax) ;
-        }
-
-        if ( baseURI == null )
-            baseURI = chooseBaseURI(filenameOrURI) ;
-
-        TypedInputStream in = streamManager.openNoMapOrNull(mappedURI) ;
-        if ( in == null ) {
-            if ( log.isDebugEnabled() )
-                log.debug("Failed to locate '" + mappedURI + "'") ;
-            throw new NotFoundException("Not found: " + filenameOrURI) ;
-        }
-        if ( in.getMediaType() != null ) {
-            // XXX
-            // syntax
-        }
-        model.read(in, baseURI, syntax) ;
-        try {
-            in.close() ;
-        } catch (IOException ex) {}
+        // File extension preferred to content negotiation.
+        // Compatibility.
+        if ( syntax == null )
+            syntax = RDFLanguages.guessContentType(mappedURI).getContentType() ;
+        
+        Lang lang = RDFLanguages.nameToLang(syntax) ;
+//        if ( lang == null )
+//            // This overrides content negotiation (best compatibility with old jena).
+//            lang = RDFLanguages.filenameToLang(mappedURI) ;
+        RDFDataMgr.read(model, mappedURI, baseURI, lang);
         return model ;
     }
 
-    private static String chooseBaseURI(String baseURI) {
-        String scheme = FileUtils.getScheme(baseURI) ;
-        // Assume scheme of one letter are Windows drive letters. 
-        if ( scheme != null && scheme.length() > 1 && scheme.equals("file") )
-            // Not a file - leave alone.
-            return baseURI ;
-        return IRILib.filenameToIRI(baseURI) ;
-    }
-
     /**
      * Open a file using the locators of this FileManager Throws
      * RiotNotFoundException if not found.