/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.core.domain.enumtype; import org.apache.commons.lang.StringUtils; public enum CommonUrls { ERROR_500(CommonUrls.ERROR_500_URL, CommonUrls.ERROR_500_KEY, CommonUrls.ERROR_500_VELOCITY_PAGE, false), ERROR_400(CommonUrls.ERROR_400_URL, CommonUrls.ERROR_400_KEY, CommonUrls.ERROR_400_VELOCITY_PAGE, false), ERROR_403(CommonUrls.ERROR_403_URL, CommonUrls.ERROR_403_KEY, CommonUrls.ERROR_403_VELOCITY_PAGE, false), ERROR_404(CommonUrls.ERROR_404_URL, CommonUrls.ERROR_404_KEY, CommonUrls.ERROR_404_VELOCITY_PAGE, false), XRDS(CommonUrls.XRDS_URL, CommonUrls.XRDS_KEY, CommonUrls.XRDS_VELOCITY_PAGE, true), ENTITY_CACHE(CommonUrls.ENTITY_CACHE_URL, CommonUrls.ENTITY_CACHE_KEY, CommonUrls.ENTITY_CACHE_PAGE, false), VELOCITY_CACHE(CommonUrls.VELOCITY_CACHE_URL, CommonUrls.VELOCITY_CACHE_KEY, CommonUrls.VELOCITY_CACHE_PAGE, false); public static final String XRDS_KEY = "xrds"; public static final String XRDS_URL = "/**/xrds.html"; public static final String XRDS_VELOCITY_PAGE = "openid/xrds"; public static final String ERROR_500_KEY = "error-500"; public static final String ERROR_500_URL = "/500.html"; public static final String ERROR_500_VELOCITY_PAGE = "error/error-500"; public static final String ERROR_400_KEY = "error-400"; public static final String ERROR_400_URL = "/400.html"; public static final String ERROR_400_VELOCITY_PAGE = "error/error-400"; public static final String ERROR_403_KEY = "error-403"; public static final String ERROR_403_URL = "/403.html"; public static final String ERROR_403_VELOCITY_PAGE = "error/error-403"; public static final String ERROR_404_KEY = "error-404"; public static final String ERROR_404_URL = "/404.html"; public static final String ERROR_404_VELOCITY_PAGE = "error/error-404"; public static final String ENTITY_CACHE_KEY = "flush-cache-ihm"; public static final String ENTITY_CACHE_URL = "/admin/cache-entity-manager.html"; public static final String ENTITY_CACHE_PAGE = "/velocity/admin/cache-entity-manager"; public static final String VELOCITY_CACHE_KEY = "flush-cache-ihm"; public static final String VELOCITY_CACHE_URL = "/admin/cache-ihm-manager.html"; public static final String VELOCITY_CACHE_PAGE = "/velocity/admin/cache-ihm-manager"; private final String url; private final String key; // CODE IS USE TO GET THE ASSOCIATED MENU AND THE SEO VALUE private final String velocityPage; private final boolean withPrefixSEO; CommonUrls(String url, String key, String velocityPage, boolean withPrefixSEO) { this.url = url; this.key = key; this.velocityPage = velocityPage; this.withPrefixSEO = withPrefixSEO; } public String getUrl() { return url; } public String getUrlWithoutWildcard() { if (StringUtils.isNotEmpty(url)) { return url.replace("/**", ""); } return url; } public String getUrlPatternKey() { if (StringUtils.isNotEmpty(url)) { String patternKey = url; patternKey = patternKey.replace("/**/", ""); patternKey = patternKey.replace(".html", ""); if(patternKey.contains("-${")){ patternKey = patternKey.replace(patternKey.substring(patternKey.indexOf("-${"), patternKey.indexOf("}") + 1), ""); } return patternKey; } return url; } public String getKey() { return this.key; } public String getMessageKey() { return this.key.replace("-", "_"); } public String getVelocityPage() { return this.velocityPage; } public boolean withPrefixSEO() { return withPrefixSEO; } public static CommonUrls fromKey(String key) { for (CommonUrls url : CommonUrls.values()) { if (url.getKey() == key) return url; } return null; } }