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.solutionbrowser.fileproperties.PermissionsPanel.java

License:Open Source License

/**
 * @param fileSummary/* w  ww  . j av a2  s .  co  m*/
 */
public PermissionsPanel(RepositoryFile theFileSummary) {
    this.fileSummary = theFileSummary;

    removeButton.setStylePrimaryName("pentaho-button");
    addButton.setStylePrimaryName("pentaho-button");
    usersAndRolesList.getElement().setId("sharePanelUsersAndRolesList");
    addButton.getElement().setId("sharePanelAddButton");
    removeButton.getElement().setId("sharePanelRemoveButton");

    removeButton.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent clickEvent) {
            // find list to remove
            if (usersAndRolesList.getItemCount() == 0) {
                return;
            }
            dirty = true;

            for (final String userOrRoleString : SelectUserOrRoleDialog
                    .getSelectedItemsValue(usersAndRolesList)) {
                String recipientType = getRecipientTypeByValue(userOrRoleString);
                //"(user)".length() = "(role)".length() = 6
                String userOrRoleNameString = userOrRoleString.substring(0, userOrRoleString.length() - 6);
                removeRecipient(userOrRoleNameString, recipientType, fileInfo);
                usersAndRolesList.removeItem(usersAndRolesList.getSelectedIndex());
                existingUsersAndRoles.remove(userOrRoleNameString);
            }
            if (usersAndRolesList.getItemCount() > 0) {
                usersAndRolesList.setSelectedIndex(0);
            }
            buildPermissionsTable(fileInfo);
        }
    });

    addButton.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent clickEvent) {
            dirty = true;
            final SelectUserOrRoleDialog pickUserRoleDialog = new SelectUserOrRoleDialog(fileInfo,
                    existingUsersAndRoles, new IUserRoleSelectedCallback() {

                        public void roleSelected(String role) {
                            //this was done to distinguish users and roles in case they are identical
                            usersAndRolesList.addItem(role, role + "(role)"); //$NON-NLS-1$
                            existingUsersAndRoles.add(role);
                            usersAndRolesList.setSelectedIndex(usersAndRolesList.getItemCount() - 1);
                            addRecipient(role, ROLE_TYPE, fileInfo);
                            buildPermissionsTable(fileInfo);
                        }

                        public void userSelected(String user) {
                            usersAndRolesList.addItem(user, user + "(user)"); //$NON-NLS-1$
                            existingUsersAndRoles.add(user);
                            usersAndRolesList.setSelectedIndex(usersAndRolesList.getItemCount() - 1);
                            addRecipient(user, USER_TYPE, fileInfo);
                            buildPermissionsTable(fileInfo);
                        }
                    });
            pickUserRoleDialog.center();
        }

    });

    FlowPanel buttonPanel = new FlowPanel();
    buttonPanel.add(addButton);
    buttonPanel.add(removeButton);
    usersAndRolesList.setVisibleItemCount(7);
    usersAndRolesList.addClickHandler(new ClickHandler() {

        public void onClick(ClickEvent clickEvent) {
            // update permissions list and permission label (put username in it)
            // rebuild permissionsTable settings based on selected mask
            buildPermissionsTable(fileInfo);
        }

    });
    usersAndRolesList.setWidth("100%"); //$NON-NLS-1$
    buttonPanel.setWidth("100%"); //$NON-NLS-1$

    readPermissionCheckBox.getElement().setId("sharePermissionRead"); //$NON-NLS-1$
    deletePermissionCheckBox.getElement().setId("sharePermissionDelete"); //$NON-NLS-1$
    writePermissionCheckBox.getElement().setId("sharePermissionWrite"); //$NON-NLS-1$
    managePermissionCheckBox.getElement().setId("sharePermissionManagePerm"); //$NON-NLS-1$

    readPermissionCheckBox.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent clickEvent) {
            updatePermissionMask(fileInfo, readPermissionCheckBox.getValue(), PERM_READ);
            refreshPermission();
        }
    });
    deletePermissionCheckBox.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent clickEvent) {
            setDeleteCheckBox(deletePermissionCheckBox.getValue());
            refreshPermission();
        }
    });
    writePermissionCheckBox.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent clickEvent) {
            setWriteCheckBox(writePermissionCheckBox.getValue());
            refreshPermission();
        }
    });
    managePermissionCheckBox.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent clickEvent) {
            setManageCheckBox(managePermissionCheckBox.getValue());
            refreshPermission();
        }
    });

    readPermissionCheckBox.setEnabled(false);

    inheritsCheckBox.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent clickEvent) {
            dirty = true;
            String moduleBaseURL = GWT.getModuleBaseURL();
            String moduleName = GWT.getModuleName();
            final String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));

            if (inheritsCheckBox.getValue()) {
                VerticalPanel vp = new VerticalPanel();
                vp.add(new Label(Messages.getString("permissionsWillBeLostQuestion"))); //$NON-NLS-1$
                // Get the state of add and remove button
                final boolean currRemoveButtonState = removeButton.isEnabled();
                final boolean currAddButtonState = addButton.isEnabled();
                final PromptDialogBox permissionsOverwriteConfirm = new PromptDialogBox(
                        Messages.getString("permissionsWillBeLostConfirmMessage"), Messages.getString("ok"), //$NON-NLS-1$//$NON-NLS-2$
                        Messages.getString("cancel"), false, true, vp); //$NON-NLS-1$

                final IDialogCallback callback = new IDialogCallback() {

                    public void cancelPressed() {
                        permissionsOverwriteConfirm.hide();
                        inheritsCheckBox.setValue(false);
                        dirty = false;
                        // BACKLOG-15986 Set the button state to value before the confirmation dialog
                        setInheritsAcls(inheritsCheckBox.getValue(), fileInfo);
                        addButton.setEnabled(currAddButtonState);
                        removeButton.setEnabled(currRemoveButtonState);
                    }

                    public void okPressed() {
                        String path = fileSummary.getPath().substring(0,
                                fileSummary.getPath().lastIndexOf("/"));
                        String url = contextURL + "api/repo/files/" + SolutionBrowserPanel.pathToId(path) //$NON-NLS-1$
                                + "/acl"; //$NON-NLS-1$
                        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
                        // This header is required to force Internet Explorer to not cache values from the GET response.
                        builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                        try {
                            builder.sendRequest(null, new RequestCallback() {
                                public void onResponseReceived(Request request, Response response) {
                                    if (response.getStatusCode() == Response.SC_OK) {
                                        initializePermissionPanel(XMLParser.parse(response.getText()));
                                        inheritsCheckBox.setValue(true);
                                        refreshPermission();
                                    } else {
                                        inheritsCheckBox.setValue(false);
                                        refreshPermission();
                                        MessageDialogBox dialogBox = new MessageDialogBox(
                                                Messages.getString("error"), //$NON-NLS-1$
                                                Messages.getString("couldNotGetPermissions", //$NON-NLS-1$
                                                        response.getStatusText()), false, false, true);
                                        dialogBox.center();
                                    }
                                }

                                @Override
                                public void onError(Request request, Throwable exception) {
                                    inheritsCheckBox.setValue(false);
                                    refreshPermission();
                                    MessageDialogBox dialogBox = new MessageDialogBox(
                                            Messages.getString("error"), //$NON-NLS-1$
                                            Messages.getString("couldNotGetPermissions", //$NON-NLS-1$
                                                    exception.getLocalizedMessage()), false, false, true);
                                    dialogBox.center();
                                }
                            });
                        } catch (RequestException e) {
                            inheritsCheckBox.setValue(false);
                            refreshPermission();
                            MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                                    Messages.getString("couldNotGetPermissions", e.getLocalizedMessage()), //$NON-NLS-1$
                                    false, false, true);
                            dialogBox.center();
                        }
                    }
                };
                permissionsOverwriteConfirm.setCallback(callback);
                permissionsOverwriteConfirm.center();

            }
            refreshPermission();
        }
    });

    int row = 0;
    setWidget(row++, 0, inheritsCheckBox);
    setWidget(row++, 0, new Label(Messages.getString("usersAndRoles"))); //$NON-NLS-1$
    setWidget(row++, 0, usersAndRolesList);

    // right justify button panel
    CellFormatter buttonPanelCellFormatter = new CellFormatter();
    buttonPanelCellFormatter.setHorizontalAlignment(row, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    setCellFormatter(buttonPanelCellFormatter);
    setWidget(row++, 0, buttonPanel);

    setWidget(row++, 0, permissionsLabel);
    setWidget(row++, 0, permissionsTable);

    setCellPadding(4);

    setWidth("100%"); //$NON-NLS-1$

    permissionsTable.setWidget(0, 0, managePermissionCheckBox);
    permissionsTable.setWidget(1, 0, deletePermissionCheckBox);
    permissionsTable.setWidget(2, 0, writePermissionCheckBox);
    permissionsTable.setWidget(3, 0, readPermissionCheckBox);
    permissionsTable.setStyleName("permissionsTable"); //$NON-NLS-1$
    permissionsTable.setWidth("100%"); //$NON-NLS-1$
    permissionsTable.setHeight("100%"); //$NON-NLS-1$

    init();
}

