Example usage for org.apache.commons.net.nntp NNTPReply isPositiveCompletion

List of usage examples for org.apache.commons.net.nntp NNTPReply isPositiveCompletion

Introduction

In this page you can find the example usage for org.apache.commons.net.nntp NNTPReply isPositiveCompletion.

Prototype

public static boolean isPositiveCompletion(int reply) 

Source Link

Document

Determine if a reply code is a positive completion response.

Usage

From source file:net.longfalcon.newsj.nntp.client.CustomNNTPClient.java

/***
 * Logs out of the news server gracefully by sending the QUIT command.
 * However, you must still disconnect from the server before you can open
 * a new connection.//from   w ww. java  2  s .  co m
 * <p>
 * @return True if successfully completed, false if not.
 * @exception IOException  If an I/O error occurs while either sending a
 *      command to the server or receiving a reply from the server.
 ***/
@Override
public boolean logout() throws IOException {
    return NNTPReply.isPositiveCompletion(quit());
}

From source file:net.longfalcon.newsj.nntp.client.CustomNNTPClient.java

/***
 * Private implementation of XOVER functionality.
 *
 * See {@link NNTP#xover}/* ww  w. j a v  a  2  s .c o m*/
 * for legal agument formats. Alternatively, read RFC 2980 :-)
 * <p>
 * @param articleRange
 * @return Returns a DotTerminatedMessageReader if successful, null
 *         otherwise
 * @exception IOException
 */
private BufferedReader __retrieveArticleInfo(String articleRange) throws IOException {
    if (!NNTPReply.isPositiveCompletion(xover(articleRange))) {
        return null;
    }

    return new DotTerminatedMessageReader(_reader_);
}

From source file:net.longfalcon.newsj.nntp.client.CustomNNTPClient.java

/***
 * Private implementation of XHDR functionality.
 *
 * See {@link NNTP#xhdr}/*from  ww  w .  j a  v  a 2 s.c om*/
 * for legal agument formats. Alternatively, read RFC 1036.
 * <p>
 * @param header
 * @param articleRange
 * @return Returns a DotTerminatedMessageReader if successful, null
 *         otherwise
 * @exception IOException
 */
private BufferedReader __retrieveHeader(String header, String articleRange) throws IOException {
    if (!NNTPReply.isPositiveCompletion(xhdr(header, articleRange))) {
        return null;
    }

    return new DotTerminatedMessageReader(_reader_);
}

From source file:ProtocolRunner.java

private static void handleNNTP(
    NNTPClient client, //from w  ww  . j  a va2  s  .  c  o m
    ProtocolRunner runner, 
    String commandString) 
    throws IOException {
        
    if(commandString == null) { // means just connected        
        
        // check if the server response was valid
        if(!NNTPReply.isPositiveCompletion(client.getReplyCode())) {
            runner.handleDisconnect();
            return;
        }
            
    } else { // need to handle a command
        client.sendCommand(commandString);
    }
        
    runner.getTCPServerResponse().append(client.getReplyString());
}

From source file:org.apache.common.net.examples.nntp.PostMessage.java

public final static void main(String[] args) {
    String from, subject, newsgroup, filename, server, organization;
    String references;//  w w  w  .j a v  a 2  s  . c  o  m
    BufferedReader stdin;
    FileReader fileReader = null;
    SimpleNNTPHeader header;
    NNTPClient client;

    if (args.length < 1) {
        System.err.println("Usage: post newsserver");
        System.exit(1);
    }

    server = args[0];

    stdin = new BufferedReader(new InputStreamReader(System.in));

    try {
        System.out.print("From: ");
        System.out.flush();

        from = stdin.readLine();

        System.out.print("Subject: ");
        System.out.flush();

        subject = stdin.readLine();

        header = new SimpleNNTPHeader(from, subject);

        System.out.print("Newsgroup: ");
        System.out.flush();

        newsgroup = stdin.readLine();
        header.addNewsgroup(newsgroup);

        while (true) {
            System.out.print("Additional Newsgroup <Hit enter to end>: ");
            System.out.flush();

            // Of course you don't want to do this because readLine() may be null
            newsgroup = stdin.readLine().trim();

            if (newsgroup.length() == 0) {
                break;
            }

            header.addNewsgroup(newsgroup);
        }

        System.out.print("Organization: ");
        System.out.flush();

        organization = stdin.readLine();

        System.out.print("References: ");
        System.out.flush();

        references = stdin.readLine();

        if (organization != null && organization.length() > 0) {
            header.addHeaderField("Organization", organization);
        }

        if (references != null && references.length() > 0) {
            header.addHeaderField("References", references);
        }

        header.addHeaderField("ProcessExecutorHelper-Newsreader", "NetComponents");

        System.out.print("Filename: ");
        System.out.flush();

        filename = stdin.readLine();

        try {
            fileReader = new FileReader(filename);
        } catch (FileNotFoundException e) {
            System.err.println("File not found. " + e.getMessage());
            System.exit(1);
        }

        client = new NNTPClient();
        client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true));

        client.connect(server);

        if (!NNTPReply.isPositiveCompletion(client.getReplyCode())) {
            client.disconnect();
            System.err.println("NNTP server refused connection.");
            System.exit(1);
        }

        if (client.isAllowedToPost()) {
            Writer writer = client.postArticle();

            if (writer != null) {
                writer.write(header.toString());
                Util.copyReader(fileReader, writer);
                writer.close();
                client.completePendingCommand();
            }
        }

        if (fileReader != null) {
            fileReader.close();
        }

        client.logout();

        client.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }
}

