Example usage for com.google.gwt.jsonp.client JsonpRequestBuilder setTimeout

List of usage examples for com.google.gwt.jsonp.client JsonpRequestBuilder setTimeout

Introduction

In this page you can find the example usage for com.google.gwt.jsonp.client JsonpRequestBuilder setTimeout.

Prototype

public void setTimeout(int timeout) 

Source Link

Usage

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.expresslanes.SeattleExpressLanesActivity.java

License:Open Source License

private void createPostList() {
    expressLaneItems.clear();/*ww  w.  j  a  va 2s. c om*/
    view.showProgressIndicator();

    JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
    // Set timeout for 30 seconds (30000 milliseconds)
    jsonp.setTimeout(30000);
    jsonp.requestObject(EXPRESS_LANES_URL, new AsyncCallback<ExpressLanesFeed>() {

        @Override
        public void onFailure(Throwable caught) {
            view.hideProgressIndicator();
            phoneGap.getNotification().alert("Can't load data. Check your connection.", new AlertCallback() {
                @Override
                public void onOkButtonClicked() {
                    // TODO Auto-generated method stub
                }
            }, "Connection Error");
        }

        @Override
        public void onSuccess(ExpressLanesFeed result) {
            ExpressLaneItem item = null;

            if (result.getExpressLanes() != null) {
                int numEntries = result.getExpressLanes().getRoutes().length();
                for (int i = 0; i < numEntries; i++) {
                    item = new ExpressLaneItem();

                    item.setStatus(result.getExpressLanes().getRoutes().get(i).getStatus());
                    item.setRoute(result.getExpressLanes().getRoutes().get(i).getRoute());
                    item.setTitle(result.getExpressLanes().getRoutes().get(i).getTitle());
                    item.setUpdated(result.getExpressLanes().getRoutes().get(i).getUpdated());
                    item.setRouteIcon(routeIcon.get(result.getExpressLanes().getRoutes().get(i).getRoute()));

                    expressLaneItems.add(item);
                }

                view.hideProgressIndicator();
                view.render(expressLaneItems);
                view.refresh();
            }

        }
    });

}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.menu.expresslanes.SeattleExpressLanesActivity.java

License:Open Source License

private void createPostList() {
    view.showProgressIndicator();//w  ww  .  j a  va 2 s  . com

    JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
    // Set timeout for 30 seconds (30000 milliseconds)
    jsonp.setTimeout(30000);
    jsonp.requestObject(EXPRESS_LANES_URL, new AsyncCallback<ExpressLanesFeed>() {

        @Override
        public void onFailure(Throwable caught) {
            view.hideProgressIndicator();
            phoneGap.getNotification().alert("Can't load data. Check your connection.", new AlertCallback() {
                @Override
                public void onOkButtonClicked() {
                    // TODO Auto-generated method stub
                }
            }, "Connection Error");
        }

        @Override
        public void onSuccess(ExpressLanesFeed result) {
            ExpressLaneItem item = null;

            if (result.getExpressLanes() != null) {
                ArrayList<ExpressLaneItem> expressLaneItems = new ArrayList<ExpressLaneItem>();
                HashMap<Integer, String> routeIcon = new HashMap<Integer, String>();
                routeIcon.put(5, AppBundle.INSTANCE.css().i5Icon());
                routeIcon.put(90, AppBundle.INSTANCE.css().i90Icon());

                int numEntries = result.getExpressLanes().getRoutes().length();
                for (int i = 0; i < numEntries; i++) {
                    item = new ExpressLaneItem();

                    item.setStatus(result.getExpressLanes().getRoutes().get(i).getStatus());
                    item.setRoute(result.getExpressLanes().getRoutes().get(i).getRoute());
                    item.setTitle(result.getExpressLanes().getRoutes().get(i).getTitle());
                    item.setUpdated(result.getExpressLanes().getRoutes().get(i).getUpdated());
                    item.setRouteIcon(routeIcon.get(result.getExpressLanes().getRoutes().get(i).getRoute()));

                    expressLaneItems.add(item);
                }

                view.hideProgressIndicator();
                view.render(expressLaneItems);
                view.refresh();
                accessibility.postScreenChangeNotification();
            }

        }
    });

}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.menu.traveltimes.TravelTimesActivity.java

License:Open Source License

