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 2012/02/19 21:13:17 UTC
svn commit: r1291052 - in /karaf/webconsole/trunk:
core/src/main/java/org/apache/karaf/webconsole/core/table/
core/src/main/resources/org/apache/karaf/webconsole/core/page/
core/src/main/resources/org/apache/karaf/webconsole/core/table/
osgi/core/src/m...
Author: ldywicki
Date: Sun Feb 19 20:13:16 2012
New Revision: 1291052
URL: http://svn.apache.org/viewvc?rev=1291052&view=rev
Log:
Refactor of osgi/core module:
- restructured list of bundles with new icons instead of labels
- separate links for every operation instead of annonymous classes inside BundleActionsPanel
- first translations
Added:
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/RefreshLink.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/ResolveLink.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StartLink.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StopLink.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UninstallLink.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UpdateLink.java
karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties
Removed:
karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/page/SecuredPage.properties
karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/page/SecuredPage_fr.properties
Modified:
karaf/webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/table/ActionsPanel.java
karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/table/ActionsPanel.html
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundleActionsPanel.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java
karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java
karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.html
Modified: karaf/webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/table/ActionsPanel.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/table/ActionsPanel.java?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/table/ActionsPanel.java (original)
+++ karaf/webconsole/trunk/core/src/main/java/org/apache/karaf/webconsole/core/table/ActionsPanel.java Sun Feb 19 20:13:16 2012
@@ -64,4 +64,13 @@ public class ActionsPanel<T> extends Pan
return Collections.emptyList();
}
+ /**
+ * Gets model
+ *
+ * @return model
+ */
+ @SuppressWarnings("unchecked")
+ public final IModel<T> getModel() {
+ return (IModel<T>) getDefaultModel();
+ }
}
Modified: karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/table/ActionsPanel.html
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/table/ActionsPanel.html?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/table/ActionsPanel.html (original)
+++ karaf/webconsole/trunk/core/src/main/resources/org/apache/karaf/webconsole/core/table/ActionsPanel.html Sun Feb 19 20:13:16 2012
@@ -20,7 +20,7 @@
<ul>
<li wicket:id="actions">
<a wicket:id="action">
- <span wicket:id="label">label</span>
+ <span wicket:id="label"></span>
</a>
</li>
</ul>
Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundleActionsPanel.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundleActionsPanel.java?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundleActionsPanel.java (original)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundleActionsPanel.java Sun Feb 19 20:13:16 2012
@@ -21,19 +21,19 @@ import java.util.List;
import org.apache.karaf.webconsole.core.table.ActionsPanel;
import org.apache.karaf.webconsole.osgi.core.bundle.SingleBundlePage;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.RefreshLink;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.ResolveLink;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.StartLink;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.StopLink;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.UninstallLink;
+import org.apache.karaf.webconsole.osgi.core.bundle.list.link.UpdateLink;
import org.apache.karaf.webconsole.osgi.core.shared.State;
import org.apache.karaf.webconsole.osgi.core.spi.IActionProvider;
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.RequestCycle;
-import org.apache.wicket.Session;
+import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.IModel;
-import org.ops4j.pax.wicket.api.PaxWicketBean;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.service.packageadmin.PackageAdmin;
/**
* Action panel for bundles list.
@@ -41,8 +41,7 @@ import org.osgi.service.packageadmin.Pac
@SuppressWarnings("rawtypes")
public class BundleActionsPanel extends ActionsPanel<Bundle> {
- @PaxWicketBean(name = "packageAdmin")
- private PackageAdmin admin;
+ private static final long serialVersionUID = 1L;
public BundleActionsPanel(String componentId, final IModel<Bundle> model, List<IActionProvider> actionProviders) {
super(componentId, model);
@@ -59,14 +58,11 @@ public class BundleActionsPanel extends
@Override
protected List<Link> getLinks(Bundle object, String linkId, String labelId) {
- PageParameters params = new PageParameters();
- params.put("bundleId", object.getBundleId());
-
List<Link> links = new ArrayList<Link>();
// details link
- Link link = new BookmarkablePageLink<SingleBundlePage>(linkId, SingleBundlePage.class, params);
- link.add(new Label("label", "Details"));
+ Link link = SingleBundlePage.createLink(linkId, object);
+ link.add(new Label("label", "").add(new SimpleAttributeModifier("class", "icon-info-sign")));
links.add(link);
@@ -75,90 +71,54 @@ public class BundleActionsPanel extends
links.add(createStopLink(linkId, labelId));
break;
case INSTALLED:
+ // here we do not have break, because start operation will try to
+ // resolve imports too
+ links.add(createResolveLink(linkId, labelId));
case RESOLVED:
links.add(createStartLink(linkId, labelId));
}
links.add(createRefreshLink(linkId, labelId));
+ links.add(createUpdateLink(linkId, labelId));
links.add(createUninstallLink(linkId, labelId));
return links;
}
private Link createUninstallLink(String linkId, String labelId) {
- Link link = new Link(linkId) {
- @Override
- public void onClick() {
- Bundle bundle = (Bundle) BundleActionsPanel.this.getDefaultModelObject();
-
- try {
- bundle.uninstall();
-
- Session.get().info("Bundle " + bundle.getSymbolicName() + " uninstalled");
- RequestCycle.get().setResponsePage(BundlePage.class);
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- };
- link.add(new Label(labelId, "Uninstall"));
+ Link link = new UninstallLink(linkId, getModel());
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-eject")));
return link;
}
private Link createRefreshLink(String linkId, String labelId) {
- Link link = new Link(linkId) {
- @Override
- public void onClick() {
- Bundle bundle = (Bundle) BundleActionsPanel.this.getDefaultModelObject();
+ Link link = new RefreshLink(linkId, getModel());
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-refresh")));
+ return link;
+ }
- admin.refreshPackages(new Bundle[] {bundle});
- Session.get().info("Bundle " + bundle.getSymbolicName() + " refreshed");
- RequestCycle.get().setResponsePage(BundlePage.class);
- }
-
- };
- link.add(new Label(labelId, "Refresh"));
+ private Link createUpdateLink(String linkId, String labelId) {
+ Link link = new UpdateLink(linkId, getModel());
+ //link.add(new SimpleAttributeModifier("title", getLocalizer().getString("bundle.update.link", this, getModel())));
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-retweet")));
return link;
}
- private Link createStartLink(String linkId, String labelId) {
- Link link = new Link(linkId) {
- @Override
- public void onClick() {
- Bundle bundle = (Bundle) BundleActionsPanel.this.getDefaultModelObject();
+ private Link createResolveLink(String linkId, String labelId) {
+ Link link = new ResolveLink(linkId, getModel());
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-step-forward")));
+ return link;
+ }
- try {
- bundle.start();
- Session.get().info("Bundle " + bundle.getSymbolicName() + " started");
- RequestCycle.get().setResponsePage(BundlePage.class);
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- };
- link.add(new Label(labelId, "Start"));
+ private Link createStartLink(String linkId, String labelId) {
+ Link link = new StartLink(linkId, getModel());
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-play")));
return link;
}
private Link createStopLink(String linkId, String labelId) {
- Link link = new Link(linkId) {
- public void onClick() {
- Bundle bundle = (Bundle) BundleActionsPanel.this.getDefaultModelObject();
- try {
- bundle.stop();
- Session.get().info("Bundle " + bundle.getSymbolicName() + " stopped");
- RequestCycle.get().setResponsePage(BundlePage.class);
- } catch (BundleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- };
- link.add(new Label(labelId, "Stop"));
+ Link link = new StopLink(linkId, getModel());
+ link.add(new Label(labelId, "").add(new SimpleAttributeModifier("class", "icon-pause")));
return link;
}
}
Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java (original)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java Sun Feb 19 20:13:16 2012
@@ -44,6 +44,9 @@ import org.ops4j.pax.wicket.api.PaxWicke
import org.osgi.framework.Bundle;
import org.osgi.service.startlevel.StartLevel;
+/**
+ * Bundle list page.
+ */
@PaxWicketMountPoint(mountPoint = "/osgi/bundle")
public class BundlePage extends OsgiPage {
@@ -62,18 +65,24 @@ public class BundlePage extends OsgiPage
public BundlePage() {
List<IColumn<Bundle>> columns = new ArrayList<IColumn<Bundle>>();
columns.add(new AbstractColumn<Bundle>(of("")) {
+ private static final long serialVersionUID = 1L;
+
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
cellItem.add(new DecorationPanel(componentId, rowModel, decorationProviders));
}
});
columns.add(new PropertyColumnExt<Bundle>("Bundle Id", "bundleId"));
columns.add(new AbstractColumn<Bundle>(of("State")) {
+ private static final long serialVersionUID = 1L;
+
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
cellItem.add(new Label(componentId, State.of(rowModel.getObject().getState()).name()));
}
});
columns.add(new AbstractColumn<Bundle>(of("Start level")) {
+ private static final long serialVersionUID = 1L;
+
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
cellItem.add(new Label(componentId, of(startLevel.getBundleStartLevel(rowModel.getObject()))));
}
@@ -87,6 +96,8 @@ public class BundlePage extends OsgiPage
columns.add(new PropertyColumnExt<Bundle>("Name", "symbolicName"));
columns.add(new PropertyColumnExt<Bundle>("Version", "version.toString"));
columns.add(new AbstractColumn<Bundle>(Model.of("Operations")) {
+ private static final long serialVersionUID = 1L;
+
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
cellItem.add(new BundleActionsPanel(componentId, rowModel, actionProviders));
}
Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java (original)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java Sun Feb 19 20:13:16 2012
@@ -30,6 +30,8 @@ import org.osgi.framework.Bundle;
public class DecorationPanel extends Panel {
+ private static final long serialVersionUID = 1L;
+
public DecorationPanel(String id, IModel<Bundle> model, List<IDecorationProvider> decorationProviders) {
super(id, model);
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/RefreshLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/RefreshLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/RefreshLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/RefreshLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.ops4j.pax.wicket.api.PaxWicketBean;
+import org.osgi.framework.Bundle;
+import org.osgi.service.packageadmin.PackageAdmin;
+
+/**
+ * Bundle refresh link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class RefreshLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ @PaxWicketBean(name = "packageAdmin")
+ private PackageAdmin admin;
+
+ public RefreshLink(String id, IModel<Bundle> model) {
+ super(id, model);
+ }
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ admin.refreshPackages(new Bundle[] { bundle });
+ Session.get().info(getLocalizer().getString("bundle.refresh", this, getModel()));
+ } catch (Exception e) {
+ Session.get().info(getLocalizer().getString("bundle.refresh.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+
+}
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/ResolveLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/ResolveLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/ResolveLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/ResolveLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.ops4j.pax.wicket.api.PaxWicketBean;
+import org.osgi.framework.Bundle;
+import org.osgi.service.packageadmin.PackageAdmin;
+
+/**
+ * Bundle resolve link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class ResolveLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ @PaxWicketBean(name = "packageAdmin")
+ private PackageAdmin admin;
+
+ public ResolveLink(String id, IModel<Bundle> model) {
+ super(id, model);
+ }
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ admin.resolveBundles(new Bundle[] { bundle });
+ Session.get().info(getLocalizer().getString("bundle.resolve", this, getModel()));
+ } catch (Exception e) {
+ Session.get().info(getLocalizer().getString("bundle.resolve.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+}
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StartLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StartLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StartLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StartLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+/**
+ * Bundle start link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class StartLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ public StartLink(String id, IModel<Bundle> model) {
+ super(id, model);}
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ bundle.start();
+ Session.get().info(getLocalizer().getString("bundle.start", this, getModel()));
+ } catch (BundleException e) {
+ Session.get().error(getLocalizer().getString("bundle.start.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+
+}
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StopLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StopLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StopLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/StopLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+/**
+ * Bundle stop link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class StopLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ public StopLink(String id, IModel<Bundle> model) {
+ super(id, model);}
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ bundle.stop();
+ Session.get().info(getLocalizer().getString("bundle.stop", this, getModel()));
+ } catch (BundleException e) {
+ Session.get().error(getLocalizer().getString("bundle.stop.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+
+}
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UninstallLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UninstallLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UninstallLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UninstallLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+/**
+ * Bundle uninstallation link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class UninstallLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ public UninstallLink(String id, IModel<Bundle> model) {
+ super(id, model);}
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ bundle.uninstall();
+ Session.get().info(getLocalizer().getString("bundle.uninstall", this, getModel()));
+ } catch (BundleException e) {
+ Session.get().error(getLocalizer().getString("bundle.uninstall.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+
+}
Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UpdateLink.java
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UpdateLink.java?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UpdateLink.java (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/link/UpdateLink.java Sun Feb 19 20:13:16 2012
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.karaf.webconsole.osgi.core.bundle.list.link;
+
+import org.apache.karaf.webconsole.osgi.core.bundle.list.BundlePage;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+import org.apache.wicket.authorization.Action;
+import org.apache.wicket.authorization.strategies.role.annotations.AuthorizeAction;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+/**
+ * Bundle update link.
+ */
+@AuthorizeAction(action = Action.RENDER, roles = {"admin"})
+public class UpdateLink extends Link<Bundle> {
+
+ private static final long serialVersionUID = 1L;
+
+ public UpdateLink(String id, IModel<Bundle> model) {
+ super(id, model);
+ }
+
+ @Override
+ public void onClick() {
+ Bundle bundle = getModelObject();
+
+ try {
+ bundle.update();
+ Session.get().info(getLocalizer().getString("bundle.update", this, getModel()));
+ } catch (BundleException e) {
+ Session.get().error(getLocalizer().getString("bundle.update.fail", this, Model.of(e)));
+ }
+ RequestCycle.get().setResponsePage(BundlePage.class);
+ }
+
+}
Modified: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.html
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.html?rev=1291052&r1=1291051&r2=1291052&view=diff
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.html (original)
+++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.html Sun Feb 19 20:13:16 2012
@@ -17,12 +17,12 @@
-->
<wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<div class="row-fluid">
- <h1 class="pull-left">Bundles</h1>
+ <h1 class="pull-left"><wicket:message key="bundle" /></h1>
<div class="btn-group pull-right">
<a class="btn btn-primary" wicket:id="install">
<i class="icon-plus icon-white"></i>
- Install bundle
+ <wicket:message key="bundle.install" />
</a>
</div>
</div>
Added: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties
URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties?rev=1291052&view=auto
==============================================================================
--- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties (added)
+++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties Sun Feb 19 20:13:16 2012
@@ -0,0 +1,35 @@
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements. See the NOTICE file distributed with
+ # this work for additional information regarding copyright ownership.
+ # The ASF licenses this file to You under the Apache License, Version 2.0
+ # (the "License"); you may not use this file except in compliance with
+ # the License. You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+bundle Bundle
+bundle.install Install new bundle
+
+bundle.start Bundle $\{symbolicName\} ($\{bundleId\}) started
+bundle.start.fail Can not start bundle, exception occured ${message}
+
+bundle.stop Bundle $\{symbolicName\} ($\{bundleId\}) stopped
+bundle.stop.fail Can not stop bundle, exception occured ${message}
+
+bundle.update Bundle $\{symbolicName\} ($\{bundleId\}) updated
+bundle.update.fail Can not update bundle: ${message}
+
+bundle.uninstall Bundle $\{symbolicName\} ($\{bundleId\}) uninstalled
+bundle.uninstall.fail Can not uninstall bundle, exception occured ${message}
+
+bundle.refresh Bundle $\{symbolicName\} ($\{bundleId\}) refreshed
+bundle.refresh.fail Bundle refresh fail: ${message}
+
+bundle.resolve Bundle $\{symbolicName\} ($\{bundleId\}) resolved
+bundle.resolve.fail Bundle resolving error: ${message}
\ No newline at end of file