AbstractClickListener.java

  1. /*
  2.  * Copyright 2010-2025 James Pether Sörling
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *   http://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  *
  16.  *  $Id$
  17.  *  $HeadURL$
  18. */
  19. package com.hack23.cia.web.impl.ui.application.views.pageclicklistener;

  20. import org.springframework.web.context.request.RequestContextHolder;
  21. import org.springframework.web.context.request.ServletRequestAttributes;
  22. import org.springframework.web.context.support.WebApplicationContextUtils;

  23. import com.hack23.cia.service.api.ApplicationManager;
  24. import com.vaadin.ui.Notification;
  25. import com.vaadin.ui.Notification.Type;

  26. /**
  27.  * The Class AbstractClickListener.
  28.  *
  29.  * @see AbstractClickEvent
  30.  */
  31. abstract class AbstractClickListener {

  32.     /**
  33.      * Gets the application manager.
  34.      *
  35.      * @return the application manager
  36.      */
  37.     protected ApplicationManager getApplicationManager() {
  38.         return WebApplicationContextUtils
  39.                 .getWebApplicationContext(((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
  40.                         .getRequest().getSession(true).getServletContext())
  41.                 .getBean(ApplicationManager.class);
  42.     }

  43.     /**
  44.      * Show notification.
  45.      *
  46.      * @param caption     the caption
  47.      * @param description the description
  48.      * @param type        the type
  49.      */
  50.     protected void showNotification(final String caption, final String description, final Type type) {
  51.         Notification.show(caption, description, type);
  52.     }


  53. }