@@ -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