From 2f655c0e3ba110478a8bd0050f40362dcb11db41 Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Fri, 23 Nov 2018 13:47:51 +0000 Subject: [PATCH] JENA-1637: Default hint language for the by-lang parse commands. --- .../src/main/java/riotcmd/CmdLangParse.java | 14 +++--- jena-cmds/src/main/java/riotcmd/nquads.java | 3 +- jena-cmds/src/main/java/riotcmd/ntriples.java | 3 +- jena-cmds/src/main/java/riotcmd/rdfxml.java | 3 +- jena-cmds/src/main/java/riotcmd/riot.java | 43 ++++++------------- jena-cmds/src/main/java/riotcmd/trig.java | 3 +- jena-cmds/src/main/java/riotcmd/turtle.java | 3 +- 7 files changed, 28 insertions(+), 44 deletions(-) diff --git a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java index c14f2209381..3c46faa00c9 100644 --- a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java +++ b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java @@ -36,7 +36,6 @@ import org.apache.jena.atlas.io.IO ; import org.apache.jena.atlas.lib.InternalErrorException ; import org.apache.jena.atlas.lib.Pair ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.query.ARQ ; import org.apache.jena.riot.* ; import org.apache.jena.riot.lang.LabelToNode ; @@ -222,9 +221,12 @@ public ParseRecord parseFile(String filename) { // Always use the command line specified syntax. builder.forceLang(modLangParse.getLang()); else { - // Otherwise, use the command selected langauge, with N-Quads as the ultimate fallback. - Lang lang = selectLang(null, null, RDFLanguages.NQUADS) ; - builder.lang(RDFLanguages.NQUADS); + // Otherwise, use the command selected language, with N-Quads as the ultimate fallback. + Lang lang = dftLang() ; + if ( lang == null ) + lang = Lang.NQUADS; + // Fall back lang if RIOT can't guess it. + builder.lang(lang); } // Set the source. @@ -240,7 +242,9 @@ public ParseRecord parseFile(String filename) { return parseRIOT(builder, filename); } - protected abstract Lang selectLang(String filename, ContentType contentType, Lang dftLang) ; + // Return the default (fall-back) language used if no other choice is made. + // Contrast with --syntax=.. which forces the language. + protected abstract Lang dftLang() ; protected ParseRecord parseRIOT(RDFParserBuilder builder, /*Info for the ProcessOutcome*/ String filename) { boolean checking = true ; diff --git a/jena-cmds/src/main/java/riotcmd/nquads.java b/jena-cmds/src/main/java/riotcmd/nquads.java index d76cf96614a..07c0b8fbda3 100644 --- a/jena-cmds/src/main/java/riotcmd/nquads.java +++ b/jena-cmds/src/main/java/riotcmd/nquads.java @@ -19,7 +19,6 @@ package riotcmd; import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -43,6 +42,6 @@ protected String getCommandName() } @Override - protected Lang selectLang(String filename , ContentType contentType , Lang lang ) + protected Lang dftLang( ) { return RDFLanguages.NQUADS ; } } diff --git a/jena-cmds/src/main/java/riotcmd/ntriples.java b/jena-cmds/src/main/java/riotcmd/ntriples.java index dd20e820adb..f5587d6906e 100644 --- a/jena-cmds/src/main/java/riotcmd/ntriples.java +++ b/jena-cmds/src/main/java/riotcmd/ntriples.java @@ -19,7 +19,6 @@ package riotcmd; import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -43,6 +42,6 @@ protected String getCommandName() } @Override - protected Lang selectLang(String filename , ContentType contentType , Lang lang ) + protected Lang dftLang( ) { return RDFLanguages.NTRIPLES ; } } diff --git a/jena-cmds/src/main/java/riotcmd/rdfxml.java b/jena-cmds/src/main/java/riotcmd/rdfxml.java index d4346da8b2d..a246ed30474 100644 --- a/jena-cmds/src/main/java/riotcmd/rdfxml.java +++ b/jena-cmds/src/main/java/riotcmd/rdfxml.java @@ -19,7 +19,6 @@ package riotcmd; import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -43,6 +42,6 @@ protected String getCommandName() } @Override - protected Lang selectLang(String filename , ContentType contentType , Lang lang ) + protected Lang dftLang( ) { return RDFLanguages.RDFXML ; } } diff --git a/jena-cmds/src/main/java/riotcmd/riot.java b/jena-cmds/src/main/java/riotcmd/riot.java index d332d170f89..16702b52805 100644 --- a/jena-cmds/src/main/java/riotcmd/riot.java +++ b/jena-cmds/src/main/java/riotcmd/riot.java @@ -18,44 +18,29 @@ package riotcmd; -import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; -import org.apache.jena.riot.Lang ; -import org.apache.jena.riot.RDFLanguages ; -import org.apache.jena.riot.WebContent ; +import org.apache.jena.atlas.lib.Lib; +import org.apache.jena.riot.Lang; /** - * Guess the syntax from the filename. + * Guess the syntax from the filename. */ -public class riot extends CmdLangParse -{ - public static void main(String... argv) - { - new riot(argv).mainRun() ; - } +public class riot extends CmdLangParse { + public static void main(String...argv) { + new riot(argv).mainRun(); + } - protected riot(String[] argv) - { - super(argv) ; + protected riot(String[] argv) { + super(argv); } - + @Override - protected Lang selectLang(String filename, ContentType contentType, Lang dftLang) + protected Lang dftLang() { - if ( contentType != null && ! WebContent.matchContentType(WebContent.ctTextPlain, contentType) ) - return RDFLanguages.contentTypeToLang(contentType) ; - - if ( filename != null ) { - Lang lang = RDFLanguages.filenameToLang(filename) ; - if ( lang != null ) - return lang; - } - return dftLang; + return Lang.NQUADS; } @Override - protected String getCommandName() - { - return Lib.classShortName(riot.class) ; + protected String getCommandName() { + return Lib.classShortName(riot.class); } } diff --git a/jena-cmds/src/main/java/riotcmd/trig.java b/jena-cmds/src/main/java/riotcmd/trig.java index 08a24df5881..5c0b3c6d6f6 100644 --- a/jena-cmds/src/main/java/riotcmd/trig.java +++ b/jena-cmds/src/main/java/riotcmd/trig.java @@ -19,7 +19,6 @@ package riotcmd; import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -43,6 +42,6 @@ protected String getCommandName() } @Override - protected Lang selectLang(String filename , ContentType contentType , Lang lang ) + protected Lang dftLang( ) { return RDFLanguages.TRIG ; } } diff --git a/jena-cmds/src/main/java/riotcmd/turtle.java b/jena-cmds/src/main/java/riotcmd/turtle.java index 776803b8355..3a4c5ced7a1 100644 --- a/jena-cmds/src/main/java/riotcmd/turtle.java +++ b/jena-cmds/src/main/java/riotcmd/turtle.java @@ -19,7 +19,6 @@ package riotcmd; import org.apache.jena.atlas.lib.Lib ; -import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -43,6 +42,6 @@ protected String getCommandName() } @Override - protected Lang selectLang(String filename , ContentType contentType , Lang dftLang ) + protected Lang dftLang( ) { return RDFLanguages.TURTLE ; } }