This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit d194e7fd0d7b2e8bea05a513aa8638cfcd6e2901 Author: Andy Seaborne <[email protected]> AuthorDate: Sun Oct 27 10:33:45 2024 +0000 GH-2800: SPARQLer update for IRIx --- .../fuseki/validation/html/IRIValidatorHTML.java | 42 ++++++++++----------- .../fuseki/validation/json/IRIValidatorJSON.java | 44 +++++++++------------- 2 files changed, 38 insertions(+), 48 deletions(-) diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/html/IRIValidatorHTML.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/html/IRIValidatorHTML.java index 5d097b374a..d8914d88d4 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/html/IRIValidatorHTML.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/html/IRIValidatorHTML.java @@ -22,16 +22,12 @@ import static org.apache.jena.fuseki.validation.html.ValidatorHtmlLib.*; import java.io.IOException; import java.io.PrintStream; -import java.util.Iterator; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; - -import org.apache.jena.iri.IRI; -import org.apache.jena.iri.IRIFactory; -import org.apache.jena.iri.Violation; -import org.apache.jena.irix.SetupJenaIRI; +import org.apache.jena.irix.IRIException; +import org.apache.jena.irix.IRIx; public class IRIValidatorHTML { @@ -39,7 +35,6 @@ public class IRIValidatorHTML { } static final String paramIRI = "iri"; - static IRIFactory iriFactory = SetupJenaIRI.iriCheckerFactory(); public static void executeHTML(HttpServletRequest httpRequest, HttpServletResponse httpResponse) { try { @@ -66,25 +61,30 @@ public class IRIValidatorHTML try { boolean first = true; for ( String iriStr : args ) { + if ( iriStr.startsWith("<") ) { + iriStr = iriStr.substring(1); + if ( iriStr.endsWith(">") ) + iriStr = iriStr.substring(0,iriStr.length()-1); + } if ( !first ) System.out.println(); first = false; - - IRI iri = iriFactory.create(iriStr); - System.out.println(iriStr + " ==> " + iri); - if ( iri.isRelative() ) - System.out.println("Relative IRI: " + iriStr); - - Iterator<Violation> vIter = iri.violations(true); - for (; vIter.hasNext(); ) { - String str = vIter.next().getShortMessage(); - str = htmlQuote(str); - - System.out.println(str); + try { + IRIx iri = IRIx.create(iriStr); + System.out.println(iriStr + " ==> " + iri); + if ( iri.isRelative() ) + System.out.println("Relative IRI: " + iriStr); + + iri.handleViolations((error,msg)->{ + String str = htmlQuote(msg); + System.out.println(str); + }); + } catch (IRIException ex) { + System.out.println(iriStr); + System.out.println("Bad IRI: "+ex.getMessage()); } } - } - finally { + } finally { finishFixed(outStream); System.out.flush(); System.err.flush(); diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/json/IRIValidatorJSON.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/json/IRIValidatorJSON.java index 1f4e805dc0..8b7fa1ee79 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/json/IRIValidatorJSON.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/validation/json/IRIValidatorJSON.java @@ -23,23 +23,18 @@ import static org.apache.jena.fuseki.validation.json.ValidatorJsonLib.jErrors; import static org.apache.jena.fuseki.validation.json.ValidatorJsonLib.jWarnings; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.apache.jena.atlas.json.JsonBuilder; import org.apache.jena.atlas.json.JsonObject; import org.apache.jena.fuseki.servlets.ServletOps; -import org.apache.jena.iri.IRI; -import org.apache.jena.iri.IRIFactory; -import org.apache.jena.iri.Violation; -import org.apache.jena.irix.SetupJenaIRI; +import org.apache.jena.irix.IRIException; +import org.apache.jena.irix.IRIx; public class IRIValidatorJSON { public IRIValidatorJSON() { } - static IRIFactory iriFactory = SetupJenaIRI.iriCheckerFactory(); - static final String paramIRI = "iri"; // Output is an object { "iris" : [ ] } @@ -61,25 +56,23 @@ public class IRIValidatorJSON { for ( String iriStr : args ) { obj.startObject(); obj.key(jIRI).value(iriStr); - - IRI iri = iriFactory.create(iriStr); - List<String> errors = new ArrayList<>(); List<String> warnings = new ArrayList<>(); - - if ( iri.isRelative() ) - warnings.add("Relative IRI: " + iriStr); - - Iterator<Violation> vIter = iri.violations(true); - for (; vIter.hasNext(); ) { - Violation v = vIter.next(); - String str = v.getShortMessage(); - if ( v.isError() ) - errors.add(str); - else - warnings.add(str); + try { + IRIx iri = IRIx.create(iriStr); + System.out.println(iriStr + " ==> " + iri); + if ( iri.isRelative() ) + if ( iri.isRelative() ) + warnings.add("Relative IRI: " + iriStr); + iri.handleViolations((error,msg)->{ + if ( error ) + errors.add(msg); + else + warnings.add(msg); + }); + } catch (IRIException ex) { + errors.add("Bad IRI: "+ex.getMessage()); } - obj.key(jErrors); obj.startArray(); for ( String msg : errors ) @@ -94,10 +87,7 @@ public class IRIValidatorJSON { obj.finishObject(); } - - - obj.finishArray(); - + obj.finishArray(); obj.finishObject(); return obj.build().getAsObject(); }