private void createTopicsList(final TravelTimesView view, final boolean forceUpdate) {

    /** // w ww .j a  v  a  2 s.  com
     * Check the cache table for the last time data was downloaded. If we are within
     * the allowed time period, don't sync, otherwise get fresh data from the server.
     */
    dbService.getCacheLastUpdated(Tables.TRAVEL_TIMES, new ListCallback<GenericRow>() {

        @Override
        public void onFailure(DataServiceException error) {
            view.hideProgressIndicator();
        }

        @Override
        public void onSuccess(List<GenericRow> result) {
            boolean shouldUpdate = true;

            if (!result.isEmpty()) {
                double now = System.currentTimeMillis();
                double lastUpdated = result.get(0).getDouble(CachesColumns.CACHE_LAST_UPDATED);
                shouldUpdate = (Math.abs(now - lastUpdated) > (5 * 60000)); // Refresh every 5 minutes.
            }

            view.showProgressIndicator();

            if (shouldUpdate || forceUpdate) {
                /**
                 * Check the travel times table for any starred entries. If we find some,
                 * save them to a list so we can re-star those after we flush the database.
                 * 
                 */
                dbService.getStarredTravelTimes(new ListCallback<GenericRow>() {

                    @Override
                    public void onFailure(DataServiceException error) {
                        view.hideProgressIndicator();
                    }

                    @Override
                    public void onSuccess(List<GenericRow> result) {
                        starred.clear();

                        if (!result.isEmpty()) {
                            for (GenericRow row : result) {
                                starred.add(row.getInt(TravelTimesColumns.TRAVEL_TIMES_ID));
                            }
                        }

                        JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
                        // Set timeout for 30 seconds (30000 milliseconds)
                        jsonp.setTimeout(30000);
                        jsonp.requestObject(TRAVEL_TIMES_URL, new AsyncCallback<TravelTimes>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                view.hideProgressIndicator();
                                phoneGap.getNotification().alert("Can't load data. Check your connection.",
                                        new AlertCallback() {
                                            @Override
                                            public void onOkButtonClicked() {
                                                // TODO Auto-generated method stub
                                            }
                                        }, "Connection Error");
                            }

                            @Override
                            public void onSuccess(TravelTimes result) {

                                if (result.getTravelTimes() != null) {
                                    travelTimesItems.clear();
                                    TravelTimesItem item;

                                    int numItems = result.getTravelTimes().getItems().length();

                                    for (int i = 0; i < numItems; i++) {
                                        item = new TravelTimesItem();

                                        item.setDistance(
                                                result.getTravelTimes().getItems().get(i).getDistance());
                                        item.setUpdated(result.getTravelTimes().getItems().get(i).getUpdated());
                                        item.setTitle(result.getTravelTimes().getItems().get(i).getTitle());
                                        item.setAverageTime(
                                                result.getTravelTimes().getItems().get(i).getAverage());
                                        item.setRouteId(Integer.parseInt(
                                                result.getTravelTimes().getItems().get(i).getRouteId(), 10));
                                        item.setCurrentTime(
                                                result.getTravelTimes().getItems().get(i).getCurrent());

                                        if (starred.contains(Integer.parseInt(
                                                result.getTravelTimes().getItems().get(i).getRouteId(), 10))) {
                                            item.setIsStarred(1);
                                        }

                                        travelTimesItems.add(item);
                                    }

                                    // Purge existing mountain passes covered by incoming data
                                    dbService.deleteTravelTimes(new VoidCallback() {

                                        @Override
                                        public void onFailure(DataServiceException error) {
                                            view.hideProgressIndicator();
                                        }

                                        @Override
                                        public void onSuccess() {
                                            // Bulk insert all the new travel times
                                            dbService.insertTravelTimes(travelTimesItems,
                                                    new RowIdListCallback() {

                                                        @Override
                                                        public void onFailure(DataServiceException error) {
                                                            view.hideProgressIndicator();
                                                        }

                                                        @Override
                                                        public void onSuccess(List<Integer> rowIds) {
                                                            // Update the cache table with the time we did the update
                                                            ArrayList<CacheItem> cacheItems = new ArrayList<CacheItem>();
                                                            cacheItems.add(new CacheItem(Tables.TRAVEL_TIMES,
                                                                    System.currentTimeMillis()));

                                                            dbService.updateCachesTable(cacheItems,
                                                                    new VoidCallback() {

                                                                        @Override
                                                                        public void onFailure(
                                                                                DataServiceException error) {
                                                                            view.hideProgressIndicator();
                                                                        }

                                                                        @Override
                                                                        public void onSuccess() {
                                                                            dbService.getTravelTimes(
                                                                                    new ListCallback<GenericRow>() {

                                                                                        @Override
                                                                                        public void onFailure(
                                                                                                DataServiceException error) {
                                                                                            view.hideProgressIndicator();
                                                                                        }

                                                                                        @Override
                                                                                        public void onSuccess(
                                                                                                List<GenericRow> result) {
                                                                                            getTravelTimes(view,
                                                                                                    result);
                                                                                        }
                                                                                    });
                                                                        }
                                                                    });
                                                        }
                                                    });
                                        }
                                    });
                                }
                            }
                        });
                    }
                });

            } else {
                dbService.getTravelTimes(new ListCallback<GenericRow>() {

                    @Override
                    public void onFailure(DataServiceException error) {
                        view.hideProgressIndicator();
                    }

                    @Override
                    public void onSuccess(List<GenericRow> result) {
                        getTravelTimes(view, result);
                    }
                });
            }

        }

    });

}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.seattleincidents.SeattleTrafficAlertsActivity.java

License:Open Source License

