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]>

Reply via email to