From a7a726a008286cf28f2575c2a62b50befaadddbd Mon Sep 17 00:00:00 2001 From: Richard Millet Date: Mon, 5 Aug 2013 12:27:52 -0700 Subject: [PATCH] CSPACE-5678: Adding warning (instead of fatal exception) when a document validation handler is missing. --- .../context/AbstractServiceContextImpl.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java b/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java index ba9388a2c..076cd9079 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java @@ -577,13 +577,19 @@ public abstract class AbstractServiceContextImpl ClassLoader tccl = Thread.currentThread().getContextClassLoader(); for (String clazz : handlerClazzes) { clazz = clazz.trim(); - Class c = tccl.loadClass(clazz); - if (disableValidationAsserts() == false) { - // enable validation assertions - tccl.setClassAssertionStatus(clazz, true); - } - if (ValidatorHandler.class.isAssignableFrom(c)) { - handlers.add((ValidatorHandler) c.newInstance()); + try { + Class c = tccl.loadClass(clazz); + if (disableValidationAsserts() == false) { + // enable validation assertions + tccl.setClassAssertionStatus(clazz, true); + } + if (ValidatorHandler.class.isAssignableFrom(c)) { + handlers.add((ValidatorHandler) c.newInstance()); + } + } catch (ClassNotFoundException e) { + String msg = String.format("Missing document validation handler: '%s'.", clazz); + logger.warn(msg); + logger.trace(msg, e); } } valHandlers = handlers; -- 2.47.3