java.lang.Object
net.i2p.router.web.FormHandler
net.i2p.router.web.helpers.ConfigAdvancedHandler
Handles form submissions from the advanced configuration page. Processes and saves changes to router configuration including floodfill settings and advanced router properties. Validates permissions and applies configuration changes.
Nested Class Summary
Nested classes/interfaces inherited from class FormHandler
FormHandler.MessageModifier and TypeClassDescriptionstatic classMessage class to encapsulate the message text and the canClose flag.Field Summary
FieldsFields inherited from class FormHandler
_action, _context, _log, _method, _out, _requestWrapper, _session, _settingsModifier and TypeFieldDescriptionprotected StringForm action.protected RouterContextRouter context.protected LogClass logger.protected StringRequest method.protected WriterOutput writer.protected RequestWrapperOnly for multipart/form-data.protected HttpSessionHTTP session for nonce validation.protected MapNot for multipart/form-data, will be null.Constructor Summary
ConstructorsConstructorDescriptionCreates a handler; the container calls it with no arguments before each submission.Method Summary
Modifier and TypeMethodDescriptionprotected voidImplement this to perform the final processing (in turn, adding formNotice and formError messages, etc)private voidThe user made changes to the config and wants to save them, so lets go ahead and do so.private voidsaveFF()Save floodfill settings.voidSet the floodfill status from form submission.voidsetNofilter_config(String val) Set the config text.voidSet the previous config text for diff comparison.voidsetShouldsave(String moo) Set whether to save configuration.Methods inherited from class FormHandler
_t, _t, _t, _x, addFormError, addFormError, addFormErrorNoEscape, addFormErrorNoEscape, addFormNotice, addFormNotice, addFormNoticeNoEscape, addFormNoticeNoEscape, getAllMessages, getErrors, getJettyString, getNotices, isAdvanced, resolveEffectiveAction, setAction, setContextId, setNonce, setRequestWrapper, setSettings, storeMethod, storeSession, storeWriterModifier and TypeMethodDescriptionTranslate a string.Translate a string with a parameter This is a lot more expensive than _t(s), so use sparingly.Translate a string with two parameters.static StringMark a string for extraction by xgettext and translation.protected voidaddFormError(String errorMsg) Add an error message to display Use if it does not include a link.protected voidaddFormError(String errorMsg, boolean canClose) Add an error message to display Use if it does not include a link.protected voidAdd an error message to display Use if it includes a link or other formatting.protected voidaddFormErrorNoEscape(String msg, boolean canClose) Add an error message to display Use if it includes a link or other formatting.protected voidaddFormNotice(String msg) Add a non-error message to display Use if it does not include a link.protected voidaddFormNotice(String msg, boolean canClose) Add a non-error message to display Use if it does not include a link.protected voidAdd a non-error message to display Use if it includes a link or other formatting.protected voidaddFormNoticeNoEscape(String msg, boolean canClose) Add a non-error message to display Use if it includes a link or other formatting.Display everything, wrap it in a div for consistent presentation.Display any error messages (processing the form if it hasn't been yet).protected StringgetJettyString(String key) FormHandler.setSettings(Map)must have been called previously Curses Jetty for returning arrays.Display any non-error messages (processing the form if it hasn't been yet).booleanSame as HelperBase.static StringresolveEffectiveAction(String action, Map<?, ?> settings) Resolve which operation the user actually requested.voidAction value.voidsetContextId(String contextId) Configure this bean to query a particular router context.voidNonce value.voidOnly set by formhandler.jsi for multipart/form-data.voidsetSettings(Map settings) For many forms, it's easiest just to put all the parameters here.voidstoreMethod(String val) Call this to prevent changes using GET.voidstoreSession(HttpSession session) For nonce validation.voidstoreWriter(Writer out) Store the output writer for inline form processing.
Field Details
_shouldSave
private boolean _shouldSaveTrue when the form asks for the settings to be written._oldConfig
Settings as they were before the form._config
Settings as the form submitted them._ff
Property filter the page is showing.
Constructor Details
ConfigAdvancedHandler
public ConfigAdvancedHandler()Creates a handler; the container calls it with no arguments before each submission.
Method Details
processForm
protected void processForm()Description copied from class:FormHandlerImplement this to perform the final processing (in turn, adding formNotice and formError messages, etc)Will only be called if _action is non-null and the nonce is valid.
- Specified by:
processFormin classFormHandler
setShouldsave
Set whether to save configuration.- Parameters:
moo- ignored; the value only marks saving as enabled
setFf
Set the floodfill status from form submission.- Parameters:
ff- the floodfill status
setNofilter_config
setNofilter_oldConfig
Set the previous config text for diff comparison.- Parameters:
val- the previous config text
saveChanges
private void saveChanges()The user made changes to the config and wants to save them, so lets go ahead and do so.We saved the previous config in the form, so we do a diff between the two. This will reduce the chance of undoing some change that happened in-between.
saveFF
private void saveFF()Save floodfill settings.