Example usage for com.google.gwt.http.client URL encodePathSegment

List of usage examples for com.google.gwt.http.client URL encodePathSegment

Introduction

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

Prototype

public static String encodePathSegment(String decodedURLComponent) 

Source Link

Document

Returns a string where all characters that are not valid for a URL component have been escaped.

Usage

From source file:org.obiba.opal.web.gwt.app.client.magma.derive.presenter.ScriptEvaluationPresenter.java

License:Open Source License

@Inject
public ScriptEvaluationPresenter(EventBus eventBus, Display view, SummaryTabPresenter summaryTabPresenter,
        Translations translations, TranslationMessages translationMessages) {
    super(eventBus, view);
    this.summaryTabPresenter = summaryTabPresenter;
    this.translations = translations;
    this.translationMessages = translationMessages;

    getView().setValueSelectionHandler(new ValueSelectionHandler() {

        @Override//from ww w  .  ja  v  a2s  .  c o  m
        public void onBinaryValueSelection(VariableDto variable, int row, int column, ValueSetDto valueSet) {
            UriBuilder uriBuilder = UriBuilder.create();
            uriBuilder.fromPath(valueSet.getValuesArray().get(column).getLink());
            appendVariableLimitArguments(uriBuilder);
            // TODO won't work with long script
            // OPAL-1346 encode script
            uriBuilder.query("script", URL.encodePathSegment(VariableDtos.getScript(variable)));
            getEventBus().fireEvent(new FileDownloadRequestEvent(uriBuilder.build()));
        }

        @Override
        public void onGeoValueSelection(VariableDto variableDto, int row, int column, ValueSetDto valueSet,
                ValueSetsDto.ValueDto value) {

        }

        @Override
        public void onValueSequenceSelection(VariableDto variable, int row, int column, ValueSetDto valueSet) {
        }

        @Override
        public void onEntityIDSelection(VariableDto variableDto, int row, int column, ValueSetDto valueSet,
                ValueSetsDto.ValueDto value) {

        }
    });

    getView().setValueSetFetcher(new ValueSetFetcherImpl());
}

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

License:Open Source License

