Make DeveloperSettings a singleton, and other improvements.
By making it a singleton, we do need an explicit Setup operation. However, it means that we can refer to the settings in client code that doesn’t have access to a request or to the ServletContext. Other refactorings to simplify the logic or make it more scalable.
This commit is contained in:
parent
f6bd5804d5
commit
245763e9e7
20 changed files with 387 additions and 421 deletions
|
@ -11,6 +11,8 @@ edu.cornell.mannlib.vitro.webapp.config.ConfigurationPropertiesSetup
|
|||
|
||||
edu.cornell.mannlib.vitro.webapp.config.ConfigurationPropertiesSmokeTests
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.utils.developer.DeveloperSettings$Setup
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.config.RevisionInfoSetup
|
||||
|
||||
edu.cornell.mannlib.vitro.webapp.email.FreemarkerEmailFactory$Setup
|
||||
|
|
|
@ -34,41 +34,41 @@ function DeveloperPanel(developerAjaxUrl) {
|
|||
document.getElementById("developerPanelSaveButton").onclick = function() {
|
||||
updateDeveloperPanel(collectFormData());
|
||||
}
|
||||
document.getElementById("developerEnabled").onchange = updateDisabledFields
|
||||
document.getElementById("developerLoggingRDFServiceEnable").onchange = updateDisabledFields
|
||||
document.getElementById("developer_enabled").onchange = updateDisabledFields
|
||||
document.getElementById("developer_loggingRDFService_enable").onchange = updateDisabledFields
|
||||
}
|
||||
|
||||
function updateDisabledFields() {
|
||||
var developerEnabled = document.getElementById("developerEnabled").checked;
|
||||
document.getElementById("developerPermitAnonymousControl").disabled = !developerEnabled;
|
||||
document.getElementById("developerDefeatFreemarkerCache").disabled = !developerEnabled;
|
||||
document.getElementById("developerInsertFreemarkerDelimiters").disabled = !developerEnabled;
|
||||
document.getElementById("developerPageContentsLogCustomListView").disabled = !developerEnabled;
|
||||
document.getElementById("developerPageContentsLogCustomShortView").disabled = !developerEnabled;
|
||||
document.getElementById("developerI18nDefeatCache").disabled = !developerEnabled;
|
||||
document.getElementById("developerI18nLogStringRequests").disabled = !developerEnabled;
|
||||
document.getElementById("developerLoggingRDFServiceEnable").disabled = !developerEnabled;
|
||||
var developerEnabled = document.getElementById("developer_enabled").checked;
|
||||
document.getElementById("developer_permitAnonymousControl").disabled = !developerEnabled;
|
||||
document.getElementById("developer_defeatFreemarkerCache").disabled = !developerEnabled;
|
||||
document.getElementById("developer_insertFreemarkerDelimiters").disabled = !developerEnabled;
|
||||
document.getElementById("developer_pageContents_logCustomListView").disabled = !developerEnabled;
|
||||
document.getElementById("developer_pageContents_logCustomShortView").disabled = !developerEnabled;
|
||||
document.getElementById("developer_i18n_defeatCache").disabled = !developerEnabled;
|
||||
document.getElementById("developer_i18n_logStringRequests").disabled = !developerEnabled;
|
||||
document.getElementById("developer_loggingRDFService_enable").disabled = !developerEnabled;
|
||||
|
||||
var rdfServiceEnabled = developerEnabled && document.getElementById("developerLoggingRDFServiceEnable").checked;
|
||||
document.getElementById("developerLoggingRDFServiceStackTrace").disabled = !rdfServiceEnabled;
|
||||
document.getElementById("developerLoggingRDFServiceQueryRestriction").disabled = !rdfServiceEnabled;
|
||||
document.getElementById("developerLoggingRDFServiceStackRestriction").disabled = !rdfServiceEnabled;
|
||||
var rdfServiceEnabled = developerEnabled && document.getElementById("developer_loggingRDFService_enable").checked;
|
||||
document.getElementById("developer_loggingRDFService_stackTrace").disabled = !rdfServiceEnabled;
|
||||
document.getElementById("developer_loggingRDFService_queryRestriction").disabled = !rdfServiceEnabled;
|
||||
document.getElementById("developer_loggingRDFService_stackRestriction").disabled = !rdfServiceEnabled;
|
||||
}
|
||||
|
||||
function collectFormData() {
|
||||
var data = new Object();
|
||||
getCheckbox("developerEnabled", data);
|
||||
getCheckbox("developerPermitAnonymousControl", data);
|
||||
getCheckbox("developerDefeatFreemarkerCache", data);
|
||||
getCheckbox("developerInsertFreemarkerDelimiters", data);
|
||||
getCheckbox("developerPageContentsLogCustomListView", data);
|
||||
getCheckbox("developerPageContentsLogCustomShortView", data);
|
||||
getCheckbox("developerI18nDefeatCache", data);
|
||||
getCheckbox("developerI18nLogStringRequests", data);
|
||||
getCheckbox("developerLoggingRDFServiceEnable", data);
|
||||
getCheckbox("developerLoggingRDFServiceStackTrace", data);
|
||||
getText("developerLoggingRDFServiceQueryRestriction", data);
|
||||
getText("developerLoggingRDFServiceStackRestriction", data);
|
||||
getCheckbox("developer_enabled", data);
|
||||
getCheckbox("developer_permitAnonymousControl", data);
|
||||
getCheckbox("developer_defeatFreemarkerCache", data);
|
||||
getCheckbox("developer_insertFreemarkerDelimiters", data);
|
||||
getCheckbox("developer_pageContents_logCustomListView", data);
|
||||
getCheckbox("developer_pageContents_logCustomShortView", data);
|
||||
getCheckbox("developer_i18n_defeatCache", data);
|
||||
getCheckbox("developer_i18n_logStringRequests", data);
|
||||
getCheckbox("developer_loggingRDFService_enable", data);
|
||||
getCheckbox("developer_loggingRDFService_stackTrace", data);
|
||||
getText("developer_loggingRDFService_queryRestriction", data);
|
||||
getText("developer_loggingRDFService_stackRestriction", data);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<input type="text" id="${key}" size="30" value="${settings[key]}" >
|
||||
</#macro>
|
||||
|
||||
<#if !settings.developerEnabled>
|
||||
<#if !settings.developer_enabled>
|
||||
<#elseif !settings.mayControl>
|
||||
<div class="developer">
|
||||
<h1>${siteName} is running in developer mode.</h1>
|
||||
|
@ -22,11 +22,11 @@
|
|||
<div id="developerPanelBody">
|
||||
<div>
|
||||
<label>
|
||||
<@showCheckbox "developerEnabled" />
|
||||
<@showCheckbox "developer_enabled" />
|
||||
Enable developer mode
|
||||
</label>
|
||||
<label>
|
||||
<@showCheckbox "developerPermitAnonymousControl" />
|
||||
<@showCheckbox "developer_permitAnonymousControl" />
|
||||
Allow anonymous user to see and modify developer settings
|
||||
</label>
|
||||
</div>
|
||||
|
@ -35,11 +35,11 @@
|
|||
<div class="container">
|
||||
Page configuration
|
||||
<label>
|
||||
<@showCheckbox "developerPageContentsLogCustomListView" />
|
||||
<@showCheckbox "developer_pageContents_logCustomListView" />
|
||||
Log the use of custom list view XML files.
|
||||
</label>
|
||||
<label>
|
||||
<@showCheckbox "developerPageContentsLogCustomShortView" />
|
||||
<@showCheckbox "developer_pageContents_logCustomShortView" />
|
||||
Log the use of custom short views in search, index and browse pages.
|
||||
</label>
|
||||
</div>
|
||||
|
@ -47,11 +47,11 @@
|
|||
<div class="container">
|
||||
Language support
|
||||
<label>
|
||||
<@showCheckbox "developerI18nDefeatCache" />
|
||||
<@showCheckbox "developer_i18n_defeatCache" />
|
||||
Defeat the cache of language property files
|
||||
</label>
|
||||
<label>
|
||||
<@showCheckbox "developerI18nLogStringRequests" />
|
||||
<@showCheckbox "developer_i18n_logStringRequests" />
|
||||
Log the retrieval of language strings
|
||||
</label>
|
||||
</div>
|
||||
|
@ -71,11 +71,11 @@
|
|||
<div class="container">
|
||||
Freemarker templates
|
||||
<label>
|
||||
<@showCheckbox "developerDefeatFreemarkerCache" />
|
||||
<@showCheckbox "developer_defeatFreemarkerCache" />
|
||||
Defeat the template cache
|
||||
</label>
|
||||
<label>
|
||||
<@showCheckbox "developerInsertFreemarkerDelimiters" />
|
||||
<@showCheckbox "developer_insertFreemarkerDelimiters" />
|
||||
Insert HTML comments at start and end of templates
|
||||
</label>
|
||||
</div>
|
||||
|
@ -83,21 +83,21 @@
|
|||
<div class="container">
|
||||
SPARQL Queries
|
||||
<label>
|
||||
<@showCheckbox "developerLoggingRDFServiceEnable" />
|
||||
<@showCheckbox "developer_loggingRDFService_enable" />
|
||||
Log each query
|
||||
</label>
|
||||
<div class="within">
|
||||
<label>
|
||||
<@showCheckbox "developerLoggingRDFServiceStackTrace" />
|
||||
<@showCheckbox "developer_loggingRDFService_stackTrace" />
|
||||
Add stack trace
|
||||
</label>
|
||||
<label>
|
||||
Restrict by query string
|
||||
<@showTextbox "developerLoggingRDFServiceQueryRestriction" />
|
||||
<@showTextbox "developer_loggingRDFService_queryRestriction" />
|
||||
</label>
|
||||
<label>
|
||||
Restrict by calling stack
|
||||
<@showTextbox "developerLoggingRDFServiceStackRestriction" />
|
||||
<@showTextbox "developer_loggingRDFService_stackRestriction" />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue