Skip to content

Commit fb14590

Browse files
authored
Merge pull request #12100 from QualitativeDataRepository/Cache_redundant_util_calls
Cache popup values used in DatasetPage
2 parents 30ab514 + 86e4fba commit fb14590

File tree

1 file changed

+44
-7
lines changed

1 file changed

+44
-7
lines changed

src/main/java/edu/harvard/iq/dataverse/DatasetPage.java

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3065,6 +3065,8 @@ public String refresh() {
30653065
//dataset = datasetService.find(dataset.getId());
30663066
dataset = null;
30673067
workingVersion = null;
3068+
3069+
clearCachedPopupRequiredValues();
30683070

30693071
logger.fine("refreshing working version");
30703072

@@ -4006,6 +4008,10 @@ public void validateForwardURL(FacesContext context, UIComponent toValidate, Obj
40064008
}
40074009

40084010
public String save() {
4011+
4012+
//Clear cached info
4013+
clearCachedPopupRequiredValues();
4014+
40094015
//Before dataset saved, write cached prov freeform to version
40104016
if (systemConfig.isProvCollectionEnabled()) {
40114017
provPopupFragmentBean.saveStageProvFreeformToLatestVersion();
@@ -5557,24 +5563,55 @@ public boolean isFileAccessRequestMultiSignUpButtonEnabled(){
55575563
return false;
55585564
}
55595565

5566+
private Boolean downloadPopupRequired = null;
5567+
private Boolean requestAccessPopupRequired = null;
5568+
private Boolean guestbookAndTermsPopupRequired = null;
5569+
private Boolean guestbookPopupRequired = null;
5570+
private Boolean termsPopupRequired = null;
5571+
55605572
public boolean isDownloadPopupRequired() {
5561-
return FileUtil.isDownloadPopupRequired(workingVersion);
5573+
if (downloadPopupRequired == null) {
5574+
downloadPopupRequired = FileUtil.isDownloadPopupRequired(workingVersion);
5575+
}
5576+
return downloadPopupRequired;
55625577
}
55635578

55645579
public boolean isRequestAccessPopupRequired() {
5565-
return FileUtil.isRequestAccessPopupRequired(workingVersion);
5580+
if (requestAccessPopupRequired == null) {
5581+
requestAccessPopupRequired = FileUtil.isRequestAccessPopupRequired(workingVersion);
5582+
}
5583+
return requestAccessPopupRequired;
55665584
}
55675585

5568-
public boolean isGuestbookAndTermsPopupRequired() {
5569-
return FileUtil.isGuestbookAndTermsPopupRequired(workingVersion);
5586+
public boolean isGuestbookAndTermsPopupRequired() {
5587+
if (guestbookAndTermsPopupRequired == null) {
5588+
guestbookAndTermsPopupRequired = FileUtil.isGuestbookAndTermsPopupRequired(workingVersion);
5589+
}
5590+
return guestbookAndTermsPopupRequired;
55705591
}
55715592

55725593
public boolean isGuestbookPopupRequired(){
5573-
return FileUtil.isGuestbookPopupRequired(workingVersion);
5594+
if(guestbookPopupRequired == null) {
5595+
guestbookPopupRequired = FileUtil.isGuestbookPopupRequired(workingVersion);
5596+
}
5597+
return guestbookPopupRequired;
5598+
}
5599+
5600+
public boolean isTermsPopupRequired() {
5601+
if (termsPopupRequired == null) {
5602+
termsPopupRequired = FileUtil.isTermsPopupRequired(workingVersion);
5603+
}
5604+
return termsPopupRequired;
55745605
}
55755606

5576-
public boolean isTermsPopupRequired(){
5577-
return FileUtil.isTermsPopupRequired(workingVersion);
5607+
private void clearCachedPopupRequiredValues() {
5608+
downloadPopupRequired = null;
5609+
requestAccessPopupRequired = null;
5610+
guestbookAndTermsPopupRequired = null;
5611+
guestbookPopupRequired = null;
5612+
termsPopupRequired = null;
5613+
5614+
downloadButtonAvailable = null;
55785615
}
55795616

55805617
public boolean isGuestbookPopupRequiredAtDownload(){

0 commit comments

Comments
 (0)