protected void performOperation(boolean feedback) {
    final SolutionFolderActionEvent event = new SolutionFolderActionEvent();
    event.setAction(this.getClass().getName());

    final TextBox folderNameTextBox = new TextBox();
    folderNameTextBox.setTabIndex(1);//from  ww w  . j  ava 2 s  . co  m
    folderNameTextBox.setVisibleLength(40);

    VerticalPanel vp = new VerticalPanel();
    vp.add(new Label(Messages.getString("newFolderName"))); //$NON-NLS-1$
    vp.add(folderNameTextBox);
    final PromptDialogBox newFolderDialog = new PromptDialogBox(Messages.getString("newFolder"), //$NON-NLS-1$
            Messages.getString("ok"), Messages.getString("cancel"), false, true, vp); //$NON-NLS-1$ //$NON-NLS-2$
    newFolderDialog.setFocusWidget(folderNameTextBox);
    folderNameTextBox.setFocus(true);

    final IDialogCallback callback = new IDialogCallback() {

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

        public void okPressed() {

            if (!NameUtils.isValidFolderName(folderNameTextBox.getText())) {
                event.setMessage(Messages.getString("containsIllegalCharacters", folderNameTextBox.getText()));
                EventBusUtil.EVENT_BUS.fireEvent(event);
                return;
            }

            solutionPath = parentFolder.getPath() + "/" + URL.encodePathSegment(folderNameTextBox.getText());

            String createDirUrl = contextURL + "api/repo/dirs/" + SolutionBrowserPanel.pathToId(solutionPath); //$NON-NLS-1$
            RequestBuilder createDirRequestBuilder = new RequestBuilder(RequestBuilder.PUT, createDirUrl);

            try {
                createDirRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                createDirRequestBuilder.sendRequest("", new RequestCallback() {

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

                    @Override
                    public void onResponseReceived(Request createFolderRequest, Response createFolderResponse) {
                        if (createFolderResponse.getStatusText().equalsIgnoreCase("OK")) { //$NON-NLS-1$
                            NewFolderCommand.this.callback.onHandle(solutionPath);
                            new RefreshRepositoryCommand().execute(false);
                            event.setMessage("Success");
                            FileChooserDialog.setIsDirty(Boolean.TRUE);
                            setBrowseRepoDirty(Boolean.TRUE);
                            EventBusUtil.EVENT_BUS.fireEvent(event);
                        } else {
                            event.setMessage(StringUtils.isEmpty(createFolderResponse.getText())
                                    || Messages.getString(createFolderResponse.getText()) == null
                                            ? Messages.getString("couldNotCreateFolder", //$NON-NLS-1$
                                                    folderNameTextBox.getText()) : Messages.getString(createFolderResponse.getText(),
                                                    folderNameTextBox.getText()));
                            EventBusUtil.EVENT_BUS.fireEvent(event);

                        }
                    }

                });
            } catch (RequestException e) {
                Window.alert(e.getLocalizedMessage());
                event.setMessage(e.getLocalizedMessage());
                EventBusUtil.EVENT_BUS.fireEvent(event);
            }

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

From source file:org.pentaho.mantle.client.dialogs.folderchooser.NewFolderCommand.java

License:Open Source License

protected void performOperation(boolean feedback) {

    final TextBox folderNameTextBox = new TextBox();
    folderNameTextBox.setTabIndex(1);//from  ww  w .j  a  va 2 s.  c o  m
    folderNameTextBox.setVisibleLength(40);

    VerticalPanel vp = new VerticalPanel();
    vp.add(new Label(Messages.getString("newFolderName"))); //$NON-NLS-1$
    vp.add(folderNameTextBox);
    final PromptDialogBox newFolderDialog = new PromptDialogBox(Messages.getString("newFolder"), //$NON-NLS-1$
            Messages.getString("ok"), Messages.getString("cancel"), false, true, vp); //$NON-NLS-1$ //$NON-NLS-2$
    newFolderDialog.setFocusWidget(folderNameTextBox);
    folderNameTextBox.setFocus(true);

    final IDialogCallback callback = new IDialogCallback() {

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

        public void okPressed() {
            if (!NameUtils.isValidFolderName(folderNameTextBox.getText())) {
                //event.setMessage( Messages.getString( "containsIllegalCharacters", folderNameTextBox.getText() ) );
                //EventBusUtil.EVENT_BUS.fireEvent( event );
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                        Messages.getString("containsIllegalCharacters", folderNameTextBox.getText()), //$NON-NLS-1$
                        false, false, true);
                dialogBox.center();
                return;
            }

            solutionPath = parentFolder.getPath() + "/" + URL.encodePathSegment(folderNameTextBox.getText());

            String createDirUrl = contextURL + "api/repo/dirs/" + pathToId(solutionPath); //$NON-NLS-1$
            RequestBuilder createDirRequestBuilder = new RequestBuilder(RequestBuilder.PUT, createDirUrl);

            try {
                createDirRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                createDirRequestBuilder.sendRequest("", new RequestCallback() {

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

                    @Override
                    public void onResponseReceived(Request createFolderRequest, Response createFolderResponse) {
                        if (createFolderResponse.getStatusText().equalsIgnoreCase("OK")) { //$NON-NLS-1$
                            NewFolderCommand.this.callback.onHandle(solutionPath);
                            //new RefreshRepositoryCommand().execute( false );
                            //event.setMessage( "Success" );
                            FileChooserDialog.setIsDirty(Boolean.TRUE);
                            setBrowseRepoDirty(Boolean.TRUE);
                            //EventBusUtil.EVENT_BUS.fireEvent( event );
                        } else {

                            String errorMessage = StringUtils.isEmpty(createFolderResponse.getText())
                                    || Messages.getString(createFolderResponse.getText()) == null
                                            ? Messages.getString("couldNotCreateFolder", //$NON-NLS-1$
                                                    folderNameTextBox.getText()) : Messages.getString(createFolderResponse.getText(),
                                                    folderNameTextBox.getText());
                            MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                                    errorMessage, //$NON-NLS-2$
                                    false, false, true);
                            dialogBox.center();
                            /*event.setMessage(
                                StringUtils.isEmpty( createFolderResponse.getText() )
                                    || Messages.getString( createFolderResponse.getText() ) == null
                                    ? Messages.getString( "couldNotCreateFolder", folderNameTextBox.getText() ) //$NON-NLS-1$
                                    : Messages.getString( createFolderResponse.getText(), folderNameTextBox.getText() )
                            );
                            EventBusUtil.EVENT_BUS.fireEvent( event );
                            */
                        }
                    }

                });
            } catch (RequestException e) {
                Window.alert(e.getLocalizedMessage());
                /*event.setMessage( e.getLocalizedMessage() );
                EventBusUtil.EVENT_BUS.fireEvent( event );*/
            }

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

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();// w  w  w .java2  s.c om
        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.ScheduleParamsDialog.java

License:Open Source License

public void initDialog() {
    scheduleParamsWizardPanel = new ScheduleParamsWizardPanel(filePath);
    IWizardPanel[] wizardPanels = { scheduleParamsWizardPanel };
    setWizardPanels(wizardPanels);/* ww  w.j  a v  a  2s .c  o m*/
    setWidth("800px");
    String urlPath = URL.encodePathSegment(NameUtils.encodeRepositoryPath(filePath));

    String urlParams = "";
    if (editJob != null) {
        // add all edit params to URL
        JsArray<JsJobParam> jparams = editJob.getJobParams();
        for (int i = 0; i < jparams.length(); i++) {
            urlParams += i == 0 ? "?" : "&";
            if (jparams.get(i).getValue().startsWith("[") && jparams.get(i).getValue().indexOf(",") >= 0) {
                // it's an array!
                StringTokenizer st = new StringTokenizer(jparams.get(i).getValue(), "[],");
                int tokens = st.countTokens();
                int numParamsAdded = 0;
                for (int j = 0; j < tokens; j++) {
                    String token = st.tokenAt(j);
                    if (!StringUtils.isEmpty(token)) {
                        if (numParamsAdded > 0) {
                            urlParams += "&";
                        }
                        numParamsAdded++;
                        urlParams += jparams.get(i).getName() + "=" + URL.encodeQueryString(token.trim());
                    }
                }
            } else if (jparams.get(i).getValue().startsWith("[")
                    && jparams.get(i).getValue().indexOf(".") >= 0) {
                // mondrian style param
                urlParams += jparams.get(i).getName() + "="
                        + URL.encodeQueryString(jparams.get(i).getValue().trim());
            } else if (jparams.get(i).getValue().startsWith("[") && jparams.get(i).getValue().endsWith("]")) {
                // single value, remove []
                String param = jparams.get(i).getValue().trim();
                param = param.substring(1);
                param = param.substring(0, param.length() - 1);
                urlParams += jparams.get(i).getName() + "=" + URL.encodeQueryString(param);
            } else {
                urlParams += jparams.get(i).getName() + "="
                        + URL.encodeQueryString(jparams.get(i).getValue().trim());
            }
        }
    }
    setParametersUrl(
            ScheduleHelper.getFullyQualifiedURL() + "api/repos/" + urlPath + "/parameterUi" + urlParams); //$NON-NLS-1$ //$NON-NLS-2$
    wizardDeckPanel.setHeight("100%"); //$NON-NLS-1$

    wizardDeckPanel.getElement().getParentElement().addClassName("schedule-dialog-content");
    wizardDeckPanel.getElement().getParentElement().removeClassName("dialog-content");

    setSize("650px", "450px");
    addStyleName("schedule-params-dialog");
}

From source file:org.rest.client.ui.desktop.widget.RequestUrlWidget.java

License:Apache License

private void performEncodeParamsAction(boolean isCtrl) {
    URLParser data = new URLParser().parse(urlField.getValue());
    List<QueryParam> params = data.getParamsList();
    int paramsSize = params.size();
    for (int i = 0; i < paramsSize; i++) {
        QueryParam param = params.get(i);
        String key = param.getKey();
        if (key == null || key.trim().isEmpty()) {
            continue;
        }//from w  w w  . ja  v a 2s  .  com
        if (isCtrl) {
            key = URL.encodePathSegment(key);
        } else {
            key = URL.encodeQueryString(key);
        }
        String value = param.getValue();
        if (isCtrl) {
            value = URL.encodePathSegment(value);
        } else {
            value = URL.encodeQueryString(value);
        }
        QueryParam update = QueryParam.create(key, value);
        params.set(i, update);
    }
    data.setParamsList(params);
    String newUrl = data.toString();
    setText(newUrl);
}

From source file:org.rstudio.studio.client.common.DefaultGlobalDisplay.java

License:Open Source License

@Override
public void openRStudioLink(String linkName, boolean includeVersionInfo) {
    // build url//from   w  w  w. j a  v a 2  s .com
    final SessionInfo sessionInfo = session_.getSessionInfo();
    String url = "http://www.rstudio.org/links/";
    url += URL.encodePathSegment(linkName);
    if (includeVersionInfo) {
        url += "?version=" + URL.encodeQueryString(sessionInfo.getRstudioVersion());
        url += "&mode=" + URL.encodeQueryString(sessionInfo.getMode());
    }

    // open window
    openWindow(url);
}

From source file:org.rstudio.studio.client.server.remote.RemoteServer.java

License:Open Source License

public String getFileExportUrl(String name, FileSystemItem file) {
    return getApplicationURL(EXPORT_SCOPE) + "/" + URL.encodePathSegment(name) + "?" + "name="
            + URL.encodeQueryString(name) + "&" + "file=" + URL.encodeQueryString(file.getPath());
}

From source file:org.rstudio.studio.client.server.remote.RemoteServer.java

License:Open Source License

public String getFileExportUrl(String name, FileSystemItem parentDirectory, ArrayList<String> filenames) {
    // build url params for files
    StringBuilder files = new StringBuilder();
    for (int i = 0; i < filenames.size(); i++) {
        files.append("file").append(i).append("=");
        files.append(URL.encodeQueryString(filenames.get(i)));
        files.append("&");
    }/*from  w  w w .  ja  v a2  s . co m*/

    // return url
    return getApplicationURL(EXPORT_SCOPE) + "/" + URL.encodePathSegment(name) + "?" + "name="
            + URL.encodeQueryString(name) + "&" + "parent=" + URL.encodeQueryString(parentDirectory.getPath())
            + "&" + files.toString();
}

From source file:org.sigmah.offline.fileapi.Files.java

License:Open Source License

/**
 * Creates a data URL from the given content and type.
 * //ww w . j a v a  2 s  . c  om
 * @param mimeType Type of the content.
 * @param content Content.
 * @return A data URL.
 */
public static String toDataURL(String mimeType, String content) {
    return "data:" + mimeType + ',' + URL.encodePathSegment(content);
}