Mercurial Hosting > nabble
view src/nabble/view/web/template/NamlConfigurationNamespace.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line source
package nabble.view.web.template; import nabble.model.Site; import nabble.naml.compiler.Command; import nabble.naml.compiler.CommandSpec; import nabble.naml.compiler.IPrintWriter; import nabble.naml.compiler.Interpreter; import nabble.naml.compiler.Namespace; @Namespace( name = "naml_configuration", global = false ) public class NamlConfigurationNamespace { public static final CommandSpec get_value = new CommandSpec.Builder() .parameters("name", "default") .build() ; @Command public void get_value(IPrintWriter out, Interpreter interp) { Site site = NabbleNamespace.current().site(); String name = interp.getArgString("name"); String value = site.getConfigurationValue(name); if( value == null ) value = interp.getArgString("default"); out.print(value); } public static final CommandSpec set = new CommandSpec.Builder() .parameters("name", "value", "naml") .optionalParameters("default") .build() ; @Command public void set(IPrintWriter out, Interpreter interp) { Site site = NabbleNamespace.current().site(); String name = interp.getArgString("name"); String value = interp.getArgString("value"); String defaultValue = interp.getArgString("default"); if (defaultValue != null && value.equals(defaultValue)) { site.deleteConfiguration(name); } else { String naml = interp.getArgString("naml"); site.saveConfiguration(name,value,naml); } out.print(name); } @Command public void apply(IPrintWriter out, Interpreter interp) { Site site = NabbleNamespace.current().site(); site.update(); } }