Пример #1
0
  @Override
  public void process(final IFormSubmitter submittingComponent) {
    try {

      if (submittingComponent instanceof IFormSubmitterWithPreValidateHook) {
        IFormSubmitterWithPreValidateHook componentWithPreSubmitHook =
            (IFormSubmitterWithPreValidateHook) submittingComponent;
        preValidationErrorIfAny = componentWithPreSubmitHook.preValidate();
      }

      if (preValidationErrorIfAny != null) {
        // an exception has already occurred, so disable for remainder of thread.
        AdapterManager.ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(
            new Runnable() {
              @Override
              public void run() {
                FormAbstract.super.process(submittingComponent);
              }
            });
      } else {
        super.process(submittingComponent);
      }

    } finally {
      preValidationErrorIfAny = null;
    }
  }