private void createTopicsList() {
    seattleIncidentItems.clear();/*from   ww w.j  a  va 2s.c om*/
    view.showProgressIndicator();

    JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
    // Set timeout for 30 seconds (30000 milliseconds)
    jsonp.setTimeout(30000);
    jsonp.requestObject(SEATTLE_INCIDENTS_URL, new AsyncCallback<SeattleIncidentsFeed>() {

        @Override
        public void onFailure(Throwable caught) {
            view.hideProgressIndicator();
            phoneGap.getNotification().alert("Can't load data. Check your connection.", new AlertCallback() {
                @Override
                public void onOkButtonClicked() {
                    // TODO Auto-generated method stub
                }
            }, "Connection Error");
        }

        @Override
        public void onSuccess(SeattleIncidentsFeed result) {
            SeattleIncidentItem item = null;

            if (result.getSeattleIncidents() != null) {
                int numEntries = result.getSeattleIncidents().getItems().length();
                for (int i = 0; i < numEntries; i++) {
                    item = new SeattleIncidentItem();

                    item.setCategory(result.getSeattleIncidents().getItems().get(i).getCategory());
                    item.setDescription(result.getSeattleIncidents().getItems().get(i).getDescription());
                    item.setLastUpdatedTime(dateFormat.format(new Date(Long.parseLong(result
                            .getSeattleIncidents().getItems().get(i).getLastUpdatedTime().substring(6, 19)))));

                    seattleIncidentItems.add(item);
                }

                view.hideProgressIndicator();
                categorizeAlerts();
                view.refresh();
            }

        }
    });

}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.trafficincidents.TrafficAlertsActivity.java

License:Open Source License

private void getHighwayAlerts() {

    /** /*from  w  w  w  .  ja  v  a 2  s  . co  m*/
     * Check the cache table for the last time data was downloaded. If we are within
     * the allowed time period, don't sync, otherwise get fresh data from the server.
     */
    dbService.getCacheLastUpdated(Tables.HIGHWAY_ALERTS, new ListCallback<GenericRow>() {

        @Override
        public void onFailure(DataServiceException error) {
        }

        @Override
        public void onSuccess(List<GenericRow> result) {
            boolean shouldUpdate = true;

            if (!result.isEmpty()) {
                double now = System.currentTimeMillis();
                double lastUpdated = result.get(0).getDouble(CachesColumns.CACHE_LAST_UPDATED);
                shouldUpdate = (Math.abs(now - lastUpdated) > (5 * 60000)); // Refresh every 5 minutes.
            }

            if (shouldUpdate) {
                try {
                    JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
                    // Set timeout for 30 seconds (30000 milliseconds)
                    jsonp.setTimeout(30000);
                    jsonp.requestObject(HIGHWAY_ALERTS_URL, new AsyncCallback<HighwayAlerts>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        }

                        @Override
                        public void onSuccess(HighwayAlerts result) {
                            alertsToAdd.clear();

                            if (result.getAlerts() != null) {
                                HighwayAlertItem item;
                                int size = result.getAlerts().getItems().length();

                                for (int i = 0; i < size; i++) {
                                    item = new HighwayAlertItem();

                                    item.setAlertId(result.getAlerts().getItems().get(i).getAlertID());
                                    item.setHeadlineDescription(
                                            result.getAlerts().getItems().get(i).getHeadlineDescription());
                                    item.setEventCategory(
                                            result.getAlerts().getItems().get(i).getEventCategory());
                                    item.setStartLatitude(result.getAlerts().getItems().get(i)
                                            .getStartRoadwayLocation().getLatitude());
                                    item.setStartLongitude(result.getAlerts().getItems().get(i)
                                            .getStartRoadwayLocation().getLongitude());
                                    item.setLastUpdatedTime(dateFormat
                                            .format(new Date(Long.parseLong(result.getAlerts().getItems().get(i)
                                                    .getLastUpdatedTime().substring(6, 19)))));

                                    alertsToAdd.add(item);
                                }

                                // Purge existing highway alerts covered by incoming data
                                dbService.deleteHighwayAlerts(new VoidCallback() {

                                    @Override
                                    public void onFailure(DataServiceException error) {
                                    }

                                    @Override
                                    public void onSuccess() {
                                        // Bulk insert all the new highway alerts
                                        dbService.insertHighwayAlerts(alertsToAdd, new RowIdListCallback() {

                                            @Override
                                            public void onFailure(DataServiceException error) {
                                            }

                                            @Override
                                            public void onSuccess(List<Integer> rowIds) {
                                                // Update the cache table with the time we did the update
                                                List<CacheItem> cacheItems = new ArrayList<CacheItem>();
                                                cacheItems.add(new CacheItem(Tables.HIGHWAY_ALERTS,
                                                        System.currentTimeMillis()));
                                                dbService.updateCachesTable(cacheItems, new VoidCallback() {

                                                    @Override
                                                    public void onFailure(DataServiceException error) {
                                                    }

                                                    @Override
                                                    public void onSuccess() {
                                                        addAlerts();
                                                    }

                                                });
                                            }
                                        });
                                    }
                                });
                            }
                        }
                    });

                } catch (Exception e) {

                }
            } else {
                addAlerts();
            }
        }
    });
}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.TrafficMapActivity.java

License:Open Source License

