Search in sources :

Example 6 with XMLSerializer

use of org.apache.pivot.xml.XMLSerializer in project pivot by apache.

the class RSSFeedDemo method initialize.

@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources) {
    feedListView = (ListView) namespace.get("feedListView");
    cardPane = (CardPane) namespace.get("cardPane");
    statusLabel = (Label) namespace.get("statusLabel");
    feedListView.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener() {

        private int index = -1;

        @Override
        public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
            if (count == 1) {
                index = feedListView.getItemAt(y);
            } else if (count == 2 && feedListView.getItemAt(y) == index) {
                Element itemElement = (Element) feedListView.getListData().get(index);
                String link = XML.getText(itemElement, "link");
                Desktop desktop = Desktop.getDesktop();
                try {
                    desktop.browse(new URL(link).toURI());
                } catch (MalformedURLException exception) {
                    throw new RuntimeException(exception);
                } catch (URISyntaxException exception) {
                    throw new RuntimeException(exception);
                } catch (IOException exception) {
                    System.out.println("Unable to open " + link + " in default browser.");
                }
            }
            return false;
        }
    });
    GetQuery getQuery = new GetQuery("feeds.dzone.com", "/javalobby/frontpage");
    getQuery.setSerializer(new XMLSerializer());
    getQuery.getParameters().put("format", "xml");
    getQuery.execute(new TaskAdapter<>(new TaskListener<Object>() {

        @Override
        public void taskExecuted(Task<Object> task) {
            Element root = (Element) task.getResult();
            feedListView.setListData(XML.getElements(root, "channel", "item"));
            cardPane.setSelectedIndex(1);
        }

        @Override
        public void executeFailed(Task<Object> task) {
            statusLabel.setText(task.getFault().toString());
        }
    }));
}
Also used : MalformedURLException(java.net.MalformedURLException) XMLSerializer(org.apache.pivot.xml.XMLSerializer) Task(org.apache.pivot.util.concurrent.Task) Element(org.apache.pivot.xml.Element) URISyntaxException(java.net.URISyntaxException) IOException(java.io.IOException) URL(java.net.URL) Mouse(org.apache.pivot.wtk.Mouse) Desktop(java.awt.Desktop) GetQuery(org.apache.pivot.web.GetQuery) TaskListener(org.apache.pivot.util.concurrent.TaskListener) ComponentMouseButtonListener(org.apache.pivot.wtk.ComponentMouseButtonListener) Component(org.apache.pivot.wtk.Component)

Aggregations

XMLSerializer (org.apache.pivot.xml.XMLSerializer)6 IOException (java.io.IOException)4 BXMLSerializer (org.apache.pivot.beans.BXMLSerializer)3 Element (org.apache.pivot.xml.Element)3 Test (org.junit.Test)2 Desktop (java.awt.Desktop)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 StringReader (java.io.StringReader)1 MalformedURLException (java.net.MalformedURLException)1 URISyntaxException (java.net.URISyntaxException)1 URL (java.net.URL)1 FileList (org.apache.pivot.io.FileList)1 Task (org.apache.pivot.util.concurrent.Task)1 TaskListener (org.apache.pivot.util.concurrent.TaskListener)1 GetQuery (org.apache.pivot.web.GetQuery)1 Component (org.apache.pivot.wtk.Component)1 ComponentMouseButtonListener (org.apache.pivot.wtk.ComponentMouseButtonListener)1 DropAction (org.apache.pivot.wtk.DropAction)1 Label (org.apache.pivot.wtk.Label)1