From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.PermissionsPanel.java

License:Open Source License

/**
 * @return/*w w  w .ja v  a2 s  .c o  m*/
 */
public List<RequestBuilder> prepareRequests() {
    ArrayList<RequestBuilder> requestBuilders = new ArrayList<RequestBuilder>();

    String moduleBaseURL = GWT.getModuleBaseURL();
    String moduleName = GWT.getModuleName();
    String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    String url = contextURL + "api/repo/files/" + SolutionBrowserPanel.pathToId(fileSummary.getPath()) + "/acl"; //$NON-NLS-1$//$NON-NLS-2$
    RequestBuilder builder = new RequestBuilder(RequestBuilder.PUT, url);
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    builder.setHeader("Content-Type", "application/xml");

    // At this point if we're inheriting we need to remove all the acls so that the inheriting flag isn't set by
    // default
    if (isInheritsAcls(fileInfo)) {
        removeAllAces(fileInfo);
    } else {
        // Check if any of the permission sets should be replaced with ALL.
        // Any non-inherited Ace with a permission set containing PERM_GRANT_PERM should be replaced
        // with a single PERM_ALL.
        NodeList aces = fileInfo.getElementsByTagName(ACES_ELEMENT_NAME);
        for (int i = 0; i < aces.getLength(); i++) {
            Element ace = (Element) aces.item(i);
            NodeList perms = ace.getElementsByTagName(PERMISSIONS_ELEMENT_NAME);
            for (int j = 0; j < perms.getLength(); j++) {
                Element perm = (Element) perms.item(j);
                if (perm.getFirstChild() != null) {
                    if (Integer.parseInt(perm.getFirstChild().getNodeValue()) == PERM_GRANT_PERM) {
                        replacePermissionsWithAll(ace, fileInfo);
                        break;
                    }
                }
            }
        }
    }

    // set request data in builder itself
    builder.setRequestData(fileInfo.toString());

    // add builder to list to return to parent for execution
    requestBuilders.add(builder);

    return requestBuilders;
}

