diff options
Diffstat (limited to 'lib/java/src/main/java/org/apache/thrift')
38 files changed, 126 insertions, 121 deletions
diff --git a/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java b/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java index 4dc9160bf..3d488ba71 100644 --- a/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java +++ b/lib/java/src/main/java/org/apache/thrift/TAsyncProcessor.java @@ -29,5 +29,5 @@ public interface TAsyncProcessor { * @param fb the frame buffer to process. * @throws TException if the frame cannot be processed */ - public void process(final AsyncFrameBuffer fb) throws TException; + void process(final AsyncFrameBuffer fb) throws TException; } diff --git a/lib/java/src/main/java/org/apache/thrift/TBase.java b/lib/java/src/main/java/org/apache/thrift/TBase.java index 9c8bdbab1..67c6ee8f9 100644 --- a/lib/java/src/main/java/org/apache/thrift/TBase.java +++ b/lib/java/src/main/java/org/apache/thrift/TBase.java @@ -31,7 +31,7 @@ public interface TBase<T extends TBase<T, F>, F extends TFieldIdEnum> * @param fieldId the ID of the requested field. * @return F instance that corresponds to fieldId. */ - public F fieldForId(int fieldId); + F fieldForId(int fieldId); /** * Check if a field is currently set or unset. @@ -39,7 +39,7 @@ public interface TBase<T extends TBase<T, F>, F extends TFieldIdEnum> * @param field the field to check. * @return true if the field is set, false otherwise. */ - public boolean isSet(F field); + boolean isSet(F field); /** * Get a field's value by field variable. Primitive types will be wrapped in the appropriate @@ -48,7 +48,7 @@ public interface TBase<T extends TBase<T, F>, F extends TFieldIdEnum> * @param field the field whose value is requested. * @return the value of the requested field. */ - public Object getFieldValue(F field); + Object getFieldValue(F field); /** * Set a field's value by field variable. Primitive types must be "boxed" in the appropriate @@ -57,18 +57,18 @@ public interface TBase<T extends TBase<T, F>, F extends TFieldIdEnum> * @param field the field whose value is to be set. * @param value the value to be assigned to field. */ - public void setFieldValue(F field, Object value); + void setFieldValue(F field, Object value); /** * Performs a deep copy of this instance and returns the copy. * * @return a deep copy of this instance. */ - public T deepCopy(); + T deepCopy(); /** * Return to the state of having just been initialized, as though you had just called the default * constructor. */ - public void clear(); + void clear(); } diff --git a/lib/java/src/main/java/org/apache/thrift/TEnum.java b/lib/java/src/main/java/org/apache/thrift/TEnum.java index 325fdece7..300496d21 100644 --- a/lib/java/src/main/java/org/apache/thrift/TEnum.java +++ b/lib/java/src/main/java/org/apache/thrift/TEnum.java @@ -20,5 +20,5 @@ package org.apache.thrift; public interface TEnum { - public int getValue(); + int getValue(); } diff --git a/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java b/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java index 84aa82e8d..b003346e7 100644 --- a/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java +++ b/lib/java/src/main/java/org/apache/thrift/TEnumHelper.java @@ -19,12 +19,14 @@ package org.apache.thrift; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** Utility class with static methods for interacting with TEnum */ public class TEnumHelper { + /* no instantiation */ + private TEnumHelper() {} + /** * Given a TEnum class and integer value, this method will return the associated constant from the * given TEnum class. This method MUST be modified should the name of the 'findByValue' method @@ -38,11 +40,7 @@ public class TEnumHelper { try { Method method = enumClass.getMethod("findByValue", int.class); return (TEnum) method.invoke(null, value); - } catch (NoSuchMethodException nsme) { - return null; - } catch (IllegalAccessException iae) { - return null; - } catch (InvocationTargetException ite) { + } catch (ReflectiveOperationException nsme) { return null; } } diff --git a/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java b/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java index f270630b0..417cd84aa 100644 --- a/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java +++ b/lib/java/src/main/java/org/apache/thrift/TFieldIdEnum.java @@ -25,12 +25,12 @@ public interface TFieldIdEnum { * * @return the Thrift field id for the named field. */ - public short getThriftFieldId(); + short getThriftFieldId(); /** * Gets the field's name, exactly as in the IDL. * * @return the field's name, exactly as in the IDL. */ - public String getFieldName(); + String getFieldName(); } diff --git a/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java b/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java index 065cdfcc5..8769dbb23 100644 --- a/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java +++ b/lib/java/src/main/java/org/apache/thrift/TFieldRequirementType.java @@ -21,6 +21,10 @@ package org.apache.thrift; /** Requirement type constants. */ public final class TFieldRequirementType { + + /* no instantiation */ + private TFieldRequirementType() {} + public static final byte REQUIRED = 1; public static final byte OPTIONAL = 2; public static final byte DEFAULT = 3; diff --git a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java index ffe4fa701..26ea6d096 100644 --- a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java +++ b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchClient.java @@ -69,20 +69,20 @@ public class TNonblockingMultiFetchClient { // if the size of the response msg exceeds this limit (in byte), we will // not read the msg - private int maxRecvBufBytesPerServer; + private final int maxRecvBufBytesPerServer; // time limit for fetching data from all servers (in second) - private int fetchTimeoutSeconds; + private final int fetchTimeoutSeconds; // store request that will be sent to servers - private ByteBuffer requestBuf; + private final ByteBuffer requestBuf; private ByteBuffer requestBufDuplication; // a list of remote servers - private List<InetSocketAddress> servers; + private final List<InetSocketAddress> servers; // store fetch results - private TNonblockingMultiFetchStats stats; + private final TNonblockingMultiFetchStats stats; private ByteBuffer[] recvBuf; public TNonblockingMultiFetchClient( @@ -237,6 +237,7 @@ public class TNonblockingMultiFetchClient { try { s.close(); } catch (Exception ex) { + LOGGER.error("failed to free up socket", ex); } } if (key != null) { @@ -359,13 +360,10 @@ public class TNonblockingMultiFetchClient { public void close() { try { if (selector.isOpen()) { - Iterator<SelectionKey> it = selector.keys().iterator(); - while (it.hasNext()) { - SelectionKey selKey = it.next(); + for (SelectionKey selKey : selector.keys()) { SocketChannel sChannel = (SocketChannel) selKey.channel(); sChannel.close(); } - selector.close(); } } catch (IOException e) { diff --git a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java index bc0243738..304dc09f1 100644 --- a/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java +++ b/lib/java/src/main/java/org/apache/thrift/TNonblockingMultiFetchStats.java @@ -28,7 +28,7 @@ public class TNonblockingMultiFetchStats { private int numOverflowedRecvBuf; private int numInvalidFrameSize; // time from the beginning of fetch() function to the reading finish - // time of the last socket (in milli-second) + // time of the last socket (in millisecond) private long readTime; public TNonblockingMultiFetchStats() { diff --git a/lib/java/src/main/java/org/apache/thrift/TProcessor.java b/lib/java/src/main/java/org/apache/thrift/TProcessor.java index 3a0e6fd2b..96b02a42e 100644 --- a/lib/java/src/main/java/org/apache/thrift/TProcessor.java +++ b/lib/java/src/main/java/org/apache/thrift/TProcessor.java @@ -26,5 +26,5 @@ import org.apache.thrift.protocol.TProtocol; * stream. */ public interface TProcessor { - public void process(TProtocol in, TProtocol out) throws TException; + void process(TProtocol in, TProtocol out) throws TException; } diff --git a/lib/java/src/main/java/org/apache/thrift/TSerializable.java b/lib/java/src/main/java/org/apache/thrift/TSerializable.java index 125280418..7333d4116 100644 --- a/lib/java/src/main/java/org/apache/thrift/TSerializable.java +++ b/lib/java/src/main/java/org/apache/thrift/TSerializable.java @@ -30,7 +30,7 @@ public interface TSerializable { * @param iprot Input protocol * @throws TException if there is an error reading from iprot */ - public void read(TProtocol iprot) throws TException; + void read(TProtocol iprot) throws TException; /** * Writes the objects out to the protocol @@ -38,5 +38,5 @@ public interface TSerializable { * @param oprot Output protocol * @throws TException if there is an error writing to oprot */ - public void write(TProtocol oprot) throws TException; + void write(TProtocol oprot) throws TException; } diff --git a/lib/java/src/main/java/org/apache/thrift/TSerializer.java b/lib/java/src/main/java/org/apache/thrift/TSerializer.java index 6c0c7c2f8..8bcd49451 100644 --- a/lib/java/src/main/java/org/apache/thrift/TSerializer.java +++ b/lib/java/src/main/java/org/apache/thrift/TSerializer.java @@ -32,11 +32,8 @@ public class TSerializer { /** This is the byte array that data is actually serialized into */ private final ByteArrayOutputStream baos_ = new ByteArrayOutputStream(); - /** This transport wraps that byte array */ - private final TIOStreamTransport transport_; - /** Internal protocol used for serializing objects. */ - private TProtocol protocol_; + private final TProtocol protocol_; /** * Create a new TSerializer that uses the TBinaryProtocol by default. @@ -51,10 +48,11 @@ public class TSerializer { * Create a new TSerializer. It will use the TProtocol specified by the factory that is passed in. * * @param protocolFactory Factory to create a protocol - * @throws TTransportException if there an error initializing the underlying transport. + * @throws TTransportException if there is an error initializing the underlying transport. */ public TSerializer(TProtocolFactory protocolFactory) throws TTransportException { - transport_ = new TIOStreamTransport(new TConfiguration(), baos_); + /* This transport wraps that byte array */ + TIOStreamTransport transport_ = new TIOStreamTransport(new TConfiguration(), baos_); protocol_ = protocolFactory.getProtocol(transport_); } @@ -66,7 +64,7 @@ public class TSerializer { * @return Serialized object in byte[] format * @throws TException if an error is encountered during serialization. */ - public byte[] serialize(TBase base) throws TException { + public byte[] serialize(TBase<?, ?> base) throws TException { baos_.reset(); base.write(protocol_); return baos_.toByteArray(); @@ -79,7 +77,7 @@ public class TSerializer { * @return Serialized object as a String * @throws TException if an error is encountered during serialization. */ - public String toString(TBase base) throws TException { + public String toString(TBase<?, ?> base) throws TException { return new String(serialize(base)); } } diff --git a/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java b/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java index 16363329a..54dd96738 100644 --- a/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java +++ b/lib/java/src/main/java/org/apache/thrift/TServiceClientFactory.java @@ -34,7 +34,7 @@ public interface TServiceClientFactory<T extends TServiceClient> { * @param prot The protocol to use for getting T. * @return A brand-new T using <i>prot</i> as both the input and output protocol. */ - public T getClient(TProtocol prot); + T getClient(TProtocol prot); /** * Get a brand new T using the specified input and output protocols. The input and output @@ -44,5 +44,5 @@ public interface TServiceClientFactory<T extends TServiceClient> { * @param oprot The output protocol to use for getting T. * @return a brand new T using the specified input and output protocols */ - public T getClient(TProtocol iprot, TProtocol oprot); + T getClient(TProtocol iprot, TProtocol oprot); } diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java index 06d6f6382..0bfe1c975 100644 --- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java +++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClient.java @@ -25,7 +25,7 @@ public abstract class TAsyncClient { protected final TProtocolFactory ___protocolFactory; protected final TNonblockingTransport ___transport; protected final TAsyncClientManager ___manager; - protected TAsyncMethodCall ___currentMethod; + protected TAsyncMethodCall<?> ___currentMethod; private Exception ___error; private long ___timeout; diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientFactory.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientFactory.java index 28feb73d1..31ca288a0 100644 --- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientFactory.java +++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientFactory.java @@ -21,5 +21,5 @@ package org.apache.thrift.async; import org.apache.thrift.transport.TNonblockingTransport; public interface TAsyncClientFactory<T extends TAsyncClient> { - public T getAsyncClient(TNonblockingTransport transport); + T getAsyncClient(TNonblockingTransport transport); } diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java index ba6a5fd2e..256ab269c 100644 --- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java +++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncClientManager.java @@ -38,15 +38,15 @@ public class TAsyncClientManager { private static final Logger LOGGER = LoggerFactory.getLogger(TAsyncClientManager.class.getName()); private final SelectThread selectThread; - private final ConcurrentLinkedQueue<TAsyncMethodCall> pendingCalls = - new ConcurrentLinkedQueue<TAsyncMethodCall>(); + private final ConcurrentLinkedQueue<TAsyncMethodCall<?>> pendingCalls = + new ConcurrentLinkedQueue<>(); public TAsyncClientManager() throws IOException { this.selectThread = new SelectThread(); selectThread.start(); } - public void call(TAsyncMethodCall method) throws TException { + public void call(TAsyncMethodCall<?> method) throws TException { if (!isRunning()) { throw new TException("SelectThread is not running"); } @@ -66,8 +66,8 @@ public class TAsyncClientManager { private class SelectThread extends Thread { private final Selector selector; private volatile boolean running; - private final TreeSet<TAsyncMethodCall> timeoutWatchSet = - new TreeSet<TAsyncMethodCall>(new TAsyncMethodCallTimeoutComparator()); + private final TreeSet<TAsyncMethodCall<?>> timeoutWatchSet = + new TreeSet<>(new TAsyncMethodCallTimeoutComparator()); public SelectThread() throws IOException { this.selector = SelectorProvider.provider().openSelector(); @@ -103,7 +103,7 @@ public class TAsyncClientManager { // Next timeout is in the future, select and wake up then selector.select(selectTime); } else { - // Next timeout is now or in past, select immediately so we can time out + // Next timeout is now or in the past, select immediately, so we can time out selector.selectNow(); } } @@ -134,12 +134,12 @@ public class TAsyncClientManager { keys.remove(); if (!key.isValid()) { // this can happen if the method call experienced an error and the - // key was cancelled. can also happen if we timeout a method, which + // key was cancelled. can also happen if we time out a method, which // results in a channel close. // just skip continue; } - TAsyncMethodCall methodCall = (TAsyncMethodCall) key.attachment(); + TAsyncMethodCall<?> methodCall = (TAsyncMethodCall<?>) key.attachment(); methodCall.transition(key); // If done or error occurred, remove from timeout watch set @@ -154,10 +154,10 @@ public class TAsyncClientManager { // Timeout any existing method calls private void timeoutMethods() { - Iterator<TAsyncMethodCall> iterator = timeoutWatchSet.iterator(); + Iterator<TAsyncMethodCall<?>> iterator = timeoutWatchSet.iterator(); long currentTime = System.currentTimeMillis(); while (iterator.hasNext()) { - TAsyncMethodCall methodCall = iterator.next(); + TAsyncMethodCall<?> methodCall = iterator.next(); if (currentTime >= methodCall.getTimeoutTimestamp()) { iterator.remove(); methodCall.onError( @@ -175,7 +175,7 @@ public class TAsyncClientManager { // Start any new calls private void startPendingMethods() { - TAsyncMethodCall methodCall; + TAsyncMethodCall<?> methodCall; while ((methodCall = pendingCalls.poll()) != null) { // Catch registration errors. method will catch transition errors and cleanup. try { @@ -196,7 +196,8 @@ public class TAsyncClientManager { /** Comparator used in TreeSet */ private static class TAsyncMethodCallTimeoutComparator - implements Comparator<TAsyncMethodCall>, Serializable { + implements Comparator<TAsyncMethodCall<?>>, Serializable { + @Override public int compare(TAsyncMethodCall left, TAsyncMethodCall right) { if (left.getTimeoutTimestamp() == right.getTimeoutTimestamp()) { return (int) (left.getSequenceId() - right.getSequenceId()); diff --git a/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java b/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java index df586b4ec..9bcc8a948 100644 --- a/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java +++ b/lib/java/src/main/java/org/apache/thrift/async/TAsyncMethodCall.java @@ -46,9 +46,9 @@ import org.apache.thrift.transport.layered.TFramedTransport; public abstract class TAsyncMethodCall<T> { private static final int INITIAL_MEMORY_BUFFER_SIZE = 128; - private static AtomicLong sequenceIdCounter = new AtomicLong(0); + private static final AtomicLong sequenceIdCounter = new AtomicLong(0); - public static enum State { + public enum State { CONNECTING, WRITING_REQUEST_SIZE, WRITING_REQUEST_BODY, @@ -66,14 +66,14 @@ public abstract class TAsyncMethodCall<T> { protected final TAsyncClient client; private final AsyncMethodCallback<T> callback; private final boolean isOneway; - private long sequenceId; + private final long sequenceId; private final long timeout; private ByteBuffer sizeBuffer; private final byte[] sizeBufferArray = new byte[4]; private ByteBuffer frameBuffer; - private long startTime = System.currentTimeMillis(); + private final long startTime = System.currentTimeMillis(); protected TAsyncMethodCall( TAsyncClient client, @@ -177,7 +177,7 @@ public abstract class TAsyncMethodCall<T> { * the selector thread, we can make changes to our select interests without worrying about * concurrency. * - * @param key + * @param key selection key */ void transition(SelectionKey key) { // Ensure key is valid diff --git a/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java b/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java index a56d20286..4fc7562c2 100644 --- a/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java +++ b/lib/java/src/main/java/org/apache/thrift/partial/EnumCache.java @@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory; * separately on its own. */ public class EnumCache { - private static Logger LOG = LoggerFactory.getLogger(EnumCache.class); + private static final Logger LOG = LoggerFactory.getLogger(EnumCache.class); private Map<Class<? extends TEnum>, Map<Integer, TEnum>> classMap; diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java b/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java index a948d13c0..6559da194 100644 --- a/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java +++ b/lib/java/src/main/java/org/apache/thrift/protocol/TBase64Utils.java @@ -47,7 +47,7 @@ class TBase64Utils { * @param dst the destination for the encoding * @param dstOff the offset into the destination to place the encoded bytes */ - static final void encode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) { + static void encode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) { dst[dstOff] = (byte) ENCODE_TABLE.charAt((src[srcOff] >> 2) & 0x3F); if (len == 3) { dst[dstOff + 1] = @@ -97,7 +97,7 @@ class TBase64Utils { * @param dst the destination for the decoding * @param dstOff the offset into the destination to place the decoded bytes */ - static final void decode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) { + static void decode(byte[] src, int srcOff, int len, byte[] dst, int dstOff) { dst[dstOff] = (byte) ((DECODE_TABLE[src[srcOff] & 0x0FF] << 2) diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java index a2f0eace8..203c016da 100644 --- a/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java +++ b/lib/java/src/main/java/org/apache/thrift/protocol/TJSONProtocol.java @@ -62,7 +62,6 @@ public class TJSONProtocol extends TProtocol { private static final byte[] RBRACKET = new byte[] {']'}; private static final byte[] QUOTE = new byte[] {'"'}; private static final byte[] BACKSLASH = new byte[] {'\\'}; - private static final byte[] ZERO = new byte[] {'0'}; private static final byte[] ESCSEQ = new byte[] {'\\', 'u', '0', '0'}; @@ -185,7 +184,7 @@ public class TJSONProtocol extends TProtocol { // Base class for tracking JSON contexts that may require inserting/reading // additional JSON syntax characters // This base context does nothing. - protected class JSONBaseContext { + protected static class JSONBaseContext { protected void write() throws TException {} protected void read() throws TException {} @@ -259,7 +258,7 @@ public class TJSONProtocol extends TProtocol { protected class LookaheadReader { private boolean hasData_; - private byte[] data_ = new byte[1]; + private final byte[] data_ = new byte[1]; // Return and consume the next byte to be read, either taking it from the // data buffer if present or getting it from the transport otherwise. @@ -284,7 +283,7 @@ public class TJSONProtocol extends TProtocol { } // Stack of nested contexts that we may be in - private Stack<JSONBaseContext> contextStack_ = new Stack<JSONBaseContext>(); + private final Stack<JSONBaseContext> contextStack_ = new Stack<>(); // Current context that we are in private JSONBaseContext context_ = new JSONBaseContext(); @@ -331,7 +330,7 @@ public class TJSONProtocol extends TProtocol { } // Temporary buffer used by several methods - private byte[] tmpbuf_ = new byte[4]; + private final byte[] tmpbuf_ = new byte[4]; // Read a byte that must match b[0]; otherwise an exception is thrown. // Marked protected to avoid synthetic accessor in JSONListContext.read @@ -346,7 +345,7 @@ public class TJSONProtocol extends TProtocol { // Convert a byte containing a hex char ('0'-'9' or 'a'-'f') into its // corresponding hex value - private static final byte hexVal(byte ch) throws TException { + private static byte hexVal(byte ch) throws TException { if ((ch >= '0') && (ch <= '9')) { return (byte) ((char) ch - '0'); } else if ((ch >= 'a') && (ch <= 'f')) { @@ -357,7 +356,7 @@ public class TJSONProtocol extends TProtocol { } // Convert a byte containing a hex value to its corresponding hex character - private static final byte hexChar(byte val) { + private static byte hexChar(byte val) { val &= 0x0F; if (val < 10) { return (byte) ((char) val + '0'); @@ -734,7 +733,7 @@ public class TJSONProtocol extends TProtocol { readJSONSyntaxChar(QUOTE); } try { - return Long.valueOf(str); + return Long.parseLong(str); } catch (NumberFormatException ex) { throw new TProtocolException( TProtocolException.INVALID_DATA, "Bad data encounted in numeric data"); @@ -747,7 +746,7 @@ public class TJSONProtocol extends TProtocol { context_.read(); if (reader_.peek() == QUOTE[0]) { TByteArrayOutputStream arr = readJSONString(true); - double dub = Double.valueOf(arr.toString(StandardCharsets.UTF_8)); + double dub = Double.parseDouble(arr.toString(StandardCharsets.UTF_8)); if (!context_.escapeNum() && !Double.isNaN(dub) && !Double.isInfinite(dub)) { // Throw exception -- we should not be in a string in this case throw new TProtocolException( @@ -760,7 +759,7 @@ public class TJSONProtocol extends TProtocol { readJSONSyntaxChar(QUOTE); } try { - return Double.valueOf(readJSONNumericChars()); + return Double.parseDouble(readJSONNumericChars()); } catch (NumberFormatException ex) { throw new TProtocolException( TProtocolException.INVALID_DATA, "Bad data encounted in numeric data"); diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java index c237ce42d..bd9bd8e2e 100644 --- a/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java +++ b/lib/java/src/main/java/org/apache/thrift/protocol/TProtocolDecorator.java @@ -265,8 +265,8 @@ public abstract class TProtocolDecorator extends TProtocol { /** * @param type Returns the minimum amount of bytes needed to store the smallest possible instance * of TType. - * @return - * @throws TException + * @return size + * @throws TException if underlying protocol throws */ @Override public int getMinSerializedSize(byte type) throws TException { diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java index 1b69032ea..cceb517a5 100644 --- a/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java +++ b/lib/java/src/main/java/org/apache/thrift/protocol/TSimpleJSONProtocol.java @@ -37,6 +37,7 @@ public class TSimpleJSONProtocol extends TProtocol { /** Factory */ public static class Factory implements TProtocolFactory { + @Override public TProtocol getProtocol(TTransport trans) { return new TSimpleJSONProtocol(trans); } @@ -49,18 +50,11 @@ public class TSimpleJSONProtocol extends TProtocol { private static final byte[] LBRACKET = new byte[] {'['}; private static final byte[] RBRACKET = new byte[] {']'}; private static final char QUOTE = '"'; - - private static final TStruct ANONYMOUS_STRUCT = new TStruct(); - private static final TField ANONYMOUS_FIELD = new TField(); - private static final TMessage EMPTY_MESSAGE = new TMessage(); - private static final TSet EMPTY_SET = new TSet(); - private static final TList EMPTY_LIST = new TList(); - private static final TMap EMPTY_MAP = new TMap(); private static final String LIST = "list"; private static final String SET = "set"; private static final String MAP = "map"; - protected class Context { + protected static class Context { protected void write() throws TException {} /** Returns whether the current value is a key in a map */ @@ -360,8 +354,8 @@ public class TSimpleJSONProtocol extends TProtocol { /** * Reading methods. * - * <p>simplejson is not meant to be read back into thrift - see - * http://wiki.apache.org/thrift/ThriftUsageJava - use JSON instead + * <p>simplejson is not meant to be read back into thrift - see <a + * href="http://wiki.apache.org/thrift/ThriftUsageJava">ThriftUsageJava</a> - use JSON instead */ @Override public TMessage readMessageBegin() throws TException { diff --git a/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java b/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java index c4141a605..19d05e477 100644 --- a/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java +++ b/lib/java/src/main/java/org/apache/thrift/protocol/TTupleProtocol.java @@ -77,8 +77,8 @@ public final class TTupleProtocol extends TCompactProtocol { * is big-endian which means the most significant bit is in element 0. The bit at index 0 of the * bit set is assumed to be the least significant bit. * - * @param bits - * @param vectorWidth + * @param bits bit set + * @param vectorWidth width of the vector * @return a byte array of at least length 1 */ public static byte[] toByteArray(BitSet bits, int vectorWidth) { diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java b/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java index c4a85b95e..ecf41fc43 100644 --- a/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java +++ b/lib/java/src/main/java/org/apache/thrift/scheme/IScheme.java @@ -22,9 +22,9 @@ import org.apache.thrift.TBase; public interface IScheme<T extends TBase> { - public void read(org.apache.thrift.protocol.TProtocol iproto, T struct) + void read(org.apache.thrift.protocol.TProtocol iproto, T struct) throws org.apache.thrift.TException; - public void write(org.apache.thrift.protocol.TProtocol oproto, T struct) + void write(org.apache.thrift.protocol.TProtocol oproto, T struct) throws org.apache.thrift.TException; } diff --git a/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java b/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java index e9d76406d..94b7a11ba 100644 --- a/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java +++ b/lib/java/src/main/java/org/apache/thrift/scheme/SchemeFactory.java @@ -20,5 +20,5 @@ package org.apache.thrift.scheme; public interface SchemeFactory { - public <S extends IScheme> S getScheme(); + <S extends IScheme> S getScheme(); } diff --git a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java index 01b15e841..954aaebf1 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/AbstractNonblockingServer.java @@ -66,7 +66,7 @@ public abstract class AbstractNonblockingServer extends TServer { /** How many bytes are currently allocated to read buffers. */ final AtomicLong readBufferBytesAllocated = new AtomicLong(0); - public AbstractNonblockingServer(AbstractNonblockingServerArgs args) { + public AbstractNonblockingServer(AbstractNonblockingServerArgs<?> args) { super(args); MAX_READ_BUFFER_BYTES = args.maxReadBufferBytes; } diff --git a/lib/java/src/main/java/org/apache/thrift/server/Invocation.java b/lib/java/src/main/java/org/apache/thrift/server/Invocation.java index 64f896927..423b40bf3 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/Invocation.java +++ b/lib/java/src/main/java/org/apache/thrift/server/Invocation.java @@ -14,6 +14,7 @@ class Invocation implements Runnable { this.frameBuffer = frameBuffer; } + @Override public void run() { frameBuffer.invoke(); } diff --git a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java index 5c141000a..fa5acac51 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java @@ -52,8 +52,6 @@ public abstract class TExtensibleServlet extends HttpServlet { private TProtocolFactory inFactory; - private TProtocolFactory outFactory; - private Collection<Map.Entry<String, String>> customHeaders; /** @@ -85,7 +83,7 @@ public abstract class TExtensibleServlet extends HttpServlet { super.init(config); // no-args init() happens here this.processor = getProcessor(); this.inFactory = getInProtocolFactory(); - this.outFactory = getOutProtocolFactory(); + TProtocolFactory outFactory = getOutProtocolFactory(); this.customHeaders = new ArrayList<Map.Entry<String, String>>(); if (processor == null) { @@ -105,8 +103,8 @@ public abstract class TExtensibleServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - TTransport inTransport = null; - TTransport outTransport = null; + TTransport inTransport; + TTransport outTransport; try { response.setContentType("application/x-thrift"); @@ -146,14 +144,17 @@ public abstract class TExtensibleServlet extends HttpServlet { public void addCustomHeader(final String key, final String value) { this.customHeaders.add( new Map.Entry<String, String>() { + @Override public String getKey() { return key; } + @Override public String getValue() { return value; } + @Override public String setValue(String value) { return null; } diff --git a/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java b/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java index fa75569d9..5c015eb46 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TNonblockingServer.java @@ -47,7 +47,7 @@ public class TNonblockingServer extends AbstractNonblockingServer { private SelectAcceptThread selectAcceptThread_; - public TNonblockingServer(AbstractNonblockingServerArgs args) { + public TNonblockingServer(AbstractNonblockingServerArgs<?> args) { super(args); } @@ -132,6 +132,7 @@ public class TNonblockingServer extends AbstractNonblockingServer { * The work loop. Handles both selecting (all IO operations) and managing the selection * preferences of all existing connections. */ + @Override public void run() { try { if (eventHandler_ != null) { diff --git a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java index c025a498e..831842b55 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java @@ -87,6 +87,7 @@ public class TServlet extends HttpServlet { /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); @@ -95,14 +96,17 @@ public class TServlet extends HttpServlet { public void addCustomHeader(final String key, final String value) { this.customHeaders.add( new Map.Entry<String, String>() { + @Override public String getKey() { return key; } + @Override public String getValue() { return value; } + @Override public String setValue(String value) { return null; } diff --git a/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java b/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java index 3530d6d8c..69af88a6b 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TSimpleServer.java @@ -36,6 +36,7 @@ public class TSimpleServer extends TServer { super(args); } + @Override public void serve() { try { serverTransport_.listen(); diff --git a/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java b/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java index 357410f39..82d3a29d4 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TThreadPoolServer.java @@ -82,7 +82,7 @@ public class TThreadPoolServer extends TServer { } // Executor service for handling client connections - private ExecutorService executorService_; + private final ExecutorService executorService_; private final TimeUnit stopTimeoutUnit; @@ -140,6 +140,7 @@ public class TThreadPoolServer extends TServer { return true; } + @Override public void serve() { if (!preServe()) { return; @@ -196,6 +197,7 @@ public class TThreadPoolServer extends TServer { return false; } + @Override public void stop() { stopped_ = true; serverTransport_.interrupt(); @@ -204,7 +206,7 @@ public class TThreadPoolServer extends TServer { private class WorkerProcess implements Runnable { /** Client that this services. */ - private TTransport client_; + private final TTransport client_; /** * Default constructor. @@ -216,6 +218,7 @@ public class TThreadPoolServer extends TServer { } /** Loops on processing a client forever */ + @Override public void run() { TProcessor processor = null; TTransport inputTransport = null; diff --git a/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java b/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java index 0a4d8575f..ae3d292d4 100644 --- a/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java +++ b/lib/java/src/main/java/org/apache/thrift/server/TThreadedSelectorServer.java @@ -50,10 +50,10 @@ import org.slf4j.LoggerFactory; * reading and writing of client connections. A synchronous worker thread pool handles processing of * requests. * - * <p>Performs better than TNonblockingServer/THsHaServer in multi-core environments when the the + * <p>Performs better than TNonblockingServer/THsHaServer in multi-core environments when the * bottleneck is CPU on the single selector thread handling I/O. In addition, because the accept * handling is decoupled from reads/writes and invocation, the server has better ability to handle - * back- pressure from new connections (e.g. stop accepting when busy). + * back-pressure from new connections (e.g. stop accepting when busy). * * <p>Like TNonblockingServer, it relies on the use of TFramedTransport. */ @@ -183,7 +183,7 @@ public class TThreadedSelectorServer extends AbstractNonblockingServer { private AcceptThread acceptThread; // Threads handling events on client transports - private final Set<SelectorThread> selectorThreads = new HashSet<SelectorThread>(); + private final Set<SelectorThread> selectorThreads = new HashSet<>(); // This wraps all the functionality of queueing and thread pool management // for the passing of Invocations from the selector thread(s) to the workers @@ -257,10 +257,8 @@ public class TThreadedSelectorServer extends AbstractNonblockingServer { if (acceptThread != null) { acceptThread.wakeupSelector(); } - if (selectorThreads != null) { - for (SelectorThread thread : selectorThreads) { - if (thread != null) thread.wakeupSelector(); - } + for (SelectorThread thread : selectorThreads) { + if (thread != null) thread.wakeupSelector(); } } @@ -341,7 +339,7 @@ public class TThreadedSelectorServer extends AbstractNonblockingServer { /** * Set up the AcceptThead * - * @throws IOException + * @throws IOException if failed to register selector */ public AcceptThread( TNonblockingServerTransport serverTransport, SelectorThreadLoadBalancer threadChooser) @@ -464,8 +462,8 @@ public class TThreadedSelectorServer extends AbstractNonblockingServer { // Accepted connections added by the accept thread. private final BlockingQueue<TNonblockingTransport> acceptedQueue; - private int SELECTOR_AUTO_REBUILD_THRESHOLD = 512; - private long MONITOR_PERIOD = 1000L; + private static final int SELECTOR_AUTO_REBUILD_THRESHOLD = 512; + private static final long MONITOR_PERIOD = 1000L; private int jvmBug = 0; /** @@ -581,7 +579,8 @@ public class TThreadedSelectorServer extends AbstractNonblockingServer { } /** - * Do select and judge epoll bug happen. See : https://issues.apache.org/jira/browse/THRIFT-4251 + * Do select and judge epoll bug happen. See <a + * href="https://issues.apache.org/jira/browse/THRIFT-4251">THRIFT-4251</a> */ private void doSelect() throws IOException { long beforeSelect = System.currentTimeMillis(); diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java b/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java index 917f4c95d..b44bb408d 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/TSSLTransportFactory.java @@ -53,9 +53,9 @@ public class TSSLTransportFactory { * -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.keyStore=<keystore location> * -Djavax.net.ssl.keyStorePassword=password * - * @param port + * @param port server port * @return A SSL wrapped TServerSocket - * @throws TTransportException + * @throws TTransportException when failed to create server socket */ public static TServerSocket getServerSocket(int port) throws TTransportException { return getServerSocket(port, 0); @@ -264,7 +264,7 @@ public class TSSLTransportFactory { } catch (FileNotFoundException e) { } - InputStream storeStream = null; + InputStream storeStream; try { storeStream = new URL(store).openStream(); if (storeStream != null) { diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java index 9dfdb82d9..cd6be66e4 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/TSimpleFileTransport.java @@ -26,9 +26,9 @@ import org.apache.thrift.TConfiguration; public final class TSimpleFileTransport extends TEndpointTransport { private RandomAccessFile file = null; - private boolean readable; - private boolean writable; - private String path_; + private final boolean readable; + private final boolean writable; + private final String path_; /** * Create a transport backed by a simple file diff --git a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java index 6ba40187b..a3c1bccbc 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/layered/TFramedTransport.java @@ -40,7 +40,7 @@ public class TFramedTransport extends TLayeredTransport { private final TMemoryInputTransport readBuffer_; public static class Factory extends TTransportFactory { - private int maxLength_; + private final int maxLength_; public Factory() { maxLength_ = TConfiguration.DEFAULT_MAX_FRAME_SIZE; @@ -170,14 +170,14 @@ public class TFramedTransport extends TLayeredTransport { getInnerTransport().flush(); } - public static final void encodeFrameSize(final int frameSize, final byte[] buf) { + public static void encodeFrameSize(final int frameSize, final byte[] buf) { buf[0] = (byte) (0xff & (frameSize >> 24)); buf[1] = (byte) (0xff & (frameSize >> 16)); buf[2] = (byte) (0xff & (frameSize >> 8)); buf[3] = (byte) (0xff & (frameSize)); } - public static final int decodeFrameSize(final byte[] buf) { + public static int decodeFrameSize(final byte[] buf) { return ((buf[0] & 0xff) << 24) | ((buf[1] & 0xff) << 16) | ((buf[2] & 0xff) << 8) diff --git a/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java index 6e3d1964d..5ab4c958e 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/layered/TLayeredTransport.java @@ -25,8 +25,9 @@ import org.apache.thrift.transport.TTransportException; public abstract class TLayeredTransport extends TTransport { - private TTransport innerTransport; + private final TTransport innerTransport; + @Override public TConfiguration getConfiguration() { return innerTransport.getConfiguration(); } @@ -36,10 +37,12 @@ public abstract class TLayeredTransport extends TTransport { innerTransport = transport; } + @Override public void updateKnownMessageSize(long size) throws TTransportException { innerTransport.updateKnownMessageSize(size); } + @Override public void checkReadBytesAvailable(long numBytes) throws TTransportException { innerTransport.checkReadBytesAvailable(numBytes); } diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java index b79537dd8..9f2168a6d 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/DataFrameWriter.java @@ -35,7 +35,7 @@ public class DataFrameWriter extends FrameWriter { public void withOnlyPayload(byte[] payload, int offset, int length) { if (!isComplete()) { throw new IllegalStateException( - "Previsous write is not yet complete, with " + frameBytes.remaining() + " bytes left."); + "Previous write is not yet complete, with " + frameBytes.remaining() + " bytes left."); } frameBytes = buildFrameWithPayload(payload, offset, length); } diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java index 44862d2c9..da82c89a0 100644 --- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java +++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java @@ -215,7 +215,7 @@ public class NonblockingSaslHandler { selectionKey.interestOps(selectionInterest); } - // sasl negotiaion failure handling + // sasl negotiation failure handling private void failSaslNegotiation(TSaslNegotiationException e) { LOGGER.error("Sasl negotiation failed", e); String errorMsg = e.getDetails(); @@ -494,7 +494,7 @@ public class NonblockingSaslHandler { }; // The interest on the selection key during the phase - private int selectionInterest; + private final int selectionInterest; Phase(int selectionInterest) { this.selectionInterest = selectionInterest; |