You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2019/11/26 17:06:00 UTC

[jena] branch master updated: JENA-1783: Replace use of Class.newInstance

This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/master by this push:
     new f5c97c2  JENA-1783: Replace use of Class.newInstance
     new 0f98c88  Merge pull request #636 from afs/clean-newInstance
f5c97c2 is described below

commit f5c97c26694672e270e3833adb06c9a0cd4efa07
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Mon Nov 25 14:30:20 2019 +0000

    JENA-1783: Replace use of Class.newInstance
---
 .../apache/jena/sparql/function/FunctionFactoryAuto.java  |  2 +-
 .../sparql/pfunction/PropertyFunctionFactoryAuto.java     |  2 +-
 .../main/java/org/apache/jena/sparql/util/ClsLoader.java  |  2 +-
 .../jena/atlas/logging/java/ConsoleHandlerStream.java     | 15 ++++++++++-----
 .../java/org/apache/jena/assembler/AssemblerHelp.java     |  2 +-
 .../assembler/assemblers/ReasonerFactoryAssembler.java    |  2 +-
 .../main/java/org/apache/jena/n3/turtle/TurtleReader.java |  3 +++
 .../org/apache/jena/rdf/model/impl/NTripleReader.java     |  2 +-
 .../org/apache/jena/rdf/model/impl/RDFReaderFImpl.java    |  4 ++--
 .../org/apache/jena/rdf/model/impl/RDFWriterFImpl.java    |  4 ++--
 .../org/apache/jena/rdf/model/test/TestRDFWriterMap.java  |  2 +-
 .../jena/testing_framework/manifest/ManifestSuite.java    |  2 +-
 12 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/function/FunctionFactoryAuto.java b/jena-arq/src/main/java/org/apache/jena/sparql/function/FunctionFactoryAuto.java
