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.