From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java

License:Open Source License

public void fetchAllRoles(final ArrayList<String> existing, final Document fileInfo) {

    try {/*www  .ja va 2  s  .  c o  m*/
        final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-roles"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        // This header is required to force Internet Explorer to not cache values from the GET response.
        requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.setHeader("accept", "application/json");
        requestBuilder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                JsArrayString roles = parseRolesJson(JsonUtils.escapeJsonForEval(response.getText()));
                // filter out existing
                rolesListBox.clear();
                PermissionsPanel permPanel = new PermissionsPanel(null);
                for (int i = 0; i < roles.length(); i++) {
                    String role = roles.get(i);
                    if (!existing.contains(role)) {
                        rolesListBox.addItem(role);
                    } else {
                        if (!permPanel.getNames(fileInfo, 1).contains(role)
                                && permPanel.getNames(fileInfo, 0).contains(role)) {
                            //we have equal user/role pair(s) and user already in existing list
                            rolesListBox.addItem(role);
                        }
                    }
                }

            }

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

From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java

License:Open Source License

public void fetchAllUsers(final ArrayList<String> existing, final Document fileInfo) {
    try {/* www .ja va  2  s. c o  m*/
        final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-users"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        // This header is required to force Internet Explorer to not cache values from the GET response.
        requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.setHeader("accept", "application/json");
        requestBuilder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                JsArrayString users = parseUsersJson(JsonUtils.escapeJsonForEval(response.getText()));
                // filter out existing
                usersListBox.clear();
                PermissionsPanel permPanel = new PermissionsPanel(null);
                for (int i = 0; i < users.length(); i++) {
                    String user = users.get(i);
                    if (!existing.contains(user)) {
                        usersListBox.addItem(user);
                    } else {
                        if (!permPanel.getNames(fileInfo, 0).contains(user)
                                && permPanel.getNames(fileInfo, 1).contains(user)) {
                            //we have equal user/role pair(s) and role already in existing list
                            usersListBox.addItem(user);
                        }
                    }
                }
            }

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

From source file:org.pentaho.mantle.client.solutionbrowser.RepositoryFileTreeManager.java

License:Open Source License

public void fetchRepositoryFileTree(final AsyncCallback<RepositoryFileTree> callback, Integer depth,
        String filter, Boolean showHidden) {
    // notify listeners that we are about to talk to the server (in case there's anything they want to do
    // such as busy cursor or tree loading indicators)
    beforeFetchRepositoryFileTree();/*from  w  w  w. j  a  va  2 s  . com*/
    RequestBuilder builder = null;
    String url = GWT.getHostPageBaseURL() + "api/repo/files/:/tree?"; //$NON-NLS-1$
    if (depth == null) {
        depth = -1;
    }
    if (filter == null) {
        filter = "*"; //$NON-NLS-1$
    }
    if (showHidden == null) {
        showHidden = Boolean.FALSE;
    }
    url = url + "depth=" + depth + "&filter=" + filter + "&showHidden=" + showHidden + "&ts=" //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
            + System.currentTimeMillis();
    builder = new RequestBuilder(RequestBuilder.GET, url);
    builder.setHeader("Accept", "application/json");
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    RequestCallback innerCallback = new RequestCallback() {

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

        public void onResponseReceived(Request request, Response response) {
            if (response.getStatusCode() == Response.SC_OK) {
                String json = response.getText();
                System.out.println(json);

                final JsonToRepositoryFileTreeConverter converter = new JsonToRepositoryFileTreeConverter(
                        response.getText());
                fileTree = converter.getTree();

                String deletedFilesUrl = GWT.getHostPageBaseURL() + "api/repo/files/deleted?ts="
                        + System.currentTimeMillis();
                RequestBuilder deletedFilesRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                        deletedFilesUrl);
                deletedFilesRequestBuilder.setHeader("Accept", "application/json");
                deletedFilesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                try {
                    deletedFilesRequestBuilder.sendRequest(null, new RequestCallback() {

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

                        public void onResponseReceived(Request delRequest, Response delResponse) {
                            if (delResponse.getStatusCode() == Response.SC_OK) {
                                try {
                                    trashItems = JsonToRepositoryFileTreeConverter
                                            .getTrashFiles(delResponse.getText());
                                } catch (Throwable t) {
                                    // apparently this happens when you have no trash
                                }
                                fireRepositoryFileTreeFetched();
                            } else {
                                fireRepositoryFileTreeFetched();
                            }
                        }

                    });
                } catch (Exception e) {
                    fireRepositoryFileTreeFetched();
                }
                if (callback != null) {
                    callback.onSuccess(fileTree);
                }
            } else {
                fileTree = new RepositoryFileTree();
                RepositoryFile errorFile = new RepositoryFile();
                errorFile.setFolder(true);
                errorFile.setName("!ERROR!");
                fileTree.setFile(errorFile);
            }
        }

    };
    try {
        builder.sendRequest(null, innerCallback);
    } catch (RequestException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.SolutionBrowserPanel.java

License:Open Source License

public void getFile(final String solutionPath, final SolutionFileHandler handler) {
    final String moduleBaseURL = GWT.getModuleBaseURL();
    final String moduleName = GWT.getModuleName();
    final String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String path = solutionPath; // Expecting some encoding here
    final String url = contextURL + "api/repo/files/" + pathToId(path) + "/properties"; //$NON-NLS-1$

    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    executableTypesRequestBuilder.setHeader("accept", "application/json");
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    try {//ww  w .ja va2  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) {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("repositoryFileDto",
                            (JSONObject) JSONParser.parseLenient(response.getText()));
                    RepositoryFile repositoryFile = new RepositoryFile(jsonObject);
                    handler.handle(repositoryFile);
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.SolutionBrowserPanel.java

License:Open Source License

public void openFile(final String fileNameWithPath, final FileCommand.COMMAND mode) {
    final String moduleBaseURL = GWT.getModuleBaseURL();
    final String moduleName = GWT.getModuleName();
    final String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String path = fileNameWithPath; // Expecting some encoding here
    final String url = contextURL + "api/repo/files/" + pathToId(path) + "/properties"; //$NON-NLS-1$

    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    executableTypesRequestBuilder.setHeader("accept", "application/json");
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    try {/* w  w w .  j a  va 2s. co 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) {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("repositoryFileDto",
                            (JSONObject) JSONParser.parseLenient(response.getText()));
                    RepositoryFile repositoryFile = new RepositoryFile(jsonObject);
                    openFile(repositoryFile, mode);
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.SolutionBrowserPanel.java

License:Open Source License

protected void initializeExecutableFileTypes() {
    final String moduleBaseURL = GWT.getModuleBaseURL();
    final String moduleName = GWT.getModuleName();
    final String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName));
    final String url = contextURL + "api/repos/executableTypes"; //$NON-NLS-1$
    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    executableTypesRequestBuilder.setHeader("accept", "application/json");
    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {//from   w w  w .  j av  a  2s. com
        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) {
                    JSONObject jsonObject = (JSONObject) JSONParser.parse(response.getText());
                    JSONArray jsonList = (JSONArray) jsonObject.get("executableFileTypeDto");
                    for (int i = 0; i < jsonList.size(); i++) {
                        JSONObject executableType = (JSONObject) jsonList.get(i);
                        executableFileExtensions.add(executableType.get("extension").isString().stringValue());
                    }
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.SolutionBrowserPanel.java

License:Open Source License

public void executeActionSequence(final FileCommand.COMMAND mode) {
    if (filesListPanel.getSelectedFileItems() == null || filesListPanel.getSelectedFileItems().size() != 1) {
        return;/*from  ww  w  .jav a  2  s.c om*/
    }

    // open in content panel
    AbstractCommand authCmd = new AbstractCommand() {
        protected void performOperation() {
            performOperation(false);
        }

        protected void performOperation(boolean feedback) {
            final FileItem selectedFileItem = filesListPanel.getSelectedFileItems().get(0);
            String url = null;
            url = "api/repo/files/" //$NON-NLS-1$
                    + SolutionBrowserPanel.pathToId(
                            filesListPanel.getSelectedFileItems().get(0).getRepositoryFile().getPath())
                    + "/generatedContent"; //$NON-NLS-1$
            url = getPath() + url;

            if (mode == FileCommand.COMMAND.BACKGROUND) {
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("info"), //$NON-NLS-1$
                        Messages.getString("backgroundExecutionWarning"), //$NON-NLS-1$
                        true, false, true);
                dialogBox.center();

                url += "&background=true"; //$NON-NLS-1$

                RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
                try {
                    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                    builder.sendRequest(null, new RequestCallback() {

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

                        public void onResponseReceived(Request request, Response response) {
                        }

                    });
                } catch (RequestException e) {
                    // ignored
                }
            } else if (mode == FileCommand.COMMAND.NEWWINDOW) {
                // popup blockers might attack this
                Window.open(url, "_blank", "menubar=yes,location=no,resizable=yes,scrollbars=yes,status=no"); //$NON-NLS-1$ //$NON-NLS-2$
            } else if (mode == FileCommand.COMMAND.SUBSCRIBE) {
                final String myurl = url + "&subscribepage=yes"; //$NON-NLS-1$
                contentTabPanel.showNewURLTab(selectedFileItem.getLocalizedName(),
                        selectedFileItem.getLocalizedName(), myurl, true);
            } else {
                contentTabPanel.showNewURLTab(selectedFileItem.getLocalizedName(),
                        selectedFileItem.getLocalizedName(), url, true);
            }
        }

    };

    authCmd.execute();
}

From source file:org.pentaho.mantle.client.ui.PerspectiveManager.java

License:Open Source License

private PerspectiveManager() {
    getElement().setId("mantle-perspective-switcher");
    setStyleName("mantle-perspective-switcher");

    final String url = GWT.getHostPageBaseURL() + "api/plugin-manager/perspectives?ts=" //$NON-NLS-1$
            + System.currentTimeMillis();
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    builder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$//$NON-NLS-2$
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");

    try {//from w  w  w .j a  v  a  2 s.  c  o m
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                Window.alert("getPluginPerpectives fail: " + exception.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {

                JsArray<JsPerspective> jsperspectives = JsPerspective
                        .parseJson(JsonUtils.escapeJsonForEval(response.getText()));
                ArrayList<IPluginPerspective> perspectives = new ArrayList<IPluginPerspective>();
                for (int i = 0; i < jsperspectives.length(); i++) {
                    JsPerspective jsperspective = jsperspectives.get(i);
                    DefaultPluginPerspective perspective = new DefaultPluginPerspective();
                    perspective.setContentUrl(jsperspective.getContentUrl());
                    perspective.setId(jsperspective.getId());
                    perspective.setLayoutPriority(Integer.parseInt(jsperspective.getLayoutPriority()));

                    ArrayList<String> requiredSecurityActions = new ArrayList<String>();
                    if (jsperspective.getRequiredSecurityActions() != null) {
                        for (int j = 0; j < jsperspective.getRequiredSecurityActions().length(); j++) {
                            requiredSecurityActions.add(jsperspective.getRequiredSecurityActions().get(j));
                        }
                    }

                    // will need to iterate over jsoverlays and convert to MantleXulOverlay
                    ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>();
                    if (jsperspective.getOverlays() != null) {
                        for (int j = 0; j < jsperspective.getOverlays().length(); j++) {
                            JsXulOverlay o = jsperspective.getOverlays().get(j);
                            MantleXulOverlay overlay = new MantleXulOverlay(o.getId(), o.getOverlayUri(),
                                    o.getSource(), o.getResourceBundleUri());
                            overlays.add(overlay);
                        }
                    }
                    perspective.setOverlays(overlays);

                    perspective.setRequiredSecurityActions(requiredSecurityActions);
                    perspective.setResourceBundleUri(jsperspective.getResourceBundleUri());
                    perspective.setTitle(jsperspective.getTitle());

                    perspectives.add(perspective);
                }

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

    registerFunctions(this);
}