diff --git a/pom.xml b/pom.xml index 57dce13387..566548815a 100644 --- a/pom.xml +++ b/pom.xml @@ -89,6 +89,15 @@ compile true + + + + javax.activation + activation + 1.1.1 + compile + true + diff --git a/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoClient.java b/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoClient.java index d09d42b02a..e5b5e73408 100644 --- a/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoClient.java +++ b/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoClient.java @@ -24,6 +24,7 @@ import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.Channels; import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory; import org.jboss.netty.example.echo.EchoClient; +import org.jboss.netty.handler.codec.serialization.ClassResolvers; import org.jboss.netty.handler.codec.serialization.ObjectDecoder; import org.jboss.netty.handler.codec.serialization.ObjectEncoder; @@ -35,7 +36,7 @@ public class ObjectEchoClient { private final String host; private final int port; private final int firstMessageSize; - + public ObjectEchoClient(String host, int port, int firstMessageSize) { this.host = host; this.port = port; @@ -54,7 +55,8 @@ public class ObjectEchoClient { public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline( new ObjectEncoder(), - new ObjectDecoder(), + new ObjectDecoder( + ClassResolvers.cacheDisabled(getClass().getClassLoader())), new ObjectEchoClientHandler(firstMessageSize)); } }); diff --git a/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoServer.java b/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoServer.java index 4bb1b11932..095374b689 100644 --- a/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoServer.java +++ b/src/main/java/org/jboss/netty/example/objectecho/ObjectEchoServer.java @@ -32,7 +32,7 @@ import org.jboss.netty.handler.codec.serialization.ObjectEncoder; * Modification of {@link EchoServer} which utilizes Java object serialization. */ public class ObjectEchoServer { - + private final int port; public ObjectEchoServer(int port) { @@ -51,7 +51,8 @@ public class ObjectEchoServer { public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline( new ObjectEncoder(), - new ObjectDecoder(), + new ObjectDecoder( + ClassResolvers.cacheDisabled(getClass().getClassLoader())), new ObjectEchoServerHandler()); } }); diff --git a/src/main/java/org/jboss/netty/handler/codec/redis/RedisEncoder.java b/src/main/java/org/jboss/netty/handler/codec/redis/RedisEncoder.java index acc38dcad7..24d499632f 100644 --- a/src/main/java/org/jboss/netty/handler/codec/redis/RedisEncoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/redis/RedisEncoder.java @@ -49,7 +49,7 @@ public class RedisEncoder extends SimpleChannelDownstreamHandler { ChannelFuture future = e.getFuture(); // Useful for transactions and database select - for (Object i : (Iterable) o) { + for (Object i : (Iterable) o) { if (i instanceof Command) { Command command = (Command) i; command.write(cb); diff --git a/src/main/java/org/jboss/netty/handler/codec/serialization/CompactObjectOutputStream.java b/src/main/java/org/jboss/netty/handler/codec/serialization/CompactObjectOutputStream.java index 9e38324256..d1c94f50bf 100644 --- a/src/main/java/org/jboss/netty/handler/codec/serialization/CompactObjectOutputStream.java +++ b/src/main/java/org/jboss/netty/handler/codec/serialization/CompactObjectOutputStream.java @@ -19,7 +19,6 @@ import java.io.IOException; import java.io.ObjectOutputStream; import java.io.ObjectStreamClass; import java.io.OutputStream; -import java.io.Serializable; class CompactObjectOutputStream extends ObjectOutputStream { diff --git a/src/main/java/org/jboss/netty/handler/codec/spdy/SpdyProtocolException.java b/src/main/java/org/jboss/netty/handler/codec/spdy/SpdyProtocolException.java index e06819e3e7..084a096fdb 100644 --- a/src/main/java/org/jboss/netty/handler/codec/spdy/SpdyProtocolException.java +++ b/src/main/java/org/jboss/netty/handler/codec/spdy/SpdyProtocolException.java @@ -22,6 +22,8 @@ package org.jboss.netty.handler.codec.spdy; */ public class SpdyProtocolException extends Exception { + private static final long serialVersionUID = 7870000537743847264L; + /** * Creates a new instance. */ diff --git a/src/main/java/org/jboss/netty/util/internal/LegacyLinkedTransferQueue.java b/src/main/java/org/jboss/netty/util/internal/LegacyLinkedTransferQueue.java index 1db58ed316..bea20bd305 100644 --- a/src/main/java/org/jboss/netty/util/internal/LegacyLinkedTransferQueue.java +++ b/src/main/java/org/jboss/netty/util/internal/LegacyLinkedTransferQueue.java @@ -40,7 +40,7 @@ import java.util.concurrent.locks.LockSupport; * *
*
- * + * * An unbounded {@link BlockingQueue} based on linked nodes. * This queue orders elements FIFO (first-in-first-out) with respect * to any given producer. The head of the queue is that @@ -655,7 +655,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue } LockSupport.unpark(p.waiter); // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 - return (E) LegacyLinkedTransferQueue.cast(item); + return LegacyLinkedTransferQueue.cast(item); } } Node n = p.next; @@ -671,7 +671,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue continue retry; // lost race vs opposite mode } if (how != ASYNC) { - return awaitMatch(s, pred, e, (how == TIMED), nanos); + return awaitMatch(s, pred, e, how == TIMED, nanos); } } return e; // not waiting @@ -739,8 +739,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue if (item != e) { // matched // assert item != s; s.forgetContents(); // avoid garbage - // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 - return (E) LegacyLinkedTransferQueue.cast(item); + return LegacyLinkedTransferQueue.cast(item); } if ((w.isInterrupted() || timed && nanos <= 0) && s.casItem(e, s)) { // cancel @@ -828,8 +827,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue Object item = p.item; if (p.isData) { if (item != null && item != p) { - // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 - return (E) LegacyLinkedTransferQueue.cast(item); + return LegacyLinkedTransferQueue.cast(item); } } else if (item == null) { @@ -882,8 +880,7 @@ public class LegacyLinkedTransferQueue extends AbstractQueue Object item = p.item; if (p.isData) { if (item != null && item != p) { - // Explicit cast, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302954 - nextItem = (E) LegacyLinkedTransferQueue.cast(item); + nextItem = LegacyLinkedTransferQueue.cast(item); nextNode = p; return; } diff --git a/src/main/java/org/jboss/netty/util/internal/LinkedTransferQueue.java b/src/main/java/org/jboss/netty/util/internal/LinkedTransferQueue.java index 50d7141015..201ffb5fd4 100644 --- a/src/main/java/org/jboss/netty/util/internal/LinkedTransferQueue.java +++ b/src/main/java/org/jboss/netty/util/internal/LinkedTransferQueue.java @@ -36,13 +36,13 @@ import java.util.concurrent.locks.LockSupport; *
* The only difference is that it replace {@link BlockingQueue} and any reference to the TransferQueue interface was removed *
- * + * * * Please use {@link QueueFactory} to create a Queue as it will use the "optimal" implementation depending on the JVM * *
*
- * + * * An unbounded {@link BlockingQueue} based on linked nodes. * This queue orders elements FIFO (first-in-first-out) with respect * to any given producer. The head of the queue is that @@ -494,7 +494,7 @@ public class LinkedTransferQueue extends AbstractQueue */ final boolean isMatched() { Object x = item; - return (x == this) || ((x == null) == isData); + return x == this || x == null == isData; } /** @@ -512,7 +512,7 @@ public class LinkedTransferQueue extends AbstractQueue final boolean cannotPrecede(boolean haveData) { boolean d = isData; Object x; - return d != haveData && (x = item) != this && (x != null) == d; + return d != haveData && (x = item) != this && x != null == d; } /** @@ -528,8 +528,6 @@ public class LinkedTransferQueue extends AbstractQueue return false; } - private static final long serialVersionUID = -3375979862319811754L; - // Unsafe mechanics private static final sun.misc.Unsafe UNSAFE; private static final long itemOffset; @@ -598,8 +596,9 @@ public class LinkedTransferQueue extends AbstractQueue * @throws NullPointerException if haveData mode but e is null */ private E xfer(E e, boolean haveData, int how, long nanos) { - if (haveData && (e == null)) + if (haveData && e == null) { throw new NullPointerException(); + } Node s = null; // the node to append, if needed retry: @@ -608,9 +607,10 @@ public class LinkedTransferQueue extends AbstractQueue for (Node h = head, p = h; p != null;) { // find & match first node boolean isData = p.isData; Object item = p.item; - if (item != p && (item != null) == isData) { // unmatched - if (isData == haveData) // can't match + if (item != p && item != null == isData) { // unmatched + if (isData == haveData) { break; + } if (p.casItem(item, e)) { // match for (Node q = p; q != h;) { Node n = q.next; // update by 2 unless singleton @@ -620,24 +620,30 @@ public class LinkedTransferQueue extends AbstractQueue } // advance and retry if ((h = head) == null || (q = h.next) == null || !q.isMatched()) + { break; // unless slack < 2 + } } LockSupport.unpark(p.waiter); return LinkedTransferQueue.cast(item); } } Node n = p.next; - p = (p != n) ? n : (h = head); // Use head if p offlist + p = p != n ? n : (h = head); // Use head if p offlist } if (how != NOW) { // No matches available - if (s == null) + if (s == null) { s = new Node(e, haveData); + } Node pred = tryAppend(s, haveData); if (pred == null) + { continue retry; // lost race vs opposite mode - if (how != ASYNC) - return awaitMatch(s, pred, e, (how == TIMED), nanos); + } + if (how != ASYNC) { + return awaitMatch(s, pred, e, how == TIMED, nanos); + } } return e; // not waiting } @@ -657,21 +663,25 @@ public class LinkedTransferQueue extends AbstractQueue Node n, u; // temps for reads of next & tail if (p == null && (p = head) == null) { if (casHead(null, s)) + { return s; // initialize + } } - else if (p.cannotPrecede(haveData)) + else if (p.cannotPrecede(haveData)) { return null; // lost race vs opposite mode - else if ((n = p.next) != null) // not last; keep traversing + } else if ((n = p.next) != null) { p = p != t && t != (u = tail) ? (t = u) : // stale tail - (p != n) ? n : null; // restart if off list - else if (!p.casNext(null, s)) + p != n ? n : null; // restart if off list + } else if (!p.casNext(null, s)) { p = p.next; // re-read on CAS failure - else { + } else { if (p != t) { // update if slack now >= 2 while ((tail != t || !casTail(t, s)) && (t = tail) != null && (s = t.next) != null && // advance and retry - (s = s.next) != null && s != t); + (s = s.next) != null && s != t) { + ; + } } return p; } @@ -703,20 +713,23 @@ public class LinkedTransferQueue extends AbstractQueue s.forgetContents(); // avoid garbage return LinkedTransferQueue.cast(item); } - if ((w.isInterrupted() || (timed && nanos <= 0)) && + if ((w.isInterrupted() || timed && nanos <= 0) && s.casItem(e, s)) { // cancel unsplice(pred, s); return e; } if (spins < 0) { // establish spins at/near front - if ((spins = spinsFor(pred, s.isData)) > 0) + if ((spins = spinsFor(pred, s.isData)) > 0) { randomYields = ThreadLocalRandom.current(); + } } else if (spins > 0) { // spin --spins; if (randomYields.nextInt(CHAINED_SPINS) == 0) + { Thread.yield(); // occasionally yield + } } else if (s.waiter == null) { s.waiter = w; // request unpark then recheck @@ -748,12 +761,15 @@ public class LinkedTransferQueue extends AbstractQueue */ private static int spinsFor(Node pred, boolean haveData) { if (MP && pred != null) { - if (pred.isData != haveData) // phase change + if (pred.isData != haveData) { return FRONT_SPINS + CHAINED_SPINS; - if (pred.isMatched()) // probably at front + } + if (pred.isMatched()) { return FRONT_SPINS; - if (pred.waiter == null) // pred apparently spinning + } + if (pred.waiter == null) { return CHAINED_SPINS; + } } return 0; } @@ -767,7 +783,7 @@ public class LinkedTransferQueue extends AbstractQueue */ final Node succ(Node p) { Node next = p.next; - return (p == next) ? head : next; + return p == next ? head : next; } /** @@ -776,8 +792,9 @@ public class LinkedTransferQueue extends AbstractQueue */ private Node firstOfMode(boolean isData) { for (Node p = head; p != null; p = succ(p)) { - if (!p.isMatched()) - return (p.isData == isData) ? p : null; + if (!p.isMatched()) { + return p.isData == isData ? p : null; + } } return null; } @@ -790,11 +807,13 @@ public class LinkedTransferQueue extends AbstractQueue for (Node p = head; p != null; p = succ(p)) { Object item = p.item; if (p.isData) { - if (item != null && item != p) + if (item != null && item != p) { return LinkedTransferQueue.cast(item); + } } - else if (item == null) + else if (item == null) { return null; + } } return null; } @@ -807,15 +826,17 @@ public class LinkedTransferQueue extends AbstractQueue int count = 0; for (Node p = head; p != null; ) { if (!p.isMatched()) { - if (p.isData != data) + if (p.isData != data) { return 0; - if (++count == Integer.MAX_VALUE) // saturated + } + if (++count == Integer.MAX_VALUE) { break; + } } Node n = p.next; - if (n != p) + if (n != p) { p = n; - else { + } else { count = 0; p = head; } @@ -844,25 +865,26 @@ public class LinkedTransferQueue extends AbstractQueue */ Node r, b; // reset lastPred upon possible deletion of lastRet - if ((r = lastRet) != null && !r.isMatched()) + if ((r = lastRet) != null && !r.isMatched()) { lastPred = r; // next lastPred is old lastRet - else if ((b = lastPred) == null || b.isMatched()) + } else if ((b = lastPred) == null || b.isMatched()) { lastPred = null; // at start of list - else { + } else { Node s, n; // help with removal of lastPred.next while ((s = b.next) != null && s != b && s.isMatched() && - (n = s.next) != null && n != s) + (n = s.next) != null && n != s) { b.casNext(s, n); + } } this.lastRet = prev; for (Node p = prev, s, n;;) { - s = (p == null) ? head : p.next; - if (s == null) + s = p == null ? head : p.next; + if (s == null) { break; - else if (s == p) { + } else if (s == p) { p = null; continue; } @@ -874,17 +896,19 @@ public class LinkedTransferQueue extends AbstractQueue return; } } - else if (item == null) + else if (item == null) { break; + } // assert s.isMatched(); - if (p == null) + if (p == null) { p = s; - else if ((n = s.next) == null) + } else if ((n = s.next) == null) { break; - else if (s == n) + } else if (s == n) { p = null; - else + } else { p.casNext(s, n); + } } nextNode = null; nextItem = null; @@ -900,7 +924,9 @@ public class LinkedTransferQueue extends AbstractQueue public final E next() { Node p = nextNode; - if (p == null) throw new NoSuchElementException(); + if (p == null) { + throw new NoSuchElementException(); + } E e = nextItem; advance(p); return e; @@ -908,11 +934,13 @@ public class LinkedTransferQueue extends AbstractQueue public final void remove() { final Node lastRet = this.lastRet; - if (lastRet == null) + if (lastRet == null) { throw new IllegalStateException(); + } this.lastRet = null; - if (lastRet.tryMatchData()) + if (lastRet.tryMatchData()) { unsplice(lastPred, lastRet); + } } } @@ -938,25 +966,33 @@ public class LinkedTransferQueue extends AbstractQueue if (pred != null && pred != s && pred.next == s) { Node n = s.next; if (n == null || - (n != s && pred.casNext(s, n) && pred.isMatched())) { + n != s && pred.casNext(s, n) && pred.isMatched()) { for (;;) { // check if at, or could be, head Node h = head; if (h == pred || h == s || h == null) + { return; // at head or list empty - if (!h.isMatched()) + } + if (!h.isMatched()) { break; + } Node hn = h.next; if (hn == null) + { return; // now empty + } if (hn != h && casHead(h, hn)) + { h.forgetNext(); // advance head + } } if (pred.next != pred && s.next != s) { // recheck if offlist for (;;) { // sweep now if enough votes int v = sweepVotes; if (v < SWEEP_THRESHOLD) { - if (casSweepVotes(v, v + 1)) + if (casSweepVotes(v, v + 1)) { break; + } } else if (casSweepVotes(v, 0)) { sweep(); @@ -974,16 +1010,17 @@ public class LinkedTransferQueue extends AbstractQueue */ private void sweep() { for (Node p = head, s, n; p != null && (s = p.next) != null; ) { - if (!s.isMatched()) + if (!s.isMatched()) { // Unmatched nodes are never self-linked p = s; - else if ((n = s.next) == null) // trailing node is pinned + } else if ((n = s.next) == null) { break; - else if (s == n) // stale + } else if (s == n) { // No need to also check for p == s, since that implies s == n p = head; - else + } else { p.casNext(s, n); + } } } @@ -1001,8 +1038,9 @@ public class LinkedTransferQueue extends AbstractQueue return true; } } - else if (item == null) + else if (item == null) { break; + } pred = p; if ((p = p.next) == pred) { // stale pred = null; @@ -1079,6 +1117,7 @@ public class LinkedTransferQueue extends AbstractQueue * @return {@code true} (as specified by {@link Collection#add}) * @throws NullPointerException if the specified element is null */ + @Override public boolean add(E e) { xfer(e, true, ASYNC, 0); return true; @@ -1132,25 +1171,29 @@ public class LinkedTransferQueue extends AbstractQueue */ public boolean tryTransfer(E e, long timeout, TimeUnit unit) throws InterruptedException { - if (xfer(e, true, TIMED, unit.toNanos(timeout)) == null) + if (xfer(e, true, TIMED, unit.toNanos(timeout)) == null) { return true; - if (!Thread.interrupted()) + } + if (!Thread.interrupted()) { return false; + } throw new InterruptedException(); } public E take() throws InterruptedException { E e = xfer(null, false, SYNC, 0); - if (e != null) + if (e != null) { return e; + } Thread.interrupted(); throw new InterruptedException(); } public E poll(long timeout, TimeUnit unit) throws InterruptedException { E e = xfer(null, false, TIMED, unit.toNanos(timeout)); - if (e != null || !Thread.interrupted()) + if (e != null || !Thread.interrupted()) { return e; + } throw new InterruptedException(); } @@ -1163,10 +1206,12 @@ public class LinkedTransferQueue extends AbstractQueue * @throws IllegalArgumentException {@inheritDoc} */ public int drainTo(Collection c) { - if (c == null) + if (c == null) { throw new NullPointerException(); - if (c == this) + } + if (c == this) { throw new IllegalArgumentException(); + } int n = 0; for (E e; (e = poll()) != null;) { c.add(e); @@ -1180,10 +1225,12 @@ public class LinkedTransferQueue extends AbstractQueue * @throws IllegalArgumentException {@inheritDoc} */ public int drainTo(Collection c, int maxElements) { - if (c == null) + if (c == null) { throw new NullPointerException(); - if (c == this) + } + if (c == this) { throw new IllegalArgumentException(); + } int n = 0; for (E e; n < maxElements && (e = poll()) != null;) { c.add(e); @@ -1205,6 +1252,7 @@ public class LinkedTransferQueue extends AbstractQueue * * @return an iterator over the elements in this queue in proper sequence */ + @Override public Iterator iterator() { return new Itr(); } @@ -1218,10 +1266,12 @@ public class LinkedTransferQueue extends AbstractQueue * * @return {@code true} if this queue contains no elements */ + @Override public boolean isEmpty() { for (Node p = head; p != null; p = succ(p)) { - if (!p.isMatched()) + if (!p.isMatched()) { return !p.isData; + } } return true; } @@ -1242,6 +1292,7 @@ public class LinkedTransferQueue extends AbstractQueue * * @return the number of elements in this queue */ + @Override public int size() { return countOfMode(true); } @@ -1261,6 +1312,7 @@ public class LinkedTransferQueue extends AbstractQueue * @param o element to be removed from this queue, if present * @return {@code true} if this queue changed as a result of the call */ + @Override public boolean remove(Object o) { return findAndRemove(o); } @@ -1273,16 +1325,21 @@ public class LinkedTransferQueue extends AbstractQueue * @param o object to be checked for containment in this queue * @return {@code true} if this queue contains the specified element */ + @Override public boolean contains(Object o) { - if (o == null) return false; + if (o == null) { + return false; + } for (Node p = head; p != null; p = succ(p)) { Object item = p.item; if (p.isData) { - if (item != null && item != p && o.equals(item)) + if (item != null && item != p && o.equals(item)) { return true; + } } - else if (item == null) + else if (item == null) { break; + } } return false; } @@ -1309,8 +1366,9 @@ public class LinkedTransferQueue extends AbstractQueue private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject(); - for (E e : this) + for (E e : this) { s.writeObject(e); + } // Use trailing null as sentinel s.writeObject(null); } @@ -1327,10 +1385,11 @@ public class LinkedTransferQueue extends AbstractQueue for (;;) { @SuppressWarnings("unchecked") E item = (E) s.readObject(); - if (item == null) + if (item == null) { break; - else + } else { offer(item); + } } } diff --git a/src/main/java/org/jboss/netty/util/internal/StackTraceSimplifier.java b/src/main/java/org/jboss/netty/util/internal/StackTraceSimplifier.java index e188c7d49d..98ccb37248 100644 --- a/src/main/java/org/jboss/netty/util/internal/StackTraceSimplifier.java +++ b/src/main/java/org/jboss/netty/util/internal/StackTraceSimplifier.java @@ -19,9 +19,8 @@ import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; -import org.jboss.netty.channel.DefaultChannelPipeline; +import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.SimpleChannelHandler; -import org.jboss.netty.channel.StaticChannelPipeline; import org.jboss.netty.util.DebugUtil; import org.jboss.netty.util.ThreadRenamingRunnable; @@ -42,8 +41,8 @@ public final class StackTraceSimplifier { /** * Removes unnecessary {@link StackTraceElement}s from the specified * exception. {@link ThreadRenamingRunnable}, {@link SimpleChannelHandler}, - * {@link DefaultChannelPipeline}, and {@link StaticChannelPipeline} - * will be dropped from the trace. + * and {@link ChannelPipeline} implementations will be dropped from the + * trace. */ public static void simplify(Throwable e) { if (!SIMPLIFY_STACK_TRACE) { diff --git a/src/test/java/org/jboss/netty/buffer/ChannelBuffersTest.java b/src/test/java/org/jboss/netty/buffer/ChannelBuffersTest.java index bcf4de7db4..f5549338aa 100644 --- a/src/test/java/org/jboss/netty/buffer/ChannelBuffersTest.java +++ b/src/test/java/org/jboss/netty/buffer/ChannelBuffersTest.java @@ -27,7 +27,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import org.easymock.classextension.EasyMock; +import org.easymock.EasyMock; import org.junit.Test; /** diff --git a/src/test/java/org/jboss/netty/channel/StaticChannelPipelineTest.java b/src/test/java/org/jboss/netty/channel/StaticChannelPipelineTest.java index 0c3b8632fc..40ba05d682 100644 --- a/src/test/java/org/jboss/netty/channel/StaticChannelPipelineTest.java +++ b/src/test/java/org/jboss/netty/channel/StaticChannelPipelineTest.java @@ -21,6 +21,7 @@ import junit.framework.Assert; import org.junit.Test; +@SuppressWarnings("deprecation") public class StaticChannelPipelineTest { @Test diff --git a/src/test/java/org/jboss/netty/handler/codec/serialization/AbstractSocketObjectStreamEchoTest.java b/src/test/java/org/jboss/netty/handler/codec/serialization/AbstractSocketObjectStreamEchoTest.java index da24cd6920..ecce9c9a72 100644 --- a/src/test/java/org/jboss/netty/handler/codec/serialization/AbstractSocketObjectStreamEchoTest.java +++ b/src/test/java/org/jboss/netty/handler/codec/serialization/AbstractSocketObjectStreamEchoTest.java @@ -81,11 +81,13 @@ public abstract class AbstractSocketObjectStreamEchoTest { EchoHandler sh = new EchoHandler(); EchoHandler ch = new EchoHandler(); - sb.getPipeline().addLast("decoder", new ObjectDecoder()); + sb.getPipeline().addLast("decoder", new ObjectDecoder( + ClassResolvers.cacheDisabled(String.class.getClassLoader()))); sb.getPipeline().addLast("encoder", new ObjectEncoder()); sb.getPipeline().addLast("handler", sh); - cb.getPipeline().addLast("decoder", new ObjectDecoder()); + cb.getPipeline().addLast("decoder", new ObjectDecoder( + ClassResolvers.cacheDisabled(String.class.getClassLoader()))); cb.getPipeline().addLast("encoder", new ObjectEncoder()); cb.getPipeline().addLast("handler", ch); diff --git a/src/test/java/org/jboss/netty/handler/codec/serialization/SwitchableInputStreamTest.java b/src/test/java/org/jboss/netty/handler/codec/serialization/SwitchableInputStreamTest.java index f59f5f7691..4f3820cda6 100644 --- a/src/test/java/org/jboss/netty/handler/codec/serialization/SwitchableInputStreamTest.java +++ b/src/test/java/org/jboss/netty/handler/codec/serialization/SwitchableInputStreamTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.handler.codec.serialization; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import java.io.InputStream; diff --git a/src/test/java/org/jboss/netty/logging/InternalLoggerFactoryTest.java b/src/test/java/org/jboss/netty/logging/InternalLoggerFactoryTest.java index 71b69b4931..8f00638812 100644 --- a/src/test/java/org/jboss/netty/logging/InternalLoggerFactoryTest.java +++ b/src/test/java/org/jboss/netty/logging/InternalLoggerFactoryTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.logging; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import org.junit.After; diff --git a/src/test/java/org/jboss/netty/logging/JBossLoggerTest.java b/src/test/java/org/jboss/netty/logging/JBossLoggerTest.java index f68f3847a2..5db60ad4a2 100644 --- a/src/test/java/org/jboss/netty/logging/JBossLoggerTest.java +++ b/src/test/java/org/jboss/netty/logging/JBossLoggerTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.logging; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import org.junit.Test; diff --git a/src/test/java/org/jboss/netty/logging/JdkLoggerTest.java b/src/test/java/org/jboss/netty/logging/JdkLoggerTest.java index 1ef0b804fe..8ff78fd83f 100644 --- a/src/test/java/org/jboss/netty/logging/JdkLoggerTest.java +++ b/src/test/java/org/jboss/netty/logging/JdkLoggerTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.logging; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import java.util.logging.Level; diff --git a/src/test/java/org/jboss/netty/logging/Log4JLoggerTest.java b/src/test/java/org/jboss/netty/logging/Log4JLoggerTest.java index 3166deb2cf..f7b076d2bf 100644 --- a/src/test/java/org/jboss/netty/logging/Log4JLoggerTest.java +++ b/src/test/java/org/jboss/netty/logging/Log4JLoggerTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.logging; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import org.junit.Test; diff --git a/src/test/java/org/jboss/netty/util/internal/StackTraceSimplifierTest.java b/src/test/java/org/jboss/netty/util/internal/StackTraceSimplifierTest.java index 948770f085..e9d9294fc5 100644 --- a/src/test/java/org/jboss/netty/util/internal/StackTraceSimplifierTest.java +++ b/src/test/java/org/jboss/netty/util/internal/StackTraceSimplifierTest.java @@ -16,7 +16,6 @@ package org.jboss.netty.util.internal; import static org.easymock.EasyMock.*; -import static org.easymock.classextension.EasyMock.*; import static org.junit.Assert.*; import org.jboss.netty.buffer.ChannelBuffer;