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

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

Introduction

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

Prototype

Method GET

To view the source code for com.google.gwt.http.client RequestBuilder GET.

Click Source Link

Document

Specifies that the HTTP GET method should be used.

Usage

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

License:Open Source License

protected void performOperation(boolean feedback) {
    try {//from  w w  w. java  2  s . c  o  m
        final String url = GWT.getHostPageBaseURL() + "api/repo/files/canAdminister"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        requestBuilder.setHeader("accept", "text/plain");
        requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable caught) {
                GWT.runAsync(new RunAsyncCallback() {

                    public void onSuccess() {
                        SchedulesPerspectivePanel.getInstance().refresh();
                    }

                    public void onFailure(Throwable reason) {
                    }
                });
            }

            public void onResponseReceived(Request request, final Response response) {
                GWT.runAsync(new RunAsyncCallback() {

                    public void onSuccess() {
                        SchedulesPerspectivePanel.getInstance().refresh();
                    }

                    public void onFailure(Throwable reason) {
                    }
                });
            }

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

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

License:Open Source License

protected void performOperation() {
    final String url = GWT.getHostPageBaseURL() + "api/system/refresh/systemSettings"; //$NON-NLS-1$
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    requestBuilder.setHeader("accept", "text/plain");
    requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {//  ww  w  .  jav  a  2  s.  c  o m
        requestBuilder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("info"), //$NON-NLS-1$
                        Messages.getString("refreshSystemSettingsSuccess"), false, false, true); //$NON-NLS-1$
                dialogBox.center();
            }
        });
    } catch (RequestException e) {
        Window.alert(e.getMessage());
        // showError(e);
    }
}

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$
        }//from   w ww.  j  a v a 2 s.  c o  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.RunInBackgroundCommand.java

License:Open Source License

private RequestBuilder createParametersChecker(String urlPath) {
    RequestBuilder scheduleFileRequestBuilder = null;
    if ((urlPath != null) && (urlPath.endsWith("xaction"))) {
        scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                contextURL + "api/repos/" + urlPath + "/parameterUi");
    } else {//from w  w w .  j  av  a  2  s .  c o  m
        scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                contextURL + "api/repo/files/" + urlPath + "/parameterizable");
    }
    scheduleFileRequestBuilder.setHeader("accept", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$
    scheduleFileRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    return scheduleFileRequestBuilder;
}

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

License:Open Source License

protected void checkSchedulePermissionAndDialog() {
    final String url = ScheduleHelper.getFullyQualifiedURL() + "api/scheduler/isScheduleAllowed?id=" //$NON-NLS-1$
            + repositoryFile.getRepositoryFile().getId();
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
    requestBuilder.setHeader("accept", "text/plain");
    requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    final MessageDialogBox errorDialog = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
            Messages.getString("noSchedulePermission"), false, false, true); //$NON-NLS-1$
    try {//from   w  w  w  . j a v  a2 s.c  om
        requestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable caught) {
                errorDialog.center();
            }

            public void onResponseReceived(Request request, Response response) {
                if ("true".equalsIgnoreCase(response.getText())) {
                    showDialog(true);
                } else {
                    errorDialog.center();
                }
            }
        });
    } catch (RequestException re) {
        errorDialog.center();
    }
}

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

License:Open Source License

