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 382fcb59ec96339d57077e2f46c5ff56bfdf1156
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Mar 25 18:45:21 2025 +0000

    Integration for jena-langtag
---
 apache-jena/bat/iri.bat                        | Bin 554 -> 555 bytes
 apache-jena/bat/{iri.bat => langtag.bat}       | Bin 554 -> 559 bytes
 apache-jena/bin/iri                            |   2 +-
 apache-jena/bin/{iri => langtag}               |   2 +-
 apache-jena/bin/tdb2.tdbstats                  |   0
 apache-jena/cmd-maker                          |   3 +-
 jena-cmds/pom.xml                              |   8 +-
 jena-cmds/src/main/java/arq/iri.java           | 151 +------------------------
 jena-cmds/src/main/java/{arq => jena}/iri.java |   2 +-
 jena-cmds/src/main/java/jena/langtag.java      |  27 +++++
 jena-core/pom.xml                              |   6 +
 pom.xml                                        |   2 +
 12 files changed, 51 insertions(+), 152 deletions(-)

diff --git a/apache-jena/bat/iri.bat b/apache-jena/bat/iri.bat
index e9b9151207..edd6c72b3b 100644
Binary files a/apache-jena/bat/iri.bat and b/apache-jena/bat/iri.bat differ
diff --git a/apache-jena/bat/iri.bat b/apache-jena/bat/langtag.bat
similarity index 95%
copy from apache-jena/bat/iri.bat
copy to apache-jena/bat/langtag.bat
index e9b9151207..733dd55087 100644
Binary files a/apache-jena/bat/iri.bat and b/apache-jena/bat/langtag.bat differ
diff --git a/apache-jena/bin/iri b/apache-jena/bin/iri
index b9f5dff5fd..3dc879c88f 100755
--- a/apache-jena/bin/iri
+++ b/apache-jena/bin/iri
@@ -102,4 +102,4 @@ then
     JENA_CP="$JENA_CP:$CLASSPATH"
 fi
 
-"$JAVA" $JVM_ARGS $LOGGING -cp "$JENA_CP" arq.iri "$@" 
+"$JAVA" $JVM_ARGS $LOGGING -cp "$JENA_CP" jena.iri "$@" 
diff --git a/apache-jena/bin/iri b/apache-jena/bin/langtag
similarity index 97%
copy from apache-jena/bin/iri
copy to apache-jena/bin/langtag
index b9f5dff5fd..1af69d2476 100755
--- a/apache-jena/bin/iri
+++ b/apache-jena/bin/langtag
@@ -102,4 +102,4 @@ then
     JENA_CP="$JENA_CP:$CLASSPATH"
 fi
 
