Example usage for com.google.gwt.http.client RequestBuilder setHeader

List of usage examples for com.google.gwt.http.client RequestBuilder setHeader

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestBuilder setHeader.

Prototype

public void setHeader(String header, String value) 

Source Link

Document

Sets a request header with the given name and value.

Usage

From source file:org.pentaho.mantle.client.ui.xul.MantleController.java

License:Open Source License

/**
 * Called when the Xul Dom is ready, grab all Xul references here.
 */// w ww .  ja  v  a  2 s .c  om
@Bindable
public void init() {

    openBtn = (XulToolbarbutton) document.getElementById("openButton"); //$NON-NLS-1$
    newBtn = (XulToolbarbutton) document.getElementById("newButton"); //$NON-NLS-1$
    saveBtn = (XulToolbarbutton) document.getElementById("saveButton"); //$NON-NLS-1$
    saveAsBtn = (XulToolbarbutton) document.getElementById("saveAsButton"); //$NON-NLS-1$
    printBtn = (XulToolbarbutton) document.getElementById("printButton");

    contentEditBtn = (XulToolbarbutton) document.getElementById("editContentButton"); //$NON-NLS-1$

    bf = new GwtBindingFactory(document);
    bf.createBinding(model, "saveEnabled", saveBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "saveAsEnabled", saveAsBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "contentEditEnabled", contentEditBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "contentEditSelected", this, "editContentSelected"); //$NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "printVisible", printBtn, "visible");

    saveMenuItem = (XulMenuitem) document.getElementById("saveMenuItem"); //$NON-NLS-1$
    saveAsMenuItem = (XulMenuitem) document.getElementById("saveAsMenuItem"); //$NON-NLS-1$
    useDescriptionsMenuItem = (XulMenuitem) document.getElementById("useDescriptionsMenuItem"); //$NON-NLS-1$
    showHiddenFilesMenuItem = (XulMenuitem) document.getElementById("showHiddenFilesMenuItem"); //$NON-NLS-1$
    languageMenu = (XulMenubar) document.getElementById("languagemenu"); //$NON-NLS-1$
    themesMenu = (XulMenubar) document.getElementById("themesmenu"); //$NON-NLS-1$
    toolsMenu = (XulMenubar) document.getElementById("toolsmenu"); //$NON-NLS-1$
    recentMenu = (XulMenubar) document.getElementById("recentmenu"); //$NON-NLS-1$
    favoriteMenu = (XulMenubar) document.getElementById("favoritesmenu"); //$NON-NLS-1$

    if (PerspectiveManager.getInstance().isLoaded()) {
        PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE, false);
    } else {
        EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE, new PerspectivesLoadedEventHandler() {
            public void onPerspectivesLoaded(PerspectivesLoadedEvent event) {
                PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE,
                        false);
            }
        });
    }

    // install language sub-menus
    Map<String, String> supportedLanguages = Messages.getResourceBundle().getSupportedLanguages();
    if (supportedLanguages != null && supportedLanguages.keySet() != null && !supportedLanguages.isEmpty()) {
        MenuBar langMenu = (MenuBar) languageMenu.getManagedObject();
        langMenu.insertSeparator(0);
        for (String lang : supportedLanguages.keySet()) {
            MenuItem langMenuItem = new MenuItem(supportedLanguages.get(lang), new SwitchLocaleCommand(lang));
            langMenuItem.getElement().setId(supportedLanguages.get(lang) + "_menu_item"); //$NON-NLS-1$
            langMenu.insertItem(langMenuItem, 0);
        }
    }
    buildFavoritesAndRecent(false);

    UserSettingsManager.getInstance().getUserSettings(new AsyncCallback<JsArray<JsSetting>>() {
        public void onSuccess(JsArray<JsSetting> settings) {
            processSettings(settings);
        }

        public void onFailure(Throwable caught) {
        }
    }, false);

    EventBusUtil.EVENT_BUS.addHandler(UserSettingsLoadedEvent.TYPE, new UserSettingsLoadedEventHandler() {
        public void onUserSettingsLoaded(UserSettingsLoadedEvent event) {
            processSettings(event.getSettings());
        }

    });

    // install themes
    RequestBuilder getActiveThemeRequestBuilder = new RequestBuilder(RequestBuilder.GET,
            GWT.getHostPageBaseURL() + "api/theme/active"); //$NON-NLS-1$
    try {
        getActiveThemeRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        getActiveThemeRequestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                // showError(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                final String activeTheme = response.getText();
                RequestBuilder getThemesRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                        GWT.getHostPageBaseURL() + "api/theme/list"); //$NON-NLS-1$
                getThemesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                getThemesRequestBuilder.setHeader("accept", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$

                try {
                    getThemesRequestBuilder.sendRequest(null, new RequestCallback() {
                        public void onError(Request arg0, Throwable arg1) {
                        }

                        public void onResponseReceived(Request request, Response response) {
                            try {
                                final String url = GWT.getHostPageBaseURL() + "api/repo/files/canAdminister"; //$NON-NLS-1$
                                RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
                                requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                                requestBuilder.setHeader("accept", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$
                                requestBuilder.sendRequest(null, new RequestCallback() {

                                    public void onError(Request request, Throwable caught) {
                                    }

                                    public void onResponseReceived(Request request, Response response) {
                                        toolsMenu.setVisible("true".equalsIgnoreCase(response.getText())); //$NON-NLS-1$
                                        showHiddenFilesMenuItem
                                                .setVisible("true".equalsIgnoreCase(response.getText())); //$NON-NLS-1$
                                    }

                                });
                            } catch (RequestException e) {
                                Window.alert(e.getMessage());
                            }

                            JsArray<JsTheme> themes = JsTheme
                                    .getThemes(JsonUtils.escapeJsonForEval(response.getText()));

                            for (int i = 0; i < themes.length(); i++) {
                                JsTheme theme = themes.get(i);
                                PentahoMenuItem themeMenuItem = new PentahoMenuItem(theme.getName(),
                                        new SwitchThemeCommand(theme.getId()));
                                themeMenuItem.getElement().setId(theme.getId() + "_menu_item"); //$NON-NLS-1$
                                themeMenuItem.setChecked(theme.getId().equals(activeTheme));
                                ((MenuBar) themesMenu.getManagedObject()).addItem(themeMenuItem);
                            }

                            bf.createBinding(model, "saveEnabled", saveMenuItem, "visible"); //$NON-NLS-1$ //$NON-NLS-2$
                            bf.createBinding(model, "saveAsEnabled", saveAsMenuItem, "visible"); //$NON-NLS-1$ //$NON-NLS-2$

                            if (PerspectiveManager.getInstance().isLoaded()) {
                                executeAdminContent();
                            } else {
                                EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE,
                                        new PerspectivesLoadedEventHandler() {
                                            public void onPerspectivesLoaded(PerspectivesLoadedEvent event) {
                                                executeAdminContent();
                                            }
                                        });
                            }

                            setupNativeHooks(MantleController.this);
                        }
                    });

                } catch (RequestException e) {
                    // showError(e);
                }
            }

        });

    } catch (RequestException e) {
        Window.alert(e.getMessage());
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.ui.xul.MantleController.java

License:Open Source License

private void executeAdminContent() {

    try {//from   w  w  w  .j  a  va2 s  .  com
        RequestCallback internalCallback = new RequestCallback() {

            public void onError(Request request, Throwable exception) {
            }

            public void onResponseReceived(Request request, Response response) {
                JsArray<JsSetting> jsSettings = null;
                try {
                    jsSettings = JsSetting.parseSettingsJson(response.getText());
                } catch (Throwable t) {
                    // happens when there are no settings
                }
                if (jsSettings == null) {
                    return;
                }
                for (int i = 0; i < jsSettings.length(); i++) {
                    String content = jsSettings.get(i).getValue();
                    StringTokenizer nameValuePairs = new StringTokenizer(content, ";"); //$NON-NLS-1$
                    String perspective = null, content_panel_id = null, content_url = null;
                    for (int j = 0; j < nameValuePairs.countTokens(); j++) {
                        String currentToken = nameValuePairs.tokenAt(j).trim();
                        if (currentToken.startsWith("perspective=")) { //$NON-NLS-1$
                            perspective = currentToken.substring("perspective=".length()); //$NON-NLS-1$
                        }
                        if (currentToken.startsWith("content-panel-id=")) { //$NON-NLS-1$
                            content_panel_id = currentToken.substring("content-panel-id=".length()); //$NON-NLS-1$
                        }
                        if (currentToken.startsWith("content-url=")) { //$NON-NLS-1$
                            content_url = currentToken.substring("content-url=".length()); //$NON-NLS-1$
                        }
                    }

                    if (content_panel_id != null && content_url != null) {
                        overrideContentPanelId = content_panel_id;
                        overrideContentUrl = content_url;
                    }

                    if (perspective != null) {
                        PerspectiveManager.getInstance().setPerspective(perspective);
                    }

                    if (perspective == null && content_panel_id == null && content_url == null) {
                        GwtMessageBox warning = new GwtMessageBox();
                        warning.setTitle(Messages.getString("warning")); //$NON-NLS-1$
                        warning.setMessage(content);
                        warning.setButtons(new Object[GwtMessageBox.ACCEPT]);
                        warning.setAcceptLabel(Messages.getString("close")); //$NON-NLS-1$
                        warning.show();
                    }
                }
            }
        };

        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
                GWT.getHostPageBaseURL() + "api/mantle/getAdminContent"); //$NON-NLS-1$
        builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        builder.setHeader("accept", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$
        builder.sendRequest(null, internalCallback);
        // TO DO Reset the menuItem click for browser and workspace here?
    } catch (RequestException e) {
        //ignore
    }
}

From source file:org.pentaho.mantle.client.ui.xul.MantleXul.java

License:Open Source License

/**
 * Callback method for the MantleXulLoader. This is called when the Xul file has been processed.
 * // ww w  .  j  a  v  a2  s  .  c  o  m
 * @param runner
 *          GwtXulRunner instance ready for event handlers and initializing.
 */
public void xulLoaded(GwtXulRunner runner) {
    // handlers need to be wrapped generically in GWT, create one and pass it our reference.

    // instantiate our Model and Controller
    controller = new MantleController(new MantleModel(this));

    // Add handler to container
    container = (GwtXulDomContainer) runner.getXulDomContainers().get(0);
    container.addEventHandler(controller);

    try {
        runner.initialize();
    } catch (XulException e) {
        Window.alert("Error initializing XUL runner: " + e.getMessage()); //$NON-NLS-1$
        e.printStackTrace();
        return;
    }

    // Get the toolbar from the XUL doc
    Widget bar = (Widget) container.getDocumentRoot().getElementById("mainToolbarWrapper").getManagedObject(); //$NON-NLS-1$
    Widget xultoolbar = (Widget) container.getDocumentRoot().getElementById("mainToolbar").getManagedObject(); //$NON-NLS-1$
    xultoolbar.getElement().removeClassName("toolbar");
    toolbar.setStylePrimaryName("mainToolbar-Wrapper");
    toolbar.setWidget(bar);

    // Get the menubar from the XUL doc
    Widget menu = (Widget) container.getDocumentRoot().getElementById("mainMenubar").getManagedObject(); //$NON-NLS-1$
    menubar.setWidget(menu);

    // check based on user permissions
    final String moduleBaseURL = GWT.getModuleBaseURL();
    final String moduleName = GWT.getModuleName();
    final String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String url = contextURL + "api/repo/files/canCreate"; //$NON-NLS-1$
    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    executableTypesRequestBuilder.setHeader("accept", "text/plain");
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    try {
        executableTypesRequestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                // showError(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == Response.SC_OK) {
                    Boolean visible = new Boolean(response.getText());
                    controller.setMenuBarEnabled("newmenu", visible);
                    controller.setToolBarButtonEnabled("newButton", visible);
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }

    // get the admin perspective from the XUL doc
    Widget admin = (Widget) container.getDocumentRoot().getElementById("adminPerspective").getManagedObject(); //$NON-NLS-1$
    admin.setStyleName("admin-perspective");
    admin.getElement().getStyle().clearHeight();
    admin.getElement().getStyle().clearWidth();
    adminPerspective.setWidget(admin);

    Panel adminContentPanel = (Panel) container.getDocumentRoot().getElementById("adminContentPanel")
            .getManagedObject();
    adminContentPanel.add(adminContentDeck);
    adminContentDeck.setHeight("100%");
    adminContentDeck.getElement().getStyle().setProperty("height", "100%");
    fetchPluginOverlays();
}

From source file:org.pentaho.mantle.client.ui.xul.MantleXul.java

License:Open Source License

public void configureAdminCatTree() {
    String serviceUrl = GWT.getHostPageBaseURL() + "api/ldap/config/getAttributeValues";
    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, serviceUrl);
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {/*  www.j a  va  2 s. com*/
        executableTypesRequestBuilder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
            }

            public void onResponseReceived(Request request, Response response) {
                String securityProvider = response.getText();
                enableUsersRolesTreeItem(securityProvider.contains("DB_BASED_AUTHENTICATION"));
            }
        });
    } catch (RequestException e) {
        //ignored
    }
}