protected void performOperation(boolean feedback) {

    final String filePath = (this.getSolutionPath() != null) ? this.getSolutionPath()
            : repositoryFile.getPath();// w  w w .  jav  a2 s . c om
    String urlPath = NameUtils.URLEncode(NameUtils.encodeRepositoryPath(filePath));

    RequestBuilder scheduleFileRequestBuilder = createParametersChecker(urlPath);
    final boolean isXAction = isXAction(urlPath);

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

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

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == Response.SC_OK) {
                    final JSONObject scheduleRequest = new JSONObject();
                    scheduleRequest.put("inputFile", new JSONString(filePath)); //$NON-NLS-1$

                    // Set job name
                    if (StringUtils.isEmpty(getOutputName())) {
                        scheduleRequest.put("jobName", JSONNull.getInstance()); //$NON-NLS-1$
                    } else {
                        scheduleRequest.put("jobName", new JSONString(getOutputName())); //$NON-NLS-1$
                    }

                    // Set output path location
                    if (StringUtils.isEmpty(getOutputLocationPath())) {
                        scheduleRequest.put("outputFile", JSONNull.getInstance()); //$NON-NLS-1$
                    } else {
                        scheduleRequest.put("outputFile", new JSONString(getOutputLocationPath())); //$NON-NLS-1$
                    }

                    // BISERVER-9321
                    scheduleRequest.put("runInBackground", JSONBoolean.getInstance(true));

                    String responseMessage = response.getText();
                    final boolean hasParams = hasParameters(responseMessage, isXAction);

                    RequestBuilder emailValidRequest = new RequestBuilder(RequestBuilder.GET,
                            contextURL + "api/emailconfig/isValid"); //$NON-NLS-1$
                    emailValidRequest.setHeader("accept", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$
                    emailValidRequest.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                    try {
                        emailValidRequest.sendRequest(null, new RequestCallback() {

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

                            public void onResponseReceived(Request request, Response response) {
                                if (response.getStatusCode() == Response.SC_OK) {
                                    // final boolean isEmailConfValid = Boolean.parseBoolean(response.getText());
                                    // force false for now, I have a feeling PM is going to want this, making it easy to turn back
                                    // on
                                    final boolean isEmailConfValid = false;
                                    if (hasParams) {
                                        ScheduleParamsDialog dialog = new ScheduleParamsDialog(filePath,
                                                scheduleRequest, isEmailConfValid);
                                        dialog.center();
                                        dialog.setAfterResponseCallback(scheduleParamsDialogCallback);
                                    } else if (isEmailConfValid) {
                                        ScheduleEmailDialog scheduleEmailDialog = new ScheduleEmailDialog(null,
                                                filePath, scheduleRequest, null, null);
                                        scheduleEmailDialog.center();
                                    } else {
                                        // just run it
                                        RequestBuilder scheduleFileRequestBuilder = new RequestBuilder(
                                                RequestBuilder.POST, contextURL + "api/scheduler/job"); //$NON-NLS-1$
                                        scheduleFileRequestBuilder.setHeader("Content-Type", //$NON-NLS-1$
                                                "application/json"); //$NON-NLS-1$
                                        scheduleFileRequestBuilder.setHeader("If-Modified-Since",
                                                "01 Jan 1970 00:00:00 GMT");

                                        try {
                                            scheduleFileRequestBuilder.sendRequest(scheduleRequest.toString(),
                                                    new RequestCallback() {

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

                                                        @Override
                                                        public void onResponseReceived(Request request,
                                                                Response response) {
                                                            if (response.getStatusCode() == 200) {
                                                                MessageDialogBox dialogBox = new MessageDialogBox(
                                                                        Messages.getString("runInBackground"), //$NON-NLS-1$
                                                                        Messages.getString(
                                                                                "backgroundExecutionStarted"), //$NON-NLS-1$
                                                                        false, false, true);
                                                                dialogBox.center();
                                                            } else {
                                                                MessageDialogBox dialogBox = new MessageDialogBox(
                                                                        Messages.getString("error"), //$NON-NLS-1$
                                                                        Messages.getString("serverErrorColon") //$NON-NLS-1$
                                                                                + " " //$NON-NLS-1$
                                                                                + response.getStatusCode(), false, false, true);
                                                                dialogBox.center();
                                                            }
                                                        }

                                                    });
                                        } catch (RequestException e) {
                                            MessageDialogBox dialogBox = new MessageDialogBox(
                                                    Messages.getString("error"), e.toString(), //$NON-NLS-1$
                                                    false, false, true);
                                            dialogBox.center();
                                        }
                                    }

                                }
                            }
                        });
                    } catch (RequestException e) {
                        MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                                e.toString(), false, false, true);
                        dialogBox.center();
                    }

                } else {
                    MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                            Messages.getString("serverErrorColon") + " " + response.getStatusCode(), false, //$NON-NLS-1$//$NON-NLS-2$
                            false, true);
                    dialogBox.center();
                }
            }

        });
    } catch (RequestException e) {
        MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), e.toString(), false, //$NON-NLS-1$
                false, true);
        dialogBox.center();
    }
}

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

