Skip to content

Commit 015816a

Browse files
committed
Adding support for banner
1 parent 7a63ada commit 015816a

4 files changed

Lines changed: 90 additions & 3 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package goc.webtemplate;
2+
3+
public class InfoBanner {
4+
private String mainHTML;
5+
private Link link;
6+
private Link button;
7+
8+
public InfoBanner() {}
9+
10+
public InfoBanner(String mainHTML, Link link, Link button)
11+
{
12+
this.mainHTML = mainHTML;
13+
this.link = link;
14+
this.button = button;
15+
}
16+
17+
public String getMainHTML() {
18+
return mainHTML;
19+
}
20+
21+
public void setMainHTML(String mainHTML) {
22+
this.mainHTML = mainHTML;
23+
}
24+
25+
public Link getLink() {
26+
return link;
27+
}
28+
29+
public void setLink(Link link) {
30+
this.link = link;
31+
}
32+
33+
public Link getButton() {
34+
return button;
35+
}
36+
37+
public void setButton(Link button) {
38+
this.button = button;
39+
}
40+
}

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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import goc.webtemplate.FooterLink;
2121
import goc.webtemplate.FooterSection;
2222
import goc.webtemplate.IFooterSection;
23+
import goc.webtemplate.InfoBanner;
2324
import goc.webtemplate.IntranetTitle;
2425
import goc.webtemplate.LanguageLink;
2526
import goc.webtemplate.LeavingSecureSiteWarning;
@@ -152,6 +153,7 @@ private enum Themes { GCWEB, GCINTRANET }
152153
private boolean gcToolsModal = false;
153154
private String footerPath = null;
154155
private boolean hidePlaceholderMenu = false;
156+
private InfoBanner infoBanner = null;
155157
//-------------------------------------------------------
156158

157159
//-------------------------------------------------------
@@ -1473,6 +1475,25 @@ public void setHidePlaceholderMenu(boolean value) {
14731475
this.hidePlaceholderMenu = value;
14741476
}
14751477

1478+
/**
1479+
* Returns whether to display an information banner on top of the page
1480+
*
1481+
* can be overriden programatically.
1482+
*/
1483+
public InfoBanner getInfoBanner() {
1484+
this.initializeOnce();
1485+
return this.infoBanner;
1486+
}
1487+
1488+
/**
1489+
* Sets whether to display an information banner on top of the page
1490+
*
1491+
* can be overriden programatically.
1492+
*/
1493+
public void setInfoBanner(InfoBanner value) {
1494+
this.infoBanner = value;
1495+
}
1496+
14761497
/**
14771498
* Returns a copy of the breadcrumb list, ready for JSON serialization
14781499
*/
@@ -1880,7 +1901,8 @@ public String getRenderAppTop() {
18801901
this.getEncodedBreadcrumbs(),
18811902
this.showPreContent,
18821903
this.customSearch != null? Arrays.asList(this.customSearch): null,
1883-
this.getHasLeftMenuSections() //topSecMenu, true if there is at least one left menu section defined
1904+
this.getHasLeftMenuSections(), //topSecMenu, true if there is at least one left menu section defined
1905+
this.infoBanner
18841906
);
18851907
} else {
18861908
appTop = new AppTop.AppTopGCIntranet(

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

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import goc.webtemplate.Breadcrumb;
1010
import goc.webtemplate.CustomSearch;
11+
import goc.webtemplate.InfoBanner;
1112
import goc.webtemplate.IntranetTitle;
1213
import goc.webtemplate.LanguageLink;
1314
import goc.webtemplate.Link;
@@ -32,6 +33,7 @@ public class AppTop implements Serializable {
3233
private String menuPath;
3334
private List<SecMenuItem> menuLinks;
3435
private List<LanguageLink> lngLinks;
36+
private InfoBanner infoBanner;
3537

3638
/**
3739
* This is a List but should only have one item in it.
@@ -60,7 +62,7 @@ public AppTop()
6062

6163
public AppTop(String cdnEnv, String subTheme, String localPath, List<Link> appName, String menuPath,
6264
List<SecMenuItem> menuLinks, List<LanguageLink> lngLinks, List<Link> signIn, List<Link> signOut, List<Link> appSettings,
63-
boolean search, List<Breadcrumb> breadcrumbs, boolean showPreContent, List<CustomSearch> customSearch, boolean topSecMenu) {
65+
boolean search, List<Breadcrumb> breadcrumbs, boolean showPreContent, List<CustomSearch> customSearch, boolean topSecMenu, InfoBanner infoBanner) {
6466
this.cdnEnv = cdnEnv;
6567
this.subTheme = subTheme;
6668
this.localPath = localPath;
@@ -76,6 +78,7 @@ public AppTop(String cdnEnv, String subTheme, String localPath, List<Link> appNa
7678
this.showPreContent = showPreContent;
7779
this.customSearch = customSearch;
7880
this.topSecMenu = topSecMenu;
81+
this.infoBanner = infoBanner;
7982
}
8083

8184
public String getCdnEnv() {
@@ -197,6 +200,14 @@ public boolean isTopSecMenu() {
197200
public void setTopSecMenu(boolean topSecMenu) {
198201
this.topSecMenu = topSecMenu;
199202
}
203+
204+
public InfoBanner getInfoBanner() {
205+
return infoBanner;
206+
}
207+
208+
public void setInfoBanner(InfoBanner infoBanner) {
209+
this.infoBanner = infoBanner;
210+
}
200211

201212

202213
/**
@@ -225,7 +236,7 @@ public AppTopGCIntranet(String cdnEnv, String subTheme, String localPath, List<L
225236

226237
super(cdnEnv, subTheme, localPath, appName, menuPath,
227238
menuLinks, lngLinks, signIn, signOut, appSettings,
228-
search, breadcrumbs, showPreContent, customSearch, topSecMenu);
239+
search, breadcrumbs, showPreContent, customSearch, topSecMenu, null);
229240

230241
this.intranetTitle = intranetTitle;
231242
this.gcToolsModal = gcToolsModal;

gocwebtemplate-core/gocwebtemplate-core-base/src/test/java/goc/webtemplate/component/abstractcorebeantest/RenderAppTopTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package goc.webtemplate.component.abstractcorebeantest;
22

3+
import static org.junit.jupiter.api.Assertions.assertThrows;
34
import static org.junit.jupiter.api.Assertions.assertTrue;
45

56
import java.util.ArrayList;
67

78
import org.junit.jupiter.api.Test;
89

10+
import goc.webtemplate.InfoBanner;
11+
import goc.webtemplate.Link;
912
import goc.webtemplate.MenuItem;
1013

1114
public class RenderAppTopTest {
@@ -26,4 +29,15 @@ public void testCustomMenuItem() {
2629
"RenderTop: Custom MenuItem not rendered as expected.");
2730
}
2831

32+
@Test
33+
public void testInfoBanner() {
34+
AbstractCoreBeanImpl sut = new AbstractCoreBeanImpl();
35+
36+
InfoBanner banner = new InfoBanner("Main Text", new Link("google", "Link"), new Link("yahoo", "Button"));
37+
sut.setInfoBanner(banner);
38+
39+
assertTrue(sut.getRenderAppTop().contains("\"infoBanner\":{\"mainHTML\":\"Main Text\",\"link\":{\"href\":\"google\",\"text\":\"Link\"},\"button\":{\"href\":\"yahoo\",\"text\":\"Button\"}"),
40+
"\"RenderTop: InfoBanner not rendered as expected.\"");
41+
}
42+
2943
}

0 commit comments

Comments
 (0)