Example usage for com.google.gwt.http.client Response SC_NOT_ACCEPTABLE

List of usage examples for com.google.gwt.http.client Response SC_NOT_ACCEPTABLE

Introduction

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

Prototype

int SC_NOT_ACCEPTABLE

To view the source code for com.google.gwt.http.client Response SC_NOT_ACCEPTABLE.

Click Source Link

Usage

From source file:org.pentaho.mantle.client.commands.RestoreFileCommand.java

License:Open Source License

@Override
public void execute() {
    final SolutionFileActionEvent event = new SolutionFileActionEvent();
    event.setAction(this.getClass().getName());
    String temp = "";

    if (repositoryFiles != null) {
        for (RepositoryFile repoFile : repositoryFiles) {
            temp += repoFile.getId() + ","; //$NON-NLS-1$
        }// www  . j a v a 2  s .  co  m
    }

    // Add file names from js
    temp = temp + fileList;

    // remove trailing ","
    temp = temp.substring(0, temp.length() - 1);

    final String filesList = temp;

    String deleteFilesURL = contextURL + "api/repo/files/restore"; //$NON-NLS-1$
    RequestBuilder deleteFilesRequestBuilder = new RequestBuilder(RequestBuilder.PUT, deleteFilesURL);
    deleteFilesRequestBuilder.setHeader("Content-Type", "text/plain"); //$NON-NLS-1$//$NON-NLS-2$
    deleteFilesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {
        deleteFilesRequestBuilder.sendRequest(filesList, new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("cannotRestore"), //$NON-NLS-1$
                        Messages.getString("couldNotRestoreItem", type), //$NON-NLS-1$
                        false, false, true);
                dialogBox.center();
                event.setMessage("cannotRestore");
                EventBusUtil.EVENT_BUS.fireEvent(event);
            }

            @Override
            public void onResponseReceived(final Request request, final Response response) {
                if (response.getStatusCode() == Response.SC_OK) {
                    new RefreshRepositoryCommand().execute(false);
                    event.setMessage("Success");
                    EventBusUtil.EVENT_BUS.fireEvent(event);
                } else if (response.getStatusCode() == Response.SC_CONFLICT
                        || response.getStatusCode() == Response.SC_NOT_ACCEPTABLE) {
                    final int restoreResponseStatusCode = response.getStatusCode();

                    final String userHomeDirUrl = GWT.getHostPageBaseURL() + "api/session/userWorkspaceDir";

                    final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, userHomeDirUrl);
                    try {
                        // Get user home folder string
                        builder.sendRequest("", new RequestCallback() {
                            @Override
                            public void onResponseReceived(final Request request, final Response response) {
                                if (response.getStatusCode() == 200) {
                                    // API returns /user/home_folder/workspace
                                    String userHomeFolderPath = response.getText().replaceAll("/workspace", "");
                                    performRestoreToHomeFolder(filesList, restoreResponseStatusCode,
                                            userHomeFolderPath, event);
                                }
                            }

                            @Override
                            public void onError(Request request, Throwable exception) {
                                showErrorDialogBox(event);
                            }
                        });
                    } catch (RequestException e) {
                        showErrorDialogBox(event);
                    }
                } else {
                    MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("cannotRestore"), //$NON-NLS-1$
                            Messages.getString("couldNotRestoreItem", type), //$NON-NLS-1$
                            false, false, true, Messages.getString("close"));
                    dialogBox.center();
                    event.setMessage("Success");
                    FileChooserDialog.setIsDirty(Boolean.TRUE);
                    setBrowseRepoDirty(Boolean.TRUE);
                    EventBusUtil.EVENT_BUS.fireEvent(event);
                }
            }
        });
    } catch (RequestException e) {
        showErrorDialogBox(event);
    }
}

From source file:org.pentaho.mantle.client.commands.RestoreFileCommand.java

License:Open Source License

private void performRestoreToHomeFolder(final String filesList, final int restoreResponseStatusCode,
        final String userHomeFolderPath, final SolutionFileActionEvent event) {

    final String encodedUserHomeFolderPath = SolutionBrowserPanel.pathToId(userHomeFolderPath);
    String fileListDescription = "files";
    // if there is one file
    if (filesList.split(",").length == 1) {
        fileListDescription = "file";
    }/*from  w  w w  .j a  v  a2  s.  c  o  m*/

    HTML messageTextBox = new HTML();
    String cannotRestoreToOrigFolder = Messages.getString("cannotRestoreToOriginFolder", fileListDescription);
    String restoreToHomeFolder = Messages.getString("restoreToHomeFolder", userHomeFolderPath);

    messageTextBox.setHTML(cannotRestoreToOrigFolder + "<br> <br>" + restoreToHomeFolder + "<br>");
    final PromptDialogBox restoreFileWarningDialogBox = new PromptDialogBox(
            Messages.getString("couldNotWriteToFolder"), "Restore File", "Cancel", true, true);
    restoreFileWarningDialogBox.setContent(messageTextBox);

    final IDialogCallback callback = new IDialogCallback() {

        public void cancelPressed() {
            restoreFileWarningDialogBox.hide();
        }

        public void okPressed() {
            // We can't write to origin file folder, and there are
            // files in homeFolder with same names
            if (restoreResponseStatusCode == Response.SC_CONFLICT) {
                final OverwritePromptDialog overwriteDialog = new OverwritePromptDialog();
                final IDialogCallback callback = new IDialogCallback() {
                    public void cancelPressed() {
                        event.setMessage("Cancel");
                        overwriteDialog.hide();
                    }

                    public void okPressed() {
                        String restoreFilesUrl = contextURL + "api/repo/files/restore?overwriteMode=" //$NON-NLS-1$
                                + overwriteDialog.getOverwriteMode();
                        RequestBuilder builder = new RequestBuilder(RequestBuilder.PUT, restoreFilesUrl);
                        try {
                            builder.sendRequest(filesList, new RequestCallback() {
                                @Override
                                public void onResponseReceived(Request request, Response response) {
                                    if (response.getStatusCode() == Response.SC_OK) {
                                        new RefreshRepositoryCommand().execute(false);
                                        event.setMessage("Success");
                                        EventBusUtil.EVENT_BUS.fireEvent(event);
                                    } else {
                                        showErrorDialogBox(event);
                                    }
                                }

                                @Override
                                public void onError(Request request, Throwable exception) {
                                    showErrorDialogBox(event);
                                }
                            });
                        } catch (RequestException e) {
                            showErrorDialogBox(event);
                        }
                    }
                };
                overwriteDialog.setCallback(callback);
                overwriteDialog.center();
            } else if (restoreResponseStatusCode == Response.SC_NOT_ACCEPTABLE) {
                String moveFilesURL = contextURL + "api/repo/files/" + encodedUserHomeFolderPath + "/move";
                RequestBuilder builder = new RequestBuilder(RequestBuilder.PUT, moveFilesURL);
                try {
                    builder.sendRequest(filesList, new RequestCallback() {
                        @Override
                        public void onResponseReceived(Request request, Response response) {
                            new RefreshRepositoryCommand().execute(false);
                            event.setMessage("Success");
                            EventBusUtil.EVENT_BUS.fireEvent(event);
                        }

                        @Override
                        public void onError(Request request, Throwable exception) {
                            showErrorDialogBox(event);
                        }
                    });
                } catch (RequestException e) {
                    showErrorDialogBox(event);
                }
            }
        }
    };

    restoreFileWarningDialogBox.setCallback(callback);
    restoreFileWarningDialogBox.center();
}