License:Open Source License

public void performOperation() {

    final SolutionFileActionEvent event = new SolutionFileActionEvent();
    event.setAction(this.getClass().getName());

    if (selectedList != null && selectedList.size() == 1) {
        final RepositoryFile item = selectedList.get(0);

        // Checking if the user has access to manage permissions
        String url = contextURL + "api/repo/files/" + SolutionBrowserPanel.pathToId(item.getPath()) //$NON-NLS-1$
                + "/canAccess?permissions=" + MANAGE_ACLS; //$NON-NLS-1$
        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
        try {/* www  .  j  a v a 2 s .c  om*/
            builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
            builder.sendRequest(null, new RequestCallback() {

                public void onError(Request request, Throwable exception) {
                    FilePropertiesDialog dialog = new FilePropertiesDialog(item, new PentahoTabPanel(), null,
                            defaultTab, false);
                    dialog.showTab(defaultTab);
                    dialog.center();

                    event.setMessage(exception.getMessage());
                    EventBusUtil.EVENT_BUS.fireEvent(event);
                }

                public void onResponseReceived(Request request, Response response) {
                    FilePropertiesDialog dialog = new FilePropertiesDialog(item, new PentahoTabPanel(), null,
                            defaultTab, Boolean.parseBoolean(response.getText()));
                    dialog.showTab(FilePropertiesDialog.Tabs.PERMISSION);
                    dialog.center();

                    event.setMessage("Success");
                    EventBusUtil.EVENT_BUS.fireEvent(event);
                }
            });
        } catch (RequestException e) {
            FilePropertiesDialog dialog = new FilePropertiesDialog(item, new PentahoTabPanel(), null,
                    defaultTab, false);
            dialog.showTab(FilePropertiesDialog.Tabs.PERMISSION);
            dialog.center();

            event.setMessage(e.getMessage());
            EventBusUtil.EVENT_BUS.fireEvent(event);
        }

    }
}

From source file:org.pentaho.mantle.client.dialogs.folderchooser.FolderTree.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 .  ja v  a  2  s  .  c o m*/
    RequestBuilder builder = null;
    String url = ScheduleHelper.getFullyQualifiedURL() + "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());
                final RepositoryFileTree fileTree = converter.getTree();

                String deletedFilesUrl = ScheduleHelper.getFullyQualifiedURL() + "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) {
                            onFetchRepositoryFileTree(fileTree, Collections.<RepositoryFile>emptyList());
                            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
                                }
                                onFetchRepositoryFileTree(fileTree, Collections.<RepositoryFile>emptyList());
                            } else {
                                onFetchRepositoryFileTree(fileTree, Collections.<RepositoryFile>emptyList());
                            }
                            if (callback != null) {
                                callback.onSuccess(fileTree);
                            }
                        }

                    });
                } catch (Exception e) {
                    onFetchRepositoryFileTree(fileTree, Collections.<RepositoryFile>emptyList());
                }
            } else {
                /*fileTree = new RepositoryFileTree();
                RepositoryFile errorFile = new RepositoryFile();
                errorFile.setFolder( true );
                errorFile.setName( "!ERROR!" );
                repositoryFileTree.setFile( errorFile );*/
            }
        }

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

From source file:org.pentaho.mantle.client.dialogs.scheduling.NewScheduleDialog.java

License:Open Source License

