RSS Reader в javafx - PullRequest
       6

RSS Reader в javafx

0 голосов
/ 20 сентября 2011

Я пытаюсь разобрать RSS-ленту из проекта javafx, но получаю следующее исключение,

java.lang.NullPointerException в com.sun.webpane.webkit.network.CookieJar $ PolicyDelegateFilter.shouldAccept (CookieJar.java:42) в com.sun.webpane.webkit.network.CookieManager.put (CookieManager.java:193) на sun.net.www.http.HttpClient.parseHTTPHeader (HttpClient.java:710) на sun.net.www.http.HttpClient.parseHTTP (HttpClient.java:632) на sun.net.www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:1049) на java.net.URL.openStream (URL.java:1009) на org.jugc.rss.RSSReader.readNews (RSSReader.java:38) на org.jugc.view.RSSViewer. (RSSViewer.java:34) в org.jugc.view.JugCMain.start (JugCMain.java:67) в com.sun.javafx.application.LauncherImpl $ 3.run (LauncherImpl.java:127) в com.sun.javafx.application.PlatformImpl $ 3.run (PlatformImpl.java:87) в com.sun.javafx.application.PlatformImpl $ 2.run (PlatformImpl.java:65) на com.sun.glass.ui.win.WinApplication._runLoop (собственный метод) на com.sun.glass.ui.win.WinApplication.access $ 100 (WinApplication.java:29) на com.sun.glass.ui.win.WinApplication $ 1 $ 1.run (WinApplication.java:49) at java.lang.Thread.run (Thread.java:619)

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        URL u = new URL("http://www.jugchennai.in/feed/"); // your feed url
        System.setProperty("http.proxyHost", "192.168.32.10");
        System.setProperty("http.proxyPort", "8080");

        Document doc = builder.parse(u.openStream());
        NodeList nodes = doc.getElementsByTagName("item");
        for (int i = 0; i < nodes.getLength(); i++) {
            Element element = (Element) nodes.item(i);
            RSSFeed rSSFeed = new RSSFeed();
            rSSFeed.setTitle(getElementValue(element, "title"));
            rSSFeed.setLink(getElementValue(element, "link"));
            rSSFeed.setPublishDate(getElementValue(element, "pubDate"));
            rSSFeed.setAuthor(getElementValue(element, "dc:creator"));
            rSSFeed.setDescripition(getElementValue(element, "description"));
            rssFeeds.add(rSSFeed);
        }

Я использую следующий код в javafx

RSSReader rSSReader = RSSReader.getInstance();
    ArrayList<RSSFeed> rSSFeeds = (ArrayList) rSSReader.readNews();
    //ArrayList<RSSFeed> rSSFeeds = new ArrayList<RSSFeed>();
    RSSFeed rSSFeed1 = new RSSFeed();
    rSSFeed1.setTitle("August Meetup Scalatra, Scalate Netbeans Training");
    rSSFeed1.setLink("http://www.jugchennai.in/2011/08/13/august-meetup-scalatra-scalate-netbeans-training/");
    rSSFeeds.add(rSSFeed1);
    Hyperlink[] hpls = new Hyperlink[rSSFeeds.size()];
    for (int i = 0; i < rSSFeeds.size(); i++) {
        RSSFeed rSSFeed = rSSFeeds.get(i);
        final Hyperlink hpl = hpls[i] = new Hyperlink(rSSFeed.getTitle());

        final String url = rSSFeed.getLink();

        hpl.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {
                webEngine.load(url);
            }
        });
    }
    toolBar = new VBox();
    toolBar.setVisible(true);
    toolBar.getChildren().addAll(hpls);
    getChildren().add(toolBar);
    getChildren().add(browser);
...