src/main/java/de/uapcore/lightpit/modules/LanguageModule.java

changeset 34
824d4042c857
parent 31
58f78f0142e8
child 39
e722861558bb
     1.1 --- a/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java	Sat May 09 15:19:21 2020 +0200
     1.2 +++ b/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java	Sat May 09 17:01:29 2020 +0200
     1.3 @@ -1,8 +1,8 @@
     1.4  /*
     1.5   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     1.6 - * 
     1.7 + *
     1.8   * Copyright 2018 Mike Becker. All rights reserved.
     1.9 - * 
    1.10 + *
    1.11   * Redistribution and use in source and binary forms, with or without
    1.12   * modification, are permitted provided that the following conditions are met:
    1.13   *
    1.14 @@ -24,7 +24,7 @@
    1.15   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    1.16   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    1.17   * POSSIBILITY OF SUCH DAMAGE.
    1.18 - * 
    1.19 + *
    1.20   */
    1.21  package de.uapcore.lightpit.modules;
    1.22  
    1.23 @@ -49,15 +49,15 @@
    1.24          urlPatterns = "/language/*"
    1.25  )
    1.26  public final class LanguageModule extends AbstractLightPITServlet {
    1.27 -    
    1.28 +
    1.29      private static final Logger LOG = LoggerFactory.getLogger(LanguageModule.class);
    1.30 -    
    1.31 +
    1.32      private final List<Locale> languages = new ArrayList<>();
    1.33  
    1.34      @Override
    1.35      public void init() throws ServletException {
    1.36          super.init();
    1.37 -        
    1.38 +
    1.39          Optional<String[]> langs = Functions.availableLanguages(getServletContext());
    1.40          if (langs.isPresent()) {
    1.41              for (String lang : langs.get()) {
    1.42 @@ -71,7 +71,7 @@
    1.43                      LOG.warn("Specified lanaguge {} in context parameter cannot be mapped to an existing locale - skipping.", lang);
    1.44                  }
    1.45              }
    1.46 -            
    1.47 +
    1.48          } else {
    1.49              languages.add(Locale.ENGLISH);
    1.50              LOG.warn("Context parameter 'available-languges' not found. Only english will be available.");
    1.51 @@ -83,28 +83,28 @@
    1.52          super.destroy();
    1.53          languages.clear();
    1.54      }
    1.55 -    
    1.56 +
    1.57      @RequestMapping(method = HttpMethod.GET)
    1.58      public ResponseType handle(HttpServletRequest req, HttpServletResponse resp) {
    1.59  
    1.60          req.setAttribute("languages", languages);
    1.61          req.setAttribute("browserLanguage", req.getLocale());
    1.62 -        
    1.63 +
    1.64          setStylesheet(req, "language");
    1.65          setDynamicFragment(req, "language");
    1.66          return ResponseType.HTML_FULL;
    1.67      }
    1.68 -    
    1.69 +
    1.70      @RequestMapping(method = HttpMethod.POST)
    1.71      public ResponseType switchLanguage(HttpServletRequest req, HttpServletResponse resp) {
    1.72 -        
    1.73 +
    1.74          Optional<Locale> chosenLanguage = Optional.ofNullable(req.getParameter("language"))
    1.75                  .map(Locale::forLanguageTag)
    1.76                  .filter((l) -> !l.getLanguage().isEmpty());
    1.77 -        
    1.78 +
    1.79          chosenLanguage.ifPresent((l) -> req.getSession().setAttribute(Constants.SESSION_ATTR_LANGUAGE, l));
    1.80          chosenLanguage.ifPresent(resp::setLocale);
    1.81 -        
    1.82 +
    1.83          return handle(req, resp);
    1.84      }
    1.85  }

mercurial