You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ld...@apache.org on 2011/08/22 17:24:28 UTC
svn commit: r1160301 - in /karaf/sandbox/pieber/karaf-webconsole/trunk:
core/src/main/java/org/apache/karaf/webconsole/core/
core/src/main/resources/org/apache/karaf/webconsole/core/
osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configur...
Author: ldywicki
Date: Mon Aug 22 15:24:28 2011
New Revision: 1160301
URL: http://svn.apache.org/viewvc?rev=1160301&view=rev
Log:
Refactor configurations subpage. Added remove operation support for configurations
Added:
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/AbstractConfigurationModel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationModel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationNotFoundException.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationsModel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationRemoveForm.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationsActionPanel.java
- copied, changed from r1160300, karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsActionPanel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationstDataTable.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/FactoryPidItem.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.html
- copied, changed from r1160300, karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html
Removed:
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsActionPanel.java
Modified:
karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/BasePage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/BasePage.html
karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/SidebarPage.html
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationProvider.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.html
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html
karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/configurations.css
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/BasePage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/BasePage.java?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/BasePage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/BasePage.java Mon Aug 22 15:24:28 2011
@@ -8,12 +8,11 @@ import org.apache.karaf.webconsole.core.
import org.apache.karaf.webconsole.core.internal.LanguagePanel;
import org.apache.karaf.webconsole.core.navigation.ConsoleTab;
import org.apache.karaf.webconsole.core.navigation.markup.NavigationPanel;
-import org.apache.wicket.ResourceReference;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.html.CSSPackageResource;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.image.Image;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.util.ListModel;
import org.ops4j.pax.wicket.api.PaxWicketBean;
@@ -44,6 +43,12 @@ public class BasePage extends WebPage {
for (IBehavior behavior : brandProvider.getBehaviors()) {
add(behavior);
}
+
+ add(new FeedbackPanel("feedback"));
+ }
+
+ public void get() {
+
}
}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/BasePage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/BasePage.html?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/BasePage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/BasePage.html Mon Aug 22 15:24:28 2011
@@ -24,6 +24,7 @@
<div class="clear"></div>
<div class="grid_12">
+ <span wicket:id="feedback">Feedback stuff</span>
<wicket:child />
</div>
<div class="clear"></div>
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/SidebarPage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/SidebarPage.html?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/SidebarPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/SidebarPage.html Mon Aug 22 15:24:28 2011
@@ -28,6 +28,7 @@
<div wicket:id="sidebar">Sidebar goes here</div>
</div>
<div class="grid_9">
+ <span wicket:id="feedback">Feedback stuff</span>
<wicket:child />
</div>
<div class="clear"></div>
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.java?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.java Mon Aug 22 15:24:28 2011
@@ -11,12 +11,16 @@ import java.util.Map;
import java.util.Map.Entry;
import org.apache.karaf.webconsole.osgi.internal.OsgiPage;
+import org.apache.karaf.webconsole.osgi.internal.configuration.model.ConfigurationModel;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IFormSubmittingComponent;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.util.ListModel;
import org.ops4j.pax.wicket.api.PaxWicketBean;
@@ -27,9 +31,10 @@ public class ConfigurationEditPage exten
@PaxWicketBean(name = "configurationAdmin")
private ConfigurationAdmin configurationAdmin;
+ private String pid;
public ConfigurationEditPage(PageParameters params) {
- String pid = params.getString("pid");
+ pid = params.getString("pid");
add(new Label("pid", pid));
@@ -42,9 +47,17 @@ public class ConfigurationEditPage exten
}
private Form form(Configuration configuration) {
- Form<Configuration> form = new Form<Configuration>("edit");
+ CompoundPropertyModel<Configuration> model = new CompoundPropertyModel<Configuration>(null);
+ model.setChainedModel(new ConfigurationModel(pid, configurationAdmin));
- form.add(new TextField<String>("pid", Model.of(configuration.getPid())) {
+ Form<Configuration> form = new Form<Configuration>("edit", model) {
+ @Override
+ public void process(IFormSubmittingComponent submittingComponent) {
+ System.out.println("--> " + getModelObject());
+ }
+ };
+
+ form.add(new TextField<String>("pid") {
@Override
public boolean isEnabled() {
return false;
@@ -52,6 +65,8 @@ public class ConfigurationEditPage exten
});
Dictionary<String, Serializable> properties = configuration.getProperties();
+ properties.get("service.pid");
+ properties.get("service.factory");
Map<String, Serializable> map = new LinkedHashMap<String, Serializable>();
Enumeration<String> keys = properties.keys();
@@ -67,8 +82,13 @@ public class ConfigurationEditPage exten
item.add(new Label("key", item.getModelObject().getKey()));
item.add(new TextField<String>("value", new Model(item.getModelObject().getValue())));
}
+ @Override
+ public boolean getReuseItems() {
+ return true;
+ }
});
+ form.add(new Button("submit"));
return form;
}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationProvider.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationProvider.java?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationProvider.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationProvider.java Mon Aug 22 15:24:28 2011
@@ -1,19 +1,33 @@
package org.apache.karaf.webconsole.osgi.internal.configuration;
+import java.io.IOException;
import java.util.Arrays;
import java.util.Iterator;
+import org.apache.karaf.webconsole.osgi.internal.configuration.model.ConfigurationModel;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
+import org.osgi.framework.InvalidSyntaxException;
import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
public class ConfigurationProvider extends SortableDataProvider<Configuration> {
- private final Configuration[] configurations;
+ private Configuration[] configurations = new Configuration[0];
+ private final ConfigurationAdmin configurationAdmin;
- public ConfigurationProvider(Configuration[] configurations) {
- this.configurations = configurations;
+ public ConfigurationProvider(ConfigurationAdmin configurationAdmin) {
+ this.configurationAdmin = configurationAdmin;
+ try {
+ this.configurations = configurationAdmin.listConfigurations(null);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InvalidSyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
public Iterator<? extends Configuration> iterator(int arg0, int arg1) {
@@ -21,7 +35,7 @@ public class ConfigurationProvider exten
}
public IModel<Configuration> model(Configuration arg0) {
- return new CompoundPropertyModel<Configuration>(arg0);
+ return new ConfigurationModel(arg0.getPid(), configurationAdmin);
}
public int size() {
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,29 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration;
+
+import org.apache.karaf.webconsole.osgi.internal.OsgiPage;
+import org.apache.karaf.webconsole.osgi.internal.configuration.model.ConfigurationModel;
+import org.apache.karaf.webconsole.osgi.internal.configuration.view.ConfigurationRemoveForm;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.markup.html.basic.Label;
+import org.ops4j.pax.wicket.api.PaxWicketBean;
+import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+/**
+ * Configuration remove page.
+ */
+@PaxWicketMountPoint(mountPoint = "/osgi/configuration/remove")
+public class ConfigurationRemovePage extends OsgiPage {
+
+ @PaxWicketBean(name = "configurationAdmin")
+ private ConfigurationAdmin configurationAdmin;
+ private String pid;
+
+ public ConfigurationRemovePage(PageParameters params) {
+ pid = params.getString("pid");
+
+ add(new Label("pid", pid));
+ add(new ConfigurationRemoveForm("remove", new ConfigurationModel(pid, configurationAdmin)));
+ }
+
+}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.java?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.java Mon Aug 22 15:24:28 2011
@@ -1,23 +1,9 @@
package org.apache.karaf.webconsole.osgi.internal.configuration;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.apache.karaf.webconsole.osgi.internal.OsgiPage;
-import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.karaf.webconsole.osgi.internal.configuration.view.ConfigurationstDataTable;
import org.apache.wicket.markup.html.CSSPackageResource;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
import org.ops4j.pax.wicket.api.PaxWicketBean;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
public class ConfigurationsPage extends OsgiPage {
@@ -28,33 +14,8 @@ public class ConfigurationsPage extends
public ConfigurationsPage() {
add(CSSPackageResource.getHeaderContribution(ConfigurationsPage.class, "configurations.css"));
- Configuration[] configurations = new Configuration[0];
- try {
- configurations = configurationAdmin.listConfigurations(null);
- } catch (IOException e) {
- } catch (InvalidSyntaxException e) {
- e.printStackTrace();
- }
- final boolean empty = configurations.length == 0;
-
- IModel<String> pid = Model.of("pid");
-
- List<IColumn<Configuration>> columns = new ArrayList<IColumn<Configuration>>();
- columns.add(new PropertyColumn<Configuration>(pid, "pid"));
- columns.add(new AbstractColumn<Configuration>(Model.of("operations")) {
- public void populateItem(Item<ICellPopulator<Configuration>> cellItem, String componentId, IModel<Configuration> model) {
- cellItem.add(new ConfigurationsActionPanel(componentId, model));
- }
- });
-
- add(new DefaultDataTable<Configuration>("configurations", columns, new ConfigurationProvider(configurations), 20));
-
- add(new Label("noData", "No configuration found. " + (configurationAdmin == null ? "Configuration Admin not found" : "")) {
- @Override
- public boolean isVisible() {
- return empty;
- }
- });
+ add(new ConfigurationstDataTable("configurations", new ConfigurationProvider(configurationAdmin), 20));
+
}
}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/AbstractConfigurationModel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/AbstractConfigurationModel.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/AbstractConfigurationModel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/AbstractConfigurationModel.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,20 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.model;
+
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+/**
+ * Base class for configuration models.
+ */
+public abstract class AbstractConfigurationModel<T> extends LoadableDetachableModel<T> {
+
+ /**
+ * Configuration admin.
+ */
+ protected ConfigurationAdmin configurationAdmin;
+
+ public AbstractConfigurationModel(ConfigurationAdmin configurationAdmin) {
+ this.configurationAdmin = configurationAdmin;
+ }
+
+}
\ No newline at end of file
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationModel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationModel.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationModel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationModel.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,26 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.model;
+
+import java.io.IOException;
+
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+public class ConfigurationModel extends AbstractConfigurationModel<Configuration> {
+
+ private String pid;
+
+ public ConfigurationModel(String pid, ConfigurationAdmin configurationAdmin) {
+ super(configurationAdmin);
+ this.pid = pid;
+ }
+
+ @Override
+ protected Configuration load() {
+ try {
+ return configurationAdmin.getConfiguration(pid);
+ } catch (IOException e) {
+ throw new ConfigurationNotFoundException(pid, e);
+ }
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationNotFoundException.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationNotFoundException.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationNotFoundException.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationNotFoundException.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,12 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.model;
+
+public class ConfigurationNotFoundException extends RuntimeException {
+
+ public ConfigurationNotFoundException(String pid) {
+ super(pid);
+ }
+
+ public ConfigurationNotFoundException(String pid, Throwable cause) {
+ super(pid, cause);
+ }
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationsModel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationsModel.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationsModel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/model/ConfigurationsModel.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,21 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.model;
+
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+public class ConfigurationsModel extends AbstractConfigurationModel<Configuration[]> {
+
+ public ConfigurationsModel(ConfigurationAdmin configurationAdmin) {
+ super(configurationAdmin);
+ }
+
+ @Override
+ protected Configuration[] load() {
+ try {
+ return configurationAdmin.listConfigurations(null);
+ } catch (Exception e) {
+ throw new ConfigurationNotFoundException(null, e);
+ }
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationRemoveForm.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationRemoveForm.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationRemoveForm.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationRemoveForm.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,38 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.view;
+
+import java.io.IOException;
+
+import org.apache.karaf.webconsole.osgi.internal.configuration.ConfigurationsPage;
+import org.apache.karaf.webconsole.osgi.internal.configuration.model.ConfigurationNotFoundException;
+import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IFormSubmittingComponent;
+import org.apache.wicket.model.IModel;
+import org.osgi.service.cm.Configuration;
+
+/**
+ * Simple form responsible for removal of the configuration.
+ */
+public class ConfigurationRemoveForm extends Form<Configuration> {
+
+ public ConfigurationRemoveForm(String id, IModel<Configuration> model) {
+ super(id, model);
+
+ add(new Button("submit"));
+ }
+
+ @Override
+ public void process(IFormSubmittingComponent submittingComponent) {
+ try {
+ Configuration cfg = getModelObject();
+ String pid = cfg.getPid();
+ cfg.delete();
+
+ getSession().info("Configuration " + pid + " was removed");
+ getRequestCycle().setResponsePage(ConfigurationsPage.class);
+ } catch (IOException e) {
+ throw new ConfigurationNotFoundException(getModelObject().getPid(), e);
+ }
+ }
+
+}
\ No newline at end of file
Copied: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationsActionPanel.java (from r1160300, karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsActionPanel.java)
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationsActionPanel.java?p2=karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationsActionPanel.java&p1=karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsActionPanel.java&r1=1160300&r2=1160301&rev=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsActionPanel.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationsActionPanel.java Mon Aug 22 15:24:28 2011
@@ -1,9 +1,11 @@
-package org.apache.karaf.webconsole.osgi.internal.configuration;
+package org.apache.karaf.webconsole.osgi.internal.configuration.view;
import java.util.Arrays;
import java.util.List;
import org.apache.karaf.webconsole.core.table.ActionsPanel;
+import org.apache.karaf.webconsole.osgi.internal.configuration.ConfigurationEditPage;
+import org.apache.karaf.webconsole.osgi.internal.configuration.ConfigurationRemovePage;
import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.basic.Label;
@@ -24,15 +26,12 @@ class ConfigurationsActionPanel extends
PageParameters params = new PageParameters();
params.put("pid", object.getPid());
- Link removeLink = new Link(id) {
- @Override
- public void onClick() {
- }
- };
+ Link removeLink = new BookmarkablePageLink<ConfigurationEditPage>(id, ConfigurationRemovePage.class, params);
removeLink.add(new SimpleAttributeModifier("class", "remove"));
removeLink.add(new Label("label", "remove"));
Link editLink = new BookmarkablePageLink<ConfigurationEditPage>(id, ConfigurationEditPage.class, params);
+ removeLink.add(new SimpleAttributeModifier("class", "edit"));
editLink.add(new Label("label", "edit"));
return Arrays.asList(editLink, removeLink);
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationstDataTable.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationstDataTable.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationstDataTable.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/ConfigurationstDataTable.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,43 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.view;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.wicket.markup.repeater.Item;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.service.cm.Configuration;
+
+public class ConfigurationstDataTable extends DefaultDataTable<Configuration> {
+
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ private static List COLUMNS = Arrays.asList(
+ new PropertyColumn<Configuration>(Model.of("pid"), "pid"),
+ new AbstractColumn<Configuration>(Model.of("operations")) {
+ public void populateItem(Item<ICellPopulator<Configuration>> cellItem, String componentId, IModel<Configuration> model) {
+ cellItem.add(new ConfigurationsActionPanel(componentId, model));
+ }
+ }
+ );
+
+ public ConfigurationstDataTable(String id, ISortableDataProvider<Configuration> dataProvider, int rowsPerPage) {
+ super(id, COLUMNS, dataProvider, rowsPerPage);
+ }
+
+ @Override
+ protected Item<Configuration> newRowItem(String id, int index,
+ IModel<Configuration> model) {
+ Configuration cfg = model.getObject();
+
+ if (cfg.getFactoryPid() != null) {
+ return new FactoryPidItem(id, index, model);
+ }
+
+ return super.newRowItem(id, index, model);
+ }
+}
\ No newline at end of file
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/FactoryPidItem.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/FactoryPidItem.java?rev=1160301&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/FactoryPidItem.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/configuration/view/FactoryPidItem.java Mon Aug 22 15:24:28 2011
@@ -0,0 +1,21 @@
+package org.apache.karaf.webconsole.osgi.internal.configuration.view;
+
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.repeater.OddEvenItem;
+import org.apache.wicket.model.IModel;
+import org.osgi.service.cm.Configuration;
+
+public class FactoryPidItem extends OddEvenItem<Configuration> {
+
+ public FactoryPidItem(String id, int index, IModel<Configuration> model) {
+ super(id, index, model);
+ }
+
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ tag.append("class", "factory", " ");
+ }
+
+}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.html?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationEditPage.html Mon Aug 22 15:24:28 2011
@@ -12,7 +12,7 @@
<form wicket:id="edit">
<input type="text" wicket:id="pid" style="width: 100%" />
- <ul>
+ <ul style="list-style-type: none;">
<li wicket:id="properties">
<div class="grid_9">
<div class="grid_9">
@@ -22,6 +22,8 @@
</div>
</li>
</ul>
+
+ <input type="submit" wicket:id="submit" value="Confirm" />
</form>
</wicket:extend>
</body>
Copied: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.html (from r1160300, karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html)
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.html?p2=karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.html&p1=karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html&r1=1160300&r2=1160301&rev=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationRemovePage.html Mon Aug 22 15:24:28 2011
@@ -7,13 +7,12 @@
<body>
<wicket:extend>
- <h1>Configurations</h1>
+ <h1>Confirm removal of <span wicket:id="pid">org.apache.felix.filemount</span> configuration</h1>
- <table wicket:id="configurations" class="dataview" />
-
- <wicket:enclosure>
- <span wicket:id="noData">Info goes here</span>
- </wicket:enclosure>
+ <form wicket:id="remove">
+ Are you sure want to delete this configuration?
+ <input type="submit" wicket:id="submit" value="Confirm" />
+ </form>
</wicket:extend>
</body>
</html>
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/ConfigurationsPage.html Mon Aug 22 15:24:28 2011
@@ -11,9 +11,6 @@
<table wicket:id="configurations" class="dataview" />
- <wicket:enclosure>
- <span wicket:id="noData">Info goes here</span>
- </wicket:enclosure>
</wicket:extend>
</body>
</html>
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/configurations.css
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/configurations.css?rev=1160301&r1=1160300&r2=1160301&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/configurations.css (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/osgi/src/main/resources/org/apache/karaf/webconsole/osgi/internal/configuration/configurations.css Mon Aug 22 15:24:28 2011
@@ -1,3 +1,7 @@
a.remove {
color: red;
+}
+
+.factory {
+ font-weight: bolder;
}
\ No newline at end of file