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/25 13:29:07 UTC
svn commit: r1161512 - in
/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main:
java/org/apache/karaf/webconsole/karaf/internal/repository/
resources/org/apache/karaf/webconsole/karaf/internal/repository/
Author: ldywicki
Date: Thu Aug 25 11:29:06 2011
New Revision: 1161512
URL: http://svn.apache.org/viewvc?rev=1161512&view=rev
Log:
Repository add operation for karaf
Added:
karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryForm.java
karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesActionPanel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/resources/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.html
Modified:
karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesPage.java
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryForm.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryForm.java?rev=1161512&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryForm.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryForm.java Thu Aug 25 11:29:06 2011
@@ -0,0 +1,58 @@
+package org.apache.karaf.webconsole.karaf.internal.repository;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.apache.karaf.features.FeaturesService;
+import org.apache.karaf.features.Repository;
+import org.apache.karaf.webconsole.core.form.LabelBorder;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.SubmitLink;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.Model;
+import org.ops4j.pax.wicket.api.PaxWicketBean;
+
+public class AddRepositoryForm extends Form<Repository> {
+
+ @PaxWicketBean(name = "featuresService")
+ private FeaturesService featuresService;
+
+ private TextField<String> uri;
+
+ public AddRepositoryForm(String id) {
+ super(id);
+
+ uri = new TextField<String>("uri", Model.of("mvn:")) {
+ @Override
+ public boolean isRequired() {
+ return true;
+ }
+ };
+
+ LabelBorder border = new LabelBorder("border");
+ border.add(new Label("label", "Repository URI"));
+ border.add(uri);
+
+ add(border);
+
+ add(new SubmitLink("submit"));
+ }
+
+ @Override
+ protected void onSubmit() {
+ String add = uri.getModelObject();
+ try {
+ URI uri = new URI(add);
+ featuresService.addRepository(uri);
+
+ getSession().info("New repository with uri " + uri + " added");
+ getRequestCycle().setResponsePage(RepositoriesPage.class);
+ } catch (URISyntaxException e) {
+ error("Cannot parse give uri " + e.getMessage());
+ } catch (Exception e) {
+ error("FeaturesService reported an error " + e.getMessage());
+ }
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.java?rev=1161512&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.java Thu Aug 25 11:29:06 2011
@@ -0,0 +1,15 @@
+package org.apache.karaf.webconsole.karaf.internal.repository;
+
+import org.apache.karaf.webconsole.core.SidebarPage;
+import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
+
+@PaxWicketMountPoint(mountPoint = "/karaf/repositories/add")
+public class AddRepositoryPage extends SidebarPage {
+
+ public AddRepositoryPage() {
+
+ add(new AddRepositoryForm("add"));
+
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesActionPanel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesActionPanel.java?rev=1161512&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesActionPanel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesActionPanel.java Thu Aug 25 11:29:06 2011
@@ -0,0 +1,43 @@
+package org.apache.karaf.webconsole.karaf.internal.repository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.karaf.features.FeaturesService;
+import org.apache.karaf.features.Repository;
+import org.apache.karaf.webconsole.core.table.ActionsPanel;
+import org.apache.wicket.Session;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.ops4j.pax.wicket.api.PaxWicketBean;
+
+public class RepositoriesActionPanel extends ActionsPanel<Repository> {
+
+ @PaxWicketBean(name = "featuresService")
+ private FeaturesService featuresService;
+
+ public RepositoriesActionPanel(String componentId, IModel<Repository> model) {
+ super(componentId, model);
+ }
+
+ @Override
+ protected List<Link> getLinks(final Repository object, String id) {
+ List<Link> links = new ArrayList<Link>();
+
+ Link remove = new Link(id) {
+ @Override
+ public void onClick() {
+ featuresService.removeRepository(object.getURI());
+
+ Session.get().info("Repository " + object.getURI() + " was removed");
+ }
+ };
+ remove.add(new Label("label", "Remove"));
+
+ links.add(remove);
+
+ return links;
+ }
+
+}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesPage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesPage.java?rev=1161512&r1=1161511&r2=1161512&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesPage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/java/org/apache/karaf/webconsole/karaf/internal/repository/RepositoriesPage.java Thu Aug 25 11:29:06 2011
@@ -1,31 +1,52 @@
package org.apache.karaf.webconsole.karaf.internal.repository;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.karaf.features.FeaturesService;
import org.apache.karaf.features.Repository;
-import org.apache.karaf.webconsole.core.BasePage;
+import org.apache.karaf.webconsole.core.SidebarPage;
+import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.karaf.internal.RepositoriesProvider;
+import org.apache.wicket.Page;
+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.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.ops4j.pax.wicket.api.PaxWicketMountPoint;
@PaxWicketMountPoint(mountPoint = "/karaf/repositories")
-public class RepositoriesPage extends BasePage {
+public class RepositoriesPage extends SidebarPage {
@PaxWicketBean(name = "featuresService")
private FeaturesService featuresService;
public RepositoriesPage() {
IColumn[] columns = new IColumn[] {
+ new OrdinalColumn<Repository>(),
new PropertyColumn<Repository>(Model.of("name"), "name", "name"),
new PropertyColumn<Repository>(Model.of("URI"), "URI", "URI"),
- new PropertyColumn<Repository>(Model.of("valid"), "valid", "valid")
+ new PropertyColumn<Repository>(Model.of("valid"), "valid", "valid"),
+ new AbstractColumn<Repository>(Model.of("Operations")) {
+ public void populateItem(Item<ICellPopulator<Repository>> cellItem, String componentId, IModel<Repository> rowModel) {
+ cellItem.add(new RepositoriesActionPanel(componentId, rowModel));
+ }
+ }
};
add(new DefaultDataTable<Repository>("repositories", columns, new RepositoriesProvider(featuresService), 20));
}
+ @Override
+ protected List<Class<? extends Page>> getSubPages() {
+ List<Class<? extends Page>> list = new ArrayList<Class<? extends Page>>();
+ list.add(AddRepositoryPage.class);
+ return list;
+ }
}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/resources/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/resources/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.html?rev=1161512&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/resources/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.html (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/karaf/src/main/resources/org/apache/karaf/webconsole/karaf/internal/repository/AddRepositoryPage.html Thu Aug 25 11:29:06 2011
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >
+ <wicket:head>
+ <title>Karaf Wicket console - Features page</title>
+ </wicket:head>
+
+ <body>
+ <wicket:extend>
+ <h1>Add feature repository</h1>
+
+ <form wicket:id="add">
+ <span wicket:id="border">
+ <input type="text" wicket:id="uri" value="mvn:foo/bar/1.0.0/xml/features" />
+ </span>
+
+ <input type="submit" wicket:id="submit" value="Confirm" />
+ </form>
+
+ </wicket:extend>
+ </body>
+
+</html>