FELIX-1988 Apply 2.use-utility-methods.patch by Valentin Valchev (thanks)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@908931 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/DefaultBrandingPlugin.java b/webconsole/src/main/java/org/apache/felix/webconsole/DefaultBrandingPlugin.java
index 4429c24..a326d59 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/DefaultBrandingPlugin.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/DefaultBrandingPlugin.java
@@ -23,6 +23,8 @@
import java.io.InputStream;
import java.util.Properties;
+import org.apache.commons.io.IOUtils;
+
/**
* The <code>DefaultBrandingPlugin</code> class is the default implementation
@@ -129,17 +131,11 @@
props.load( ins );
}
catch ( IOException ignore )
- {
+ { /* ignore - will use defaults */
}
finally
{
- try
- {
- ins.close();
- }
- catch ( IOException ignore )
- {
- }
+ IOUtils.closeQuietly( ins );
}
}
@@ -156,6 +152,11 @@
}
+ /**
+ * Retrieves the shared instance
+ *
+ * @return the singleton instance of the object
+ */
public static DefaultBrandingPlugin getInstance()
{
if ( instance == null )
@@ -166,54 +167,81 @@
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getBrandName()
+ */
public String getBrandName()
{
return brandName;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getProductName()
+ */
public String getProductName()
{
return productName;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getProductURL()
+ */
public String getProductURL()
{
return productURL;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getProductImage()
+ */
public String getProductImage()
{
return productImage;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getVendorName()
+ */
public String getVendorName()
{
return vendorName;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getVendorURL()
+ */
public String getVendorURL()
{
return vendorURL;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getVendorImage()
+ */
public String getVendorImage()
{
return vendorImage;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getFavIcon()
+ */
public String getFavIcon()
{
return favIcon;
}
+ /**
+ * @see org.apache.felix.webconsole.BrandingPlugin#getMainStyleSheet()
+ */
public String getMainStyleSheet()
{
return mainStyleSheet;
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
index 20636a2..f6ef5c4 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/ComponentsServlet.java
@@ -34,6 +34,7 @@
import org.apache.felix.scr.Reference;
import org.apache.felix.scr.ScrService;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.BaseWebConsolePlugin;
import org.apache.felix.webconsole.internal.Util;
import org.json.JSONArray;
@@ -416,21 +417,13 @@
private void keyVal( JSONWriter jw, String key, Object value )
{
- if ( key != null && value != null )
+ try
{
- try
- {
- jw.object();
- jw.key( "key" );
- jw.value( key );
- jw.key( "value" );
- jw.value( value );
- jw.endObject();
- }
- catch ( JSONException je )
- {
- // don't care
- }
+ WebConsoleUtil.keyVal( jw, key, value );
+ }
+ catch ( JSONException je )
+ {
+ // don't care
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
index 98bb6ce..f53dfe6 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/compendium/LogServlet.java
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.BaseWebConsolePlugin;
import org.apache.felix.webconsole.internal.Util;
import org.json.JSONException;
@@ -63,11 +64,12 @@
protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException
{
- final String minLevel = getParameter( req, "minLevel" );
+ final int minLevel = WebConsoleUtil.getParameterInt( req, "minLevel", LogService.LOG_DEBUG );
+
resp.setContentType( "application/json" );
resp.setCharacterEncoding( "utf-8" );
- renderJSON( resp.getWriter(), extractLogLevel( minLevel ) );
+ renderJSON( resp.getWriter(), minLevel );
}
@@ -125,28 +127,10 @@
}
- private int extractLogLevel( String minLevel )
- {
- if ( minLevel == null )
- return LogService.LOG_DEBUG;
-
- int minLogLevel = LogService.LOG_DEBUG;;
- try
- {
- minLogLevel = Integer.parseInt( minLevel );
- }
- catch ( Throwable t )
- {
- minLogLevel = LogService.LOG_DEBUG;
- }
- return minLogLevel;
- }
-
-
protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException,
IOException
{
- final String minLevel = getParameter( request, "minLevel" );
+ final int minLevel = WebConsoleUtil.getParameterInt( request, "minLevel", LogService.LOG_DEBUG );
final String info = request.getPathInfo();
if ( info.endsWith( ".json" ) )
{
@@ -154,7 +138,7 @@
response.setCharacterEncoding( "UTF-8" );
PrintWriter pw = response.getWriter();
- this.renderJSON( pw, extractLogLevel( minLevel ) );
+ this.renderJSON( pw, minLevel );
return;
}
super.doGet( request, response );
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BaseUpdateInstallHelper.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BaseUpdateInstallHelper.java
index 152fce7..c0687e6 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BaseUpdateInstallHelper.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BaseUpdateInstallHelper.java
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.io.InputStream;
+import org.apache.commons.io.IOUtils;
import org.apache.felix.webconsole.internal.Logger;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
@@ -80,16 +81,7 @@
}
finally
{
- if ( bundleStream != null )
- {
- try
- {
- bundleStream.close();
- }
- catch ( IOException ignore )
- {
- }
- }
+ IOUtils.closeQuietly( bundleStream );
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
index 79cfa25..007a6e6 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
@@ -28,6 +28,7 @@
import org.apache.felix.bundlerepository.*;
import org.apache.felix.webconsole.ConfigurationPrinter;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.*;
import org.apache.felix.webconsole.internal.Logger;
import org.apache.felix.webconsole.internal.Util;
@@ -661,24 +662,24 @@
jw.key( "props" );
jw.array();
- keyVal( jw, "Symbolic Name", bundle.getSymbolicName() );
- keyVal( jw, "Version", headers.get( Constants.BUNDLE_VERSION ) );
- keyVal( jw, "Bundle Location", bundle.getLocation() );
- keyVal( jw, "Last Modification", new Date( bundle.getLastModified() ) );
+ WebConsoleUtil.keyVal( jw, "Symbolic Name", bundle.getSymbolicName() );
+ WebConsoleUtil.keyVal( jw, "Version", headers.get( Constants.BUNDLE_VERSION ) );
+ WebConsoleUtil.keyVal( jw, "Bundle Location", bundle.getLocation() );
+ WebConsoleUtil.keyVal( jw, "Last Modification", new Date( bundle.getLastModified() ) );
String docUrl = ( String ) headers.get( Constants.BUNDLE_DOCURL );
if ( docUrl != null )
{
- keyVal( jw, "Bundle Documentation", docUrl );
+ WebConsoleUtil.keyVal( jw, "Bundle Documentation", docUrl );
}
- keyVal( jw, "Vendor", headers.get( Constants.BUNDLE_VENDOR ) );
- keyVal( jw, "Copyright", headers.get( Constants.BUNDLE_COPYRIGHT ) );
- keyVal( jw, "Description", headers.get( Constants.BUNDLE_DESCRIPTION ) );
+ WebConsoleUtil.keyVal( jw, "Vendor", headers.get( Constants.BUNDLE_VENDOR ) );
+ WebConsoleUtil.keyVal( jw, "Copyright", headers.get( Constants.BUNDLE_COPYRIGHT ) );
+ WebConsoleUtil.keyVal( jw, "Description", headers.get( Constants.BUNDLE_DESCRIPTION ) );
- keyVal( jw, "Start Level", getStartLevel( bundle ) );
+ WebConsoleUtil.keyVal( jw, "Start Level", getStartLevel( bundle ) );
- keyVal( jw, "Bundle Classpath", headers.get( Constants.BUNDLE_CLASSPATH ) );
+ WebConsoleUtil.keyVal( jw, "Bundle Classpath", headers.get( Constants.BUNDLE_CLASSPATH ) );
listFragmentInfo( jw, bundle, pluginRoot );
@@ -749,11 +750,11 @@
}
}
}
- keyVal( jw, "Exported Packages", val );
+ WebConsoleUtil.keyVal( jw, "Exported Packages", val );
}
else
{
- keyVal( jw, "Exported Packages", "None" );
+ WebConsoleUtil.keyVal( jw, "Exported Packages", "None" );
}
exports = packageAdmin.getExportedPackages( ( Bundle ) null );
@@ -807,7 +808,7 @@
val.put( "None" );
}
- keyVal( jw, "Imported Packages", val );
+ WebConsoleUtil.keyVal( jw, "Imported Packages", val );
}
if ( !usingBundles.isEmpty() )
@@ -818,7 +819,7 @@
Bundle usingBundle = ( Bundle ) ui.next();
val.put( getBundleDescriptor( usingBundle, pluginRoot ) );
}
- keyVal( jw, "Importing Bundles", val );
+ WebConsoleUtil.keyVal( jw, "Importing Bundles", val );
}
}
@@ -854,11 +855,11 @@
R4Export export = new R4Export( pkgs[i] );
collectExport( val, export.getName(), export.getVersion() );
}
- keyVal( jw, "Exported Packages", val );
+ WebConsoleUtil.keyVal( jw, "Exported Packages", val );
}
else
{
- keyVal( jw, "Exported Packages", "None" );
+ WebConsoleUtil.keyVal( jw, "Exported Packages", "None" );
}
}
@@ -926,7 +927,7 @@
val.put( "None" );
}
- keyVal( jw, "Imported Packages", val );
+ WebConsoleUtil.keyVal( jw, "Imported Packages", val );
}
}
}
@@ -972,7 +973,7 @@
appendProperty( val, refs[i], Constants.SERVICE_DESCRIPTION, "Description" );
appendProperty( val, refs[i], Constants.SERVICE_VENDOR, "Vendor" );
- keyVal( jw, key, val);
+ WebConsoleUtil.keyVal( jw, key, val);
}
}
@@ -993,7 +994,7 @@
val.put( header + ": " + value );
}
- keyVal( jw, "Manifest Headers", val );
+ WebConsoleUtil.keyVal( jw, "Manifest Headers", val );
}
private static final String enableLineWrapping(final String value)
@@ -1028,7 +1029,7 @@
{
val.put( getBundleDescriptor( hostBundles[i], pluginRoot ) );
}
- keyVal( jw, "Host Bundles", val );
+ WebConsoleUtil.keyVal( jw, "Host Bundles", val );
}
}
else
@@ -1041,7 +1042,7 @@
{
val.put( getBundleDescriptor( fragmentBundles[i], pluginRoot ) );
}
- keyVal( jw, "Fragments Attached", val );
+ WebConsoleUtil.keyVal( jw, "Fragments Attached", val );
}
}
@@ -1072,20 +1073,6 @@
}
- private void keyVal( JSONWriter jw, String key, Object value ) throws JSONException
- {
- if ( key != null && value != null )
- {
- jw.object();
- jw.key( "key" );
- jw.value( key );
- jw.key( "value" );
- jw.value( value );
- jw.endObject();
- }
- }
-
-
private void collectExport( JSONArray array, String name, Version version )
{
StringBuffer val = new StringBuffer();
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/ServicesServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/ServicesServlet.java
index 7250306..07179ea 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/ServicesServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/ServicesServlet.java
@@ -31,6 +31,7 @@
import org.apache.felix.webconsole.ConfigurationPrinter;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.BaseWebConsolePlugin;
import org.apache.felix.webconsole.internal.Util;
import org.json.JSONArray;
@@ -280,20 +281,6 @@
}
- private void keyVal( JSONWriter jw, String key, Object value ) throws JSONException
- {
- if ( key != null && value != null )
- {
- jw.object();
- jw.key( "key" );
- jw.value( key );
- jw.key( "value" );
- jw.value( value );
- jw.endObject();
- }
- }
-
-
private String propertyAsString( ServiceReference ref, String name )
{
Object value = ref.getProperty( name );
@@ -343,19 +330,19 @@
String key = keys[i];
if ( Constants.SERVICE_PID.equals( key ) )
{
- keyVal( jw, "Service PID", service.getProperty( key ) );
+ WebConsoleUtil.keyVal( jw, "Service PID", service.getProperty( key ) );
}
else if ( Constants.SERVICE_DESCRIPTION.equals( key ) )
{
- keyVal( jw, "Service Description", service.getProperty( key ) );
+ WebConsoleUtil.keyVal( jw, "Service Description", service.getProperty( key ) );
}
else if ( Constants.SERVICE_VENDOR.equals( key ) )
{
- keyVal( jw, "Service Vendor", service.getProperty( key ) );
+ WebConsoleUtil.keyVal( jw, "Service Vendor", service.getProperty( key ) );
}
else if ( !Constants.OBJECTCLASS.equals( key ) && !Constants.SERVICE_ID.equals( key ) )
{
- keyVal( jw, key, service.getProperty( key ) );
+ WebConsoleUtil.keyVal( jw, key, service.getProperty( key ) );
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/SetStartLevelAction.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/SetStartLevelAction.java
index 5fb9681..d8046ae 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/SetStartLevelAction.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/SetStartLevelAction.java
@@ -21,6 +21,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.felix.webconsole.Action;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.BaseManagementPlugin;
import org.osgi.service.startlevel.StartLevel;
@@ -54,13 +55,13 @@
StartLevel sl = getStartLevel();
if ( sl != null )
{
- int bundleSL = this.getParameterInt( request, "bundleStartLevel" );
+ int bundleSL = WebConsoleUtil.getParameterInt( request, "bundleStartLevel", -1 );
if ( bundleSL > 0 && bundleSL != sl.getInitialBundleStartLevel() )
{
sl.setInitialBundleStartLevel( bundleSL );
}
- int systemSL = this.getParameterInt( request, "systemStartLevel" );
+ int systemSL = WebConsoleUtil.getParameterInt( request, "systemStartLevel", -1 );
if ( systemSL > 0 && systemSL != sl.getStartLevel() )
{
sl.setStartLevel( systemSL );
@@ -71,18 +72,4 @@
}
- private int getParameterInt( HttpServletRequest request, String name )
- {
- try
- {
- return Integer.parseInt( request.getParameter( name ) );
- }
- catch ( NumberFormatException nfe )
- {
- // don't care
- }
-
- return -1;
- }
-
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/UpdateHelper.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/UpdateHelper.java
index 8980e09..73d7d74 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/UpdateHelper.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/UpdateHelper.java
@@ -23,6 +23,8 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
+
+import org.apache.commons.io.IOUtils;
import org.apache.felix.webconsole.internal.obr.DeployerThread;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleException;
@@ -116,16 +118,7 @@
}
finally
{
- if ( input != null )
- {
- try
- {
- input.close();
- }
- catch ( IOException ignore )
- {
- }
- }
+ IOUtils.closeQuietly( input );
}
// not installed from the bundle location
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
index 599f301..19c1041 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/deppack/DepPackServlet.java
@@ -28,6 +28,7 @@
import org.apache.commons.fileupload.FileItem;
import org.apache.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.BaseWebConsolePlugin;
import org.apache.felix.webconsole.internal.Util;
import org.json.JSONException;
@@ -79,7 +80,7 @@
protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException
{
// get the uploaded data
- final String action = getParameter( req, Util.PARAM_ACTION );
+ final String action = WebConsoleUtil.getParameter( req, Util.PARAM_ACTION );
if ( ACTION_DEPLOY.equals( action ) )
{
Map params = ( Map ) req.getAttribute( AbstractWebConsolePlugin.ATTR_FILEUPLOAD );
@@ -232,8 +233,8 @@
jw.key( "props" );
jw.array();
- keyVal( jw, "Package Name", pack.getName() );
- keyVal( jw, "Version", pack.getVersion() );
+ WebConsoleUtil.keyVal( jw, "Package Name", pack.getName() );
+ WebConsoleUtil.keyVal( jw, "Version", pack.getVersion() );
final StringBuffer buffer = new StringBuffer();
for ( int i = 0; i < pack.getBundleInfos().length; i++ )
@@ -243,24 +244,11 @@
buffer.append( pack.getBundleInfos()[i].getVersion() );
buffer.append( "<br/>" );
}
- keyVal( jw, "Bundles", buffer.toString() );
+ WebConsoleUtil.keyVal( jw, "Bundles", buffer.toString() );
jw.endArray();
jw.endObject();
}
-
- private void keyVal( JSONWriter jw, String key, Object value ) throws JSONException
- {
- if ( key != null && value != null )
- {
- jw.object();
- jw.key( "key" );
- jw.value( key );
- jw.key( "value" );
- jw.value( value );
- jw.endObject();
- }
- }
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/i18n/ConsolePropertyResourceBundle.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/i18n/ConsolePropertyResourceBundle.java
index e73d482..f70b07e 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/i18n/ConsolePropertyResourceBundle.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/i18n/ConsolePropertyResourceBundle.java
@@ -26,6 +26,8 @@
import java.util.Properties;
import java.util.ResourceBundle;
+import org.apache.commons.io.IOUtils;
+
class ConsolePropertyResourceBundle extends ResourceBundle
{
@@ -47,20 +49,11 @@
props.load( ins );
}
catch ( IOException ignore )
- {
+ { /* ignore */
}
finally
{
- if ( ins != null )
- {
- try
- {
- ins.close();
- }
- catch ( IOException ignore )
- {
- }
- }
+ IOUtils.closeQuietly( ins );
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
index af63df6..27b3ea3 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ConfigurationRender.java
@@ -522,31 +522,10 @@
// helper method filter the string for "<" before writing
- private void writeFiltered( final String string )
+ private void writeFiltered( String string )
{
- if ( string.indexOf( '<' ) >= 0 )
- {
- // TODO: replace with WebConsoleUtil.escapeHtml()
- // this "convoluted" code replaces "<" by "<"
- final StringTokenizer tokener = new StringTokenizer( string, "<", true );
- while ( tokener.hasMoreElements() )
- {
- final String token = tokener.nextToken();
- if ( "<".equals( token ) )
- {
- super.write( "<" );
- }
- else
- {
- super.write( token );
- }
- }
- }
- else
- {
- // no filtering needed write as is
- super.write( string, 0, string.length() );
- }
+ string = WebConsoleUtil.escapeHtml(string); // filtering
+ super.write( string, 0, string.length() );
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
index cc6f15b..ef819bd 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/LicenseServlet.java
@@ -33,6 +33,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.io.IOUtils;
import org.apache.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
import org.apache.felix.webconsole.internal.OsgiManagerPlugin;
@@ -221,16 +222,7 @@
}
finally
{
- if ( ins != null )
- {
- try
- {
- ins.close();
- }
- catch ( IOException ignore )
- {
- }
- }
+ IOUtils.closeQuietly( ins );
}
jw.endArray();
@@ -262,32 +254,16 @@
private String readResource( InputStream resource ) throws IOException
{
- Reader r = null;
- StringBuffer buffer = new StringBuffer();
try
{
- char[] buf = new char[1024];
- r = new InputStreamReader( resource, "ISO-8859-1" );
- int num;
- while ( ( num = r.read( buf ) ) >= 0 )
- {
- buffer.append( buf, 0, num );
- }
+ // return new String(IOUtils.toCharArray(resource, "ISO-8859-1"));
+ // the method below is faster that the one above
+ return new String(IOUtils.toByteArray(resource), "ISO-8859-1");
}
finally
{
- if ( r != null )
- {
- try
- {
- r.close();
- }
- catch ( IOException ignore )
- {
- }
- }
+ IOUtils.closeQuietly(resource);
}
- return buffer.toString();
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ShellServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ShellServlet.java
index 77de81a..36d5bad 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ShellServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/misc/ShellServlet.java
@@ -32,6 +32,7 @@
import org.apache.felix.shell.ShellService;
import org.apache.felix.webconsole.AbstractWebConsolePlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.OsgiManagerPlugin;
import org.apache.felix.webconsole.internal.Util;
import org.osgi.framework.BundleContext;
@@ -71,7 +72,7 @@
String command = request.getParameter( "command" );
pw.print( "<span class=\"consolecommand\">-> " );
- pw.print( command == null ? "" : escapeHtml( command ) );
+ pw.print( command == null ? "" : WebConsoleUtil.escapeHtml( command ) );
pw.println( "</span><br />" );
if ( command != null && !"".equals( command ) )
@@ -86,12 +87,12 @@
true ) );
if ( baosOut.size() > 0 )
{
- pw.print( escapeHtml( new String( baosOut.toByteArray() ) ) );
+ pw.print( WebConsoleUtil.escapeHtml( new String( baosOut.toByteArray() ) ) );
}
if ( baosErr.size() > 0 )
{
pw.print( "<span class=\"error\">" );
- pw.print( escapeHtml( new String( baosErr.toByteArray() ) ) );
+ pw.print( WebConsoleUtil.escapeHtml( new String( baosErr.toByteArray() ) ) );
pw.println( "</span>" );
}
}
@@ -108,7 +109,7 @@
pw.print( "<span class=\"error\">" );
StringWriter out = new StringWriter();
t.printStackTrace( new PrintWriter( out, true ) );
- pw.print( escapeHtml( out.toString() ) );
+ pw.print( WebConsoleUtil.escapeHtml( out.toString() ) );
pw.println( "</span>" );
}
}
@@ -182,42 +183,4 @@
super.deactivate();
}
-
- protected String escapeHtml( String text )
- {
- StringBuffer sb = new StringBuffer();
- for ( int i = 0; i < text.length(); i++ )
- {
- char ch = text.charAt( i );
- if ( ch == '<' )
- {
- sb.append( "<" );
- }
- else if ( ch == '>' )
- {
- sb.append( ">" );
- }
- else if ( ch == '&' )
- {
- sb.append( "&" );
- }
- else if ( ch == ' ' )
- {
- sb.append( " " );
- }
- else if ( ch == '\r' )
- {
- }
- else if ( ch == '\n' )
- {
- sb.append( "<br />\r\n" );
- }
- else
- {
- sb.append( ch );
- }
- }
-
- return ( sb.toString() );
- }
}
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 6e54ad3..8a64a14 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
@@ -42,6 +42,7 @@
import org.apache.felix.webconsole.Action;
import org.apache.felix.webconsole.BrandingPlugin;
import org.apache.felix.webconsole.WebConsoleConstants;
+import org.apache.felix.webconsole.WebConsoleUtil;
import org.apache.felix.webconsole.internal.Logger;
import org.apache.felix.webconsole.internal.OsgiManagerPlugin;
import org.apache.felix.webconsole.internal.Util;
@@ -428,7 +429,7 @@
protected boolean handleAction( HttpServletRequest req, HttpServletResponse resp ) throws IOException, ServletException
{
// check action
- String actionName = AbstractWebConsolePlugin.getParameter( req, Util.PARAM_ACTION );
+ String actionName = WebConsoleUtil.getParameter( req, Util.PARAM_ACTION );
if ( actionName != null )
{
Action action = ( Action ) this.operations.get( actionName );
@@ -449,7 +450,7 @@
}
// maybe overwrite redirect
- if ( PARAM_NO_REDIRECT_AFTER_ACTION.equals( AbstractWebConsolePlugin.getParameter( req,
+ if ( PARAM_NO_REDIRECT_AFTER_ACTION.equals( WebConsoleUtil.getParameter( req,
PARAM_NO_REDIRECT_AFTER_ACTION ) ) )
{
resp.setStatus( HttpServletResponse.SC_OK );