private void getCameras() {

    /** //from   www.  ja  v  a 2 s .  c o m
     * Check the cache table for the last time data was downloaded. If we are within
     * the allowed time period, don't sync, otherwise get fresh data from the server.
     */
    dbService.getCacheLastUpdated(Tables.CAMERAS, new ListCallback<GenericRow>() {

        @Override
        public void onFailure(DataServiceException error) {
        }

        @Override
        public void onSuccess(List<GenericRow> result) {
            boolean shouldUpdate = true;

            if (!result.isEmpty()) {
                double now = System.currentTimeMillis();
                double lastUpdated = result.get(0).getDouble(CachesColumns.CACHE_LAST_UPDATED);
                shouldUpdate = (Math.abs(now - lastUpdated) > (7 * 86400000)); // Refresh every 7 days.
            }

            view.showProgressIndicator();

            if (shouldUpdate) {
                /**
                 * Check the cameras table for any starred entries. If we find some,
                 * save them to a list so we can re-star those after we flush the database.
                 */
                dbService.getStarredCameras(new ListCallback<GenericRow>() {

                    @Override
                    public void onFailure(DataServiceException error) {
                    }

                    @Override
                    public void onSuccess(List<GenericRow> result) {
                        starred.clear();

                        if (!result.isEmpty()) {
                            for (GenericRow row : result) {
                                starred.add(row.getInt(CamerasColumns.CAMERA_ID));
                            }
                        }

                        JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
                        // Set timeout for 30 seconds (30000 milliseconds)
                        jsonp.setTimeout(30000);
                        jsonp.requestObject(CAMERAS_URL, new AsyncCallback<CamerasFeed>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                view.hideProgressIndicator();
                                phoneGap.getNotification().alert("Can't load data. Check your connection.",
                                        new AlertCallback() {
                                            @Override
                                            public void onOkButtonClicked() {
                                                // TODO Auto-generated method stub
                                            }
                                        }, "Connection Error");
                            }

                            @Override
                            public void onSuccess(CamerasFeed result) {

                                if (result.getCameras() != null) {
                                    cameraItems.clear();
                                    CameraItem item;

                                    int numCameras = result.getCameras().getItems().length();

                                    for (int i = 0; i < numCameras; i++) {
                                        item = new CameraItem();

                                        item.setCameraId(result.getCameras().getItems().get(i).getId());
                                        item.setTitle(result.getCameras().getItems().get(i).getTitle());
                                        item.setImageUrl(result.getCameras().getItems().get(i).getUrl());
                                        item.setLatitude(result.getCameras().getItems().get(i).getLat());
                                        item.setLongitude(result.getCameras().getItems().get(i).getLon());
                                        item.setHasVideo(result.getCameras().getItems().get(i).getHasVideo());
                                        item.setRoadName(result.getCameras().getItems().get(i).getRoadName());

                                        if (starred.contains(result.getCameras().getItems().get(i).getId())) {
                                            item.setIsStarred(1);
                                        }

                                        cameraItems.add(item);
                                    }

                                    // Purge existing cameras covered by incoming data
                                    dbService.deleteCameras(new VoidCallback() {

                                        @Override
                                        public void onFailure(DataServiceException error) {
                                        }

                                        @Override
                                        public void onSuccess() {
                                            // Bulk insert all the new cameras
                                            dbService.insertCameras(cameraItems, new RowIdListCallback() {

                                                @Override
                                                public void onFailure(DataServiceException error) {
                                                }

                                                @Override
                                                public void onSuccess(List<Integer> rowIds) {
                                                    // Update the cache table with the time we did the update
                                                    List<CacheItem> cacheItems = new ArrayList<CacheItem>();
                                                    cacheItems.add(new CacheItem(Tables.CAMERAS,
                                                            System.currentTimeMillis()));

                                                    dbService.updateCachesTable(cacheItems, new VoidCallback() {

                                                        @Override
                                                        public void onFailure(DataServiceException error) {
                                                        }

                                                        @Override
                                                        public void onSuccess() {
                                                            view.hideProgressIndicator();
                                                            drawCamerasLayer();
                                                        }
                                                    });
                                                }
                                            });
                                        }
                                    });
                                }
                            }
                        });
                    }
                });

            } else {
                view.hideProgressIndicator();
                drawCamerasLayer();
            }
        }
    });
}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.TrafficMapActivity.java

License:Open Source License

