summaryrefslogtreecommitdiff
path: root/qpid/java/common
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2010-09-12 22:40:40 +0000
committerRobert Godfrey <rgodfrey@apache.org>2010-09-12 22:40:40 +0000
commit8c8130d0288446f88deef393823cccffcaed474d (patch)
tree781c5801bc2e3d2f84724bec6c959b2af329f3bd /qpid/java/common
parent8a4c51f79be29149fa30a01e7fab6f36301f24bb (diff)
downloadqpid-python-8c8130d0288446f88deef393823cccffcaed474d.tar.gz
QPID-2857 : Address issues found by running FindBugs against the Java codebase
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@996393 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/configuration/PropertyNameResolver.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/mina/transport/socket/nio/MultiThreadSocketConnector.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/QpidConfig.java4
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/ToyBroker.java28
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/configuration/Accessor.java10
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/dtx/XidImpl.java10
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/framing/AMQTypeMap.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java14
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/messaging/util/Lexicon.java16
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java13
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/TransportBuilder.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLReceiver.java8
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java6
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java3
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java18
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/URLHelper.java6
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/util/CommandLineParser.java28
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java37
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/util/PrettyPrintingUtils.java10
-rw-r--r--qpid/java/common/templates/method/version/MethodBodyClass.vm10
23 files changed, 162 insertions, 73 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/configuration/PropertyNameResolver.java b/qpid/java/common/src/main/java/org/apache/configuration/PropertyNameResolver.java
index 2c1fb0ed67..73ee747c07 100644
--- a/qpid/java/common/src/main/java/org/apache/configuration/PropertyNameResolver.java
+++ b/qpid/java/common/src/main/java/org/apache/configuration/PropertyNameResolver.java
@@ -99,7 +99,7 @@ public class PropertyNameResolver
return properties.get(propName).get(klass);
}
- class QpidProperty
+ static class QpidProperty
{
private Object defValue;
private String[] names;
diff --git a/qpid/java/common/src/main/java/org/apache/mina/transport/socket/nio/MultiThreadSocketConnector.java b/qpid/java/common/src/main/java/org/apache/mina/transport/socket/nio/MultiThreadSocketConnector.java
index b1612840db..7344f70078 100644
--- a/qpid/java/common/src/main/java/org/apache/mina/transport/socket/nio/MultiThreadSocketConnector.java
+++ b/qpid/java/common/src/main/java/org/apache/mina/transport/socket/nio/MultiThreadSocketConnector.java
@@ -56,7 +56,7 @@ public class MultiThreadSocketConnector extends SocketConnector
private final Object lock = new Object();
private final int id = nextId++;
private final String threadName = "SocketConnector-" + id;
- private SocketConnectorConfig defaultConfig = new SocketConnectorConfig();
+
private final Queue connectQueue = new Queue();
private final MultiThreadSocketIoProcessor[] ioProcessors;
private final int processorCount;
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/QpidConfig.java b/qpid/java/common/src/main/java/org/apache/qpid/QpidConfig.java
index 9c8019f109..b4cad44130 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/QpidConfig.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/QpidConfig.java
@@ -65,7 +65,7 @@ public class QpidConfig
return saslClientFactories;
}
- public class SecurityMechanism
+ public static class SecurityMechanism
{
String type;
String handler;
@@ -87,7 +87,7 @@ public class QpidConfig
}
}
- public class SaslClientFactory
+ public static class SaslClientFactory
{
String type;
String factoryClass;
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/ToyBroker.java b/qpid/java/common/src/main/java/org/apache/qpid/ToyBroker.java
index db84b83adb..5423bbb68f 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/ToyBroker.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/ToyBroker.java
@@ -107,6 +107,7 @@ class ToyBroker extends SessionDelegate
{
System.out.println("received headers routing_key " + props.getRoutingKey());
}
+
MessageProperties mp = header.get(MessageProperties.class);
System.out.println("MP: " + mp);
if (mp != null)
@@ -114,7 +115,7 @@ class ToyBroker extends SessionDelegate
System.out.println(mp.getApplicationHeaders());
}
- if (exchange.route(dest,props.getRoutingKey(),xfr))
+ if (exchange.route(dest,props == null ? null : props.getRoutingKey(),xfr))
{
System.out.println("queued " + xfr);
dispatchMessages(ssn);
@@ -165,21 +166,40 @@ class ToyBroker extends SessionDelegate
// ugly, but who cares :)
// assumes unit is always no of messages, not bytes
// assumes it's credit mode and not window
- private class Consumer
+ private static class Consumer
{
long _credit;
String _queueName;
}
+ private static final class ToyBrokerSession extends Session
+ {
+
+ public ToyBrokerSession(Connection connection, Binary name, long expiry, ToyExchange exchange)
+ {
+ super(connection, new ToyBroker(exchange), name, expiry);
+ }
+ }
+
public static final void main(String[] args) throws IOException
{
final ToyExchange exchange = new ToyExchange();
ConnectionDelegate delegate = new ServerDelegate()
{
- public SessionDelegate getSessionDelegate()
+ @Override
+ public void init(Connection conn, ProtocolHeader hdr)
{
- return new ToyBroker(exchange);
+ conn.setSessionFactory(new Connection.SessionFactory()
+ {
+ public Session newSession(Connection conn, Binary name, long expiry)
+ {
+ return new ToyBrokerSession(conn, name, expiry, exchange);
+ }
+ });
+
+ super.init(conn, hdr); //To change body of overridden methods use File | Settings | File Templates.
}
+
};
MinaHandler.accept("0.0.0.0", 5672, delegate);
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/configuration/Accessor.java b/qpid/java/common/src/main/java/org/apache/qpid/configuration/Accessor.java
index c9d386607d..dc5b69dc89 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/configuration/Accessor.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/configuration/Accessor.java
@@ -152,7 +152,15 @@ public interface Accessor
{
super(null);
Properties props = new Properties();
- props.load(new FileInputStream(fileName));
+ FileInputStream inStream = new FileInputStream(fileName);
+ try
+ {
+ props.load(inStream);
+ }
+ finally
+ {
+ inStream.close();
+ }
source = props;
}
}
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/dtx/XidImpl.java b/qpid/java/common/src/main/java/org/apache/qpid/dtx/XidImpl.java
index 69ccef7c29..69457ca4a9 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/dtx/XidImpl.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/dtx/XidImpl.java
@@ -24,6 +24,7 @@ import org.apache.qpid.AMQInvalidArgumentException;
import javax.transaction.xa.Xid;
import java.io.*;
+import java.util.Arrays;
/**
* Implements javax.transaction.dtx.Xid
@@ -217,6 +218,15 @@ public class XidImpl implements Xid
return false;
}
+ @Override
+ public int hashCode()
+ {
+ int result = _branchQualifier != null ? Arrays.hashCode(_branchQualifier) : 0;
+ result = 31 * result + _formatID;
+ result = 31 * result + (_globalTransactionID != null ? Arrays.hashCode(_globalTransactionID) : 0);
+ return result;
+ }
+
//-- Static helper method
/**
* Convert an Xid into the AMQP String format.
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/framing/AMQTypeMap.java b/qpid/java/common/src/main/java/org/apache/qpid/framing/AMQTypeMap.java
index a16e137466..a07fd78c8c 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/framing/AMQTypeMap.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/framing/AMQTypeMap.java
@@ -25,7 +25,7 @@ import java.util.Map;
public class AMQTypeMap
{
- public static Map<Byte, AMQType> _reverseTypeMap = new HashMap<Byte, AMQType>();
+ public static final Map<Byte, AMQType> _reverseTypeMap = new HashMap<Byte, AMQType>();
static
{
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java b/qpid/java/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java
index 15a43345b5..18ab05ffa1 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/framing/HeartbeatBody.java
@@ -27,7 +27,7 @@ import org.apache.qpid.AMQException;
public class HeartbeatBody implements AMQBody
{
public static final byte TYPE = 8;
- public static AMQFrame FRAME = new HeartbeatBody().toFrame();
+ public static final AMQFrame FRAME = new HeartbeatBody().toFrame();
public HeartbeatBody()
{
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java b/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java
index ac21fe4243..fb3dd89717 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java
@@ -24,12 +24,13 @@ import org.apache.qpid.AMQException;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
+import java.util.Arrays;
public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQDataBlock
{
// TODO: generate these constants automatically from the xml protocol spec file
- public static final byte[] AMQP_HEADER = new byte[]{(byte)'A',(byte)'M',(byte)'Q',(byte)'P'};
+ private static final byte[] AMQP_HEADER = new byte[]{(byte)'A',(byte)'M',(byte)'Q',(byte)'P'};
private static final byte CURRENT_PROTOCOL_CLASS = 1;
private static final byte TCP_PROTOCOL_INSTANCE = 1;
@@ -124,6 +125,17 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData
_protocolMinor == pi._protocolMinor);
}
+ @Override
+ public int hashCode()
+ {
+ int result = _protocolHeader != null ? Arrays.hashCode(_protocolHeader) : 0;
+ result = 31 * result + (int) _protocolClass;
+ result = 31 * result + (int) _protocolInstance;
+ result = 31 * result + (int) _protocolMajor;
+ result = 31 * result + (int) _protocolMinor;
+ return result;
+ }
+
public static class Decoder //implements MessageDecoder
{
/**
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/Lexicon.java b/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/Lexicon.java
index c09eb7ef84..9ab610f37a 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/Lexicon.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/messaging/util/Lexicon.java
@@ -58,30 +58,30 @@ public class Lexicon
public Lexer compile()
{
- String joined = "";
+ StringBuilder joined = new StringBuilder();
for (Token.Type t : types)
{
if (joined.length() > 0)
{
- joined += "|";
+ joined.append('|');
}
- joined += "(" + t.getPattern() + ")";
+ joined.append('(').append(t.getPattern()).append(')');
}
- Pattern rexp = Pattern.compile(joined);
+ Pattern rexp = Pattern.compile(joined.toString());
return new Lexer(new ArrayList<Token.Type>(types), eof, rexp);
}
public static final void main(String[] args)
{
- String input = "";
+ StringBuilder input = new StringBuilder();
for (String a : args)
{
if (input.length() > 0)
{
- input += " ";
+ input.append(" ");
}
- input += a;
+ input.append(a);
}
Lexicon lxi = new Lexicon();
@@ -94,7 +94,7 @@ public class Lexicon
lxi.eof("EOF");
Lexer lx = lxi.compile();
- for (Token t : lx.lex(input))
+ for (Token t : lx.lex(input.toString()))
{
System.out.println(t);
}
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
index d5f97f48a8..82fb57eb7d 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
@@ -52,14 +52,21 @@ public class ClientDelegate extends ConnectionDelegate
private static final Logger log = Logger.get(ClientDelegate.class);
private static final String KRB5_OID_STR = "1.2.840.113554.1.2.2";
- protected static Oid KRB5_OID;
+ protected static final Oid KRB5_OID;
static
{
+ Oid oid;
try
{
- KRB5_OID = new Oid(KRB5_OID_STR);
- } catch (GSSException ignore) {}
+ oid = new Oid(KRB5_OID_STR);
+ }
+ catch (GSSException ignore)
+ {
+ oid = null;
+ }
+
+ KRB5_OID = oid;
}
private List<String> clientMechs;
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
index 13b8e461d4..3c56aa22bd 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
@@ -61,7 +61,7 @@ public class Connection extends ConnectionInvoker
public enum State { NEW, CLOSED, OPENING, OPEN, CLOSING, CLOSE_RCVD }
- class DefaultConnectionListener implements ConnectionListener
+ static class DefaultConnectionListener implements ConnectionListener
{
public void opened(Connection conn) {}
public void exception(Connection conn, ConnectionException exception)
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
index e989849477..52e0026f29 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
@@ -60,7 +60,7 @@ public class Session extends SessionInvoker
enum State { NEW, DETACHED, RESUMING, OPEN, CLOSING, CLOSED }
- class DefaultSessionListener implements SessionListener
+ static class DefaultSessionListener implements SessionListener
{
public void opened(Session ssn) {}
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/TransportBuilder.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/TransportBuilder.java
index d1ae95a3bb..c08909c6e4 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/TransportBuilder.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/TransportBuilder.java
@@ -61,8 +61,6 @@ public class TransportBuilder
public void buildReceiverPipe(Receiver<ProtocolEvent> delegate)
{
- ConnectionSettings settings = con.getConnectionSettings();
-
Receiver<ByteBuffer> receiver = new InputHandler(new Assembler(delegate));
// Security layer
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLReceiver.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLReceiver.java
index a9e8566d01..86106318ef 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLReceiver.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLReceiver.java
@@ -41,20 +41,18 @@ public class SASLReceiver extends SASLEncryptor implements Receiver<ByteBuffer>
this.delegate = delegate;
}
- @Override
public void closed()
{
delegate.closed();
}
- @Override
+
public void exception(Throwable t)
{
- delegate.equals(t);
+ delegate.exception(t);
}
- @Override
- public void received(ByteBuffer buf)
+ public void received(ByteBuffer buf)
{
if (isSecurityLayerEstablished())
{
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
index 3c2ad061f3..cd47a11825 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLSender.java
@@ -82,9 +82,10 @@ public class SSLSender implements Sender<ByteBuffer>
throw new SenderException("Error closing SSL connection",e);
}
- while (!engine.isOutboundDone())
+
+ synchronized(engineState)
{
- synchronized(engineState)
+ while (!engine.isOutboundDone())
{
try
{
@@ -94,6 +95,7 @@ public class SSLSender implements Sender<ByteBuffer>
{
// pass
}
+
}
}
delegate.close();
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
index 998242925c..26cb56ea97 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
@@ -55,7 +55,8 @@ public class AMQBindingURL implements BindingURL
private void parseBindingURL() throws URISyntaxException
{
- BindingURLParser parser = new BindingURLParser(_url,this);
+ BindingURLParser parser = new BindingURLParser();
+ parser.parse(_url,this);
processOptions();
_logger.debug("URL Parsed: " + this);
}
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
index 7fe7d2e1da..0ebfe0e869 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
@@ -52,15 +52,24 @@ public class BindingURLParser
private String _error;
private int _index = 0;
private String _currentPropName;
- private Map<String,Object> _options = new HashMap<String,Object>();
+ private Map<String,Object> _options;
+
+
+ public BindingURLParser()
+ {
+ }
//<exch_class>://<exch_name>/[<destination>]/[<queue>]?<option>='<value>'[,<option>='<value>']*
- public BindingURLParser(String url,AMQBindingURL bindingURL) throws URISyntaxException
+ public synchronized void parse(String url,AMQBindingURL bindingURL) throws URISyntaxException
{
_url = (url + END_OF_URL_MARKER_CHAR).toCharArray();
_bindingURL = bindingURL;
_currentParserState = BindingURLParserState.BINDING_URL_START;
BindingURLParserState prevState = _currentParserState;
+ _index = 0;
+ _currentPropName = null;
+ _error = null;
+ _options = new HashMap<String,Object>();
try
{
@@ -432,6 +441,7 @@ public class BindingURLParser
public static void main(String[] args)
{
+
String[] urls = new String[]
{
"topic://amq.topic//myTopic?routingkey='stocks.#'",
@@ -447,11 +457,13 @@ public class BindingURLParser
try
{
+ BindingURLParser parser = new BindingURLParser();
+
for (String url: urls)
{
System.out.println("URL " + url);
AMQBindingURL bindingURL = new AMQBindingURL(url);
- BindingURLParser parser = new BindingURLParser(url,bindingURL);
+ parser.parse(url,bindingURL);
System.out.println("\nX " + bindingURL.toString() + " \n");
}
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/URLHelper.java b/qpid/java/common/src/main/java/org/apache/qpid/url/URLHelper.java
index 2d496d2d54..6f21c327e7 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/url/URLHelper.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/url/URLHelper.java
@@ -25,9 +25,9 @@ import java.util.Map;
public class URLHelper
{
- public static char DEFAULT_OPTION_SEPERATOR = '&';
- public static char ALTERNATIVE_OPTION_SEPARATOR = ',';
- public static char BROKER_SEPARATOR = ';';
+ public static final char DEFAULT_OPTION_SEPERATOR = '&';
+ public static final char ALTERNATIVE_OPTION_SEPARATOR = ',';
+ public static final char BROKER_SEPARATOR = ';';
public static void parseOptions(Map<String, String> optionMap, String options) throws URLSyntaxException
{
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/util/CommandLineParser.java b/qpid/java/common/src/main/java/org/apache/qpid/util/CommandLineParser.java
index 0281506037..09478d4157 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/util/CommandLineParser.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/util/CommandLineParser.java
@@ -160,14 +160,14 @@ public class CommandLineParser
}
// Concatenate all the parsing errors together.
- String result = "";
+ StringBuilder result = new StringBuilder();
for (String s : parsingErrors)
{
- result += s;
+ result.append(s);
}
- return result;
+ return result.toString();
}
/**
@@ -184,14 +184,17 @@ public class CommandLineParser
}
// List all the properties.
- String result = "Options in force:\n";
+ StringBuilder result = new StringBuilder("Options in force:\n");
for (Map.Entry<Object, Object> property : parsedProperties.entrySet())
{
- result += property.getKey() + " = " + property.getValue() + "\n";
+ result.append(property.getKey())
+ .append(" = ")
+ .append(property.getValue())
+ .append('\n');
}
- return result;
+ return result.toString();
}
/**
@@ -257,7 +260,7 @@ public class CommandLineParser
boolean ignore = false;
// Create the regular expression matcher for the command line options.
- String regexp = "^(";
+ StringBuilder regexp = new StringBuilder("^(");
int optionsAdded = 0;
for (Iterator<String> i = optionMap.keySet().iterator(); i.hasNext();)
@@ -279,15 +282,18 @@ public class CommandLineParser
// Add the option to the regular expression matcher if it is not a free argument definition.
if (notFree)
{
- regexp += nextOption + (i.hasNext() ? "|" : "");
+ regexp.append(nextOption)
+ .append(i.hasNext() ? "|" : "");
optionsAdded++;
}
}
// There has to be more that one option in the regular expression or else the compiler complains that the close
// cannot be nullable if the '?' token is used to make the matched option string optional.
- regexp += ")" + ((optionsAdded > 0) ? "?" : "") + "(.*)";
- Pattern pattern = Pattern.compile(regexp);
+ regexp.append(')')
+ .append(((optionsAdded > 0) ? "?" : ""))
+ .append("(.*)");
+ Pattern pattern = Pattern.compile(regexp.toString());
// Loop through all the command line arguments.
for (int i = 0; i < args.length; i++)
@@ -645,7 +651,7 @@ public class CommandLineParser
* <tr><td> Hold details of a command line option.
* </table>
*/
- protected class CommandLineOption
+ protected static class CommandLineOption
{
/** Holds the text for the flag to match this argument with. */
public String option = null;
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java b/qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
index 7ba38f4743..fa26786ec4 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
@@ -215,23 +215,34 @@ public class FileUtils
public static void copyCheckedEx(File src, File dst) throws IOException
{
InputStream in = new FileInputStream(src);
- if (!dst.exists())
+ try
{
- dst.createNewFile();
- }
-
- OutputStream out = new FileOutputStream(dst);
+ if (!dst.exists())
+ {
+ dst.createNewFile();
+ }
- // Transfer bytes from in to out
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0)
+ OutputStream out = new FileOutputStream(dst);
+
+ try
+ {
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0)
+ {
+ out.write(buf, 0, len);
+ }
+ }
+ finally
+ {
+ out.close();
+ }
+ }
+ finally
{
- out.write(buf, 0, len);
+ in.close();
}
-
- in.close();
- out.close();
}
/*
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/util/PrettyPrintingUtils.java b/qpid/java/common/src/main/java/org/apache/qpid/util/PrettyPrintingUtils.java
index 4677713dc9..93266f2486 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/util/PrettyPrintingUtils.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/util/PrettyPrintingUtils.java
@@ -40,16 +40,16 @@ public class PrettyPrintingUtils
*/
public static String printArray(int[] array)
{
- String result = "[";
+ StringBuilder result = new StringBuilder("[");
for (int i = 0; i < array.length; i++)
{
- result += array[i];
- result += (i < (array.length - 1)) ? ", " : "";
+ result.append(array[i])
+ .append((i < (array.length - 1)) ? ", " : "");
}
- result += "]";
+ result.append(']');
- return result;
+ return result.toString();
}
/**
diff --git a/qpid/java/common/templates/method/version/MethodBodyClass.vm b/qpid/java/common/templates/method/version/MethodBodyClass.vm
index 9b2ba0fa39..a739110d70 100644
--- a/qpid/java/common/templates/method/version/MethodBodyClass.vm
+++ b/qpid/java/common/templates/method/version/MethodBodyClass.vm
@@ -70,9 +70,9 @@ public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version
return FACTORY_INSTANCE;
}
- public static int CLASS_ID = $clazz.ClassId;
+ public static final int CLASS_ID = $clazz.ClassId;
- public static int METHOD_ID = $method.MethodId;
+ public static final int METHOD_ID = $method.MethodId;
@@ -196,7 +196,11 @@ public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version
StringBuilder buf = new StringBuilder("[$javaClassName: ");
#foreach( $field in $method.FieldList )
buf.append( "$field.Name=" );
- buf.append( get#toUpperCamel( $field.Name )() );
+#if( $field.NativeType == "byte[]" )
+ buf.append( get#toUpperCamel( $field.Name )() == null ? "null" : java.util.Arrays.toString( get#toUpperCamel( $field.Name )() ) );
+#else
+ buf.append( get#toUpperCamel( $field.Name )() );
+#end
#if( $velocityCount != $method.FieldList.size() )
buf.append( ", " );
#end