From 79b3074d01e1fbafd5cfb05402e67ee4995b704d Mon Sep 17 00:00:00 2001 From: catbref Date: Fri, 25 Jan 2019 15:56:17 +0000 Subject: [PATCH] Reworked reflection code in Transaction static init to appease Maven compiler!? --- .../org/qora/transaction/Transaction.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/qora/transaction/Transaction.java b/src/main/java/org/qora/transaction/Transaction.java index d72aebfe..4e5754ac 100644 --- a/src/main/java/org/qora/transaction/Transaction.java +++ b/src/main/java/org/qora/transaction/Transaction.java @@ -89,22 +89,21 @@ public abstract class Transaction { this.className = String.join("", classNameParts); Class clazz = null; + Constructor constructor = null; + try { clazz = Class.forName(String.join("", Transaction.class.getPackage().getName(), ".", this.className, "Transaction")); + + try { + constructor = clazz.getConstructor(Repository.class, TransactionData.class); + } catch (NoSuchMethodException | SecurityException e) { + LOGGER.debug(String.format("Transaction subclass constructor not found for transaction type \"%s\"", this.name())); + } } catch (ClassNotFoundException e) { LOGGER.debug(String.format("Transaction subclass not found for transaction type \"%s\"", this.name())); - this.clazz = null; - this.constructor = null; - return; } - this.clazz = clazz; - Constructor constructor = null; - try { - constructor = this.clazz.getConstructor(Repository.class, TransactionData.class); - } catch (NoSuchMethodException | SecurityException e) { - LOGGER.debug(String.format("Transaction subclass constructor not found for transaction type \"%s\"", this.name())); - } + this.clazz = clazz; this.constructor = constructor; }