From source file:org.apache.commons.net.examples.nntp.PostMessage.java

public static void main(String[] args) {
    String from, subject, newsgroup, fileName, server, organization;
    String references;/*  ww w . j a  va2 s  .co  m*/
    BufferedReader stdin;
    FileReader fileReader = null;
    SimpleNNTPHeader header;
    NNTPClient client;

    if (args.length < 1) {
        System.err.println("Usage: post newsserver");
        System.exit(1);
    }

    server = args[0];

    stdin = new BufferedReader(new InputStreamReader(System.in));

    try {
        System.out.print("From: ");
        System.out.flush();

        from = stdin.readLine();

        System.out.print("Subject: ");
        System.out.flush();

        subject = stdin.readLine();

        header = new SimpleNNTPHeader(from, subject);

        System.out.print("Newsgroup: ");
        System.out.flush();

        newsgroup = stdin.readLine();
        header.addNewsgroup(newsgroup);

        while (true) {
            System.out.print("Additional Newsgroup <Hit enter to end>: ");
            System.out.flush();

            newsgroup = stdin.readLine();
            if (newsgroup == null) {
                break;
            }

            newsgroup = newsgroup.trim();

            if (newsgroup.length() == 0) {
                break;
            }

            header.addNewsgroup(newsgroup);
        }

        System.out.print("Organization: ");
        System.out.flush();

        organization = stdin.readLine();

        System.out.print("References: ");
        System.out.flush();

        references = stdin.readLine();

        if (organization != null && organization.length() > 0) {
            header.addHeaderField("Organization", organization);
        }

        if (references != null && references.length() > 0) {
            header.addHeaderField("References", references);
        }

        header.addHeaderField("X-Newsreader", "NetComponents");

        System.out.print("Filename: ");
        System.out.flush();

        fileName = stdin.readLine();

        try {
            fileReader = new FileReader(fileName);
        } catch (FileNotFoundException e) {
            System.err.println("File not found. " + e.getMessage());
            System.exit(1);
        }

        client = new NNTPClient();
        client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true));

        client.connect(server);

        if (!NNTPReply.isPositiveCompletion(client.getReplyCode())) {
            client.disconnect();
            System.err.println("NNTP server refused connection.");
            System.exit(1);
        }

        if (client.isAllowedToPost()) {
            Writer writer = client.postArticle();

            if (writer != null) {
                writer.write(header.toString());
                Util.copyReader(fileReader, writer);
                writer.close();
                client.completePendingCommand();
            }
        }

        if (fileReader != null) {
            fileReader.close();
        }

        client.logout();

        client.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(1);
    }
}

From source file:org.random_access.newsreader.nntp.CustomNNTPClient.java

private BufferedReader __retrieve(int command, String articleId, ArticleInfo pointer) throws IOException {
    if (articleId != null) {
        if (!NNTPReply.isPositiveCompletion(this.sendCommand(command, articleId))) {
            return null;
        }/*  w ww. j  ava 2  s .  c o m*/
    } else if (!NNTPReply.isPositiveCompletion(this.sendCommand(command))) {
        return null;
    }

    if (pointer != null) {
        this.__parseArticlePointer(this.getReplyString(), pointer);
    }

    return new DotTerminatedMessageReader(this._reader_);
}

From source file:org.random_access.newsreader.nntp.CustomNNTPClient.java

public boolean completePendingCommand() throws IOException {
    return NNTPReply.isPositiveCompletion(this.getReply());
}