/* (non-Javadoc)
   * @see com.mg.framework.api.UserActionInterceptorManager#invokeBeforeOutputInterceptor(com.mg.framework.api.ui.MaintenanceConversationSession)
   */
  public void invokeBeforeOutputInterceptor(MaintenanceConversationSession dialogSession) {
    if (log.isDebugEnabled()) log.debug("invoke interceptors with action BeforeOutput");

    List<UserActionInterceptor> interceptors =
        getInterceptorsByName(
            dialogSession.getService().getBusinessServiceMetadata().getName(), false);
    if (interceptors == null) return;

    for (UserActionInterceptor interceptor : cloneInterceptorList(interceptors))
      interceptor.beforeOutput(dialogSession);
  }
  /* (non-Javadoc)
   * @see com.mg.framework.api.UserActionInterceptorManager#invokeAfterInputInterceptor(com.mg.framework.api.ui.MaintenanceConversationSession, com.mg.framework.api.validator.ValidationContext, boolean, boolean)
   */
  public void invokeAfterInputInterceptor(
      MaintenanceConversationSession dialogSession,
      ValidationContext validationContext,
      boolean isSaveAction,
      boolean isCloseAction) {
    if (log.isDebugEnabled()) log.debug("invoke interceptors with action AfterInput");

    List<UserActionInterceptor> interceptors =
        getInterceptorsByName(
            dialogSession.getService().getBusinessServiceMetadata().getName(), false);
    if (interceptors == null) return;

    for (UserActionInterceptor interceptor : cloneInterceptorList(interceptors))
      interceptor.afterInput(dialogSession, validationContext, isSaveAction, isCloseAction);
  }