File: RDFReader.patch

package info (click to toggle)
apache-jena 4.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 108,360 kB
  • sloc: java: 569,560; xml: 21,014; sh: 7,545; ruby: 1,097; javascript: 971; perl: 912; python: 24; makefile: 4
file content (57 lines) | stat: -rw-r--r-- 2,468 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
From: Markus Koschany <apo@debian.org>
Date: Mon, 9 Jan 2023 23:31:33 +0100
Subject: RDFReader

Forwarded: not-needed

Compatibility patch for librdfa-java in Debian.
---
 .../apache/jena/rdf/model/impl/RDFReaderFImpl.java | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFReaderFImpl.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFReaderFImpl.java
index 9f76c34..d5def91 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFReaderFImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFReaderFImpl.java
@@ -25,6 +25,7 @@ import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.rdf.model.RDFReaderI;
 import org.apache.jena.rdf.model.RDFReaderF;
 import org.apache.jena.shared.JenaException;
+import org.apache.jena.shared.ConfigException;
 import org.apache.jena.shared.NoReaderForLangException;
 
 public class RDFReaderFImpl extends Object implements RDFReaderF {
@@ -72,6 +73,33 @@ public class RDFReaderFImpl extends Object implements RDFReaderF {
         reset();
     }
 
+    /**
+     * Use RIOT to add custom RDF parsers. See
+     * {@code RDFParserRegistry.registerLang}
+     *
+     * @deprecated Register with RIOT.
+     */
+    @Deprecated
+    public static String setBaseReaderClassName(String lang, String className) {
+        if ( rewiredAlternative != null )
+            Log.error(RDFReaderFImpl.class, "Rewired RDFReaderFImpl - configuration changes have no effect on reading");
+
+        String oldClassName = currentEntry(lang);
+        try {
+            @SuppressWarnings("unchecked")
+            Class<? extends RDFReaderI> newClass = (Class<? extends RDFReaderI>)Class.forName(className, false,
+                                                                                            Thread.currentThread().getContextClassLoader());
+            custom.put(lang, newClass);
+            return oldClassName;
+        }
+        catch (ClassNotFoundException e) {
+            throw new ConfigException("Reader not found on classpath", e);
+        }
+        catch (Exception e) {
+            throw new JenaException(e);
+        }
+    }
+
     private static void reset() {
         Class<? extends RDFReaderI> rdfxmlReader = org.apache.jena.rdfxml.xmlinput.JenaReader.class;
         Class<? extends RDFReaderI> ntReader = org.apache.jena.rdf.model.impl.NTripleReader.class;