-"$JAVA" $JVM_ARGS $LOGGING -cp "$JENA_CP" arq.iri "$@" 
+"$JAVA" $JVM_ARGS $LOGGING -cp "$JENA_CP" jena.langtag "$@" 
diff --git a/apache-jena/bin/tdb2.tdbstats b/apache-jena/bin/tdb2.tdbstats
old mode 100644
new mode 100755
diff --git a/apache-jena/cmd-maker b/apache-jena/cmd-maker
index 75a755c1a4..4c957871c2 100755
--- a/apache-jena/cmd-maker
+++ b/apache-jena/cmd-maker
@@ -26,6 +26,8 @@
 ## the "jena" script is slightly different (see end of script).
 
 CMDS=$(cat <<EOF
+jena.iri
+jena.langtag
 jena.rdfcat
 jena.rdfcompare
 jena.rdfcopy
@@ -34,7 +36,6 @@ jena.schemagen
 arq.rdfdiff
 arq.sparql
 arq.arq
-arq.iri
 arq.juuid
 arq.rsparql
 arq.rset
diff --git a/jena-cmds/pom.xml b/jena-cmds/pom.xml
index be3acb365d..8e16e049e9 100644
--- a/jena-cmds/pom.xml
+++ b/jena-cmds/pom.xml
@@ -110,7 +110,13 @@
 
     <dependency>
       <groupId>org.apache.jena</groupId>
-      <artifactId>jena-rdfconnection</artifactId>
+      <artifactId>jena-iri3986</artifactId>
+      <version>5.4.0-SNAPSHOT</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.jena</groupId>
+      <artifactId>jena-langtag</artifactId>
       <version>5.4.0-SNAPSHOT</version>
     </dependency>
 
diff --git a/jena-cmds/src/main/java/arq/iri.java 
b/jena-cmds/src/main/java/arq/iri.java
index f28dd5af96..3b774f139c 100644
--- a/jena-cmds/src/main/java/arq/iri.java
+++ b/jena-cmds/src/main/java/arq/iri.java
@@ -18,154 +18,11 @@
 
 package arq;
 
-import java.io.PrintStream;
-import java.util.Iterator ;
+public class iri {
 
-import org.apache.jena.atlas.lib.Lib;
-import org.apache.jena.iri.IRI ;
-import org.apache.jena.iri.Violation ;
-import org.apache.jena.iri3986.provider.IRIProvider3986;
-import org.apache.jena.iri3986.provider.IRIProvider3986.IRIx3986;
-import org.apache.jena.irix.*;
-import org.apache.jena.irix.IRIProviderJenaIRI.IRIxJena;
-import org.apache.jena.rfc3986.IRI3986;
-import org.apache.jena.rfc3986.IRIParseException;
-
-/**
- * Parse and print IRIs
- */
-public class iri
-{
-    private static PrintStream out = System.out;
-    // Errors and warnings.
-    private static PrintStream err = System.err;
-
-    public static void main(String... args)
-    {
-        boolean first = true ;
-        for ( String iriStr : args )
-        {
-            if ( iriStr.startsWith("<") && iriStr.endsWith(">") )
-                iriStr = iriStr.substring(1, iriStr.length()-1) ;
-
-            if ( ! first )
-                System.out.println() ;
-            first = false ;
-
-            String setting = Lib.getenv(SystemIRIx.sysPropertyProvider, 
SystemIRIx.envVariableProvider);
-
-            IRIProvider provider = null;
-            if ( setting != null ) {
-                provider = switch(setting) {
-                    case "IRI3986" -> new IRIProvider3986();
-                    case "IRI0" ->  new IRIProviderJenaIRI();
-                    default -> {
-                        System.err.println("Unknown IRI Provider: "+setting);
-                        System.exit(1);
-                        yield null;
-                    }
-                };
-            }
-
-            if ( provider == null )
-                provider = SystemIRIx.getProvider();
-
-            IRIx irix;
-            try {
-                irix = provider.create(iriStr);
-            } catch (IRIException ex) {
-                System.err.println(ex.getMessage());
-                continue;
-            }
-
-            // jena-iri3986
-            if ( irix instanceof IRIx3986 iri3986 ) {
-                print(iri3986, iriStr);
-                continue;
-            }
-            // jena-iri: The original Jena IRI subsystem
-            if ( irix instanceof IRIxJena iriJena ) {
-                print(iriJena, iriStr);
-                continue;
-            }
-            print(irix, iriStr);
-        }
-    }
-
-    private static void print(IRIx3986 irix, String iriStr) {
-        try {
-            IRI3986 iri = irix.getImpl();
-            IRI3986 iri1 = iri.normalize();
-
-            out.printf("Input: <%s>\n", iriStr);
-            out.printf("    Parsed:       %s\n", iri.rebuild()) ;
-            out.printf("    Absolute:     %s\n", iri.isAbsolute());
-            out.printf("    Relative:     %s\n", iri.isRelative());
-            out.printf("    Hierarchical: %s\n", iri.isHierarchical());
-            out.printf("    Rootless:     %s\n", iri.isRootless());
-            if ( ! iri.equals(iri1) )
-              out.printf("    Normalized:   %s\n", iri1) ;
-            out.printf("\n");
-            out.printf("%s|%s|  ", "Scheme",     iri.scheme());
-            out.printf("%s|%s|  ", "Authority",  iri.authority());
-            out.printf("%s|%s|  ", "Host",       iri.host());
-            if ( iri.hasPort() )
-                out.printf("%s|%s|  ", "Port",       iri.port());
-            out.printf("%s|%s|  ", "Path",       iri.path());
-            out.printf("%s|%s|  ", "Query",      iri.query());
-            out.printf("%s|%s|", "Fragment",   iri.fragment());
-            out.println();
-            if ( iri.hasViolations() ) {
-                out.println();
-                out.println("Scheme specific warnings:");
-                iri.forEachViolation(v->{
-                    out.print("   ");
-                    err.printf("%s\n", v.message());
-                });
-            }
-        } catch (IRIParseException ex) {
-            System.err.printf("Error: %s\n", ex.getMessage());
-        }
-    }
-
-    private static void print(IRIxJena jenaIRI, String iriStr) {
-        IRI iri = jenaIRI.getImpl();
-        System.out.println(iriStr + " ==> " + iri);
-        if ( jenaIRI.isRelative() )
-            System.out.println("Relative: " + iri.isRelative());
-
-        Iterator<Violation> vIter = iri.violations(true);
-        for ( ; vIter.hasNext() ; ) {
-            System.out.println(vIter.next().getShortMessage());
-        }
+    public static void main(String[] args) {
+        // Renamed to ...
+        jena.iri.main(args);
     }
 
-    private static void print(IRIx irix, String iriStr) {
-        try {
-            IRIx iri1 = irix.normalize();
-
-            out.printf("Input: <%s>\n", iriStr);
-            out.printf("    Absolute:     %s\n", irix.isAbsolute());
-            out.printf("    Relative:     %s\n", irix.isRelative());
-            if ( ! irix.equals(iri1) )
-              out.printf("    Normalized:   %s\n", iri1) ;
-            out.printf("\n");
-            out.printf("%s|%s|  ", "Scheme",     irix.scheme());
-            out.println();
-            if ( irix.hasViolations() ) {
-                out.println();
-                out.println("Scheme specific warnings:");
-                irix.handleViolations((error, msg)->{
-                    String type = (error? "Error:" : "Warn:");
-                    out.print("   ");
-                    err.printf("%-6s\n", type, msg);
-                });
-            }
-        } catch (IRIParseException ex) {
-            System.err.printf("Error: %s\n", ex.getMessage());
-        }
-
-    }
-
-
 }
diff --git a/jena-cmds/src/main/java/arq/iri.java 
b/jena-cmds/src/main/java/jena/iri.java
similarity index 99%
copy from jena-cmds/src/main/java/arq/iri.java
copy to jena-cmds/src/main/java/jena/iri.java
index f28dd5af96..eac84ab5d1 100644
--- a/jena-cmds/src/main/java/arq/iri.java
+++ b/jena-cmds/src/main/java/jena/iri.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package arq;
+package jena;
 
 import java.io.PrintStream;
 import java.util.Iterator ;
diff --git a/jena-cmds/src/main/java/jena/langtag.java 
b/jena-cmds/src/main/java/jena/langtag.java
new file mode 100644
index 0000000000..41b8bb425b
--- /dev/null
+++ b/jena-cmds/src/main/java/jena/langtag.java
@@ -0,0 +1,27 @@
+/*
+ * 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 jena;
+
+public class langtag {
+
+    public static void main(String... args) {
+        org.apache.jena.langtag.cmd.CmdLangTag.main(args);
+    }
+
+}
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index ba500e178b..c043ca7d54 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -63,6 +63,12 @@
       <version>5.4.0-SNAPSHOT</version>
     </dependency>
     
+    <dependency>
+      <groupId>org.apache.jena</groupId>
+      <artifactId>jena-langtag</artifactId>
+      <version>5.4.0-SNAPSHOT</version>
+    </dependency>
+
     <dependency>
       <groupId>org.roaringbitmap</groupId>
       <artifactId>RoaringBitmap</artifactId>
diff --git a/pom.xml b/pom.xml
index 9e376c681a..34156b8237 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,6 +203,7 @@
       <modules>
         <module>jena-iri</module>
         <module>jena-iri3986</module>
+        <module>jena-langtag</module>
         <module>jena-base</module>
         
         <module>jena-core</module>
@@ -266,6 +267,7 @@
         <!-- Basic modules -->
         <module>jena-iri</module>
         <module>jena-iri3986</module>
+        <module>jena-langtag</module>
         <module>jena-base</module>
 
         <!-- Main modules -->

Reply via email to