You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2023/08/14 12:34:31 UTC
[felix-dev] branch master updated: FELIX-6624 : Clean up code
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new 053fc0b533 FELIX-6624 : Clean up code
053fc0b533 is described below
commit 053fc0b5338ed5c8c30184811dc9ead149d0c845
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Aug 14 14:34:24 2023 +0200
FELIX-6624 : Clean up code
---
.../felix/webconsole/AbstractWebConsolePlugin.java | 2 +-
.../apache/felix/webconsole/WebConsoleUtil.java | 113 ++++++++++-----------
.../internal/configuration/ConfigJsonSupport.java | 6 +-
.../internal/configuration/ConfigManager.java | 2 +-
.../webconsole/internal/core/BundlesServlet.java | 33 +++---
.../webconsole/internal/core/ServicesServlet.java | 4 +-
.../internal/filter/ResourceFilteringWriter.java | 2 +-
7 files changed, 76 insertions(+), 86 deletions(-)
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java b/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java
index f8226fa8e5..4bb2563c07 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/AbstractWebConsolePlugin.java
@@ -984,7 +984,7 @@ public abstract class AbstractWebConsolePlugin extends HttpServlet
}
// build the CSS links from the references
- final StringBuffer buf = new StringBuffer();
+ final StringBuilder buf = new StringBuilder();
for ( int i = 0; i < cssRefs.length; i++ )
{
buf.append( "<link href='" ); //$NON-NLS-1$
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/WebConsoleUtil.java b/webconsole/src/main/java/org/apache/felix/webconsole/WebConsoleUtil.java
index 4148324651..040e21211d 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/WebConsoleUtil.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/WebConsoleUtil.java
@@ -261,45 +261,42 @@ public final class WebConsoleUtil
*/
public static final String escapeHtml(String text)
{
- StringBuffer sb = new StringBuffer(text.length() * 4 / 3);
- synchronized (sb) // faster buffer operations
+ StringBuilder sb = new StringBuilder(text.length() * 4 / 3);
+ char ch, oldch = '_';
+ for (int i = 0; i < text.length(); i++)
{
- char ch, oldch = '_';
- for (int i = 0; i < text.length(); i++)
+ switch (ch = text.charAt(i))
{
- switch (ch = text.charAt(i))
- {
- case '<':
- sb.append("<"); //$NON-NLS-1$
- break;
- case '>':
- sb.append(">"); //$NON-NLS-1$
- break;
- case '&':
- sb.append("&"); //$NON-NLS-1$
- break;
- case ' ':
- sb.append(" "); //$NON-NLS-1$
- break;
- case '\'':
- sb.append("'"); //$NON-NLS-1$
- break;
- case '"':
- sb.append("""); //$NON-NLS-1$
- break;
- case '\r':
- case '\n':
- if (oldch != '\r' && oldch != '\n') // don't add twice <br>
- sb.append("<br/>\n"); //$NON-NLS-1$
- break;
- default:
- sb.append(ch);
- }
- oldch = ch;
+ case '<':
+ sb.append("<"); //$NON-NLS-1$
+ break;
+ case '>':
+ sb.append(">"); //$NON-NLS-1$
+ break;
+ case '&':
+ sb.append("&"); //$NON-NLS-1$
+ break;
+ case ' ':
+ sb.append(" "); //$NON-NLS-1$
+ break;
+ case '\'':
+ sb.append("'"); //$NON-NLS-1$
+ break;
+ case '"':
+ sb.append("""); //$NON-NLS-1$
+ break;
+ case '\r':
+ case '\n':
+ if (oldch != '\r' && oldch != '\n') // don't add twice <br>
+ sb.append("<br/>\n"); //$NON-NLS-1$
+ break;
+ default:
+ sb.append(ch);
}
-
- return sb.toString();
+ oldch = ch;
}
+
+ return sb.toString();
}
/**
@@ -375,42 +372,38 @@ public final class WebConsoleUtil
}
else if (value.getClass().isArray())
{
- final StringBuffer sb = new StringBuffer();
+ final StringBuilder sb = new StringBuilder();
final int len = Array.getLength(value);
- synchronized (sb)
- { // it's faster to synchronize ALL loop calls
- sb.append('[');
- for (int i = 0; i < len; i++)
+ sb.append('[');
+ for (int i = 0; i < len; i++)
+ {
+ final Object element = Array.get(value, i);
+ if (element instanceof Byte)
{
- final Object element = Array.get(value, i);
- if (element instanceof Byte)
- {
- // convert byte[] to hex string
- sb.append("0x"); //$NON-NLS-1$
- final String x = Integer.toHexString(((Byte) element).intValue() & 0xff);
- if (1 == x.length())
- {
- sb.append('0');
- }
- sb.append(x);
- }
- else
+ // convert byte[] to hex string
+ sb.append("0x"); //$NON-NLS-1$
+ final String x = Integer.toHexString(((Byte) element).intValue() & 0xff);
+ if (1 == x.length())
{
- sb.append(toString(element));
+ sb.append('0');
}
+ sb.append(x);
+ }
+ else
+ {
+ sb.append(toString(element));
+ }
- if (i < len - 1)
- {
- sb.append(", "); //$NON-NLS-1$
- }
+ if (i < len - 1)
+ {
+ sb.append(", "); //$NON-NLS-1$
}
- return sb.append(']').toString();
}
+ return sb.append(']').toString();
}
else
{
return value.toString();
}
-
}
}
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigJsonSupport.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigJsonSupport.java
index 5c06570766..e066387dd2 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigJsonSupport.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigJsonSupport.java
@@ -189,7 +189,7 @@ class ConfigJsonSupport {
}
json.endObject();
if ( props != null ) {
- final StringBuffer sb = new StringBuffer();
+ final StringBuilder sb = new StringBuilder();
for(final String key : Collections.list(props.keys())) {
if ( !metatypeAttributes.contains(key) ) {
if ( sb.length() > 0 ) {
@@ -432,7 +432,7 @@ class ConfigJsonSupport {
// search for all variable patterns in name hint and replace them with configured/default values
Matcher matcher = ConfigAdminSupport.NAMEHINT_PLACEHOLER_REGEXP.matcher(nameHint);
- StringBuffer sb = new StringBuffer();
+ StringBuffer sb = new StringBuffer(); // use StringBuilder with Java >= 9
while (matcher.find()) {
String propertyName = matcher.group(1);
String value = getConfigurationPropertyValueOrDefault(propertyName, props, adMap);
@@ -482,7 +482,7 @@ class ConfigJsonSupport {
}
// convert array to string
if (value.getClass().isArray()) {
- StringBuffer valueString = new StringBuffer();
+ StringBuilder valueString = new StringBuilder();
for (int i = 0; i < Array.getLength(value); i++) {
if (i > 0) {
valueString.append(", ");
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigManager.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigManager.java
index 3530021bd7..d9ec9da064 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigManager.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/configuration/ConfigManager.java
@@ -287,7 +287,7 @@ public class ConfigManager extends SimpleWebConsolePlugin implements OsgiManager
if ( ca != null )
{
// create filter
- final StringBuffer sb = new StringBuffer();
+ final StringBuilder sb = new StringBuilder();
if ( pid != null && pidFilter != null)
{
sb.append("(&"); //$NON-NLS-1$
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 d00e67ac72..130419e02e 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
@@ -537,7 +537,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
}
- private void appendBundleInfoCount( final StringBuffer buf, String msg, int count )
+ private void appendBundleInfoCount( final StringBuilder buf, String msg, int count )
{
buf.append(count);
buf.append(" bundle");
@@ -686,7 +686,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
break;
}
}
- final StringBuffer buffer = new StringBuffer();
+ final StringBuilder buffer = new StringBuilder();
buffer.append("Bundle information: ");
appendBundleInfoCount(buffer, "in total", bundles.length);
if ( active == bundles.length || active + fragments == bundles.length )
@@ -1155,10 +1155,10 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private String getServiceID(ServiceReference ref, final String servicesRoot)
{
String id = ref.getProperty( Constants.SERVICE_ID ).toString();
- StringBuffer val = new StringBuffer();
if ( servicesRoot != null )
{
+ StringBuilder val = new StringBuilder();
val.append( "<a href='" ).append( servicesRoot ).append( id ).append( "'>" );
val.append( id );
val.append( "</a>" );
@@ -1221,20 +1221,17 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private static final String enableLineWrapping(final String value)
{
- StringBuffer sb = new StringBuffer(value.length() * 2 / 3);
- synchronized (sb)
- { // faster
- for (int i = 0; i < value.length(); i++)
+ StringBuilder sb = new StringBuilder(value.length() * 2 / 3);
+ for (int i = 0; i < value.length(); i++)
+ {
+ final char ch = value.charAt( i );
+ sb.append( ch );
+ if ( ch == ';' || ch == ',' )
{
- final char ch = value.charAt( i );
- sb.append( ch );
- if ( ch == ';' || ch == ',' )
- {
- sb.append( ' ' );
- }
+ sb.append( ' ' );
}
- return sb.toString();
}
+ return sb.toString();
}
private void listFragmentInfo( final List props, final Bundle bundle, final String pluginRoot )
@@ -1272,7 +1269,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private void appendProperty( final List props, ServiceReference ref, String name, String label )
{
- StringBuffer dest = new StringBuffer();
+ StringBuilder dest = new StringBuilder();
Object value = ref.getProperty( name );
if ( value instanceof Object[] )
{
@@ -1302,7 +1299,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private Object collectExport( String name, String version )
{
- StringBuffer val = new StringBuffer();
+ StringBuilder val = new StringBuilder();
boolean bootDel = isBootDelegated( name );
if ( bootDel )
{
@@ -1335,7 +1332,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private Object collectImport( String name, String version, boolean optional, ExportedPackage export,
final String pluginRoot )
{
- StringBuffer val = new StringBuffer();
+ StringBuilder val = new StringBuilder();
boolean bootDel = isBootDelegated( name );
String marker = null;
@@ -1441,7 +1438,7 @@ public class BundlesServlet extends SimpleWebConsolePlugin implements OsgiManage
private String getBundleDescriptor( Bundle bundle, final String pluginRoot )
{
- StringBuffer val = new StringBuffer();
+ StringBuilder val = new StringBuilder();
if ( pluginRoot != null )
{
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 fb94b291ec..52a0983835 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
@@ -145,7 +145,7 @@ public class ServicesServlet extends SimpleWebConsolePlugin implements OsgiManag
// only use last part of the pathInfo
pathInfo = pathInfo.substring( pathInfo.lastIndexOf( '/' ) + 1 );
- StringBuffer filter = new StringBuffer();
+ StringBuilder filter = new StringBuilder();
filter.append( "(" ).append( Constants.SERVICE_ID ).append( "=" );
filter.append( pathInfo ).append( ")" );
String filterStr = filter.toString();
@@ -194,7 +194,7 @@ public class ServicesServlet extends SimpleWebConsolePlugin implements OsgiManag
static final String getStatusLine( final ServiceReference[] services )
{
final int count = services.length;
- final StringBuffer buffer = new StringBuffer();
+ final StringBuilder buffer = new StringBuilder();
buffer.append( count );
buffer.append( " service" );
if ( count != 1 )
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/filter/ResourceFilteringWriter.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/filter/ResourceFilteringWriter.java
index 00c72f5187..f9e2aa6560 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/filter/ResourceFilteringWriter.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/filter/ResourceFilteringWriter.java
@@ -80,7 +80,7 @@ class ResourceFilteringWriter extends FilterWriter
/**
* The buffer to gather the text to be translated
*/
- private final StringBuffer lineBuffer = new StringBuffer();
+ private final StringBuilder lineBuffer = new StringBuilder();
/**
* The current state, starts with {@link #STATE_NULL}