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 }