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 2012/02/07 21:47:14 UTC
svn commit: r1241612 - in
/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader: ./ fm2/
fm2/test/
Author: andy
Date: Tue Feb 7 20:47:13 2012
New Revision: 1241612
URL: http://svn.apache.org/viewvc?rev=1241612&view=rev
Log: (empty)
Added:
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Lang2.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/LangRegistry.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Langs.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile2.java
- copied, changed from r1240610, incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile.java
Removed:
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile.java
Modified:
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/TypedStream2.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/WebReader2.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/FileManager2.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorClassLoader.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorZip.java
incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/test/TestLocators.java
Added: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Lang2.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Lang2.java?rev=1241612&view=auto
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Lang2.java (added)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Lang2.java Tue Feb 7 20:47:13 2012
@@ -0,0 +1,74 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package riot.reader;
+
+import java.util.UUID ;
+
+
+// Should this generalize to result set formats?
+// DataFormat.
+public class Lang2
+{
+ private final String label ;
+
+ /** Create a language with a well-known name,
+ * All languages with the same name wil be treated as the same language.
+ */
+ static public Lang2 create(String label)
+ {
+ return new Lang2(label) ;
+ }
+
+ /** Create an unnamed language. Using language with well-known unique names is better. */
+ static public Lang2 create()
+ {
+ return new Lang2(UUID.randomUUID().toString()) ;
+ }
+
+ protected Lang2(String label)
+ {
+ if ( label == null )
+ throw new IllegalArgumentException("Nul not allowed for language name") ;
+ else
+ label = label.intern();
+ this.label = label ;
+ }
+
+ protected Lang2(Lang2 other) { this.label = other.label ; }
+
+ @Override
+ public int hashCode() { return label.hashCode() ; }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if ( this == other ) return true ;
+
+ if ( ! ( other instanceof Lang2 ) )
+ return false ;
+
+ Lang2 otherLang = (Lang2)other ;
+ return this.label == otherLang.label ; // String interning.
+ }
+
+ public String getName() { return label ; }
+ @Override
+ public String toString() { return label ; }
+}
+
Added: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/LangRegistry.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/LangRegistry.java?rev=1241612&view=auto
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/LangRegistry.java (added)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/LangRegistry.java Tue Feb 7 20:47:13 2012
@@ -0,0 +1,25 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package riot.reader;
+
+public class LangRegistry
+{
+
+}
+
Added: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Langs.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Langs.java?rev=1241612&view=auto
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Langs.java (added)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/Langs.java Tue Feb 7 20:47:13 2012
@@ -0,0 +1,156 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package riot.reader;
+
+import java.util.HashMap ;
+import java.util.Map ;
+
+import com.hp.hpl.jena.util.FileUtils ;
+
+import org.openjena.atlas.lib.MultiMap ;
+import org.openjena.riot.ContentType ;
+import org.openjena.riot.Lang ;
+import org.openjena.riot.WebContent ;
+
+public class Langs
+{
+ // Constants and wiring.
+
+ // Languages as constants. Lang is an "open enum" (you can add your own),
+ // registered with their MIME type or offical name,
+ static Lang2 langRDFXML = Lang2.create(WebContent.contentTypeRDFXML) ;
+ static Lang2 langTurtle = Lang2.create(WebContent.contentTypeRDFXML) ;
+ static Lang2 langNTriples = Lang2.create(WebContent.contentTypeNTriplesAlt) ; // Exception: not text/plain.
+ static Lang2 langN3 = Lang2.create(WebContent.contentTypeN3) ;
+ static Lang2 langRDFJSON = Lang2.create(WebContent.contentTypeRDFJSON) ;
+
+ static Lang2 langNQuads = Lang2.create(WebContent.contentTypeNQuads) ;
+ static Lang2 langTriG = Lang2.create(WebContent.contentTypeTriG) ;
+
+
+ public static ContentType guessContentType(String filenameOrIRI)
+ {
+ Lang lang = Lang.guess(filenameOrIRI) ;
+ String contentType = WebContent.mapLangToContentType(lang) ;
+ String charset = WebContent.getCharsetForContentType(contentType) ;
+ return ContentType.create(contentType, charset) ;
+ }
+
+
+ // Temporary.
+ public static Lang2 convert(Lang lang)
+ {
+ if (lang == null) return null ;
+ return Lang2.create(lang.getName()) ;
+ }
+
+ // Temporary.
+ public static Lang convert(Lang2 lang)
+ {
+ if (lang == null) return null ;
+ return Lang.get(lang.getName()) ;
+ }
+
+ //** Merge with Lang.guess
+ public static Lang2 guess(String resourceIRI, Lang2 dftLang)
+ {
+ return convert(Lang.guess(resourceIRI, convert(dftLang))) ;
+ }
+
+ public static Lang2 guess(String resourceIRI)
+ {
+ return convert(Lang.guess(resourceIRI)) ;
+ }
+ //** Merge with Lang.guess
+
+
+
+ static {
+ // See WebContent.mapContentTypeToLang
+ register(langRDFXML) ;
+ register(langTurtle) ;
+ register(langTurtle) ;
+ register(langTurtle) ;
+
+ register(langNTriples) ;
+
+ register(langN3) ;
+
+ register(langRDFJSON) ;
+ register(langNQuads) ;
+ register(langTriG) ;
+ }
+
+ private static void register(Lang2 lang)
+ {
+
+ }
+
+ // MIME specific.
+ // Check for uniqueness.
+
+
+
+ static {
+ extension(langRDFXML, "rdf", "owl", "xml") ;
+ extension(langTurtle, "ttl") ;
+ extension(langNTriples, "nt") ;
+ extension(langN3, "n3") ;
+ extension(langRDFJSON, "rj", "json") ;
+ extension(langNQuads, "nq") ;
+ extension(langTriG, "trig") ;
+ }
+
+ // Reader name and variations to lang (compatibility)
+
+ static {
+ jenaName("RDF/XML", langRDFXML) ;
+ jenaName("RDF/XML-ABBREV", langRDFXML) ;
+
+ jenaName("N-TRIPLE", langNTriples) ;
+ jenaName("N-TRIPLES", langNTriples) ;
+ jenaName("NTRIPLE", langNTriples) ;
+ jenaName("NTRIPLES", langNTriples) ;
+
+ jenaName("TURTLE", langNTriples) ;
+ jenaName("TTL", langNTriples) ;
+
+ jenaName("N-QUADS", langNQuads) ;
+ jenaName("NQUADS", langNQuads) ;
+
+ jenaName("TRIG", langTriG) ;
+ }
+
+
+
+ static MultiMap<Lang2, String> extensions = MultiMap.createMapList() ;
+ static Map<String, Lang2> jenaName = new HashMap<String, Lang2>() ;
+
+ private static void extension(Lang2 lang, String ... exts)
+ {
+ extensions.putAll(lang, exts) ;
+ }
+
+ private static void jenaName(String name, Lang2 lang)
+ {
+ jenaName.put(name, lang) ;
+ }
+
+
+}
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/TypedStream2.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/TypedStream2.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/TypedStream2.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/TypedStream2.java Tue Feb 7 20:47:13 2012
@@ -33,17 +33,18 @@ public class TypedStream2
private String baseURI ;
public TypedStream2(InputStream in)
- { this(in, null) ; }
+ { this(in, null, null) ; }
public TypedStream2(InputStream in, String mediaType, String charset, String baseURI)
{
- this(in, ContentType.create(mediaType, charset)) ;
+ this(in, ContentType.create(mediaType, charset), baseURI) ;
}
- public TypedStream2(InputStream in, ContentType ct)
+ public TypedStream2(InputStream in, ContentType ct, String baseURI)
{
- input = in ;
- mediaType = ct ;
+ this.input = in ;
+ this.mediaType = ct ;
+ this.baseURI = baseURI ;
}
public InputStream getInput() { return input ; }
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/WebReader2.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/WebReader2.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/WebReader2.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/WebReader2.java Tue Feb 7 20:47:13 2012
@@ -28,6 +28,7 @@ import org.openjena.riot.lang.SinkTriple
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import riot.reader.fm2.FileManager2 ;
+import riot.reader.fm2.LocatorFile2 ;
import riot.reader.fm2.LocatorURL2 ;
import com.hp.hpl.jena.graph.Graph ;
@@ -72,6 +73,13 @@ public class WebReader2
public static void main(String ... argv)
{
+ LocatorFile2 loc = new LocatorFile2("/DIR") ;
+
+ System.out.println(loc.toFile("FILE").getAbsoluteFile()) ;
+ System.out.println(loc.toFile("file:FILE").getAbsoluteFile()) ;
+
+ System.exit(0) ;
+
Log.enable(WebReader2.class) ;
Model m = ModelFactory.createDefaultModel() ;
read(m, "http://localhost:3030/ds/get?default", WebContent.contentTypeTurtle, null) ;
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/FileManager2.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/FileManager2.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/FileManager2.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/FileManager2.java Tue Feb 7 20:47:13 2012
@@ -43,7 +43,7 @@ import com.hp.hpl.jena.util.LocatorURL ;
* resources: applications may also create specialised FileManagers.
*
* A FileManager contains a list of location functions to try: the global
- * FileManger has one {@link LocatorFile}, one {@link LocatorClassLoader} and
+ * FileManger has one {@link LocatorFile2}, one {@link LocatorClassLoader} and
* one {@link LocatorURL}
*
* Main operations:
@@ -65,7 +65,7 @@ import com.hp.hpl.jena.util.LocatorURL ;
* copy of a common RDF dataset may be used whenever the usual URL is used by
* the application.
*
- * The {@link LocatorFile} also supports the idea of "current directory".
+ * The {@link LocatorFile2} also supports the idea of "current directory".
*
* @see LocationMapper
* @see FileUtils
@@ -156,7 +156,7 @@ public class FileManager2 extends Stream
/** Add a file locator which uses dir as its working directory */
public void addLocatorFile(String dir)
{
- LocatorFile fLoc = new LocatorFile(dir) ;
+ LocatorFile2 fLoc = new LocatorFile2(dir) ;
addLocator(fLoc) ;
}
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorClassLoader.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorClassLoader.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorClassLoader.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorClassLoader.java Tue Feb 7 20:47:13 2012
@@ -20,12 +20,12 @@ package riot.reader.fm2;
import java.io.InputStream ;
+import org.openjena.riot.ContentType ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
+import riot.reader.Langs ;
import riot.reader.TypedStream2 ;
-import com.hp.hpl.jena.util.FileUtils ;
-
public class LocatorClassLoader implements Locator
{
static Logger log = LoggerFactory.getLogger(LocatorClassLoader.class) ;
@@ -49,30 +49,25 @@ public class LocatorClassLoader impleme
{ return classLoader.hashCode(); }
@Override
- public TypedStream2 open(String filenameOrURI)
+ public TypedStream2 open(String resourceName)
{
if ( classLoader == null )
return null ;
- String fn = FileUtils.toFilename(filenameOrURI) ;
- if ( fn == null )
- {
- if ( StreamManager.logAllLookups && log.isTraceEnabled() )
- log.trace("Not found: "+filenameOrURI) ;
- return null ;
- }
- InputStream in = classLoader.getResourceAsStream(fn) ;
+ InputStream in = classLoader.getResourceAsStream(resourceName) ;
if ( in == null )
{
if ( StreamManager.logAllLookups && log.isTraceEnabled() )
- log.trace("Failed to open: "+filenameOrURI) ;
+ log.trace("Failed to open: "+resourceName) ;
return null ;
}
if ( StreamManager.logAllLookups && log.isTraceEnabled() )
- log.trace("Found: "+filenameOrURI) ;
+ log.trace("Found: "+resourceName) ;
- return new TypedStream2(in) ;
+ ContentType ct = Langs.guessContentType(resourceName) ;
+ // No sensible base URI.
+ return new TypedStream2(in, ct, null) ;
}
@Override
Copied: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile2.java (from r1240610, incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile2.java?p2=incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile2.java&p1=incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile.java&r1=1240610&r2=1241612&rev=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorFile2.java Tue Feb 7 20:47:13 2012
@@ -25,11 +25,10 @@ import java.io.InputStream ;
import java.security.AccessControlException ;
import org.openjena.atlas.lib.IRILib ;
-import org.openjena.atlas.lib.Lib ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.WebContent ;
+import org.openjena.riot.ContentType ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
+import riot.reader.Langs ;
import riot.reader.TypedStream2 ;
import com.hp.hpl.jena.util.FileUtils ;
@@ -39,15 +38,20 @@ import com.hp.hpl.jena.util.FileUtils ;
* location mapping (see @link{LocationMapping}) as it applies only to files.
*/
-public class LocatorFile implements Locator
+public class LocatorFile2 implements Locator
{
- static Logger log = LoggerFactory.getLogger(LocatorFile.class) ;
+ static Logger log = LoggerFactory.getLogger(LocatorFile2.class) ;
private String altDir = null ;
private String altDirLogStr = "" ;
- public LocatorFile() { this(null) ; }
+ /** Create a LocatorFile */
+ public LocatorFile2() { this(null) ; }
- public LocatorFile(String dir)
+ /** Create a LocatorFile that uses the argument as it's working directory
+ * The working directory should be a UNIX style file name,
+ * (relative or absolute), not a URI.
+ */
+ public LocatorFile2(String dir)
{
if ( dir != null )
{
@@ -60,24 +64,12 @@ public class LocatorFile implements Loca
// Two LocatorFile are the same if they would look up names to the same files.
- @Override
- public boolean equals( Object other )
- {
- return
- other instanceof LocatorFile
- && Lib.equal(altDir, ((LocatorFile) other).altDir );
- }
-
- @Override
- public int hashCode()
- {
- if ( altDir == null ) return 57 ;
- return altDir.hashCode();
- }
-
/** To a File, after processing the filename for file: or relative filename */
public File toFile(String filenameIRI)
{
+ // Do not use : it will ignore the directory.
+ //IRILib.filenameToIRI
+
String scheme = FileUtils.getScheme(filenameIRI) ;
String fn = filenameIRI ;
// Windows : C:\\ is not a scheme name!
@@ -88,9 +80,10 @@ public class LocatorFile implements Loca
return null ;
fn = IRILib.IRIToFilename(filenameIRI) ;
}
- // AltDir.
- // "/" is a path separator on Windows.
- if ( altDir != null && ! fn.startsWith("/") && ! fn.startsWith(File.pathSeparator) )
+ // fn is the file name to use.
+ // If it is relative, and we have a different working directory, prepend that.
+ // "/" is a path separator on Windows as well.
+ if ( altDir != null && ! fn.startsWith("/") && ! fn.startsWith(File.separator) )
fn = altDir+"/"+fn ;
return new File(fn) ;
}
@@ -105,7 +98,7 @@ public class LocatorFile implements Loca
return f.exists() ;
}
- /** Opne anything that looks a bit like a file name */
+ /** Open anything that looks a bit like a file name */
@Override
public TypedStream2 open(String filenameIRI)
{
@@ -129,11 +122,8 @@ public class LocatorFile implements Loca
if ( StreamManager.logAllLookups && log.isTraceEnabled() )
log.trace("Found: "+filenameIRI+altDirLogStr) ;
- // Guess content from extension.
- Lang lang = Lang.guess(filenameIRI) ;
- String contentType = WebContent.mapLangToContentType(lang) ;
- String charset = WebContent.getCharsetForContentType(contentType) ;
- return new TypedStream2(in, contentType, charset, null) ;
+ ContentType ct = Langs.guessContentType(filenameIRI) ;
+ return new TypedStream2(in, ct, filenameIRI) ;
} catch (IOException ioEx)
{
// Includes FileNotFoundException
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorZip.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorZip.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorZip.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/LocatorZip.java Tue Feb 7 20:47:13 2012
@@ -23,8 +23,10 @@ import java.io.InputStream ;
import java.util.zip.ZipEntry ;
import java.util.zip.ZipFile ;
+import org.openjena.riot.ContentType ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
+import riot.reader.Langs ;
import riot.reader.TypedStream2 ;
import com.hp.hpl.jena.shared.JenaException ;
@@ -73,7 +75,9 @@ public class LocatorZip implements Locat
if ( StreamManager.logAllLookups && log.isTraceEnabled() )
log.trace("Found: "+filenameOrURI) ;
- return new TypedStream2(in) ;
+
+ ContentType ct = Langs.guessContentType(filenameOrURI) ;
+ return new TypedStream2(in, ct, filenameOrURI) ;
}
catch (IOException ex)
{
Modified: incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/test/TestLocators.java
URL: http://svn.apache.org/viewvc/incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/test/TestLocators.java?rev=1241612&r1=1241611&r2=1241612&view=diff
==============================================================================
--- incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/test/TestLocators.java (original)
+++ incubator/jena/Scratch/AFS/Dev/trunk/src/main/java/riot/reader/fm2/test/TestLocators.java Tue Feb 7 20:47:13 2012
@@ -24,7 +24,7 @@ import org.junit.Test ;
import org.openjena.atlas.junit.BaseTest ;
import org.openjena.riot.WebContent ;
import riot.reader.TypedStream2 ;
-import riot.reader.fm2.LocatorFile ;
+import riot.reader.fm2.LocatorFile2 ;
public class TestLocators extends BaseTest
{
@@ -32,7 +32,7 @@ public class TestLocators extends BaseTe
@Test public void locatorFile_01()
{
- LocatorFile loc = new LocatorFile() ;
+ LocatorFile2 loc = new LocatorFile2() ;
assertTrue(loc.exists("pom.xml")) ;
assertTrue(loc.exists(testingDir+"data.ttl")) ;
assertFalse(loc.exists("IDoNotExist")) ;
@@ -40,7 +40,7 @@ public class TestLocators extends BaseTe
@Test public void locatorFile_02()
{
- LocatorFile loc = new LocatorFile(".") ;
+ LocatorFile2 loc = new LocatorFile2(".") ;
assertTrue(loc.exists("pom.xml")) ;
assertTrue(loc.exists(testingDir+"data.ttl")) ;
assertFalse(loc.exists("IDoNotExist")) ;
@@ -49,7 +49,7 @@ public class TestLocators extends BaseTe
@Test public void locatorFile_03()
{
String dir = new File(".").getAbsolutePath() ;
- LocatorFile loc = new LocatorFile(dir) ;
+ LocatorFile2 loc = new LocatorFile2(dir) ;
assertTrue(loc.exists("pom.xml")) ;
assertFalse(loc.exists("IDoNotExist")) ;
}
@@ -57,7 +57,7 @@ public class TestLocators extends BaseTe
@Test public void locatorFile_04()
{
String dir = new File("src").getAbsolutePath() ;
- LocatorFile loc = new LocatorFile(dir) ;
+ LocatorFile2 loc = new LocatorFile2(dir) ;
assertFalse(loc.exists("pom.xml")) ;
assertTrue(loc.exists("org")) ;
@@ -68,7 +68,7 @@ public class TestLocators extends BaseTe
@Test public void locatorFile_05()
{
- LocatorFile loc = new LocatorFile() ;
+ LocatorFile2 loc = new LocatorFile2() ;
TypedStream2 ts = loc.open(testingDir+"data.ttl") ;
assertTrue("Not equal: "+WebContent.contentTypeTurtle+" != "+ts.getMediaType(),
WebContent.contentTypeTurtleAlt1.equalsIgnoreCase(ts.getContentType())) ;