private void getHighwayAlerts() {
    /** // www.  j a  v  a  2  s. c  om
     * Check the cache table for the last time data was downloaded. If we are within
     * the allowed time period, don't sync, otherwise get fresh data from the server.
     */
    dbService.getCacheLastUpdated(Tables.HIGHWAY_ALERTS, new ListCallback<GenericRow>() {

        @Override
        public void onFailure(DataServiceException error) {
        }

        @Override
        public void onSuccess(List<GenericRow> result) {
            boolean shouldUpdate = true;

            if (!result.isEmpty()) {
                double now = System.currentTimeMillis();
                double lastUpdated = result.get(0).getDouble(CachesColumns.CACHE_LAST_UPDATED);
                shouldUpdate = (Math.abs(now - lastUpdated) > (5 * 60000)); // Refresh every 5 minutes.
            }

            if (shouldUpdate) {
                try {
                    JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
                    // Set timeout for 30 seconds (30000 milliseconds)
                    jsonp.setTimeout(30000);
                    jsonp.requestObject(HIGHWAY_ALERTS_URL, new AsyncCallback<HighwayAlerts>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        }

                        @Override
                        public void onSuccess(HighwayAlerts result) {
                            highwayAlertItems.clear();

                            if (result.getAlerts() != null) {
                                HighwayAlertItem item;
                                int size = result.getAlerts().getItems().length();

                                for (int i = 0; i < size; i++) {
                                    item = new HighwayAlertItem();

                                    item.setAlertId(result.getAlerts().getItems().get(i).getAlertID());
                                    item.setHeadlineDescription(
                                            result.getAlerts().getItems().get(i).getHeadlineDescription());
                                    item.setEventCategory(
                                            result.getAlerts().getItems().get(i).getEventCategory());
                                    item.setPriority(result.getAlerts().getItems().get(i).getPriority());
                                    item.setStartLatitude(result.getAlerts().getItems().get(i)
                                            .getStartRoadwayLocation().getLatitude());
                                    item.setStartLongitude(result.getAlerts().getItems().get(i)
                                            .getStartRoadwayLocation().getLongitude());
                                    item.setStartRoadName(result.getAlerts().getItems().get(i)
                                            .getStartRoadwayLocation().getRoadName());
                                    item.setLastUpdatedTime(dateFormat
                                            .format(new Date(Long.parseLong(result.getAlerts().getItems().get(i)
                                                    .getLastUpdatedTime().substring(6, 19)))));

                                    highwayAlertItems.add(item);
                                }

                                // Purge existing highway alerts covered by incoming data
                                dbService.deleteHighwayAlerts(new VoidCallback() {

                                    @Override
                                    public void onFailure(DataServiceException error) {
                                    }

                                    @Override
                                    public void onSuccess() {
                                        // Bulk insert all the new highway alerts
                                        dbService.insertHighwayAlerts(highwayAlertItems,
                                                new RowIdListCallback() {

                                                    @Override
                                                    public void onFailure(DataServiceException error) {
                                                    }

                                                    @Override
                                                    public void onSuccess(List<Integer> rowIds) {
                                                        // Update the cache table with the time we did the update
                                                        List<CacheItem> cacheItems = new ArrayList<CacheItem>();
                                                        cacheItems.add(new CacheItem(Tables.HIGHWAY_ALERTS,
                                                                System.currentTimeMillis()));
                                                        dbService.updateCachesTable(cacheItems,
                                                                new VoidCallback() {

                                                                    @Override
                                                                    public void onFailure(
                                                                            DataServiceException error) {
                                                                    }

                                                                    @Override
                                                                    public void onSuccess() {
                                                                        drawHighwayAlertsLayer();
                                                                    }

                                                                });
                                                    }
                                                });
                                    }
                                });
                            }
                        }
                    });

                } catch (Exception e) {

                }
            } else {
                drawHighwayAlertsLayer();
            }
        }
    });

}

From source file:gov.wa.wsdot.mobile.client.activities.trafficmap.traveltimes.TravelTimesActivity.java

License:Open Source License

