Author: rdonkin
Date: Mon Sep 7 18:26:03 2009
New Revision: 812245
URL: http://svn.apache.org/viewvc?rev=812245&view=rev
Log:
Switch to CharSequence and StringBuilder to avoid intermediary string creation.
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPResponse.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/MailCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/WelcomeMessageHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/esmtp/EhloCmdHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/hook/HookResult.java
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandler.java
Mon Sep 7 18:26:03 2009
@@ -198,15 +198,16 @@
} else {
// Iterator i = esmtpextensions.iterator();
for (int k = 0; k < response.getLines().size(); k++) {
- StringBuffer respBuff = new StringBuffer(256);
+ StringBuilder respBuff = new StringBuilder(256);
respBuff.append(response.getRetCode());
+ final CharSequence line = response.getLines().get(k);
if (k == response.getLines().size() - 1) {
respBuff.append(" ");
- respBuff.append(response.getLines().get(k));
+ respBuff.append(line);
helper.writeLoggedFlushedResponse(respBuff.toString());
} else {
respBuff.append("-");
- respBuff.append(response.getLines().get(k));
+ respBuff.append(line);
helper.writeLoggedResponse(respBuff.toString());
}
}
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPResponse.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPResponse.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPResponse.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPResponse.java
Mon Sep 7 18:26:03 2009
@@ -28,7 +28,7 @@
public class SMTPResponse {
private String retCode = null;
- private List<String> lines = null;
+ private List<CharSequence> lines = null;
private String rawLine = null;
private boolean endSession = false;
@@ -36,18 +36,6 @@
public SMTPResponse() {
//TODO: Should we remove this constructor to force the developers to
specify all needed informations ?
}
-
- /**
- * @see #SMTPResponse(String, StringBuffer)
- */
- public SMTPResponse(String code, String description) {
- if (code == null) throw new IllegalArgumentException("SMTPResponse
code can not be null");
- if (description == null) new IllegalArgumentException("SMTPResponse
description can not be null");
-
- this.setRetCode(code);
- this.appendLine(description);
- this.rawLine = code + " " + description;
- }
/**
* Construct a new SMTPResponse. The given code and description can not be
null, if null an IllegalArgumentException
@@ -56,13 +44,13 @@
* @param code the returnCode
* @param description the description
*/
- public SMTPResponse(String code, StringBuffer description) {
+ public SMTPResponse(String code, CharSequence description) {
if (code == null) throw new IllegalArgumentException("SMTPResponse
code can not be null");
if (description == null) new IllegalArgumentException("SMTPResponse
description can not be null");
this.setRetCode(code);
this.appendLine(description);
- this.rawLine = code + " " + description.toString();
+ this.rawLine = code + " " + description;
}
/**
@@ -75,7 +63,7 @@
String args[] = rawLine.split(" ");
if (args != null && args.length > 1) {
this.setRetCode(args[0]);
- this.appendLine(new
StringBuffer(rawLine.substring(args[0].length()+1)));
+ this.appendLine(new
StringBuilder(rawLine.substring(args[0].length()+1)));
} else {
throw new IllegalArgumentException("Invalid SMTPResponse format.
Format should be [SMTPCode SMTPReply]");
}
@@ -87,21 +75,14 @@
*
* @param line the responseLine to append
*/
- public void appendLine(String line) {
+ public void appendLine(CharSequence line) {
if (lines == null) {
- lines = new LinkedList<String>();
+ lines = new LinkedList<CharSequence>();
}
lines.add(line);
}
/**
- * @see #appendLine(String)
- */
- public void appendLine(StringBuffer line) {
- appendLine(line.toString());
- }
-
- /**
* Return the SMTPCode
*
* @return the SMTPCode
@@ -124,7 +105,7 @@
*
* @return all responseLines
*/
- public List<String> getLines() {
+ public List<CharSequence> getLines() {
return lines;
}
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/HeloCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -59,7 +59,7 @@
String parameters) {
session.getConnectionState().put(SMTPSession.CURRENT_HELO_MODE,
COMMAND_NAME);
- StringBuffer response = new StringBuffer();
+ StringBuilder response = new StringBuilder();
response.append(session.getHelloName()).append(
" Hello ").append(parameters).append(" (").append(
session.getRemoteHost()).append(" [").append(
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/MailCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/MailCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/MailCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/MailCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -94,7 +94,7 @@
* the argument passed in with the command by the SMTP client
*/
private SMTPResponse doMAIL(SMTPSession session, String argument) {
- StringBuffer responseBuffer = new StringBuffer();
+ StringBuilder responseBuffer = new StringBuilder();
MailAddress sender = (MailAddress) session.getState().get(
SMTPSession.SENDER);
responseBuffer.append(
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/QuitCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -51,7 +51,7 @@
private SMTPResponse doQUIT(SMTPSession session, String argument) {
SMTPResponse ret;
if ((argument == null) || (argument.length() == 0)) {
- StringBuffer response = new StringBuffer();
+ StringBuilder response = new StringBuilder();
response.append(
DSNStatus.getStatus(DSNStatus.SUCCESS,
DSNStatus.UNDEFINED_STATUS)).append(" ").append(
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/RcptCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -85,7 +85,7 @@
CURRENT_RECIPIENT);
rcptColl.add(recipientAddress);
session.getState().put(SMTPSession.RCPT_LIST, rcptColl);
- StringBuffer response = new StringBuffer();
+ StringBuilder response = new StringBuilder();
response
.append(
DSNStatus.getStatus(DSNStatus.SUCCESS,
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -47,7 +47,7 @@
* @see
org.apache.james.smtpserver.CommandHandler#onCommand(org.apache.james.smtpserver.SMTPSession,
java.lang.String, java.lang.String)
**/
public SMTPResponse onCommand(SMTPSession session, String command, String
parameters) {
- StringBuffer result = new StringBuffer();
+ StringBuilder result = new StringBuilder();
result.append(DSNStatus.getStatus(DSNStatus.PERMANENT,
DSNStatus.DELIVERY_INVALID_CMD))
.append(" Command ")
.append(command)
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/WelcomeMessageHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/WelcomeMessageHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/WelcomeMessageHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/WelcomeMessageHandler.java
Mon Sep 7 18:26:03 2009
@@ -57,7 +57,7 @@
// Initially greet the connector
// Format is: Sat, 24 Jan 1998 13:16:09 -0500
welcomeResponse = new SMTPResponse(SMTPRetCode.SERVICE_READY,
- new StringBuffer(256)
+ new StringBuilder(256)
.append(session.getHelloName())
.append(" SMTP Server (")
.append(SOFTWARE_TYPE)
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/esmtp/EhloCmdHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/esmtp/EhloCmdHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/esmtp/EhloCmdHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/esmtp/EhloCmdHandler.java
Mon Sep 7 18:26:03 2009
@@ -62,7 +62,7 @@
session.getConnectionState().put(SMTPSession.CURRENT_HELO_MODE,
COMMAND_NAME);
- resp.appendLine(new StringBuffer(session.getHelloName()).append("
Hello ").append(argument)
+ resp.appendLine(new StringBuilder(session.getHelloName()).append("
Hello ").append(argument)
.append(" (").append(session.getRemoteHost()).append(" [")
.append(session.getRemoteIPAddress()).append("])"));
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
Mon Sep 7 18:26:03 2009
@@ -209,7 +209,7 @@
String responseString = e.getMessage();
getLogger().info("Rejected message. Reject Message: " +
responseString);
SMTPResponse resp = new SMTPResponse(responseString);
- return new
HookResult(HookReturnCode.DENY,resp.getRetCode(),(String)
resp.getLines().get(0));
+ return new
HookResult(HookReturnCode.DENY,resp.getRetCode(),resp.getLines().get(0));
}
}
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/hook/HookResult.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/hook/HookResult.java?rev=812245&r1=812244&r2=812245&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/hook/HookResult.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/hook/HookResult.java
Mon Sep 7 18:26:03 2009
@@ -36,10 +36,10 @@
* @param smtpRetCode
* @param smtpDescription
*/
- public HookResult(int result, String smtpRetCode, String smtpDescription) {
+ public HookResult(int result, String smtpRetCode, CharSequence
smtpDescription) {
this.result = result;
this.smtpRetCode = smtpRetCode;
- this.smtpDescription = smtpDescription;
+ this.smtpDescription = (smtpDescription == null) ? null :
smtpDescription.toString();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]