You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2007/09/24 12:12:31 UTC
svn commit: r578741 - in
/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal:
AjaxBundleDetailsAction.java BundleListRender.java
BundleRepositoryRender.java ConfigurationRender.java InstallAction.java
UpdateAction.java
Author: fmeschbe
Date: Mon Sep 24 03:12:26 2007
New Revision: 578741
URL: http://svn.apache.org/viewvc?rev=578741&view=rev
Log:
SLING-21 bundle with no symbolic name causes the sling console to display incomlpete list of bundles
Modified:
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/AjaxBundleDetailsAction.java
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleListRender.java
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleRepositoryRender.java
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/ConfigurationRender.java
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/InstallAction.java
incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/UpdateAction.java
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/AjaxBundleDetailsAction.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/AjaxBundleDetailsAction.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/AjaxBundleDetailsAction.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/AjaxBundleDetailsAction.java Mon Sep 24 03:12:26 2007
@@ -144,10 +144,25 @@
val.append(ep.getName());
val.append(",version=").append(ep.getVersion());
val.append(" from ");
- val.append(ep.getExportingBundle().getSymbolicName());
- val.append(" (").append(
- ep.getExportingBundle().getBundleId());
- val.append(")");
+
+ if (ep.getExportingBundle().getSymbolicName() != null) {
+ // list the bundle name if not null
+ val.append(ep.getExportingBundle().getSymbolicName());
+ val.append(" (").append(
+ ep.getExportingBundle().getBundleId());
+ val.append(")");
+ } else if (ep.getExportingBundle().getLocation() != null) {
+ // otherwise try the location
+ val.append(ep.getExportingBundle().getLocation());
+ val.append(" (").append(
+ ep.getExportingBundle().getBundleId());
+ val.append(")");
+ } else {
+ // fallback to just the bundle id
+ // only append the bundle
+ val.append(ep.getExportingBundle().getBundleId());
+ }
+
val.append("<br />");
break;
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleListRender.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleListRender.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleListRender.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleListRender.java Mon Sep 24 03:12:26 2007
@@ -187,6 +187,12 @@
String name = (String) bundle.getHeaders().get(Constants.BUNDLE_NAME);
if (name == null || name.length() == 0) {
name = bundle.getSymbolicName();
+ if (name == null) {
+ name = bundle.getLocation();
+ if (name == null) {
+ name = String.valueOf(bundle.getBundleId());
+ }
+ }
}
pw.println("<tr>");
@@ -259,6 +265,11 @@
private boolean hasUpdates(Bundle bundle) {
+ // don't care for bundles with no symbolic name
+ if (bundle.getSymbolicName() == null) {
+ return false;
+ }
+
Version bundleVersion = Version.parseVersion((String) bundle.getHeaders().get(Constants.BUNDLE_VERSION));
for (Iterator ri=this.repoAdmin.getResources(); ri.hasNext(); ) {
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleRepositoryRender.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleRepositoryRender.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleRepositoryRender.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/BundleRepositoryRender.java Mon Sep 24 03:12:26 2007
@@ -269,7 +269,10 @@
Version bundleVersion = Version.parseVersion(ver);
// assume one bundle instance per symbolic name !!
- bundles.put(installed[i].getSymbolicName(), bundleVersion);
+ // only add if there is a symbolic name !
+ if (installed[i].getSymbolicName() != null) {
+ bundles.put(installed[i].getSymbolicName(), bundleVersion);
+ }
}
return bundles;
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/ConfigurationRender.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/ConfigurationRender.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/ConfigurationRender.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/ConfigurationRender.java Mon Sep 24 03:12:26 2007
@@ -393,7 +393,13 @@
private String getBundleString(Bundle bundle, boolean withState) {
StringBuffer buf = new StringBuffer();
- buf.append(bundle.getSymbolicName());
+ if (bundle.getSymbolicName() != null) {
+ buf.append(bundle.getSymbolicName());
+ } else if (bundle.getLocation() != null) {
+ buf.append(bundle.getLocation());
+ } else {
+ buf.append(bundle.getBundleId());
+ }
Dictionary headers = bundle.getHeaders();
if (headers.get(Constants.BUNDLE_VERSION) != null) {
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/InstallAction.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/InstallAction.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/InstallAction.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/InstallAction.java Mon Sep 24 03:12:26 2007
@@ -152,8 +152,10 @@
Bundle newBundle = null;
Bundle[] bundles = this.getBundleContext().getBundles();
for (int i = 0; i < bundles.length; i++) {
- if (bundles[i].getLocation().equals(location)
- || bundles[i].getSymbolicName().equals(symbolicName)) {
+ if ((bundles[i].getLocation() != null && bundles[i].getLocation().equals(
+ location))
+ || (bundles[i].getSymbolicName() != null && bundles[i].getSymbolicName().equals(
+ symbolicName))) {
newBundle = bundles[i];
break;
}
Modified: incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/UpdateAction.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/UpdateAction.java?rev=578741&r1=578740&r2=578741&view=diff
==============================================================================
--- incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/UpdateAction.java (original)
+++ incubator/sling/trunk/webmanager/src/main/java/org/apache/sling/console/web/internal/UpdateAction.java Mon Sep 24 03:12:26 2007
@@ -80,6 +80,11 @@
final String version = (String) bundle.getHeaders().get(
Constants.BUNDLE_VERSION);
+ // the name is required, otherwise we can do nothing
+ if (name == null) {
+ return;
+ }
+
// TODO: Should be restrict to same major.micro ??
Thread t = new Thread("Background Update") {