private void createTopicsList(final TravelTimesView view) {

    /** /*from  ww w.  j  ava 2  s  .c om*/
     * Check the cache table for the last time data was downloaded. If we are within
     * the allowed time period, don't sync, otherwise get fresh data from the server.
     */
    dbService.getCacheLastUpdated(Tables.TRAVEL_TIMES, new ListCallback<GenericRow>() {

        @Override
        public void onFailure(DataServiceException error) {
        }

        @Override
        public void onSuccess(List<GenericRow> result) {
            boolean shouldUpdate = true;

            if (!result.isEmpty()) {
                double now = System.currentTimeMillis();
                double lastUpdated = result.get(0).getDouble(CachesColumns.CACHE_LAST_UPDATED);
                shouldUpdate = (Math.abs(now - lastUpdated) > (5 * 60000)); // Refresh every 5 minutes.
            }

            view.showProgressIndicator();

            if (shouldUpdate) {
                /**
                 * Check the travel times table for any starred entries. If we find some,
                 * save them to a list so we can re-star those after we flush the database.
                 * 
                 */
                dbService.getStarredTravelTimes(new ListCallback<GenericRow>() {

                    @Override
                    public void onFailure(DataServiceException error) {
                    }

                    @Override
                    public void onSuccess(List<GenericRow> result) {
                        starred.clear();

                        if (!result.isEmpty()) {
                            for (GenericRow row : result) {
                                starred.add(row.getInt(TravelTimesColumns.TRAVEL_TIMES_ID));
                            }
                        }

                        JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
                        // Set timeout for 30 seconds (30000 milliseconds)
                        jsonp.setTimeout(30000);
                        jsonp.requestObject(TRAVEL_TIMES_URL, new AsyncCallback<TravelTimes>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                view.hideProgressIndicator();
                                phoneGap.getNotification().alert("Can't load data. Check your connection.",
                                        new AlertCallback() {
                                            @Override
                                            public void onOkButtonClicked() {
                                                // TODO Auto-generated method stub
                                            }
                                        }, "Connection Error");
                            }

                            @Override
                            public void onSuccess(TravelTimes result) {

                                if (result.getTravelTimes() != null) {
                                    travelTimesItems.clear();
                                    TravelTimesItem item;

                                    int numItems = result.getTravelTimes().getItems().length();

                                    for (int i = 0; i < numItems; i++) {
                                        item = new TravelTimesItem();

                                        item.setDistance(
                                                result.getTravelTimes().getItems().get(i).getDistance());
                                        item.setUpdated(result.getTravelTimes().getItems().get(i).getUpdated());
                                        item.setTitle(result.getTravelTimes().getItems().get(i).getTitle());
                                        item.setAverageTime(
                                                result.getTravelTimes().getItems().get(i).getAverage());
                                        item.setRouteId(Integer.parseInt(
                                                result.getTravelTimes().getItems().get(i).getRouteId(), 10));
                                        item.setCurrentTime(
                                                result.getTravelTimes().getItems().get(i).getCurrent());

                                        if (starred.contains(Integer.parseInt(
                                                result.getTravelTimes().getItems().get(i).getRouteId(), 10))) {
                                            item.setIsStarred(1);
                                        }

                                        travelTimesItems.add(item);
                                    }

                                    // Purge existing mountain passes covered by incoming data
                                    dbService.deleteTravelTimes(new VoidCallback() {

                                        @Override
                                        public void onFailure(DataServiceException error) {
                                        }

                                        @Override
                                        public void onSuccess() {
                                            // Bulk insert all the new travel times
                                            dbService.insertTravelTimes(travelTimesItems,
                                                    new RowIdListCallback() {

                                                        @Override
                                                        public void onFailure(DataServiceException error) {
                                                        }

                                                        @Override
                                                        public void onSuccess(List<Integer> rowIds) {
                                                            // Update the cache table with the time we did the update
                                                            ArrayList<CacheItem> cacheItems = new ArrayList<CacheItem>();
                                                            cacheItems.add(new CacheItem(Tables.TRAVEL_TIMES,
                                                                    System.currentTimeMillis()));

                                                            dbService.updateCachesTable(cacheItems,
                                                                    new VoidCallback() {

                                                                        @Override
                                                                        public void onFailure(
                                                                                DataServiceException error) {
                                                                        }

                                                                        @Override
                                                                        public void onSuccess() {
                                                                            dbService.getTravelTimes(
                                                                                    new ListCallback<GenericRow>() {

                                                                                        @Override
                                                                                        public void onFailure(
                                                                                                DataServiceException error) {
                                                                                        }

                                                                                        @Override
                                                                                        public void onSuccess(
                                                                                                List<GenericRow> result) {
                                                                                            getTravelTimes(view,
                                                                                                    result);
                                                                                        }
                                                                                    });
                                                                        }
                                                                    });
                                                        }
                                                    });
                                        }
                                    });
                                }
                            }
                        });
                    }
                });

            } else {
                dbService.getTravelTimes(new ListCallback<GenericRow>() {

                    @Override
                    public void onFailure(DataServiceException error) {
                    }

                    @Override
                    public void onSuccess(List<GenericRow> result) {
                        getTravelTimes(view, result);
                    }
                });
            }

        }
    });

}

From source file:org.dataconservancy.dcs.access.client.presenter.ActivityPresenter.java

License:Apache License

