src/main/java/de/uapcore/lightpit/Functions.java

Sun, 21 Jun 2020 12:32:25 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 21 Jun 2020 12:32:25 +0200
changeset 94
edba952cfc57
parent 78
bb4c52bf3439
child 131
67df332e3146
permissions
-rw-r--r--

fix: issue form should always include the currently selected versions

universe@7 1 /*
universe@7 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
universe@34 3 *
universe@24 4 * Copyright 2018 Mike Becker. All rights reserved.
universe@34 5 *
universe@7 6 * Redistribution and use in source and binary forms, with or without
universe@7 7 * modification, are permitted provided that the following conditions are met:
universe@7 8 *
universe@7 9 * 1. Redistributions of source code must retain the above copyright
universe@7 10 * notice, this list of conditions and the following disclaimer.
universe@7 11 *
universe@7 12 * 2. Redistributions in binary form must reproduce the above copyright
universe@7 13 * notice, this list of conditions and the following disclaimer in the
universe@7 14 * documentation and/or other materials provided with the distribution.
universe@7 15 *
universe@7 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@7 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@7 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
universe@7 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
universe@7 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
universe@7 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
universe@7 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
universe@7 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
universe@7 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
universe@7 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
universe@7 26 * POSSIBILITY OF SUCH DAMAGE.
universe@34 27 *
universe@7 28 */
universe@7 29 package de.uapcore.lightpit;
universe@7 30
universe@33 31 import org.slf4j.Logger;
universe@33 32 import org.slf4j.LoggerFactory;
universe@33 33
universe@13 34 import javax.servlet.ServletContext;
universe@11 35 import javax.servlet.http.HttpServletRequest;
universe@33 36 import java.util.Optional;
universe@10 37
universe@7 38 /**
universe@7 39 * Contains common static functions.
universe@7 40 */
universe@10 41 public final class Functions {
universe@34 42
universe@10 43 private static final Logger LOG = LoggerFactory.getLogger(Functions.class);
universe@7 44
universe@13 45 public static Optional<String[]> availableLanguages(ServletContext ctx) {
universe@13 46 return Optional.ofNullable(ctx.getInitParameter(Constants.CTX_ATTR_LANGUAGES)).map((x) -> x.split("\\s*,\\s*"));
universe@13 47 }
universe@34 48
universe@13 49 public static String enforceExt(String filename, String ext) {
universe@13 50 return filename.endsWith(ext) ? filename : filename + ext;
universe@13 51 }
universe@13 52
universe@7 53 public static String jspPath(String filename) {
universe@13 54 return enforceExt(Constants.JSP_PATH_PREFIX + filename, ".jsp");
universe@13 55 }
universe@34 56
universe@11 57 public static String fqn(String base, String name) {
universe@34 58 return base + "." + name;
universe@10 59 }
universe@33 60
universe@33 61 public static String fqn(Class<?> clazz, String name) {
universe@11 62 return fqn(clazz.getName(), name);
universe@11 63 }
universe@34 64
universe@47 65 public static String baseHref(HttpServletRequest req) {
universe@47 66 return String.format("%s://%s:%d%s/",
universe@47 67 req.getScheme(),
universe@47 68 req.getServerName(),
universe@47 69 req.getServerPort(),
universe@47 70 req.getContextPath());
universe@11 71 }
universe@34 72
universe@11 73 public static String fullPath(HttpServletRequest req) {
universe@11 74 return req.getServletPath() + Optional.ofNullable(req.getPathInfo()).orElse("");
universe@10 75 }
universe@34 76
universe@10 77 /**
universe@10 78 * This class is not instantiatable.
universe@10 79 */
universe@34 80 private Functions() {
universe@34 81 }
universe@7 82 }

mercurial