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

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new d2340c7  Fix up exception handling for invalid config (#426)
d2340c7 is described below

commit d2340c751d2bfc32e5b73f5a26ca49b3f247f042
Author: Peter Kronenberg <[email protected]>
AuthorDate: Thu Apr 15 11:56:58 2021 -0400

    Fix up exception handling for invalid config (#426)
    
    Co-authored-by: Peter Kronenberg <[email protected]>
---
 .../src/main/java/org/apache/tika/utils/AnnotationUtils.java   | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java 
b/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java
index c544772..dfdaef2 100644
--- a/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java
+++ b/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java
@@ -18,6 +18,7 @@ package org.apache.tika.utils;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.InvocationTargetException;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
@@ -120,12 +121,17 @@ public class AnnotationUtils {
                 if (field.getType().isAssignableFrom(param.getType())) {
                     try {
                         field.assignValue(bean, param.getValue());
-                    } catch (Exception e) {
+                    } catch (InvocationTargetException e) {
+                        LOG.error("Error assigning value '{}' to '{}'", 
param.getValue(), param.getName());
+                        final Throwable cause = e.getCause() == null ? e : 
e.getCause();
+                        throw new TikaConfigException(cause.getMessage(), 
cause);
+                    } catch (IllegalAccessException e) {
+                        LOG.error("Error assigning value '{}' to '{}'", 
param.getValue(), param.getName());
                         throw new TikaConfigException(e.getMessage(), e);
                     }
                 } else {
                     String msg = String.format(Locale.ROOT,
-                            "Value '%s' of type '%s' cant be" +
+                            "Value '%s' of type '%s' can't be" +
                                     " assigned to field '%s' of defined type 
'%s'",
                             param.getValue(),
                             param.getValue().getClass(), field.getName(), 
field.getType());

Reply via email to