From source file:org.pentaho.mantle.client.ui.xul.MantleXul.java

License:Open Source License

private void fetchPluginOverlays() {
    AbstractCommand cmd = new AbstractCommand() {
        protected void performOperation(boolean feedback) {
            performOperation();/*from   w  w  w . ja v  a2s. c  o  m*/
        }

        protected void performOperation() {
            final String url = GWT.getHostPageBaseURL() + "api/plugin-manager/overlays"; //$NON-NLS-1$
            RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
            builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
            builder.setHeader("accept", "application/json");

            try {
                builder.sendRequest(null, new RequestCallback() {

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

                    public void onResponseReceived(Request request, Response response) {

                        JsArray<JsXulOverlay> jsoverlays = JsXulOverlay
                                .parseJson(JsonUtils.escapeJsonForEval(response.getText()));

                        ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>();
                        for (int i = 0; i < jsoverlays.length(); i++) {
                            JsXulOverlay o = jsoverlays.get(i);
                            MantleXulOverlay overlay;
                            overlay = new MantleXulOverlay(o.getId(), o.getOverlayUri(), o.getSource(),
                                    o.getResourceBundleUri(), Integer.parseInt(o.getPriority()));
                            overlays.add(overlay);
                        }

                        MantleXul.this.addOverlays(overlays);

                        final String url = GWT.getHostPageBaseURL()
                                + "plugin/data-access/api/permissions/hasDataAccess"; //$NON-NLS-1$
                        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
                        builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                        builder.setHeader("accept", "application/json");

                        try {
                            builder.sendRequest(null, new RequestCallback() {

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

                                public void onResponseReceived(Request request, Response response) {
                                    if (response.getText().equals("true")) {
                                        controller.loadOverlay("dataaccess");
                                    }
                                }
                            });
                        } catch (RequestException e) {
                            // showError(e);
                        }
                    }
                });
            } catch (RequestException e) {
                // showError(e);
            }
        }
    };
    cmd.execute();
}

