noel 2003/01/26 19:32:57
Modified: src/java/org/apache/james/nntpserver/repository Tag:
branch_2_1_fcs NNTPArticleImpl.java
Log:
Finished dot-stuffing fix. Fixed spelling errors. Ensured that stream is closed.
Revision Changes Path
No revision
No revision
1.10.4.3 +32 -16
jakarta-james/src/java/org/apache/james/nntpserver/repository/NNTPArticleImpl.java
Index: NNTPArticleImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/nntpserver/repository/NNTPArticleImpl.java,v
retrieving revision 1.10.4.2
retrieving revision 1.10.4.3
diff -u -r1.10.4.2 -r1.10.4.3
--- NNTPArticleImpl.java 21 Jan 2003 10:12:30 -0000 1.10.4.2
+++ NNTPArticleImpl.java 27 Jan 2003 03:32:57 -0000 1.10.4.3
@@ -8,14 +8,21 @@
package org.apache.james.nntpserver.repository;
import org.apache.james.nntpserver.NNTPException;
+import org.apache.avalon.excalibur.io.IOUtil;
import javax.mail.internet.InternetHeaders;
-import java.io.*;
-/**
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+
+/**
* Please see NNTPArticle for comments
*
- * @author Harmeet Bedi <[EMAIL PROTECTED]>
*/
class NNTPArticleImpl implements NNTPArticle {
@@ -41,34 +48,38 @@
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#getGroup()
+ * @see org.apache.james.nntpserver.repository.NNTPArticle#getGroup()
*/
public NNTPGroup getGroup() {
return group;
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#getArticleNumber()
+ * @see org.apache.james.nntpserver.repository.NNTPArticle#getArticleNumber()
*/
public int getArticleNumber() {
return Integer.parseInt(articleFile.getName());
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#getUniqueID()
+ * @see org.apache.james.nntpserver.repository.NNTPArticle#getUniqueID()
*/
public String getUniqueID() {
+ FileInputStream fin = null;
try {
- FileInputStream fin = new FileInputStream(articleFile);
+ fin = new FileInputStream(articleFile);
InternetHeaders headers = new InternetHeaders(fin);
String[] idheader = headers.getHeader("Message-Id");
- fin.close();
return ( idheader.length > 0 ) ? idheader[0] : null;
- } catch(Exception ex) { throw new NNTPException(ex); }
+ } catch(Exception ex) {
+ throw new NNTPException(ex);
+ } finally {
+ IOUtil.shutdownStream(fin);
+ }
}
/**
- * @see
org.apache.james.nntpsever.repository.NNTPArticle#writeArticle(PrintWriter)
+ * @see
org.apache.james.nntpserver.repository.NNTPArticle#writeArticle(PrintWriter)
*/
public void writeArticle(PrintWriter prt) {
BufferedReader reader = null;
@@ -96,7 +107,7 @@
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#writeHead(PrintWriter)
+ * @see
org.apache.james.nntpserver.repository.NNTPArticle#writeHead(PrintWriter)
*/
public void writeHead(PrintWriter prt) {
try {
@@ -105,6 +116,8 @@
while ( ( line = reader.readLine() ) != null ) {
if ( line.trim().length() == 0 )
break;
+ if ( line.startsWith(".") )
+ prt.print(".");
prt.println(line);
}
reader.close();
@@ -112,7 +125,7 @@
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#writeBody(PrintWriter)
+ * @see
org.apache.james.nntpserver.repository.NNTPArticle#writeBody(PrintWriter)
*/
public void writeBody(PrintWriter prt) {
try {
@@ -120,9 +133,11 @@
String line = null;
boolean startWriting = false;
while ( ( line = reader.readLine() ) != null ) {
- if ( startWriting )
+ if ( startWriting ) {
+ if ( line.startsWith(".") )
+ prt.print(".");
prt.println(line);
- else
+ } else
startWriting = ( line.trim().length() == 0 );
}
reader.close();
@@ -130,7 +145,7 @@
}
/**
- * @see
org.apache.james.nntpsever.repository.NNTPArticle#writeOverview(PrintWriter)
+ * @see
org.apache.james.nntpserver.repository.NNTPArticle#writeOverview(PrintWriter)
*/
public void writeOverview(PrintWriter prt) {
try {
@@ -143,6 +158,7 @@
String msgId = hdr.getHeader("Message-Id",null);
String references = hdr.getHeader("References",null);
long byteCount = articleFile.length();
+ // TODO: Address the line count issue.
long lineCount = -1;
StringBuffer line=new StringBuffer(256)
.append(getArticleNumber()) .append("\t")
@@ -158,7 +174,7 @@
}
/**
- * @see org.apache.james.nntpsever.repository.NNTPArticle#getHeader(String)
+ * @see org.apache.james.nntpserver.repository.NNTPArticle#getHeader(String)
*/
public String getHeader(String header) {
try {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>