in osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/ConfigurationEditPage.java [52:86]
public ConfigurationEditPage(PageParameters params) {
pid = params.get("pid").toString();
add(new Label("pid", pid));
ConfigurationModel configuration = new ConfigurationModel(pid, configurationAdmin);
setDefaultModel(configuration);
@SuppressWarnings("unchecked")
Map<String, String> properties = DictionaryUtils.map(configuration.getObject().getProperties());
Map<String, String> system = ConfigurationFilterUtil.filter(properties);
MapEditForm<String, String> mapEditForm = new MapEditForm<String, String>("edit", new CompoundPropertyModel<Map<String, String>>(properties)) {
@Override
protected void onSubmit() {
Map<String, String> map = getModelObject();
Configuration configuration = (Configuration) ConfigurationEditPage.this.getDefaultModelObject();
try {
if (configuration.getBundleLocation() != null) {
configuration.setBundleLocation(null);
}
configuration.update(DictionaryUtils.dictionary(map));
Session.get().info("Configuration " + pid + " updated.");
RequestCycle.get().setResponsePage(ConfigurationsPage.class);
} catch (IOException e) {
error("Unable to update configuration " + e.getMessage());
}
}
};
mapEditForm.add(new SubmitLink("submit"));
add(mapEditForm);
add(new MapDataTable<String, String>("system", new MapDataProvider<String, String>(system), 5));
}