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:10:25 UTC
svn commit: r1538980 - in
/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot: RDFDataMgr.java
SysRIOT.java
Author: andy
Date: Tue Nov 5 13:10:24 2013
New Revision: 1538980
URL: http://svn.apache.org/r1538980
Log:
Put sorting out a base URI all in one place (SysRIOT).
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/RDFDataMgr.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
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=1538980&r1=1538979&r2=1538980&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 Tue Nov 5 13:10:24 2013
@@ -29,7 +29,10 @@ import org.apache.jena.atlas.web.TypedIn
import org.apache.jena.riot.lang.LangRDFXML ;
import org.apache.jena.riot.lang.LangRIOT ;
import org.apache.jena.riot.stream.StreamManager ;
-import org.apache.jena.riot.system.* ;
+import org.apache.jena.riot.system.ErrorHandlerFactory ;
+import org.apache.jena.riot.system.RiotLib ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
import org.apache.jena.riot.tokens.Tokenizer ;
import org.apache.jena.riot.tokens.TokenizerFactory ;
import org.apache.jena.riot.writer.NQuadsWriter ;
@@ -670,7 +673,7 @@ public class RDFDataMgr
if ( uri == null )
throw new IllegalArgumentException("URI to read from is null") ;
if ( base == null )
- base = IRIResolver.resolveFileURL(uri) ;
+ base = SysRIOT.chooseBaseIRI(uri) ;
if ( hintLang == null )
hintLang = RDFLanguages.filenameToLang(uri) ;
TypedInputStream in = open(uri, context) ;
Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java?rev=1538980&r1=1538979&r2=1538980&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/SysRIOT.java Tue Nov 5 13:10:24 2013
@@ -18,11 +18,15 @@
package org.apache.jena.riot;
+import java.io.File ;
+
import org.apache.jena.riot.system.IRILib ;
import org.apache.jena.riot.system.IRIResolver ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
+import com.hp.hpl.jena.util.FileUtils ;
+
public class SysRIOT
{
public static final String riotLoggerName = "org.apache.jena.riot" ;
@@ -33,6 +37,8 @@ public class SysRIOT
public static final String BNodeGenIdPrefix = "genid" ;
+ public static final boolean isWindows = (File.pathSeparatorChar == ';' ) ;
+
static public String fmtMessage(String message, long line, long col)
{
if ( col == -1 && line == -1 )
@@ -55,6 +61,18 @@ public class SysRIOT
return IRIResolver.chooseBaseURI().toString() ;
}
+ /** Return a URI suitable for a baseURI, based on some input (which may be null) */
+ public static String chooseBaseIRI(String baseURI)
+ {
+ String scheme = FileUtils.getScheme(baseURI) ;
+ // Assume scheme of one letter are Windows drive letters.
+ if ( scheme != null && scheme.length() == 1 )
+ scheme = "file" ;
+ if ( scheme != null && scheme.equals("file") )
+ return IRILib.filenameToIRI(baseURI) ;
+ return IRIResolver.resolveString(baseURI) ;
+ }
+
public static String filename2baseIRI(String filename)
{
if ( filename == null || filename.equals("-") )