diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionDepositHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionDepositHistoryMapStore.java index 8ef0d462f..6aa6cfe82 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionDepositHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionDepositHistoryMapStore.java @@ -32,7 +32,7 @@ public class ExecutionDepositHistoryMapStore extends TemplateEventMapStore { if (settingOperations != null) { for (SettingOperation settingOperation : settingOperations) { Method method = null; + Class theClass = clazz; try { - method = clazz.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + method = theClass.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); } catch (NoSuchMethodException exception) { - log.debug("settingOperations for Superclass " + clazz.getName()); - method = clazz.getSuperclass().getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + log.debug("settingOperations for Superclass " + theClass.getName()); + try { + theClass = theClass.getSuperclass(); + method = theClass.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + } catch (NoSuchMethodException exception2) { // Имеется некоторое наследование для удобства обработки данных. + theClass = theClass.getSuperclass(); + log.debug("settingOperations for Superclass 2 " + theClass.getName()); + method = clazz.getSuperclass().getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + } } method.invoke(predictableObj, settingOperation.getParams()); }