/** * Feeds the module through the {@link ModulePreprocessor}s. * * @return The preprocessor that canceled the execution, or null if all * preprocessors completed successfully. */ public ModulePreprocessor preProcess() { if (pre == null) return null; // no preprocessors for (final ModulePreprocessor p : pre) { p.process(module); if (es != null) es.publish(new ModulePreprocessEvent(module, p)); if (p.isCanceled()) return p; } return null; }
@Override public void process(final Module module) { try { module.initialize(); if (isCanceled(module)) cancel(getCancelReason(module)); } catch (final MethodCallException exc) { if (log != null) log.error(exc); final String moduleClass = module.getInfo().getDelegateClassName(); cancel("The module \"" + moduleClass + "\" failed to initialize."); } }
@Override public void process(final Module module) { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { loadValue(module, item); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { if (!input.isAutoFill()) continue; // cannot auto-fill this input final Class<?> type = input.getType(); if (Gateway.class.isAssignableFrom(type)) { // input is a gateway @SuppressWarnings("unchecked") final ModuleItem<? extends Gateway> gatewayInput = (ModuleItem<? extends Gateway>) input; setGatewayValue(getContext(), module, gatewayInput); } } }
/** Feeds the module through the {@link ModulePostprocessor}s. */ public void postProcess() { if (post == null) return; // no postprocessors for (final ModulePostprocessor p : post) { p.process(module); if (es != null) es.publish(new ModulePostprocessEvent(module, p)); } }
@Override public void process(final Module module) { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { saveValue(module, item); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { assignDefaultValue(module, input); } for (final ModuleItem<?> output : module.getInfo().outputs()) { assignDefaultValue(module, output); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { if (input.isRequired() && input.getValue(module) == null) { cancel("'" + input.getName() + "' is required but unset."); } } }
/** Loads the value of the given module item from persistent storage. */ private <T> void loadValue(final Module module, final ModuleItem<T> item) { // skip input that has already been resolved if (module.isInputResolved(item.getName())) return; final T prefValue = moduleService.load(item); final Class<T> type = item.getType(); final T defaultValue = item.getValue(module); final T value = getBestValue(prefValue, defaultValue, type); item.setValue(module, value); }
@Override public void process(final Module module) { final ModuleInfo info = module.getInfo(); if (info.isValid()) return; final StringBuilder sb = new StringBuilder("The module \"" + info.getDelegateClassName() + "\" is invalid:\n"); for (final ValidityProblem problem : info.getProblems()) { sb.append("- " + problem.getMessage()); sb.append("\n"); } cancel(sb.toString()); }
/** * Feeds the module through the {@link ModulePreprocessor}s. * * @return The preprocessor that canceled the execution, or null if all * preprocessors completed successfully. */ public ModulePreprocessor preProcess() { if (pre == null) return null; // no preprocessors for (final ModulePreprocessor p : pre) { p.process(module); if (es != null) es.publish(new ModulePreprocessEvent(module, p)); if (p.isCanceled()) return p; } return null; }
@Override public void process(final Module module) { try { module.initialize(); if (isCanceled(module)) cancel(getCancelReason(module)); } catch (final MethodCallException exc) { if (log != null) log.error(exc); final String moduleClass = module.getInfo().getDelegateClassName(); cancel("The module \"" + moduleClass + "\" failed to initialize."); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { if (!input.isAutoFill()) continue; // cannot auto-fill this input final Class<?> type = input.getType(); if (Gateway.class.isAssignableFrom(type)) { // input is a gateway @SuppressWarnings("unchecked") final ModuleItem<? extends Gateway> gatewayInput = (ModuleItem<? extends Gateway>) input; setGatewayValue(getContext(), module, gatewayInput); } } }
@Override public void process(final Module module) { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { loadValue(module, item); } }
/** Feeds the module through the {@link ModulePostprocessor}s. */ public void postProcess() { if (post == null) return; // no postprocessors for (final ModulePostprocessor p : post) { p.process(module); if (es != null) es.publish(new ModulePostprocessEvent(module, p)); } }
@Override public void process(final Module module) { final Iterable<ModuleItem<?>> inputs = module.getInfo().inputs(); for (final ModuleItem<?> item : inputs) { saveValue(module, item); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { assignDefaultValue(module, input); } for (final ModuleItem<?> output : module.getInfo().outputs()) { assignDefaultValue(module, output); } }
@Override public void process(final Module module) { for (final ModuleItem<?> input : module.getInfo().inputs()) { if (input.isRequired() && input.getValue(module) == null) { cancel("'" + input.getName() + "' is required but unset."); } } }
/** Loads the value of the given module item from persistent storage. */ private <T> void loadValue(final Module module, final ModuleItem<T> item) { // skip input that has already been resolved if (module.isInputResolved(item.getName())) return; final T prefValue = moduleService.load(item); final Class<T> type = item.getType(); final T defaultValue = item.getValue(module); final T value = getBestValue(prefValue, defaultValue, type); item.setValue(module, value); }
@Override public void process(final Module module) { final ModuleInfo info = module.getInfo(); if (info.isValid()) return; final StringBuilder sb = new StringBuilder("The module \"" + info.getDelegateClassName() + "\" is invalid:\n"); for (final ValidityProblem problem : info.getProblems()) { sb.append("- " + problem.getMessage()); sb.append("\n"); } cancel(sb.toString()); }