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:
j2blake 2014-01-04 14:22:29 -05:00
parent f6bd5804d5
commit 245763e9e7
20 changed files with 387 additions and 421 deletions

View file

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