ru.prime.client.widgets.NewsPanel.java Source code

Java tutorial

Introduction

Here is the source code for ru.prime.client.widgets.NewsPanel.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.prime.client.widgets;

import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestCallback;
import com.google.gwt.http.client.Response;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.data.RecordList;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import java.util.ArrayList;
import java.util.List;
import ru.prime.client.StaticData;
import ru.prime.client.entity.NewsEntity;

/**
 *
 * @author prog03
 */
public class NewsPanel extends ListGrid {

    private final ListGridField newsTitleField;

    public NewsPanel() {
        newsTitleField = new ListGridField("title", " ?");
        setFields(newsTitleField);

        RequestBuilder b = new RequestBuilder(RequestBuilder.GET, "/messages/news");
        try {
            b.setCallback(new RequestCallback() {

                public void onResponseReceived(Request request, Response response) {

                    RecordList ls = new RecordList();
                    //  Window.alert(response.getText());
                    String t = response.getText();
                    JSONArray v = JSONParser.parse(t).isArray();
                    for (int i = 0; i < v.size(); i++) {

                        JSONObject val = v.get(i).isObject();
                        NewsEntity entry = new NewsEntity();

                        entry.setTitle(val.get("header").isString().stringValue());
                        ls.add(entry.toRecord());
                    }
                    setData(ls);
                }

                public void onError(Request request, Throwable exception) {
                    //Window.alert(exception.getMessage());
                }
            });

            b.send();
        } catch (Exception e) {
            // Window.alert(e.getMessage());
        }

    }

}