@Override
public void bind() {

    userService.checkSession(null, new AsyncCallback<UserSession>() {

        @Override/*from  www. j  ava2 s. c  o  m*/
        public void onSuccess(UserSession result) {
            final String agentUrl = result.getRegistryId();
            String queryUrl = SeadApp.roUrl + "resource/agentGraph/" + agentUrl;

            JsonpRequestBuilder rb = new JsonpRequestBuilder();
            rb.setTimeout(100000);
            rb.requestObject(queryUrl, new AsyncCallback<JsProvGraph>() {

                @Override
                public void onFailure(Throwable caught) {
                    new ErrorPopupPanel("Error:" + caught.getMessage()).show();
                }

                @Override
                public void onSuccess(JsProvGraph agentGraph) {

                    JsProvDocument document = agentGraph.getDocument();

                    try {

                        String agentName = document.getAgentName(agentUrl);
                        String agentId = document.getAgentId(agentUrl);

                        JsArray<JsAssociatedWith> activities = document.getActivities(agentId);

                        JsArray<JsGenerated> generatedBys = document.getSafeGeneratedBys();

                        JsArray<JsProvEntity> entities = document.getSafeEntities();

                        TreeMap<Date, List<HTML>> htmlMap = new TreeMap<Date, List<HTML>>(
                                Collections.reverseOrder());

                        for (int i = 0; i < activities.length(); i++) {

                            JsAssociatedWith activity = activities.get(i);
                            String eventType = activity.getEventType();
                            String activityString;
                            if (agentName == null || agentName.contains("null"))
                                activityString = "You ";
                            else
                                activityString = "You (" + agentName + ")  ";

                            if (eventType == null)
                                eventType = "an action";
                            if (eventType.equalsIgnoreCase("Curation-Workflow"))
                                eventType = "Submission-Workflow";

                            activityString += " performed " + eventType + " on  ";

                            JsGenerated gen = null;
                            String activityId = activity.getActivityId();
                            if (activityId == null) {
                                //                             Window.alert("Continuing 1");
                                continue;
                            }
                            for (int k = 0; k < generatedBys.length(); k++) {
                                if (generatedBys.get(k) == null || generatedBys.get(k).getActivityId() == null)
                                    continue;
                                if (generatedBys.get(k).getActivityId().equalsIgnoreCase(activityId)) {
                                    gen = generatedBys.get(k);
                                    break;
                                }
                            }
                            if (gen == null) {
                                //                             Window.alert("Continuing 2");
                                continue;
                            }

                            String entityId = gen.getEntity();

                            JsProvEntity entity = null;
                            //                          Window.alert(entityId);
                            for (int k = 0; k < entities.length(); k++) {
                                if (entities.get(k).getEntityId().equalsIgnoreCase(entityId)) {
                                    entity = entities.get(k);
                                    //                               Window.alert("matched");
                                    break;
                                }
                            }
                            if (entity == null) {
                                //                             Window.alert("Continuing 3");
                                continue;
                            }

                            if (gen.getTimeString() == null || gen.getTimeString().length() < 2) {
                                continue;
                            }

                            String timeString = gen.getTimeString().substring(0,
                                    gen.getTimeString().length() - 2);
                            String entityLink = SeadState.ENTITY.toToken(entity.getEntityUrl());
                            if (activityString.contains("Curation") || activityString.contains("Submission"))
                                entityLink = SeadState.CURATIONOBJECT.toToken(entity.getEntityUrl());

                            HTML html = new HTML("<font color=\"gray\">" + timeString + "</font>"
                                    + "&nbsp;&nbsp;" + activityString + "<a href=\""
                                    + GWT.getModuleName().replace("sead_access",
                                            //                                      "Sead_access.html?gwt.codesvr=127.0.0.1:9997"
                                            "")
                                    + "#" + entityLink + "\"><font color=\"steelblue\">"
                                    + entity.getEntityTitle() + "</font></a>"
                            /*+"&nbsp;&nbsp;&nbsp;&nbsp;<a href=\""+ GWT.getModuleName().replace("sead_access",
                            //                                      "Sead_access.html?gwt.codesvr=127.0.0.1:9997"
                                                ""
                                                ) +
                                                            "#"+
                                                            SeadState.PROV.toToken(entity.getEntityUrl())+
                                                            "\"><font color=\"steelblue\">" +
                                                "(View RO provenance) " +
                                                            "</font></a>"*/, true);

                            html.setStyleName("ActivityEntry");

                            DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss");
                            List<HTML> htmlList;
                            if (htmlMap.containsKey(format.parse(timeString)))
                                htmlList = htmlMap.get(format.parse(timeString));
                            else
                                htmlList = new ArrayList<HTML>();

                            htmlList.add(html);
                            htmlMap.put(format.parse(timeString), htmlList);
                        }

                        display.getActivityContainer().clear();

                        //sort the htmlArray by Date

                        if (htmlMap.values().size() == 0 || htmlMap.size() == 0) {
                            HTML html = new HTML(
                                    "<font color=\"gray\"><center>" + "No Activity Yet" + "</center></font>",
                                    true);
                            html.setStyleName("ActivityEntry");
                            display.getActivityContainer().add(html);
                        } else
                            for (List<HTML> htmlList : htmlMap.values())
                                for (HTML html : htmlList)
                                    display.getActivityContainer().add(html);
                    } catch (Exception e) {
                        display.getActivityContainer().clear();
                        HTML html = new HTML(
                                "<font color=\"gray\"><center>" + "No Activity Yet" + "</center></font>", true);
                        html.setStyleName("ActivityEntry");
                        display.getActivityContainer().add(html);
                    }
                }
            });
        }

        @Override
        public void onFailure(Throwable caught) {
            new ErrorPopupPanel("Error:" + caught.getMessage()).show();
        }
    });
}

From source file:org.dataconservancy.dcs.access.client.presenter.EntityProvPresenter.java

License:Apache License

