Skip to content

Commit fcf843b

Browse files
authored
Add languagePrecedence option to splash page (#81)
1 parent a8cd5c5 commit fcf843b

5 files changed

Lines changed: 61 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
## v4.0.5
66

77
- [CDTS](https://github.com/wet-boew/cdts-sgdc/) v5.0.5 & [wet-boew](https://github.com/wet-boew/wet-boew) v4.0.89
8+
- Adding an optional languagePrecedence property for Splash page allowing users to decide the order of official languages
89
- Updated static fallback files
910

1011
## v4.0.4

gocwebtemplate-core/gocwebtemplate-core-base/src/main/java/goc/webtemplate/SplashPageInfo.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public class SplashPageInfo implements Serializable {
1111
private String frenchTermsUrl;
1212
private String englishName;
1313
private String frenchName;
14+
private String languagePrecedence;
1415

1516
public SplashPageInfo() {
1617
//everything null by default is fine
@@ -19,12 +20,20 @@ public SplashPageInfo() {
1920
public SplashPageInfo(String englishHomeUrl, String frenchHomeUrl,
2021
String englishTermsUrl, String frenchTermsUrl,
2122
String englishName, String frenchName) {
23+
this(englishHomeUrl, frenchHomeUrl, englishTermsUrl,
24+
frenchTermsUrl, englishName, frenchName, null);
25+
}
26+
27+
public SplashPageInfo(String englishHomeUrl, String frenchHomeUrl,
28+
String englishTermsUrl, String frenchTermsUrl,
29+
String englishName, String frenchName, String languagePrecedence) {
2230
this.englishHomeUrl = englishHomeUrl;
2331
this.frenchHomeUrl = frenchHomeUrl;
2432
this.englishTermsUrl = englishTermsUrl;
2533
this.frenchTermsUrl = frenchTermsUrl;
2634
this.englishName = englishName;
2735
this.frenchName = frenchName;
36+
this.languagePrecedence = languagePrecedence;
2837
}
2938

3039
public String getEnglishHomeUrl() {
@@ -74,4 +83,12 @@ public String getFrenchName() {
7483
public void setFrenchName(String frenchName) {
7584
this.frenchName = frenchName;
7685
}
86+
87+
public String getLanguagePrecedence() {
88+
return languagePrecedence;
89+
}
90+
91+
public void setLanguagePrecedence(String languagePrecedence) {
92+
this.languagePrecedence = languagePrecedence;
93+
}
7794
}

gocwebtemplate-core/gocwebtemplate-core-base/src/main/java/goc/webtemplate/component/AbstractCoreBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2259,7 +2259,8 @@ public String getRenderSplashSetup() {
22592259
JsonValueUtils.getNonEmptyString(spi.getEnglishTermsUrl()),
22602260
JsonValueUtils.getNonEmptyString(spi.getFrenchTermsUrl()),
22612261
spi.getEnglishName(),
2262-
spi.getFrenchName()
2262+
spi.getFrenchName(),
2263+
spi.getLanguagePrecedence()
22632264
),
22642265
this.buildHtmlBodyElements()));
22652266
}

gocwebtemplate-core/gocwebtemplate-core-base/src/main/java/goc/webtemplate/component/jsonentities/Splash.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,24 @@ public class Splash implements Serializable {
1717
private String termsFra;
1818
private String nameEng;
1919
private String nameFra;
20+
private String languagePrecedence;
2021

2122
public Splash() {
2223
}
2324

2425
public Splash(String cdnEnv,
2526
String indexEng, String indexFra,
2627
String termsEng, String termsFra,
27-
String nameEng, String nameFra) {
28+
String nameEng, String nameFra,
29+
String languagePrecedence) {
2830
this.cdnEnv = cdnEnv;
2931
this.indexEng = indexEng;
3032
this.indexFra = indexFra;
3133
this.termsEng = termsEng;
3234
this.termsFra = termsFra;
3335
this.nameEng = nameEng;
3436
this.nameFra = nameFra;
37+
this.languagePrecedence = languagePrecedence;
3538
}
3639

3740
public String getCdnEnv() {
@@ -89,4 +92,12 @@ public String getNameFra() {
8992
public void setNameFra(String nameFra) {
9093
this.nameFra = nameFra;
9194
}
95+
96+
public String getLanguagePrecedence() {
97+
return languagePrecedence;
98+
}
99+
100+
public void setLanguagePrecedence(String languagePrecedence) {
101+
this.languagePrecedence = languagePrecedence;
102+
}
92103
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package goc.webtemplate.component.abstractcorebeantest;
2+
3+
import static org.junit.jupiter.api.Assertions.assertTrue;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
import goc.webtemplate.SplashPageInfo;
8+
9+
public class RenderSplashTest {
10+
11+
@Test
12+
public void testSplash() {
13+
AbstractCoreBeanImpl sut = new AbstractCoreBeanImpl();
14+
15+
SplashPageInfo splash = new SplashPageInfo(
16+
"index",
17+
"index",
18+
"http://www.canada.ca/en/transparency/terms.html",
19+
"http://www.canada.ca/fr/transparence/avis.html",
20+
"[My web asset]",
21+
"[Mon actif web]",
22+
"French"
23+
);
24+
sut.setSplashPageInfo(splash);
25+
26+
assertTrue(sut.getRenderSplashSetup().contains("\"splash\":{\"indexEng\":\"index\",\"indexFra\":\"index\",\"termsEng\":\"http://www.canada.ca/en/transparency/terms.html\",\"termsFra\":\"http://www.canada.ca/fr/transparence/avis.html\",\"nameEng\":\"[My web asset]\",\"nameFra\":\"[Mon actif web]\",\"languagePrecedence\":\"French\"}"),
27+
"\"RenderSplash: Splash not rendered as expected.\"");
28+
}
29+
}

0 commit comments

Comments
 (0)