Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Refactor assets url to be configurable in standalone.xml
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Mar 30, 2015
1 parent 9194662 commit 9482861
Show file tree
Hide file tree
Showing 13 changed files with 48 additions and 20 deletions.
28 changes: 25 additions & 3 deletions zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
Expand Up @@ -20,22 +20,24 @@
*/
package org.zanata;

import static org.apache.commons.lang.StringUtils.isEmpty;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.faces.application.ResourceHandler;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import com.google.common.base.MoreObjects;
import com.google.common.base.Optional;
import lombok.extern.slf4j.Slf4j;
import lombok.Getter;
import lombok.Setter;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Level;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
Expand All @@ -53,7 +55,6 @@
import org.zanata.log4j.ZanataSMTPAppender;
import org.zanata.security.AuthenticationType;

import com.google.common.base.Objects;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.Maps;
Expand Down Expand Up @@ -116,6 +117,8 @@ public class ApplicationConfiguration implements Serializable {

private String defaultServerPath;

private String webAssetsUrlBase;

@Create
public void load() {
log.info("Reloading configuration");
Expand Down Expand Up @@ -414,6 +417,25 @@ public boolean useEmailServerSsl() {
.parseBoolean(jndiBackedConfig.getStmpUsesSsl()) : false;
}

public String getWebAssets(String resource) {
return String.format("%s/%s", getWebAssetsUrlBase(), resource);
}

protected String getWebAssetsUrlBase() {
if (StringUtils.isBlank(webAssetsUrlBase)) {
String contextPath =
FacesContext.getCurrentInstance().getExternalContext()
.getRequestContextPath();

webAssetsUrlBase = MoreObjects.firstNonNull(
jndiBackedConfig.getWebAssetsUrlBase(),
String.format("%s%s/%s", contextPath,
ResourceHandler.RESOURCE_IDENTIFIER,
"assets"));
}
return webAssetsUrlBase;
}

public int getMaxConcurrentRequestsPerApiKey() {
return parseIntegerOrDefault(databaseBackedConfig.getMaxConcurrentRequestsPerApiKey(), 6);
}
Expand Down
Expand Up @@ -71,6 +71,8 @@ public class JndiBackedConfig implements Serializable {
"java:global/zanata/smtp/password";
private static final String KEY_EMAIL_TLS = "java:global/zanata/smtp/tls";
private static final String KEY_EMAIL_SSL = "java:global/zanata/smtp/ssl";
private static final String KEY_WEB_ASSETS_URL_BASE =
"java:global/zanata/webassets/url-base";

private final Map<String, String> configurationValues =
new HashMap<String, String>();
Expand Down Expand Up @@ -198,4 +200,8 @@ public String getSmtpUsesTls() {
public String getStmpUsesSsl() {
return getConfigValue(KEY_EMAIL_SSL);
}

public String getWebAssetsUrlBase() {
return getConfigValue(KEY_WEB_ASSETS_URL_BASE);
}
}
Expand Up @@ -17,14 +17,14 @@
<h:outputText value="#{ajaxCounter.ajaxCounterScript}" escape="false" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>#{msgs['jsf.PageTitle']}</title>
<link rel="shortcut icon" href="#{resource['assets/img/logo/logo.ico']}"
<link rel="shortcut icon" href="#{applicationConfiguration.getWebAssets('img/logo/logo.ico')}"
type="image/x-icon" />
<link type="text/css" rel="stylesheet"
href="#{request.contextPath}/resources/fontello/css/fontello.css"/>
<link type="text/css" rel="stylesheet"
href="#{resource['assets/css/style.min.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/style.min.css')}"/>
<link type="text/css" rel="stylesheet"
href="#{resource['assets/css/application.min.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/application.min.css')}"/>

<!-- Async Google Fonts -->
<script type="text/javascript">
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/WEB-INF/template/banner.xhtml
Expand Up @@ -15,7 +15,7 @@
<h1 class="header__title">
<s:link view="/home.xhtml" propagation="none" id="home">
<img class="header__site-logo"
src="#{resource['assets/img/logo/logo.svg']}"/>
src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"/>
#{msgs['jsf.Zanata']}
</s:link>
</h1>
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/WEB-INF/template/scripts.xhtml
Expand Up @@ -59,7 +59,7 @@
</ui:remove>
<h:outputScript name="jquery.js"/>
<script type="text/javascript"
src="#{resource['assets/js/script.min.js']}"></script>
src="#{applicationConfiguration.getWebAssets('js/script.min.js')}"></script>
<h:outputScript library="script" name="components-script.js"/>
<h:outputScript library="script" name="signals.min.js"/>
<h:outputScript library="script" name="crossroads.min.js"/>
Expand Down
4 changes: 2 additions & 2 deletions zanata-war/src/main/webapp/WEB-INF/template/template.xhtml
Expand Up @@ -29,12 +29,12 @@
<meta name="viewport" content="width=device-width, minimum-scale=1.0"/>
<meta http-equiv="cleartype" content="on"/>

<link rel="shortcut icon" href="#{resource['assets/img/logo/logo.ico']}"
<link rel="shortcut icon" href="#{applicationConfiguration.getWebAssets('img/logo/logo.ico')}"
type="image/x-icon" />

<!--[if gt IE 8]><!-->
<link type="text/css" rel="stylesheet"
href="#{resource['assets/css/style.min.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/style.min.css')}"/>
<!--<![endif]-->

<!--[if (lt IE 9) & (!IEMobile)]>
Expand Down
6 changes: 3 additions & 3 deletions zanata-war/src/main/webapp/WEB-INF/template/template_2x.xhtml
Expand Up @@ -14,14 +14,14 @@
<h:outputText value="#{ajaxCounter.ajaxCounterScript}" escape="false" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>#{msgs['jsf.Zanata']}: <ui:insert name="page_title"/></title>
<link rel="shortcut icon" href="#{resource['assets/img/logo/logo.ico']}"
<link rel="shortcut icon" href="#{applicationConfiguration.getWebAssets('img/logo/logo.ico')}"
type="image/x-icon" />
<link type="text/css" rel="stylesheet"
href="#{request.contextPath}/resources/fontello/css/fontello.css"/>
<link type="text/css" rel="stylesheet" class="user"
href="#{resource['assets/css/zanata.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/zanata.css')}"/>
<link type="text/css" rel="stylesheet"
href="#{resource['assets/css/style.min.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/style.min.css')}"/>
<!-- Async Google Fonts -->
<script type="text/javascript">
WebFontConfig = {
Expand Down
Expand Up @@ -30,12 +30,12 @@
<meta name="viewport" content="width=device-width, minimum-scale=1.0"/>
<meta http-equiv="cleartype" content="on"/>

<link rel="shortcut icon" href="#{resource['assets/img/logo/logo.ico']}"
<link rel="shortcut icon" href="#{applicationConfiguration.getWebAssets('img/logo/logo.ico')}"
type="image/x-icon" />

<!--[if gt IE 8]><!-->
<link type="text/css" rel="stylesheet"
href="#{resource['assets/css/style.min.css']}"/>
href="#{applicationConfiguration.getWebAssets('css/style.min.css')}"/>
<!--<![endif]-->

<!--[if (lt IE 9) & (!IEMobile)]>
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/account/inactive_account.xhtml
Expand Up @@ -15,7 +15,7 @@

<div class="header__logo-only">
<s:link view="/home.xhtml" propagation="none" id="home" tabindex="1">
<img src="#{resource['assets/img/logo/logo.svg']}"
<img src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"
alt="Zanata"/>
</s:link>
</div>
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/account/login.xhtml
Expand Up @@ -12,7 +12,7 @@

<div class="header__logo-only">
<s:link view="/home.xhtml" propagation="none" id="home" tabindex="1">
<img src="#{resource['assets/img/logo/logo.svg']}"
<img src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"
alt="Zanata"/>
</s:link>
</div>
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/account/password_reset.xhtml
Expand Up @@ -11,7 +11,7 @@
<ui:define name="center_content">
<div class="header__logo-only">
<s:link view="/home.xhtml" propagation="none" id="home" tabindex="1">
<img src="#{resource['assets/img/logo/logo.svg']}"
<img src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"
alt="Zanata"/>
</s:link>
</div>
Expand Down
Expand Up @@ -9,7 +9,7 @@
<ui:define name="center_content">
<div class="header__logo-only">
<s:link view="/home.xhtml" propagation="none" id="home" tabindex="1">
<img src="#{resource['assets/img/logo/logo.svg']}"
<img src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"
alt="Zanata"/>
</s:link>
</div>
Expand Down
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/account/register.xhtml
Expand Up @@ -12,7 +12,7 @@

<div class="header__logo-only">
<s:link view="/home.xhtml" propagation="none" id="home" tabindex="1">
<img src="#{resource['assets/img/logo/logo.svg']}"
<img src="#{applicationConfiguration.getWebAssets('img/logo/logo.svg')}"
alt="Zanata"/>
</s:link>
</div>
Expand Down

0 comments on commit 9482861

Please sign in to comment.