From 253ad08520b59620e38a7da6e62b43fd43f5a28b Mon Sep 17 00:00:00 2001 From: Rob Greene Date: Mon, 20 Jan 2020 14:18:28 -0600 Subject: [PATCH] using new constructor mechanism #36 --- .../applecommander/ui/AppleCommander.java | 7 +++++-- .../ui/swt/DiskExplorerTab.java | 21 ++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java b/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java index 4da4a5e..47e3fac 100644 --- a/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java +++ b/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java @@ -19,6 +19,7 @@ */ package com.webcodepro.applecommander.ui; +import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -95,7 +96,8 @@ public class AppleCommander { try { swtAppleCommander = Class.forName( "com.webcodepro.applecommander.ui.swt.SwtAppleCommander"); //$NON-NLS-1$ - Object object = swtAppleCommander.newInstance(); + Constructor constructor = swtAppleCommander.getConstructor(); + Object object = constructor.newInstance(); Method launchMethod = swtAppleCommander. getMethod("launch", (Class[]) null); //$NON-NLS-1$ launchMethod.invoke(object, (Object[]) null); @@ -149,7 +151,8 @@ public class AppleCommander { try { swingAppleCommander = Class.forName( "com.webcodepro.applecommander.ui.swing.SwingAppleCommander"); //$NON-NLS-1$ - Object object = swingAppleCommander.newInstance(); + Constructor constructor = swingAppleCommander.getConstructor(); + Object object = constructor.newInstance(); Method launchMethod = swingAppleCommander. getMethod("launch", (Class[]) null); //$NON-NLS-1$ launchMethod.invoke(object, (Object[]) null); diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java b/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java index 2d54009..cd0a788 100644 --- a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java +++ b/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java @@ -26,6 +26,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; @@ -232,9 +234,9 @@ public class DiskExplorerTab { public void widgetSelected(SelectionEvent event) { try { changeCurrentFormat(getCurrentFormat()); // minor hack - } catch (DiskException e) { - DiskExplorerTab.this.diskWindow.handle(e); - } + } catch (DiskException e) { + DiskExplorerTab.this.diskWindow.handle(e); + } } /** * Double-click handler. @@ -1602,14 +1604,23 @@ public class DiskExplorerTab { FileViewerWindow window = null; FileFilter fileFilter = null; try { - fileFilter = fileFilterClass.newInstance(); + Constructor constructor = fileFilterClass.getConstructor(); + fileFilter = constructor.newInstance(); } catch (NullPointerException ex) { // This is expected } catch (InstantiationException e) { SwtUtil.showSystemErrorDialog(shell, e); } catch (IllegalAccessException e) { SwtUtil.showSystemErrorDialog(shell, e); - } + } catch (NoSuchMethodException e) { + SwtUtil.showSystemErrorDialog(shell, e); + } catch (SecurityException e) { + SwtUtil.showSystemErrorDialog(shell, e); + } catch (IllegalArgumentException e) { + SwtUtil.showSystemErrorDialog(shell, e); + } catch (InvocationTargetException e) { + SwtUtil.showSystemErrorDialog(shell, e); + } if (fileFilter != null) { window = new FileViewerWindow(shell, fileEntry, imageManager, fileFilter); } else {