You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2012/12/18 17:12:21 UTC
svn commit: r1423508 - in /httpcomponents/httpcore/trunk:
httpcore-ab/src/test/java/org/apache/http/benchmark/
httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/
httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/
httpcore-nio/src/mai...
Author: olegk
Date: Tue Dec 18 16:12:13 2012
New Revision: 1423508
URL: http://svn.apache.org/viewvc?rev=1423508&view=rev
Log:
Use Asserts to verify object state
Modified:
httpcomponents/httpcore/trunk/httpcore-ab/src/test/java/org/apache/http/benchmark/HttpServer.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractContentEncoder.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIODispatch.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/entity/BufferingNHttpEntity.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/AsyncNHttpServiceHandler.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncRequestConsumer.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncResponseConsumer.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestExecutor.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/util/SharedOutputBuffer.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/RequestExecutionHandler.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestThrottlingNHttpHandlers.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/util/ContentEncoderMock.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/ProtocolVersion.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/entity/BasicHttpEntity.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicListHeaderIterator.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/RouteSpecificPool.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Args.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Asserts.java
httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/testserver/HttpServer.java
Modified: httpcomponents/httpcore/trunk/httpcore-ab/src/test/java/org/apache/http/benchmark/HttpServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-ab/src/test/java/org/apache/http/benchmark/HttpServer.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-ab/src/test/java/org/apache/http/benchmark/HttpServer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-ab/src/test/java/org/apache/http/benchmark/HttpServer.java Tue Dec 18 16:12:13 2012
@@ -51,6 +51,7 @@ import org.apache.http.protocol.Response
import org.apache.http.protocol.ResponseDate;
import org.apache.http.protocol.ResponseServer;
import org.apache.http.protocol.UriHttpRequestHandlerMapper;
+import org.apache.http.util.Asserts;
public class HttpServer {
@@ -96,9 +97,7 @@ public class HttpServer {
}
public void start() {
- if (this.listener != null) {
- throw new IllegalStateException("Listener already running");
- }
+ Asserts.check(this.listener == null, "Listener already running");
this.listener = new Thread(new Runnable() {
public void run() {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractContentEncoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractContentEncoder.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractContentEncoder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/AbstractContentEncoder.java Tue Dec 18 16:12:13 2012
@@ -35,6 +35,7 @@ import org.apache.http.impl.io.HttpTrans
import org.apache.http.nio.ContentEncoder;
import org.apache.http.nio.reactor.SessionOutputBuffer;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Abstract {@link ContentEncoder} that serves as a base for all content
@@ -81,9 +82,7 @@ public abstract class AbstractContentEnc
}
protected void assertNotCompleted() {
- if (this.completed) {
- throw new IllegalStateException("Encoding process already completed");
- }
+ Asserts.check(!this.completed, "Encoding process already completed");
}
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIODispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIODispatch.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIODispatch.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIODispatch.java Tue Dec 18 16:12:13 2012
@@ -33,6 +33,7 @@ import org.apache.http.annotation.Immuta
import org.apache.http.nio.reactor.IOEventDispatch;
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.reactor.ssl.SSLIOSession;
+import org.apache.http.util.Asserts;
/**
* Abstract {@link IOEventDispatch} implementation that supports both plain (non-encrypted)
@@ -59,9 +60,7 @@ public abstract class AbstractIODispatch
protected abstract void onTimeout(T conn);
private void ensureNotNull(final T conn) {
- if (conn == null) {
- throw new IllegalStateException("HTTP connection is null");
- }
+ Asserts.notNull(conn, "HTTP connection");
}
public void connected(final IOSession session) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java Tue Dec 18 16:12:13 2012
@@ -47,6 +47,7 @@ import org.apache.http.nio.reactor.IORea
import org.apache.http.nio.reactor.IOReactorStatus;
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Generic implementation of {@link IOReactor} that can used as a subclass
@@ -458,9 +459,7 @@ public abstract class AbstractIOReactor
private boolean queueInterestOps(final InterestOpEntry entry) {
// validity checks
- if (!this.interestOpsQueueing) {
- throw new IllegalStateException("Interest ops queueing not enabled");
- }
+ Asserts.check(this.interestOpsQueueing, "Interest ops queueing not enabled");
if (entry == null) {
return false;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.java Tue Dec 18 16:12:13 2012
@@ -52,6 +52,7 @@ import org.apache.http.params.BasicHttpP
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Generic implementation of {@link IOReactor} that can run multiple
@@ -312,9 +313,8 @@ public abstract class AbstractMultiworke
this.statusLock.notifyAll();
return;
}
- if (this.status.compareTo(IOReactorStatus.INACTIVE) != 0) {
- throw new IllegalStateException("Illegal state: " + this.status);
- }
+ Asserts.check(this.status.compareTo(IOReactorStatus.INACTIVE) == 0,
+ "Illegal state %s", this.status);
this.status = IOReactorStatus.ACTIVE;
// Start I/O dispatchers
for (int i = 0; i < this.dispatchers.length; i++) {
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.java Tue Dec 18 16:12:13 2012
@@ -47,6 +47,7 @@ import org.apache.http.nio.reactor.IORea
import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.nio.reactor.SessionRequestCallback;
import org.apache.http.params.HttpParams;
+import org.apache.http.util.Asserts;
/**
* Default implementation of {@link ConnectingIOReactor}. This class extends
@@ -222,10 +223,8 @@ public class DefaultConnectingIOReactor
final SocketAddress localAddress,
final Object attachment,
final SessionRequestCallback callback) {
-
- if (this.status.compareTo(IOReactorStatus.ACTIVE) > 0) {
- throw new IllegalStateException("I/O reactor has been shut down");
- }
+ Asserts.check(this.status.compareTo(IOReactorStatus.ACTIVE) <= 0,
+ "I/O reactor has been shut down");
SessionRequestImpl sessionRequest = new SessionRequestImpl(
remoteAddress, localAddress, attachment, callback);
sessionRequest.setConnectTimeout(this.config.getConnectTimeout());
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.java Tue Dec 18 16:12:13 2012
@@ -47,6 +47,7 @@ import org.apache.http.nio.reactor.IORea
import org.apache.http.nio.reactor.ListenerEndpoint;
import org.apache.http.nio.reactor.ListeningIOReactor;
import org.apache.http.params.HttpParams;
+import org.apache.http.util.Asserts;
/**
* Default implementation of {@link ListeningIOReactor}. This class extends
@@ -209,9 +210,8 @@ public class DefaultListeningIOReactor e
}
public ListenerEndpoint listen(final SocketAddress address) {
- if (this.status.compareTo(IOReactorStatus.ACTIVE) > 0) {
- throw new IllegalStateException("I/O reactor has been shut down");
- }
+ Asserts.check(this.status.compareTo(IOReactorStatus.ACTIVE) <= 0,
+ "I/O reactor has been shut down");
ListenerEndpointImpl request = createEndpoint(address);
this.requestQueue.add(request);
this.selector.wakeup();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/entity/BufferingNHttpEntity.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/entity/BufferingNHttpEntity.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/entity/BufferingNHttpEntity.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/entity/BufferingNHttpEntity.java Tue Dec 18 16:12:13 2012
@@ -41,6 +41,7 @@ import org.apache.http.nio.protocol.Basi
import org.apache.http.nio.util.ByteBufferAllocator;
import org.apache.http.nio.util.SimpleInputBuffer;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* A {@link ConsumingNHttpEntity} that consumes content into a buffer. The
@@ -95,12 +96,8 @@ public class BufferingNHttpEntity extend
*/
@Override
public InputStream getContent() throws IOException {
- if (!this.finished) {
- throw new IllegalStateException("Entity content has not been fully received");
- }
- if (this.consumed) {
- throw new IllegalStateException("Entity content has been consumed");
- }
+ Asserts.check(this.finished, "Entity content has not been fully received");
+ Asserts.check(!this.consumed, "Entity content has been consumed");
this.consumed = true;
return new ContentInputStream(this.buffer);
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java Tue Dec 18 16:12:13 2012
@@ -53,6 +53,7 @@ import org.apache.http.pool.ConnPoolCont
import org.apache.http.pool.PoolEntry;
import org.apache.http.pool.PoolStats;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Abstract non-blocking connection pool.
@@ -168,9 +169,7 @@ public abstract class AbstractNIOConnPoo
final FutureCallback<E> callback) {
Args.notNull(route, "Route");
Args.notNull(tunit, "Time unit");
- if (this.isShutDown) {
- throw new IllegalStateException("Session pool has been shut down");
- }
+ Asserts.check(!this.isShutDown, "Connection pool shut down");
this.lock.lock();
try {
long timeout = connectTimeout > 0 ? tunit.toMillis(connectTimeout) : 0;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/pool/RouteSpecificPool.java Tue Dec 18 16:12:13 2012
@@ -39,6 +39,7 @@ import org.apache.http.concurrent.BasicF
import org.apache.http.nio.reactor.SessionRequest;
import org.apache.http.pool.PoolEntry;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
@NotThreadSafe
abstract class RouteSpecificPool<T, C, E extends PoolEntry<T, C>> {
@@ -121,10 +122,7 @@ abstract class RouteSpecificPool<T, C, E
public void free(final E entry, boolean reusable) {
Args.notNull(entry, "Pool entry");
boolean found = this.leased.remove(entry);
- if (!found) {
- throw new IllegalStateException("Entry " + entry +
- " has not been leased from this pool");
- }
+ Asserts.check(found, "Entry %s has not been leased from this pool", entry);
if (reusable) {
this.available.addFirst(entry);
}
@@ -138,9 +136,7 @@ abstract class RouteSpecificPool<T, C, E
private BasicFuture<E> removeRequest(final SessionRequest request) {
BasicFuture<E> future = this.pending.remove(request);
- if (future == null) {
- throw new IllegalStateException("Invalid session request");
- }
+ Asserts.notNull(future, "Session request future");
return future;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/AsyncNHttpServiceHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/AsyncNHttpServiceHandler.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/AsyncNHttpServiceHandler.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/AsyncNHttpServiceHandler.java Tue Dec 18 16:12:13 2012
@@ -61,6 +61,7 @@ import org.apache.http.protocol.HttpCont
import org.apache.http.protocol.HttpExpectationVerifier;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
import org.apache.http.util.EncodingUtils;
/**
@@ -658,27 +659,21 @@ public class AsyncNHttpServiceHandler ex
public void submitResponse(final HttpResponse response) {
Args.notNull(response, "Response");
- if (this.triggered) {
- throw new IllegalStateException("Response already triggered");
- }
+ Asserts.check(!this.triggered, "Response already triggered");
this.triggered = true;
this.connState.setResponse(response);
this.iocontrol.requestOutput();
}
public void handleException(final HttpException ex) {
- if (this.triggered) {
- throw new IllegalStateException("Response already triggered");
- }
+ Asserts.check(!this.triggered, "Response already triggered");
this.triggered = true;
this.connState.setHttpException(ex);
this.iocontrol.requestOutput();
}
public void handleException(final IOException ex) {
- if (this.triggered) {
- throw new IllegalStateException("Response already triggered");
- }
+ Asserts.check(!this.triggered, "Response already triggered");
this.triggered = true;
this.connState.setIOException(ex);
this.iocontrol.requestOutput();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncRequestConsumer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncRequestConsumer.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncRequestConsumer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncRequestConsumer.java Tue Dec 18 16:12:13 2012
@@ -40,6 +40,7 @@ import org.apache.http.nio.entity.Conten
import org.apache.http.nio.util.HeapByteBufferAllocator;
import org.apache.http.nio.util.SimpleInputBuffer;
import org.apache.http.protocol.HttpContext;
+import org.apache.http.util.Asserts;
/**
* Basic implementation of {@link HttpAsyncRequestConsumer}. Please note that
@@ -81,9 +82,7 @@ public class BasicAsyncRequestConsumer e
@Override
protected void onContentReceived(
final ContentDecoder decoder, final IOControl ioctrl) throws IOException {
- if (this.buf == null) {
- throw new IllegalStateException("Content buffer is null");
- }
+ Asserts.notNull(this.buf, "Content buffer");
this.buf.consumeContent(decoder);
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncResponseConsumer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncResponseConsumer.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncResponseConsumer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/BasicAsyncResponseConsumer.java Tue Dec 18 16:12:13 2012
@@ -39,6 +39,7 @@ import org.apache.http.nio.entity.Conten
import org.apache.http.nio.util.HeapByteBufferAllocator;
import org.apache.http.nio.util.SimpleInputBuffer;
import org.apache.http.protocol.HttpContext;
+import org.apache.http.util.Asserts;
/**
* Basic implementation of {@link HttpAsyncResponseConsumer}. Please note that
@@ -79,9 +80,7 @@ public class BasicAsyncResponseConsumer
@Override
protected void onContentReceived(
final ContentDecoder decoder, final IOControl ioctrl) throws IOException {
- if (this.buf == null) {
- throw new IllegalStateException("Content buffer is null");
- }
+ Asserts.notNull(this.buf, "Content buffer");
this.buf.consumeContent(decoder);
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestExecutor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestExecutor.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestExecutor.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestExecutor.java Tue Dec 18 16:12:13 2012
@@ -50,6 +50,7 @@ import org.apache.http.protocol.Executio
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* <tt>HttpAsyncRequestExecutor</tt> is a fully asynchronous HTTP client side
@@ -306,9 +307,7 @@ public class HttpAsyncRequestExecutor im
}
private State ensureNotNull(final State state) {
- if (state == null) {
- throw new IllegalStateException("HTTP exchange state is null");
- }
+ Asserts.notNull(state, "HTTP exchange state");
return state;
}
@@ -317,9 +316,7 @@ public class HttpAsyncRequestExecutor im
}
private HttpAsyncRequestExecutionHandler<?> ensureNotNull(final HttpAsyncRequestExecutionHandler<?> handler) {
- if (handler == null) {
- throw new IllegalStateException("HTTP exchange handler is null");
- }
+ Asserts.notNull(handler, "HTTP exchange handler");
return handler;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java Tue Dec 18 16:12:13 2012
@@ -61,6 +61,7 @@ import org.apache.http.protocol.Executio
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* <tt>HttpAsyncService</tt> is a fully asynchronous HTTP server side protocol
@@ -414,16 +415,12 @@ public class HttpAsyncService implements
}
private State ensureNotNull(final State state) {
- if (state == null) {
- throw new IllegalStateException("HTTP exchange state is null");
- }
+ Asserts.notNull(state, "HTTP exchange state");
return state;
}
private HttpAsyncRequestConsumer<Object> ensureNotNull(final HttpAsyncRequestConsumer<Object> requestConsumer) {
- if (requestConsumer == null) {
- throw new IllegalStateException("Request consumer is null");
- }
+ Asserts.notNull(requestConsumer, "Request consumer");
return requestConsumer;
}
@@ -765,9 +762,7 @@ public class HttpAsyncService implements
public void setCallback(final Cancellable cancellable) {
synchronized (this) {
- if (this.completed) {
- throw new IllegalStateException("Response already submitted");
- }
+ Asserts.check(!this.completed, "Response already submitted");
if (this.state.isTerminated() && cancellable != null) {
cancellable.cancel();
} else {
@@ -780,9 +775,7 @@ public class HttpAsyncService implements
public void submitResponse(final HttpAsyncResponseProducer responseProducer) {
Args.notNull(responseProducer, "Response producer");
synchronized (this) {
- if (this.completed) {
- throw new IllegalStateException("Response already submitted");
- }
+ Asserts.check(!this.completed, "Response already submitted");
this.completed = true;
if (!this.state.isTerminated()) {
this.state.setResponseProducer(responseProducer);
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/reactor/ssl/SSLIOSession.java Tue Dec 18 16:12:13 2012
@@ -49,6 +49,7 @@ import org.apache.http.nio.reactor.IOSes
import org.apache.http.nio.reactor.SessionBufferStatus;
import org.apache.http.nio.reactor.SocketAccessor;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* <tt>SSLIOSession</tt> is a decorator class intended to transparently extend
@@ -161,9 +162,7 @@ public class SSLIOSession implements IOS
* @throws IllegalStateException if the session has already been initialized.
*/
public synchronized void initialize(final SSLMode mode) throws SSLException {
- if (this.initialized) {
- throw new IllegalStateException("SSL I/O session already initialized");
- }
+ Asserts.check(!this.initialized, "SSL I/O session already initialized");
if (this.status >= IOSession.CLOSING) {
return;
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/util/SharedOutputBuffer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/util/SharedOutputBuffer.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/util/SharedOutputBuffer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/util/SharedOutputBuffer.java Tue Dec 18 16:12:13 2012
@@ -35,6 +35,7 @@ import org.apache.http.annotation.Thread
import org.apache.http.nio.ContentEncoder;
import org.apache.http.nio.IOControl;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Implementation of the {@link ContentOutputBuffer} interface that can be
@@ -214,9 +215,7 @@ public class SharedOutputBuffer extends
}
this.lock.lock();
try {
- if (this.shutdown || this.endOfStream) {
- throw new IllegalStateException("Buffer already closed for writing");
- }
+ Asserts.check(!this.shutdown && !this.endOfStream, "Buffer already closed for writing");
setInputMode();
int remaining = len;
while (remaining > 0) {
@@ -244,9 +243,7 @@ public class SharedOutputBuffer extends
public void write(int b) throws IOException {
this.lock.lock();
try {
- if (this.shutdown || this.endOfStream) {
- throw new IllegalStateException("Buffer already closed for writing");
- }
+ Asserts.check(!this.shutdown && !this.endOfStream, "Buffer already closed for writing");
setInputMode();
if (!this.buffer.hasRemaining()) {
flushContent();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/RequestExecutionHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/RequestExecutionHandler.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/RequestExecutionHandler.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/RequestExecutionHandler.java Tue Dec 18 16:12:13 2012
@@ -39,6 +39,7 @@ import org.apache.http.nio.protocol.Http
import org.apache.http.nio.protocol.NHttpRequestExecutionHandler;
import org.apache.http.nio.util.HeapByteBufferAllocator;
import org.apache.http.protocol.HttpContext;
+import org.apache.http.util.Asserts;
import org.apache.http.util.EntityUtils;
@Deprecated
@@ -55,9 +56,7 @@ abstract class RequestExecutionHandler
@SuppressWarnings("unchecked")
Queue<Job> queue = (Queue<Job>) context.getAttribute("queue");
- if (queue == null) {
- throw new IllegalStateException("Queue is null");
- }
+ Asserts.notNull(queue, "Queue");
Job testjob = queue.poll();
context.setAttribute("job", testjob);
@@ -77,9 +76,7 @@ abstract class RequestExecutionHandler
public void handleResponse(final HttpResponse response, final HttpContext context) {
Job testjob = (Job) context.removeAttribute("job");
- if (testjob == null) {
- throw new IllegalStateException("TestJob is null");
- }
+ Asserts.notNull(testjob, "Test job");
int statusCode = response.getStatusLine().getStatusCode();
String content = null;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestThrottlingNHttpHandlers.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestThrottlingNHttpHandlers.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestThrottlingNHttpHandlers.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/integration/TestThrottlingNHttpHandlers.java Tue Dec 18 16:12:13 2012
@@ -90,6 +90,7 @@ import org.apache.http.nio.testserver.Lo
import org.apache.http.nio.testserver.LoggingServerConnectionFactory;
import org.apache.http.nio.testserver.SimpleEventListener;
import org.apache.http.nio.testserver.SimpleHttpRequestHandlerResolver;
+import org.apache.http.util.Asserts;
import org.apache.http.util.EncodingUtils;
import org.junit.After;
import org.junit.Assert;
@@ -695,9 +696,7 @@ public class TestThrottlingNHttpHandlers
@SuppressWarnings("unchecked")
Queue<Job> queue = (Queue<Job>) context.getAttribute("queue");
- if (queue == null) {
- throw new IllegalStateException("Queue is null");
- }
+ Asserts.notNull(queue, "Queue");
Job testjob = queue.poll();
context.setAttribute("job", testjob);
@@ -720,9 +719,7 @@ public class TestThrottlingNHttpHandlers
public void handleResponse(final HttpResponse response, final HttpContext context) {
Job testjob = (Job) context.removeAttribute("job");
- if (testjob == null) {
- throw new IllegalStateException("TestJob is null");
- }
+ Asserts.notNull(testjob, "Test job");
int statusCode = response.getStatusLine().getStatusCode();
String content = null;
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/util/ContentEncoderMock.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/util/ContentEncoderMock.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/util/ContentEncoderMock.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/util/ContentEncoderMock.java Tue Dec 18 16:12:13 2012
@@ -34,6 +34,7 @@ import java.nio.channels.WritableByteCha
import org.apache.http.impl.io.HttpTransportMetricsImpl;
import org.apache.http.impl.nio.codecs.AbstractContentEncoder;
import org.apache.http.nio.reactor.SessionOutputBuffer;
+import org.apache.http.util.Asserts;
public class ContentEncoderMock extends AbstractContentEncoder {
@@ -61,9 +62,7 @@ public class ContentEncoderMock extends
if (src == null) {
return 0;
}
- if (this.completed) {
- throw new IllegalStateException("Decoding process already completed");
- }
+ Asserts.check(!this.completed, "Decoding process already completed");
return this.channel.write(src);
}
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/ProtocolVersion.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/ProtocolVersion.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/ProtocolVersion.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/ProtocolVersion.java Tue Dec 18 16:12:13 2012
@@ -200,10 +200,8 @@ public class ProtocolVersion implements
*/
public int compareToVersion(ProtocolVersion that) {
Args.notNull(that, "Protocol version");
- if (!this.protocol.equals(that.protocol)) {
- throw new IllegalArgumentException("Versions for different protocols " +
- "cannot be compared. " + this + " " + that);
- }
+ Args.check(this.protocol.equals(that.protocol),
+ "Versions for different protocols cannot be compared: %s %s", this, that);
int delta = getMajor() - that.getMajor();
if (delta == 0) {
delta = getMinor() - that.getMinor();
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/entity/BasicHttpEntity.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/entity/BasicHttpEntity.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/entity/BasicHttpEntity.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/entity/BasicHttpEntity.java Tue Dec 18 16:12:13 2012
@@ -33,6 +33,7 @@ import java.io.OutputStream;
import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* A generic streamed, non-repeatable entity that obtains its content
@@ -70,11 +71,8 @@ public class BasicHttpEntity extends Abs
* if the content has not been provided
*/
public InputStream getContent() throws IllegalStateException {
- if (this.content == null) {
- throw new IllegalStateException("Content has not been provided");
- }
+ Asserts.check(this.content != null, "Content has not been provided");
return this.content;
-
}
/**
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java Tue Dec 18 16:12:13 2012
@@ -43,6 +43,7 @@ import org.apache.http.io.SessionOutputB
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Implementation of a client-side HTTP connection that can be bound to an
@@ -66,16 +67,12 @@ public class SocketHttpClientConnection
}
protected void assertNotOpen() {
- if (this.open) {
- throw new IllegalStateException("Connection is already open");
- }
+ Asserts.check(!this.open, "Connection is already open");
}
@Override
protected void assertOpen() {
- if (!this.open) {
- throw new IllegalStateException("Connection is not open");
- }
+ Asserts.check(this.open, "Connection is not open");
}
/**
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java Tue Dec 18 16:12:13 2012
@@ -43,6 +43,7 @@ import org.apache.http.io.SessionOutputB
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Implementation of a server-side HTTP connection that can be bound to a
@@ -65,16 +66,12 @@ public class SocketHttpServerConnection
}
protected void assertNotOpen() {
- if (this.open) {
- throw new IllegalStateException("Connection is already open");
- }
+ Asserts.check(!this.open, "Connection is already open");
}
@Override
protected void assertOpen() {
- if (!this.open) {
- throw new IllegalStateException("Connection is not open");
- }
+ Asserts.check(this.open, "Connection is not open");
}
/**
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicListHeaderIterator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicListHeaderIterator.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicListHeaderIterator.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/message/BasicListHeaderIterator.java Tue Dec 18 16:12:13 2012
@@ -34,6 +34,7 @@ import org.apache.http.Header;
import org.apache.http.HeaderIterator;
import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Implementation of a {@link HeaderIterator} based on a {@link List}.
@@ -178,10 +179,7 @@ public class BasicListHeaderIterator imp
*/
public void remove()
throws UnsupportedOperationException {
-
- if (this.lastIndex < 0) {
- throw new IllegalStateException("No header to remove.");
- }
+ Asserts.check(this.lastIndex >= 0, "No header to remove");
this.allHeaders.remove(this.lastIndex);
this.lastIndex = -1;
this.currentIndex--; // adjust for the removed element
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/AbstractConnPool.java Tue Dec 18 16:12:13 2012
@@ -43,6 +43,7 @@ import java.util.concurrent.locks.Reentr
import org.apache.http.annotation.ThreadSafe;
import org.apache.http.concurrent.FutureCallback;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
/**
* Abstract synchronous (blocking) pool of connections.
@@ -153,9 +154,7 @@ public abstract class AbstractConnPool<T
*/
public Future<E> lease(final T route, final Object state, final FutureCallback<E> callback) {
Args.notNull(route, "Route");
- if (this.isShutDown) {
- throw new IllegalStateException("Connection pool shut down");
- }
+ Asserts.check(!this.isShutDown, "Connection pool shut down");
return new PoolEntryFuture<E>(this.lock, callback) {
@Override
@@ -206,9 +205,7 @@ public abstract class AbstractConnPool<T
RouteSpecificPool<T, C, E> pool = getPool(route);
E entry = null;
while (entry == null) {
- if (this.isShutDown) {
- throw new IllegalStateException("Connection pool shut down");
- }
+ Asserts.check(!this.isShutDown, "Connection pool shut down");
for (;;) {
entry = pool.getFree(state);
if (entry == null) {
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/RouteSpecificPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/RouteSpecificPool.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/RouteSpecificPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/pool/RouteSpecificPool.java Tue Dec 18 16:12:13 2012
@@ -33,6 +33,7 @@ import java.util.Set;
import org.apache.http.annotation.NotThreadSafe;
import org.apache.http.util.Args;
+import org.apache.http.util.Asserts;
@NotThreadSafe
abstract class RouteSpecificPool<T, C, E extends PoolEntry<T, C>> {
@@ -119,10 +120,7 @@ abstract class RouteSpecificPool<T, C, E
public void free(final E entry, boolean reusable) {
Args.notNull(entry, "Pool entry");
boolean found = this.leased.remove(entry);
- if (!found) {
- throw new IllegalStateException("Entry " + entry +
- " has not been leased from this pool");
- }
+ Asserts.check(found, "Entry %s has not been leased from this pool", entry);
if (reusable) {
this.available.addFirst(entry);
}
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Args.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Args.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Args.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Args.java Tue Dec 18 16:12:13 2012
@@ -37,6 +37,12 @@ public class Args {
}
}
+ public static void check(boolean expression, final String message, final Object... args) {
+ if (!expression) {
+ throw new IllegalArgumentException(String.format(message, args));
+ }
+ }
+
public static <T> T notNull(final T argument, final String name) {
if (argument == null) {
throw new IllegalArgumentException(name + " may not be null");
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Asserts.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Asserts.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Asserts.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/util/Asserts.java Tue Dec 18 16:12:13 2012
@@ -35,6 +35,12 @@ public class Asserts {
}
}
+ public static void check(boolean expression, final String message, final Object... args) {
+ if (!expression) {
+ throw new IllegalStateException(String.format(message, args));
+ }
+ }
+
public static void notNull(final Object object, final String name) {
if (object == null) {
throw new IllegalStateException(name + " is null");
Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/testserver/HttpServer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/testserver/HttpServer.java?rev=1423508&r1=1423507&r2=1423508&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/testserver/HttpServer.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/testserver/HttpServer.java Tue Dec 18 16:12:13 2012
@@ -53,6 +53,7 @@ import org.apache.http.protocol.Response
import org.apache.http.protocol.ResponseDate;
import org.apache.http.protocol.ResponseServer;
import org.apache.http.protocol.UriHttpRequestHandlerMapper;
+import org.apache.http.util.Asserts;
public class HttpServer {
@@ -117,9 +118,7 @@ public class HttpServer {
}
public void start() {
- if (this.listener != null) {
- throw new IllegalStateException("Listener already running");
- }
+ Asserts.check(this.listener == null, "Listener already running");
this.listener = new Thread(new Runnable() {
public void run() {