From source file:org.pentaho.mantle.client.usersettings.MantleSettingsManager.java

License:Open Source License

private void getMantleSettings(final AsyncCallback<HashMap<String, String>> callback) {
    final RequestCallback internalCallback = new RequestCallback() {

        public void onError(Request request, Throwable exception) {
            MessageDialogBox dialog = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                    Messages.getString("couldNotGetUserSettings"), true, false, true); //$NON-NLS-1$
            dialog.center();/*from  w w  w.  j a  v  a 2  s  .  c  om*/
        }

        public void onResponseReceived(Request request, Response response) {

            JsArray<JsSetting> jsSettings = null;
            try {
                jsSettings = JsSetting.parseSettingsJson(response.getText());
            } catch (Throwable t) {
                // happens when there are no settings
            }

            for (int i = 0; i < jsSettings.length(); i++) {
                settings.put(jsSettings.get(i).getName(), jsSettings.get(i).getValue());
            }

            settings.put("is-administrator", "" + isAdministrator);
            if (callback != null) {
                callback.onSuccess(settings);
            }
            EventBusUtil.EVENT_BUS.fireEvent(new MantleSettingsLoadedEvent(settings));
        }
    };

    final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
            GWT.getHostPageBaseURL() + "api/mantle/settings");
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    builder.setHeader("accept", "application/json");

    try {
        final String url = GWT.getHostPageBaseURL() + "api/repo/files/canAdminister"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.setHeader("accept", "text/plain");
        requestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable caught) {
                try {
                    builder.sendRequest(null, internalCallback);
                } catch (RequestException e) {
                    //ignored
                }
                //CHECKSTYLE IGNORE Indentation FOR NEXT 1 LINES
                MantleSettingsManager.getInstance().isAdministrator = false;
            }

            public void onResponseReceived(Request request, Response response) {
                try {
                    builder.sendRequest(null, internalCallback);
                } catch (RequestException e) {
                    //ignored
                }
                //CHECKSTYLE IGNORE Indentation FOR NEXT 1 LINES
                MantleSettingsManager.getInstance().isAdministrator = isAdministrator;
            }

        });
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    }
}