protected void onOk() {
    String name = scheduleNameTextBox.getText();
    if (!NameUtils.isValidFileName(name)) {
        MessageDialogBox errorDialog = new MessageDialogBox(Messages.getString("error"),
                Messages.getString("prohibitedNameSymbols", name, NameUtils.reservedCharListForDisplay(" ")), //$NON-NLS-2$
                false, false, true); //$NON-NLS-2$
        errorDialog.center();/* ww w  .  j  a v  a  2  s . c o  m*/
        return;
    }

    // check if has parameterizable
    WaitPopup.getInstance().setVisible(true);
    String urlPath = URL.encodePathSegment(NameUtils.encodeRepositoryPath(filePath));

    RequestBuilder scheduleFileRequestBuilder;
    final boolean isXAction;

    if ((urlPath != null) && (urlPath.endsWith("xaction"))) {
        isXAction = true;
        scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                ScheduleHelper.getFullyQualifiedURL() + "api/repos/" + urlPath + "/parameterUi");
    } else {
        isXAction = false;
        scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.GET,
                ScheduleHelper.getFullyQualifiedURL() + "api/repo/files/" + urlPath + "/parameterizable");
    }

    scheduleFileRequestBuilder.setHeader("accept", "text/plain");
    scheduleFileRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {
        scheduleFileRequestBuilder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                WaitPopup.getInstance().setVisible(false);
                if (response.getStatusCode() == Response.SC_OK) {
                    String responseMessage = response.getText();
                    boolean hasParams;

                    if (isXAction) {
                        int numOfInputs = StringUtils.countMatches(responseMessage, "<input");
                        int NumOfHiddenInputs = StringUtils.countMatches(responseMessage, "type=\"hidden\"");
                        hasParams = numOfInputs - NumOfHiddenInputs > 0 ? true : false;
                    } else {
                        hasParams = Boolean.parseBoolean(response.getText());
                    }

                    if (jsJob != null) {
                        jsJob.setJobName(scheduleNameTextBox.getText());
                        jsJob.setOutputPath(scheduleLocationTextBox.getText(), scheduleNameTextBox.getText());
                        if (recurrenceDialog == null) {
                            recurrenceDialog = new ScheduleRecurrenceDialog(NewScheduleDialog.this, jsJob,
                                    callback, hasParams, isEmailConfValid, ScheduleDialogType.SCHEDULER);
                        }
                    } else if (recurrenceDialog == null) {
                        recurrenceDialog = new ScheduleRecurrenceDialog(NewScheduleDialog.this, filePath,
                                scheduleLocationTextBox.getText(), scheduleNameTextBox.getText(), callback,
                                hasParams, isEmailConfValid);
                    } else {
                        recurrenceDialog.scheduleName = scheduleNameTextBox.getText();
                        recurrenceDialog.outputLocation = scheduleLocationTextBox.getText();
                    }
                    recurrenceDialog.setParentDialog(NewScheduleDialog.this);
                    recurrenceDialog.center();
                    NewScheduleDialog.super.onOk();
                }
            }
        });
    } catch (RequestException e) {
        WaitPopup.getInstance().setVisible(false);
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.dialogs.scheduling.OutputLocationUtils.java

License:Open Source License

public static void validateOutputLocation(final String outputLocation, final Command successCallback,
        final Command errorCallback) {

    if (StringUtils.isEmpty(outputLocation)) {
        return;/* ww  w.  j  a v  a 2  s  . c  om*/
    }

    final String outputLocationPath = NameUtils.encodeRepositoryPath(outputLocation);
    final String url = ScheduleHelper.getFullyQualifiedURL() + "api/repo/files/" + outputLocationPath //$NON-NLS-1$
            + "/tree?depth=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 onError(Request request, Throwable exception) {
                if (errorCallback != null) {
                    errorCallback.execute();
                }
            }

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == Response.SC_OK) {
                    if (successCallback != null) {
                        successCallback.execute();
                    }
                } else {
                    if (errorCallback != null) {
                        errorCallback.execute();
                    }
                }
            }
        });
    } catch (RequestException e) {
        if (errorCallback != null) {
            errorCallback.execute();
        }
    }
}