From a338d1c94617f923609619d4edde7e1b1084cad5 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 13 May 2012 22:51:30 +0200 Subject: Refine commit be7cac1713b166ca6578c685ec8a7231a8429919: Throw ClassNotFoundException in Display/Screen/Window factory if neither custom nor default class is available. Suppress Warning of non existing custom class (in non DEBUG mode), rely on later ClassNotFoundException (see above). --- src/newt/classes/com/jogamp/newt/NewtFactory.java | 2 +- src/newt/classes/jogamp/newt/DisplayImpl.java | 3 +++ src/newt/classes/jogamp/newt/ScreenImpl.java | 3 +++ src/newt/classes/jogamp/newt/WindowImpl.java | 3 +++ 4 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/newt/classes/com/jogamp/newt/NewtFactory.java b/src/newt/classes/com/jogamp/newt/NewtFactory.java index 82f74e370..61dbfb34c 100644 --- a/src/newt/classes/com/jogamp/newt/NewtFactory.java +++ b/src/newt/classes/com/jogamp/newt/NewtFactory.java @@ -63,8 +63,8 @@ public class NewtFactory { try { clazz = Class.forName(clazzName); } catch (Throwable t) { - System.err.println("Warning: Failed to find class <"+clazzName+">: "+t.getMessage()); if(DEBUG_IMPLEMENTATION) { + System.err.println("Warning: Failed to find class <"+clazzName+">: "+t.getMessage()); t.printStackTrace(); } } diff --git a/src/newt/classes/jogamp/newt/DisplayImpl.java b/src/newt/classes/jogamp/newt/DisplayImpl.java index f2f35135a..a0bbcc264 100644 --- a/src/newt/classes/jogamp/newt/DisplayImpl.java +++ b/src/newt/classes/jogamp/newt/DisplayImpl.java @@ -70,6 +70,9 @@ public abstract class DisplayImpl extends Display { throw new RuntimeException("Unknown display type \"" + type + "\""); } } + if(null==displayClass) { + throw new ClassNotFoundException("Failed to find NEWT Display Class <"+type+".Display>"); + } return displayClass; } diff --git a/src/newt/classes/jogamp/newt/ScreenImpl.java b/src/newt/classes/jogamp/newt/ScreenImpl.java index 72f1b5a2c..cf614b6f1 100644 --- a/src/newt/classes/jogamp/newt/ScreenImpl.java +++ b/src/newt/classes/jogamp/newt/ScreenImpl.java @@ -111,6 +111,9 @@ public abstract class ScreenImpl extends Screen implements ScreenModeListener { throw new RuntimeException("Unknown window type \"" + type + "\""); } } + if(null==screenClass) { + throw new ClassNotFoundException("Failed to find NEWT Screen Class <"+type+".Screen>"); + } return (Class)screenClass; } diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index 143e7c1ed..074f635e4 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -170,6 +170,9 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer throw new NativeWindowException("Unknown window type \"" + type + "\""); } } + if(null==windowClass) { + throw new ClassNotFoundException("Failed to find NEWT Window Class <"+type+".Window>"); + } return windowClass; } -- cgit v1.2.3