From source file:org.pentaho.mantle.client.usersettings.UserSettingsManager.java

License:Open Source License

private void getUserSettings(final AsyncCallback<JsArray<JsSetting>> callback) {
    final String url = GWT.getHostPageBaseURL() + "api/user-settings/list"; //$NON-NLS-1$
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    builder.setHeader("accept", "application/json");
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    try {// www .java2  s .co m
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                MessageDialogBox dialog = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                        Messages.getString("couldNotGetUserSettings"), true, false, true); //$NON-NLS-1$
                dialog.center();
            }

            public void onResponseReceived(Request request, Response response) {
                JsArray<JsSetting> jsSettings = null;
                try {
                    jsSettings = JsSetting.parseSettingsJson(response.getText());
                } catch (Throwable t) {
                    // happens when there are no settings
                }
                //CHECKSTYLE IGNORE Indentation FOR NEXT 1 LINES
                getInstance().settings = jsSettings;
                if (callback != null) {
                    callback.onSuccess(settings);
                }
                EventBusUtil.EVENT_BUS.fireEvent(new UserSettingsLoadedEvent(settings));
            }

        });
    } catch (RequestException e) {
        // showError(e);
    }

}

From source file:org.pentaho.mantle.client.workspace.BlockoutPanel.java

License:Open Source License

