Author: markt Date: Fri Jun 13 19:25:23 2014 New Revision: 1602501 URL: http://svn.apache.org/r1602501 Log: Backport change that added generics to Endpoint (needed for a backport to follow) The original commit message was: Create AbstractEndpoint.processSocketAsync() which will enable some further refactoring in the AJP processors. This requires adding generics to the endpoint so this patch also deals with the side effects of adding generics.
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProcessor.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalInputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1519623 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProcessor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProcessor.java Fri Jun 13 19:25:23 2014 @@ -36,7 +36,7 @@ public abstract class AbstractProcessor< protected Adapter adapter; protected AsyncStateMachine<S> asyncStateMachine; - protected AbstractEndpoint endpoint; + protected AbstractEndpoint<S> endpoint; protected Request request; protected Response response; protected SocketWrapper<S> socketWrapper = null; @@ -55,7 +55,7 @@ public abstract class AbstractProcessor< // NOOP } - public AbstractProcessor(AbstractEndpoint endpoint) { + public AbstractProcessor(AbstractEndpoint<S> endpoint) { this.endpoint = endpoint; asyncStateMachine = new AsyncStateMachine<S>(this); request = new Request(); @@ -86,7 +86,7 @@ public abstract class AbstractProcessor< /** * The endpoint receiving connections that are handled by this processor. */ - protected AbstractEndpoint getEndpoint() { + protected AbstractEndpoint<S> getEndpoint() { return endpoint; } Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Fri Jun 13 19:25:23 2014 @@ -227,7 +227,7 @@ public abstract class AbstractAjpProcess // ------------------------------------------------------------ Constructor - public AbstractAjpProcessor(int packetSize, AbstractEndpoint endpoint) { + public AbstractAjpProcessor(int packetSize, AbstractEndpoint<S> endpoint) { super(endpoint); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Fri Jun 13 19:25:23 2014 @@ -268,7 +268,7 @@ public abstract class AbstractHttp11Proc protected HttpUpgradeHandler httpUpgradeHandler = null; - public AbstractHttp11Processor(AbstractEndpoint endpoint) { + public AbstractHttp11Processor(AbstractEndpoint<S> endpoint) { super(endpoint); userDataHelper = new UserDataHelper(getLog()); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java Fri Jun 13 19:25:23 2014 @@ -233,7 +233,7 @@ public abstract class AbstractInputBuffe protected abstract boolean fill(boolean block) throws IOException; protected abstract void init(SocketWrapper<S> socketWrapper, - AbstractEndpoint endpoint) throws IOException; + AbstractEndpoint<S> endpoint) throws IOException; // --------------------------------------------------------- Public Methods Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Fri Jun 13 19:25:23 2014 @@ -311,7 +311,7 @@ public abstract class AbstractOutputBuff public abstract void init(SocketWrapper<S> socketWrapper, - AbstractEndpoint endpoint) throws IOException; + AbstractEndpoint<S> endpoint) throws IOException; public abstract void sendAck() throws IOException; Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java Fri Jun 13 19:25:23 2014 @@ -540,7 +540,7 @@ public class InternalAprInputBuffer exte @Override protected void init(SocketWrapper<Long> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<Long> endpoint) throws IOException { socket = socketWrapper.getSocket().longValue(); Socket.setrbb(this.socket, bbuf); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Fri Jun 13 19:25:23 2014 @@ -87,7 +87,7 @@ public class InternalAprOutputBuffer ext @Override public void init(SocketWrapper<Long> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<Long> endpoint) throws IOException { socket = socketWrapper.getSocket().longValue(); Socket.setsbb(this.socket, bbuf); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalInputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalInputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalInputBuffer.java Fri Jun 13 19:25:23 2014 @@ -455,7 +455,7 @@ public class InternalInputBuffer extends @Override protected void init(SocketWrapper<Socket> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<Socket> endpoint) throws IOException { inputStream = socketWrapper.getSocket().getInputStream(); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java Fri Jun 13 19:25:23 2014 @@ -749,7 +749,7 @@ public class InternalNioInputBuffer exte @Override protected void init(SocketWrapper<NioChannel> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<NioChannel> endpoint) throws IOException { socket = socketWrapper.getSocket(); socketReadBufferSize = Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java Fri Jun 13 19:25:23 2014 @@ -177,7 +177,7 @@ public class InternalNioOutputBuffer ext @Override public void init(SocketWrapper<NioChannel> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<NioChannel> endpoint) throws IOException { socket = socketWrapper.getSocket(); pool = ((NioEndpoint)endpoint).getSelectorPool(); Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/InternalOutputBuffer.java Fri Jun 13 19:25:23 2014 @@ -97,7 +97,7 @@ public class InternalOutputBuffer extend @Override public void init(SocketWrapper<Socket> socketWrapper, - AbstractEndpoint endpoint) throws IOException { + AbstractEndpoint<Socket> endpoint) throws IOException { outputStream = socketWrapper.getSocket().getOutputStream(); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Fri Jun 13 19:25:23 2014 @@ -43,7 +43,7 @@ import org.apache.tomcat.util.threads.Th * @author Mladen Turk * @author Remy Maucherat */ -public abstract class AbstractEndpoint { +public abstract class AbstractEndpoint<S> { // -------------------------------------------------------------- Constants protected static final StringManager sm = StringManager.getManager("org.apache.tomcat.util.net.res"); @@ -621,6 +621,12 @@ public abstract class AbstractEndpoint { } + // ---------------------------------------------- Request processing methods + + protected abstract void processSocketAsync(SocketWrapper<S> socketWrapper, + SocketStatus socketStatus); + + // ------------------------------------------------------- Lifecycle methods /* Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Jun 13 19:25:23 2014 @@ -65,7 +65,7 @@ import org.apache.tomcat.util.security.P * @author Mladen Turk * @author Remy Maucherat */ -public class AprEndpoint extends AbstractEndpoint { +public class AprEndpoint extends AbstractEndpoint<Long> { // -------------------------------------------------------------- Constants @@ -852,7 +852,8 @@ public class AprEndpoint extends Abstrac } - public boolean processSocketAsync(SocketWrapper<Long> socket, + @Override + public void processSocketAsync(SocketWrapper<Long> socket, SocketStatus status) { try { synchronized (socket) { @@ -873,7 +874,7 @@ public class AprEndpoint extends Abstrac if (executor == null) { log.warn(sm.getString("endpoint.warn.noExector", socket, status)); - return false; + return; } else { executor.execute(proc); } @@ -889,15 +890,12 @@ public class AprEndpoint extends Abstrac } } catch (RejectedExecutionException x) { log.warn("Socket processing request was rejected for: "+socket, x); - return false; } catch (Throwable t) { ExceptionUtils.handleThrowable(t); // This means we got an OOM or similar creating a thread, or that // the pool and its queue are full log.error(sm.getString("endpoint.process.fail"), t); - return false; } - return true; } private void closeSocket(long socket) { Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/DefaultServerSocketFactory.java Fri Jun 13 19:25:23 2014 @@ -35,7 +35,7 @@ public class DefaultServerSocketFactory * * @param endpoint Unused in this implementation. */ - public DefaultServerSocketFactory(AbstractEndpoint endpoint) { + public DefaultServerSocketFactory(AbstractEndpoint<?> endpoint) { } @Override Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Fri Jun 13 19:25:23 2014 @@ -51,7 +51,7 @@ import org.apache.tomcat.util.security.P * @author Yoav Shapira * @author Remy Maucherat */ -public class JIoEndpoint extends AbstractEndpoint { +public class JIoEndpoint extends AbstractEndpoint<Socket> { // -------------------------------------------------------------- Constants @@ -551,12 +551,9 @@ public class JIoEndpoint extends Abstrac * @param status Only OPEN and TIMEOUT are used. The others are used for * Comet requests that are not supported by the BIO (JIO) * Connector. - * @return <code>true</code> if the socket is passed to the - * executor, <code>false</code> if something went wrong. - * Returning <code>false</code> is an indication to close - * the socket immediately. */ - public boolean processSocketAsync(SocketWrapper<Socket> socket, + @Override + public void processSocketAsync(SocketWrapper<Socket> socket, SocketStatus status) { try { synchronized (socket) { @@ -575,7 +572,7 @@ public class JIoEndpoint extends Abstrac } // During shutdown, executor may be null - avoid NPE if (!running) { - return false; + return; } getExecutor().execute(proc); //TODO gotta catch RejectedExecutionException and properly handle it @@ -594,9 +591,7 @@ public class JIoEndpoint extends Abstrac // This means we got an OOM or similar creating a thread, or that // the pool and its queue are full log.error(sm.getString("endpoint.process.fail"), t); - return false; } - return true; } protected ConcurrentLinkedQueue<SocketWrapper<Socket>> waitingRequests = Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Jun 13 19:25:23 2014 @@ -70,7 +70,7 @@ import org.apache.tomcat.util.net.jsse.N * @author Remy Maucherat * @author Filip Hanik */ -public class NioEndpoint extends AbstractEndpoint { +public class NioEndpoint extends AbstractEndpoint<NioChannel> { // -------------------------------------------------------------- Constants @@ -721,6 +721,22 @@ public class NioEndpoint extends Abstrac return true; } + + @Override + protected void processSocketAsync(SocketWrapper<NioChannel> socketWrapper, + SocketStatus socketStatus) { + dispatchForEvent(socketWrapper.getSocket(), socketStatus, true); + } + + public boolean dispatchForEvent(NioChannel socket, SocketStatus status, boolean dispatch) { + if (dispatch && status == SocketStatus.OPEN_READ) { + socket.getPoller().add(socket, OP_CALLBACK); + } else { + processSocket(socket,status,dispatch); + } + return true; + } + public boolean processSocket(NioChannel socket, SocketStatus status, boolean dispatch) { try { KeyAttachment attachment = (KeyAttachment)socket.getAttachment(false); Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/SSLImplementation.java Fri Jun 13 19:25:23 2014 @@ -81,11 +81,11 @@ public abstract class SSLImplementation public abstract String getImplementationName(); public abstract ServerSocketFactory getServerSocketFactory( - AbstractEndpoint endpoint); + AbstractEndpoint<?> endpoint); public abstract SSLSupport getSSLSupport(Socket sock); public abstract SSLSupport getSSLSupport(SSLSession session); - public abstract SSLUtil getSSLUtil(AbstractEndpoint ep); + public abstract SSLUtil getSSLUtil(AbstractEndpoint<?> ep); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSEImplementation.java Fri Jun 13 19:25:23 2014 @@ -43,7 +43,7 @@ public class JSSEImplementation extends } @Override - public ServerSocketFactory getServerSocketFactory(AbstractEndpoint endpoint) { + public ServerSocketFactory getServerSocketFactory(AbstractEndpoint<?> endpoint) { return new JSSESocketFactory(endpoint); } @@ -58,7 +58,7 @@ public class JSSEImplementation extends } @Override - public SSLUtil getSSLUtil(AbstractEndpoint endpoint) { + public SSLUtil getSSLUtil(AbstractEndpoint<?> endpoint) { return new JSSESocketFactory(endpoint); } } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java Fri Jun 13 19:25:23 2014 @@ -142,7 +142,7 @@ public class JSSESocketFactory implement } - private AbstractEndpoint endpoint; + private AbstractEndpoint<?> endpoint; protected SSLServerSocketFactory sslProxy = null; protected String[] enabledCiphers; @@ -160,7 +160,7 @@ public class JSSESocketFactory implement protected boolean wantClientAuth = false; - public JSSESocketFactory (AbstractEndpoint endpoint) { + public JSSESocketFactory (AbstractEndpoint<?> endpoint) { this.endpoint = endpoint; } Modified: tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java?rev=1602501&r1=1602500&r2=1602501&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/jsse/TesterBug50640SslImpl.java Fri Jun 13 19:25:23 2014 @@ -26,7 +26,7 @@ public class TesterBug50640SslImpl exten @Override public ServerSocketFactory getServerSocketFactory( - AbstractEndpoint endpoint) { + AbstractEndpoint<?> endpoint) { // Check the custom attribute is visible & correcly set String flag = endpoint.getProperty(PROPERTY_NAME); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org