@Override
public void bind() {

    userService.checkSession(null, new AsyncCallback<UserSession>() {

        @Override/*from w w  w  .j  a va  2s . co m*/
        public void onSuccess(UserSession result) {
            final String entityUrl = display.getEntityId();
            //                  "http://seadva-test.d2i.indiana.edu:5667/sead-wf/entity/192410";
            //"http%3A%2F%2Fseadva-test.d2i.indiana.edu%3A5667%2Fsead-wf%2Fentity%2F189712";
            //                  "agent:f8477e5d-922f-41fb-9496-ba39ff218264";
            //                  "agent:7dd76828-d615-4c76-9f95-427a1dcdf5f4";
            //                  "agent:e4b2ea67-e775-498d-af9e-fcb1a0235f01";
            //                  "agent:4f1e3f38-6fc4-47f8-8e15-4358f80b0986v";
            //             "agent:fb9c6de1-322b-467b-8a88-f6475c6fa0f1";
            String queryUrl = SeadApp.roUrl + "resource/entityGraph/"
                    + entityUrl.replace(":", "%3A").replace("/", "%2F");
            //            queryUrl = "http://seadva-test.d2i.indiana.edu/ro/resource/agentGraph/agent:fb9c6de1-322b-467b-8a88-f6475c6fa0f1";

            JsonpRequestBuilder rb = new JsonpRequestBuilder();
            rb.setTimeout(100000);
            rb.requestObject(queryUrl, new AsyncCallback<JsProvGraph>() {

                @Override
                public void onFailure(Throwable caught) {
                    new ErrorPopupPanel("Error:" + caught.getMessage()).show();
                }

                @Override
                public void onSuccess(JsProvGraph entityGraph) {

                    //Get all activities related to this entity
                    //Get all entities related to this entity
                    //Get all activities related to these entities as well
                    JsProvDocument document = entityGraph.getDocument();

                    JsProvEntity entity = document.getEntity(
                            //"http://seadva-test.d2i.indiana.edu:5667/sead-wf/entity/189712"
                            entityUrl);

                    //  Window.alert(entityId);

                    UtilPopulate populate = new UtilPopulate();
                    populate.populateEntities(entity.getEntityId(), document);
                    JsArrayString entitiesStr = populate.getEArrayString();

                    TreeMap<Date, HTML> htmlMap = new TreeMap<Date, HTML>(Collections.reverseOrder());
                    //  JsArray<JsProvEntity> entities = document.getSafeEntities();
                    String relations = "";
                    for (int j = 0; j < entitiesStr.length(); j++) {
                        String entityLink = "";
                        JsArray<JsGenerated> generatedBys = document
                                .getGeneratedBysByEntity(entitiesStr.get(j));
                        //  Window.alert(generatedBys.length()+" generatedBys");
                        JsArray<JsAssociatedWith> activities = document.getSafeActivities();
                        //  Window.alert(activities.length()+" activities");

                        for (int i = 0; i < generatedBys.length(); i++) {

                            JsGenerated gen = generatedBys.get(i);
                            String activityId = gen.getActivityId();

                            JsAssociatedWith activity = null;
                            //  Window.alert("activityId = " +activityId);

                            for (int k = 0; k < activities.length(); k++) {
                                if (activities.get(k) == null || activities.get(k).getActivityId() == null)
                                    continue;
                                if (activities.get(k).getActivityId().equalsIgnoreCase(activityId)) {
                                    activity = activities.get(k);
                                    break;
                                }
                            }

                            if (activity == null) {
                                Window.alert("Continuing 3");
                                continue;
                            }

                            if (gen.getTimeString() == null || gen.getTimeString().length() < 2) {
                                Window.alert("Continuing 4");
                                continue;
                            }

                            String timeString = gen.getTimeString().substring(0,
                                    gen.getTimeString().length() - 2);

                            String activityString = activity.getEventType();

                            if (activityString.contains("Curation-Workflow"))
                                activityString = "Submission-Workflow";
                            entity = document.getEntityById(entitiesStr.get(j));

                            entityLink = "<a href=\"" + GWT.getModuleName().replace("sead_access",
                                    //                                "Sead_access.html?gwt.codesvr=127.0.0.1:9997"
                                    "") + "#" + SeadState.CURATIONOBJECT.toToken(entity.getEntityUrl())
                                    + "\"><font color=\"steelblue\">" + entity.getEntityTitle() + "</font></a>";

                            HTML html = new HTML(
                                    "<font color=\"gray\">" + timeString + "</font>" + "&nbsp;&nbsp;"
                                            + activityString + "&nbsp; was performed on &nbsp;" + entityLink,
                                    true);

                            html.setStyleName("ActivityEntry");

                            DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss");
                            htmlMap.put(format.parse(timeString), html);
                        }
                        if (j > 0)
                            relations += ", ";
                        relations += entityLink + "&nbsp;&nbsp;";
                    }

                    //sort the htmlArray by Date

                    if (htmlMap.values().size() == 0 || htmlMap.size() == 0) {
                        HTML html = new HTML(
                                "<font color=\"gray\"><center>" + "No Activity Yet" + "</center></font>", true);
                        html.setStyleName("ActivityEntry");
                        display.getActivityContainer().add(html);
                    } else
                        for (HTML html : htmlMap.values())
                            display.getActivityContainer().add(html);

                    HTML html = new HTML("<font color=\"gray\">" + "Relations" + "</font>", true);
                    html.setStyleName("ActivityEntry");
                    display.getActivityContainer().add(html);
                    html = new HTML(relations + "&nbsp;&nbsp; represent lineage stages of a single RO.", true);
                    display.getActivityContainer().add(html);

                }

            });
        }

        @Override
        public void onFailure(Throwable caught) {
            new ErrorPopupPanel("Error:" + caught.getMessage()).show();
        }
    });
}