diff options
author | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2009-11-05 19:05:14 +0000 |
---|---|---|
committer | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2009-11-05 19:05:14 +0000 |
commit | 83e8c95ea7d257166d350a59bfd81e9833ec14fd (patch) | |
tree | 1d989268e21e0ea2de24be718f40e5e86df74bbd /bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java | |
parent | 9f66f6cc09fd4d010b270d8a83b204728b9336e1 (diff) | |
download | mocca-83e8c95ea7d257166d350a59bfd81e9833ec14fd.tar.gz mocca-83e8c95ea7d257166d350a59bfd81e9833ec14fd.tar.bz2 mocca-83e8c95ea7d257166d350a59bfd81e9833ec14fd.zip |
[#484] European Language support
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@535 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java')
-rw-r--r-- | bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java b/bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java index e16a261e..ad9bf6bb 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/viewer/ValidatorFactory.java @@ -17,6 +17,8 @@ package at.gv.egiz.bku.viewer; import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.util.Collections; import java.util.Enumeration; @@ -108,14 +110,25 @@ public class ValidatorFactory { return null; } - + + /** + * + * @throws InvocationTargetException if className's (nullary) constructor throws exception + */ private Validator createValidatorInstance(String className) throws ClassNotFoundException, InstantiationException, - IllegalAccessException { - + IllegalAccessException, NoSuchMethodException, InvocationTargetException { + try { - Class<?> implClass = classLoader.loadClass(className); - return (Validator) implClass.newInstance(); + Constructor<?> implConstructor = classLoader.loadClass(className).getConstructor((Class[])null); + return (Validator) implConstructor.newInstance((Object[])null); + } catch (InvocationTargetException ex) { + //ex from constructor + log.error("Failed to initialize validator class '" + className + "': " + ex.getCause().getMessage(), ex.getCause()); + throw ex; + } catch (NoSuchMethodException ex) { + log.error("Validator class '" + className + "' has no nullary constructor", ex); + throw ex; } catch (ClassNotFoundException e) { log.error("Validator class '" + className + "' not found.", e); throw e; |