private void makeServiceCall(final String urlSuffix, final RequestBuilder.Method httpMethod,
        final String requestData, final String acceptHeader, final RequestCallback callback) {
    String moduleBaseURL = GWT.getModuleBaseURL();
    String moduleName = GWT.getModuleName();
    String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String url = contextURL + "api/scheduler/" + urlSuffix;
    RequestBuilder builder = new RequestBuilder(httpMethod, url);
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    builder.setHeader("Content-Type", "application/json");
    if (!StringUtils.isEmpty(acceptHeader)) {
        builder.setHeader("accept", acceptHeader);
    }//from   w w w .  j av a2  s. c  o  m
    try {
        builder.sendRequest(requestData, callback);
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java

License:Open Source License

public void refresh() {
    String moduleBaseURL = GWT.getModuleBaseURL();
    String moduleName = GWT.getModuleName();
    String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String url = contextURL + "api/scheduler/jobs"; //$NON-NLS-1$
    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    executableTypesRequestBuilder.setHeader("accept", "application/json");
    try {/*from  w  w w.j  ava2 s .c o m*/
        executableTypesRequestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                // showError(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == Response.SC_OK) {
                    allJobs = parseJson(JsonUtils.escapeJsonForEval(response.getText()));
                    filterAndShowData();
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java

License:Open Source License

private void updateControlSchedulerButtonState(final ToolbarButton controlSchedulerButton,
        final boolean isScheduler) {
    final String url = GWT.getHostPageBaseURL() + "api/scheduler/state"; //$NON-NLS-1$
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {//from   w  w  w .j a  va2 s  . co m
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                // showError(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                boolean isRunning = "RUNNING".equalsIgnoreCase(response.getText());
                if (isRunning) {
                    controlSchedulerButton.setToolTip(Messages.getString("stopScheduler"));
                    controlSchedulerButton
                            .setImage(ImageUtil.getThemeableImage("icon-small", "icon-stop-scheduler"));
                } else {
                    controlSchedulerButton.setToolTip(Messages.getString("startScheduler"));
                    controlSchedulerButton
                            .setImage(ImageUtil.getThemeableImage("icon-small", "icon-start-scheduler"));
                }

                if (!isScheduler) {
                    controlSchedulerButton.setEnabled(false);
                } else {
                    controlSchedulerButton.setEnabled(true);
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}