Merge pull request #570 from afs/iri-dots
JENA-1713: Switch off warning for NON_INITIAL_DOT_SEGMENT
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java b/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java
index 6c560f5..8b7224d 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/IRIResolver.java
@@ -56,7 +56,13 @@
printSetting(iriFactoryInst);
}
+ // Accept any scheme.
setErrorWarning(iriFactoryInst, ViolationCodes.UNREGISTERED_IANA_SCHEME, false, false);
+
+ // These are a warning from jena-iri motivated by problems in RDF/XML and also internal processing by IRI
+ // (IRI.relativize).
+ // The IRI is valid and does correct resolve when relative.
+ setErrorWarning(iriFactoryInst, ViolationCodes.NON_INITIAL_DOT_SEGMENT, false, false);
// Turn off?? (ignored in CheckerIRI.iriViolations anyway).
// setErrorWarning(iriFactory, ViolationCodes.LOWERCASE_PREFERRED, false, false);
@@ -105,6 +111,7 @@
private static void printSetting(IRIFactory factory) {
PrintStream ps = System.out;
printErrorWarning(ps, factory, ViolationCodes.UNREGISTERED_IANA_SCHEME);
+ printErrorWarning(ps, factory, ViolationCodes.NON_INITIAL_DOT_SEGMENT);
printErrorWarning(ps, factory, ViolationCodes.NOT_NFC);
printErrorWarning(ps, factory, ViolationCodes.NOT_NFKC);
printErrorWarning(ps, factory, ViolationCodes.UNWISE_CHARACTER);
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java
index 576f75a..2a98f79 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestIRI.java
@@ -25,7 +25,6 @@
import org.apache.jena.riot.ErrorHandlerTestLib ;
import org.apache.jena.riot.ErrorHandlerTestLib.ExWarning ;
import org.apache.jena.riot.checker.CheckerIRI ;
-import org.apache.jena.riot.system.Checker ;
import org.apache.jena.riot.system.ErrorHandler ;
import org.apache.jena.riot.system.IRIResolver ;
import org.apache.jena.riot.system.RiotLib ;
@@ -34,39 +33,39 @@
public class TestIRI extends BaseTest
{
static protected final ErrorHandler handler = new ErrorHandlerTestLib.ErrorHandlerEx() ;
- static protected final Checker checker = new Checker(new ErrorHandlerTestLib.ErrorHandlerEx()) ;
-
+
static IRIFactory factory = IRIResolver.iriFactory();
-
+
@Test public void iri1() { testIRI("http://example/") ; }
-
+
+ // JENA-1713: Not a warning
+ @Test
+ public void iri2() { testIRI("http://example/.") ; }
+
@Test(expected=ErrorHandlerTestLib.ExError.class)
// No relative IRIs
- public void iri2() { testIRI("example") ; }
-
+ public void iriErr1() { testIRI("example") ; }
+
@Test(expected=ExWarning.class)
- public void iriErr1()
+ public void iriWarn1()
{ testIRI("http:") ; }
@Test(expected=ExWarning.class)
- public void iriErr2() { testIRI("http:///::") ; }
+ public void iriWarn2() { testIRI("http:///::") ; }
- @Test(expected=ExWarning.class)
- public void iriErr3() { testIRI("http://example/.") ; }
-
private void testIRI(String uriStr)
{
IRI iri = factory.create(uriStr) ;
CheckerIRI.iriViolations(iri, handler) ;
}
-
+
@Test public void bNodeIRI_1()
{
Node n = RiotLib.createIRIorBNode("_:abc") ;
assertTrue(n.isBlank()) ;
assertEquals("abc", n.getBlankNodeLabel()) ;
}
-
+
@Test public void bNodeIRI_2()
{
Node n = RiotLib.createIRIorBNode("abc") ;
diff --git a/jena-iri/NotesAFS.txt b/jena-iri/NotesAFS.txt
index 040e5af..1b0f2a3 100644
--- a/jena-iri/NotesAFS.txt
+++ b/jena-iri/NotesAFS.txt
@@ -5,6 +5,9 @@
=== JFlex
+See src-dev to project.
+Add JFlex.jar: /home/afs/sys/jflex-1.4.3/lib/JFlex.jar
+
Build:
See dev.buildlexer.MainGenerateLexers which does step 1-3
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerHost.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerHost.java
index 73f6bac..2b477c7 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerHost.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerHost.java
@@ -1529,7 +1529,6 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
private int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPath.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPath.java
index c8707ef..59c3f8c 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPath.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPath.java
@@ -496,7 +496,6 @@
* @exception java.io.IOException if any I/O-Error occurs
*/
@Override
- @SuppressWarnings("fallthrough")
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPort.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPort.java
index f0a18e7..e2b055a 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPort.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerPort.java
@@ -475,8 +475,7 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
-@Override
+ @Override
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerQuery.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerQuery.java
index 42528ce..ba6ec7c 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerQuery.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerQuery.java
@@ -490,8 +490,7 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
-@Override
+ @Override
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerScheme.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerScheme.java
index fb5cca9..6723244 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerScheme.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerScheme.java
@@ -478,8 +478,7 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
-@Override
+ @Override
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerUserinfo.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerUserinfo.java
index 7df1e26..037f2a2 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerUserinfo.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerUserinfo.java
@@ -490,8 +490,7 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
-@Override
+ @Override
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerXHost.java b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerXHost.java
index e65a195..ae9a004 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerXHost.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/LexerXHost.java
@@ -501,8 +501,7 @@
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- @SuppressWarnings("fallthrough")
-@Override
+ @Override
public int yylex() throws java.io.IOException {
int zzInput;
int zzAction;