Author: norman
Date: Fri Nov 18 14:25:15 2011
New Revision: 1203663
URL: http://svn.apache.org/viewvc?rev=1203663&view=rev
Log:
Allow to also access the local bound address. See PROTOCOLS-50
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java?rev=1203663&r1=1203662&r2=1203663&view=diff
==============================================================================
---
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
(original)
+++
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
Fri Nov 18 14:25:15 2011
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
*/
public abstract class AbstractSession implements ProtocolSession {
- protected InetSocketAddress socketAddress;
+ private final InetSocketAddress remoteAddress;
private Logger logger;
private SessionLog pLog = null;
@@ -43,13 +43,15 @@ public abstract class AbstractSession im
private String id;
protected ProtocolTransport transport;
- private Map<String, Object> connectionState;
- private Map<String, Object> sessionState;
+ private final Map<String, Object> connectionState;
+ private final Map<String, Object> sessionState;
+ private final InetSocketAddress localAddress;
public AbstractSession(Logger logger, ProtocolTransport transport) {
this.transport = transport;
- this.socketAddress = transport.getRemoteAddress();
+ this.remoteAddress = transport.getRemoteAddress();
+ this.localAddress = transport.getRemoteAddress();
this.logger = logger;
this.id = transport.getId();
this.connectionState = new HashMap<String, Object>();
@@ -57,18 +59,28 @@ public abstract class AbstractSession im
}
- /**
+ @Override
+ public InetSocketAddress getLocalAddress() {
+ return localAddress;
+ }
+
+ @Override
+ public InetSocketAddress getRemoteAddress() {
+ return remoteAddress;
+ }
+
+ /**
* @see org.apache.james.protocols.api.ProtocolSession#getRemoteHost()
*/
public String getRemoteHost() {
- return socketAddress.getHostName();
+ return remoteAddress.getHostName();
}
/**
* @see org.apache.james.protocols.api.ProtocolSession#getRemoteIPAddress()
*/
public String getRemoteIPAddress() {
- return socketAddress.getAddress().getHostAddress();
+ return remoteAddress.getAddress().getHostAddress();
}
/**
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java?rev=1203663&r1=1203662&r2=1203663&view=diff
==============================================================================
---
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
(original)
+++
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
Fri Nov 18 14:25:15 2011
@@ -19,6 +19,7 @@
package org.apache.james.protocols.api;
+import java.net.InetSocketAddress;
import java.util.Map;
import org.slf4j.Logger;
@@ -63,16 +64,25 @@ public interface ProtocolSession {
* Returns host name of the client
*
* @return hostname of the client
+ * @deprecated use {@link #getRemoteAddress()}
*/
+ @Deprecated
String getRemoteHost();
/**
* Returns host ip address of the client
*
* @return host ip address of the client
+ * @deprecated use {@link #getRemoteAddress()}
*/
+ @Deprecated
String getRemoteIPAddress();
+
+ InetSocketAddress getLocalAddress();
+
+ InetSocketAddress getRemoteAddress();
+
/**
* Return the ID for the session
*
Modified:
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
URL:
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java?rev=1203663&r1=1203662&r2=1203663&view=diff
==============================================================================
---
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
(original)
+++
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
Fri Nov 18 14:25:15 2011
@@ -36,6 +36,9 @@ public interface ProtocolTransport {
*/
InetSocketAddress getRemoteAddress();
+ InetSocketAddress getLocalAddress();
+
+
/**
* Return the unique id. The id MUST NOT be 100 % unique for ever. It just
should just not have the same
* id when having concurrent connections
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]