List of usage examples for org.apache.commons.net.nntp NNTPClient iterateArticleInfo
public Iterable<Article> iterateArticleInfo(long lowArticleNumber, long highArticleNumber) throws IOException
From source file:examples.nntp.MessageThreading.java
public static void main(String[] args) throws SocketException, IOException { if (args.length != 2 && args.length != 4) { System.out.println("Usage: MessageThreading <hostname> <groupname> [<user> <password>]"); return;//w ww . j a v a 2s. com } String hostname = args[0]; String newsgroup = args[1]; NNTPClient client = new NNTPClient(); client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); client.connect(hostname); if (args.length == 4) { // Optional auth String user = args[2]; String password = args[3]; if (!client.authenticate(user, password)) { System.out.println("Authentication failed for user " + user + "!"); System.exit(1); } } String fmt[] = client.listOverviewFmt(); if (fmt != null) { System.out.println("LIST OVERVIEW.FMT:"); for (String s : fmt) { System.out.println(s); } } else { System.out.println("Failed to get OVERVIEW.FMT"); } NewsgroupInfo group = new NewsgroupInfo(); client.selectNewsgroup(newsgroup, group); long lowArticleNumber = group.getFirstArticleLong(); long highArticleNumber = lowArticleNumber + 5000; System.out .println("Retrieving articles between [" + lowArticleNumber + "] and [" + highArticleNumber + "]"); Iterable<Article> articles = client.iterateArticleInfo(lowArticleNumber, highArticleNumber); System.out.println("Building message thread tree..."); Threader threader = new Threader(); Article root = (Article) threader.thread(articles); Article.printThread(root, 0); }
From source file:Main.java
/** * Given an {@link NNTPClient} instance, and an integer range of messages, return * an array of {@link Article} instances. * @param client// w ww . j a va 2s.c om * @param lowArticleNumber * @param highArticleNumber * @return Article[] An array of Article * @throws IOException */ public static List<Article> getArticleInfo(NNTPClient client, long lowArticleNumber, long highArticleNumber) throws IOException { List<Article> articles = new ArrayList<Article>(); Iterable<Article> arts = client.iterateArticleInfo(lowArticleNumber, highArticleNumber); for (Article article : arts) { articles.add(article); } return articles; }