public ConfigurationEditPage()

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