FELIX-1061: Apply patch: webconsole silently ignores bundles which have no Bundle-SymbolicName header
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@769372 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
index d63039f..04a3c02 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallAction.java
@@ -68,6 +68,7 @@
public boolean performAction( HttpServletRequest request, HttpServletResponse response )
+ throws IOException
{
// get the uploaded data
@@ -162,6 +163,7 @@
private void installBundle( String location, File bundleFile, int startLevel, boolean start, boolean refreshPackages )
+ throws IOException
{
if ( bundleFile != null )
{
@@ -171,7 +173,7 @@
if ( symbolicName == null )
{
bundleFile.delete();
- return;
+ throw new IOException(Constants.BUNDLE_SYMBOLICNAME + " header missing, cannot install bundle");
}
// check for existing bundle first
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
index 0a55361..86aa767 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
@@ -359,7 +359,7 @@
//---------- internal
- protected boolean handleAction( HttpServletRequest req, HttpServletResponse resp ) throws IOException
+ protected boolean handleAction( HttpServletRequest req, HttpServletResponse resp ) throws IOException, ServletException
{
// check action
String actionName = AbstractWebConsolePlugin.getParameter( req, Util.PARAM_ACTION );
@@ -376,10 +376,12 @@
catch ( IOException ioe )
{
log.log( LogService.LOG_WARNING, ioe.getMessage(), ioe );
+ throw ioe;
}
catch ( ServletException se )
{
log.log( LogService.LOG_WARNING, se.getMessage(), se.getRootCause() );
+ throw se;
}
// maybe overwrite redirect