index 9bbabce..552d7c2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/function/FunctionFactoryAuto.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/function/FunctionFactoryAuto.java
@@ -33,7 +33,7 @@ class FunctionFactoryAuto implements FunctionFactory
     @Override
     public Function create(String uri) {
         try {
-            return (Function)extClass.newInstance();
+            return (Function)extClass.getConstructor().newInstance();
         }
         catch (Exception e) {
             throw new QueryBuildException("Can't instantiate function for " + uri, e);
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/PropertyFunctionFactoryAuto.java b/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/PropertyFunctionFactoryAuto.java
index 5018f7d..af3d98d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/PropertyFunctionFactoryAuto.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/PropertyFunctionFactoryAuto.java
@@ -38,7 +38,7 @@ class PropertyFunctionFactoryAuto implements PropertyFunctionFactory
     @Override
     public PropertyFunction create(String uri) {
         try {
-            return (PropertyFunction)extClass.newInstance();
+            return (PropertyFunction)extClass.getConstructor().newInstance();
         }
         catch (Exception e) {
             throw new QueryBuildException("Can't instantiate PropertyFunction for " + uri, e);
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/ClsLoader.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/ClsLoader.java
index 6237599..030a93f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/ClsLoader.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/ClsLoader.java
@@ -105,7 +105,7 @@ public class ClsLoader {
 
         Object module = null;
         try {
-            module = classObj.newInstance();
+            module = classObj.getConstructor().newInstance();
         } catch (Exception ex) {
             String className = uri.substring(ARQConstants.javaClassURIScheme.length());
             Log.warn(ClsLoader.class, "Exception during instantiation '" + className + "': " + ex.getMessage());
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/logging/java/ConsoleHandlerStream.java b/jena-base/src/main/java/org/apache/jena/atlas/logging/java/ConsoleHandlerStream.java
index 13a131b..0971311 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/logging/java/ConsoleHandlerStream.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/logging/java/ConsoleHandlerStream.java
@@ -19,6 +19,7 @@
 package org.apache.jena.atlas.logging.java;
 
 import java.io.OutputStream ;
+import java.lang.reflect.Constructor;
 import java.nio.charset.StandardCharsets ;
 import java.util.logging.* ;
 
@@ -82,25 +83,29 @@ public class ConsoleHandlerStream extends StreamHandler {
         if ( pFormatter != null ) {
             try {
                 Class<?> cls = classLoader.loadClass(pFormatter);
-                setFormatter((Formatter) cls.newInstance());
+                Constructor<?> constructor = cls.getConstructor();
+                Object obj = constructor.newInstance();
+                setFormatter((Formatter)obj);
             } catch (Exception ex) {
-                System.err.println("Problems setting the logging formatter") ;
+                System.err.println("Problems setting the logging formatter");
                 ex.printStackTrace(System.err);
             }
         }
-        
+
         // -- Filter
         String pFilter = getProperty(manager, cname, "filter") ;
         if ( pFilter != null ) {
             try {
                 Class<?> cls = classLoader.loadClass(pFilter);
-                setFilter((Filter) cls.newInstance());
+                Constructor<?> constructor = cls.getConstructor();
+                Object obj = constructor.newInstance();
+                setFilter((Filter)obj);
             } catch (Exception ex) {
                 System.err.println("Problems setting the logging filter") ;
                 ex.printStackTrace(System.err);
             }
         }
-        
+
         // -- Encoding : Default UTF-8
         String pEncoding = getProperty(manager, cname, "encoding") ;
         if ( pEncoding == null )
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java b/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
index 5ba468f..5b41766 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
@@ -166,7 +166,7 @@ public class AssemblerHelp
             Resource type = s.getSubject();
             Constructor<?> con = getResourcedConstructor( c );
             if (con == null)
-                establish( group, type, c.newInstance() );
+                establish( group, type, c.getConstructor().newInstance() );
             else
                 establish( group, type, con.newInstance( s.getSubject() ) );
             }
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ReasonerFactoryAssembler.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ReasonerFactoryAssembler.java
index 77e84d6..2901e85 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ReasonerFactoryAssembler.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ReasonerFactoryAssembler.java
@@ -146,7 +146,7 @@ public class ReasonerFactoryAssembler extends AssemblerBase implements Assembler
     private static ReasonerFactory createInstance( Resource root, Class<?> c )
         { 
         try
-            { return (ReasonerFactory) c.newInstance(); }
+            { return (ReasonerFactory) c.getConstructor().newInstance(); }
         catch (Exception e)
             { throw new AssemblerException( root, "could not create instance of " + c.getName(), e ); }
         }
diff --git a/jena-core/src/main/java/org/apache/jena/n3/turtle/TurtleReader.java b/jena-core/src/main/java/org/apache/jena/n3/turtle/TurtleReader.java
index d62a35a..3f00b15 100644
--- a/jena-core/src/main/java/org/apache/jena/n3/turtle/TurtleReader.java
+++ b/jena-core/src/main/java/org/apache/jena/n3/turtle/TurtleReader.java
@@ -26,6 +26,9 @@ import org.apache.jena.rdf.model.Model ;
 
 public class TurtleReader extends JenaReaderBase
 {
+    
+    public TurtleReader() {}
+    
     @Override
     protected void readWorker(Model model, Reader reader, String base)
     {
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/NTripleReader.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/NTripleReader.java
index 9407979..8acd02d 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/NTripleReader.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/NTripleReader.java
@@ -49,7 +49,7 @@ public class NTripleReader extends Object implements RDFReader {
      */
     private String base;
 
-    NTripleReader() {
+    public NTripleReader() {
     }
     @Override
     public void read(Model model, InputStream in, String base)
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 21e3c78..3fb35ce 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
@@ -61,9 +61,9 @@ public class RDFReaderFImpl extends Object implements RDFReaderF {
             throw new NoReaderForLangException("Reader not found: " + lang);
 
         try {
-            return c.newInstance();
+            return c.getConstructor().newInstance();
         }
-        catch (InstantiationException | IllegalAccessException e) {
+        catch (Exception e) {
             throw new JenaException(e);
         }
     }
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFWriterFImpl.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFWriterFImpl.java
index 74e0c9b..d6cad8d 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFWriterFImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFWriterFImpl.java
@@ -62,9 +62,9 @@ public class RDFWriterFImpl extends Object implements RDFWriterF {
         if ( c == null )
             throw new NoWriterForLangException("Writer not found: " + lang);
         try {
-            return c.newInstance();
+            return c.getConstructor().newInstance();
         }
-        catch (InstantiationException | IllegalAccessException e) {
+        catch (Exception e) {
             throw new JenaException(e);
         }
     }
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestRDFWriterMap.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestRDFWriterMap.java
index 738d123..7a1f636 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestRDFWriterMap.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestRDFWriterMap.java
@@ -63,7 +63,7 @@ public class TestRDFWriterMap extends JenaTestBase
 			}
 			try
 			{
-				return result.newInstance();
+				return result.getConstructor().newInstance();
 			}
 			catch (final Exception e)
 			{
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
index f92055c..b84b683 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
@@ -74,7 +74,7 @@ public class ManifestSuite extends ParentRunner<Runner> {
 			throw new IllegalStateException(
 					"ManifestSuite requries ManifestFile annotation");
 		}
-		itemHandler = cls.newInstance();
+		itemHandler = cls.getConstructor().newInstance();
 
 		Runner[] runner = new Runner[1];
 		try {