Example usage for com.google.gwt.core.client JsonUtils unsafeEval

List of usage examples for com.google.gwt.core.client JsonUtils unsafeEval

Introduction

In this page you can find the example usage for com.google.gwt.core.client JsonUtils unsafeEval.

Prototype

public static native <T extends JavaScriptObject> T unsafeEval(String json) ;

Source Link

Document

Evaluates a JSON expression using eval() .

Usage

From source file:org.obiba.opal.web.gwt.app.client.keystore.support.KeyPairModalResponseCallback.java

License:Open Source License

@Override
public void onResponseCode(Request request, Response response) {
    int statusCode = response.getStatusCode();
    if (statusCode == SC_OK || statusCode == SC_CREATED) {
        if (savedHandler != null) {
            savedHandler.saved();/*  w  w w. j a va2 s  . com*/
        }
        keyPairDisplay.close();
    } else {
        ClientErrorDto error = JsonUtils.unsafeEval(response.getText());
        keyPairDisplay.showError(null, TranslationsUtils.replaceArguments(
                translations.userMessageMap().get(error.getStatus()), error.getArgumentsArray()));
    }
}

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

License:Open Source License

private void requestSummary() {
    if (resourceRequestBuilder == null)
        return;/*from   w w  w.j a  va  2s  .com*/
    if (blockSummaryRequests())
        return;

    getView().requestingSummary(limit, entitiesCount);
    summaryRequest = resourceRequestBuilder //
            .withCallback(new ResourceCallback<SummaryStatisticsDto>() {
                @Override
                public void onResource(Response response, SummaryStatisticsDto dto) {
                    summary = dto;
                    getView().renderSummary(dto);
                    getView().renderSummaryLimit(dto.hasLimit() ? dto.getLimit() : entitiesCount,
                            entitiesCount);
                    getEventBus()
                            .fireEvent(new SummaryReceivedEvent(resourceRequestBuilder.getResource(), dto));
                }
            })//
            .withCallback(Response.SC_BAD_REQUEST, new ResponseCodeCallback() {
                @Override
                public void onResponseCode(Request request, Response response) {
                    getView().renderNoSummary();
                    ClientErrorDto error = JsonUtils.unsafeEval(response.getText());
                    checkMessageFlooding(error);
                    NotificationEvent event;
                    if (blockSummaryRequests()) {
                        onCancelSummary();
                        event = NotificationEvent.newBuilder().error(translations.tooManyRepeatedErrorsLabel())
                                .build();
                    } else {
                        event = new JSErrorNotificationEventBuilder().build(error);
                    }
                    getEventBus().fireEvent(event);
                }
            })//
            .send();
}

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

License:Open Source License

private void updateDisplay(final String datasourceName, final String tableName, final boolean withSummary) {
    // rely on 304 response
    UriBuilder ub = UriBuilders.DATASOURCE_TABLE.create();
    if (withSummary)
        ub.query("counts", "true");
    ResourceRequestBuilderFactory.<TableDto>newBuilder().forResource(ub.build(datasourceName, tableName)).get()
            .withCallback(new ResourceCallback<TableDto>() {
                @Override/*w w  w .  ja  va2  s.co  m*/
                public void onResource(Response response, TableDto resource) {
                    if (resource != null) {
                        if (!withSummary) {
                            updateDisplay(resource);
                            // then get the summary
                            updateDisplay(datasourceName, tableName, true);
                        } else {
                            table = resource;
                            String variableCount = resource.hasVariableCount()
                                    ? resource.getVariableCount() + ""
                                    : "-";
                            String valueSetCount = resource.hasValueSetCount()
                                    ? resource.getValueSetCount() + ""
                                    : "-";
                            getView().setTableSummary(variableCount, valueSetCount);
                        }
                    }
                }
            })//
            .withCallback(Response.SC_NOT_FOUND, new ResponseCodeCallback() {
                @Override
                public void onResponseCode(Request request, Response response) {
                    fireEvent(NotificationEvent.newBuilder().warn("NoSuchValueTable").args(tableName).build());

                    placeManager.revealPlace(ProjectPlacesHelper.getTablesPlace(datasourceName));
                }
            }) //
            .withCallback(Response.SC_BAD_REQUEST, new ResponseCodeCallback() {
                @Override
                public void onResponseCode(Request request, Response response) {
                    fireEvent(NotificationEvent.newBuilder()
                            .error((ClientErrorDto) JsonUtils.unsafeEval(response.getText())).build());
                }
            }).send();
}

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

License:Open Source License

@Override
public void onIndexClear() {
    ResponseCodeCallback callback = new ResponseCodeCallback() {
        @Override/* ww w .j a va  2  s . co m*/
        public void onResponseCode(Request request, Response response) {
            if (response.getStatusCode() == SC_OK) {
                updateIndexStatus();
            } else {
                fireEvent(NotificationEvent.newBuilder()
                        .error((ClientErrorDto) JsonUtils.unsafeEval(response.getText())).build());
            }
        }

    };
    ResourceRequestBuilderFactory.<JsArray<TableIndexStatusDto>>newBuilder()//
            .forResource(UriBuilders.DATASOURCE_TABLE_INDEX.create().build(table.getDatasourceName(),
                    table.getName()))//
            .withCallback(callback, SC_OK, SC_SERVICE_UNAVAILABLE).delete().send();
}

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

License:Open Source License

@Override
public void onIndexCancel() {
    ResponseCodeCallback callback = new ResponseCodeCallback() {

        @Override//  www .  j a va2s.com
        public void onResponseCode(Request request, Response response) {
            if (response.getStatusCode() == SC_OK) {
                cancelIndexation = true;
                updateIndexStatus();
            } else {
                ClientErrorDto error = JsonUtils.unsafeEval(response.getText());
                fireEvent(NotificationEvent.newBuilder().error(error.getStatus())
                        .args(error.getArgumentsArray()).build());
            }
        }

    };
    ResourceRequestBuilderFactory.<JsArray<TableIndexStatusDto>>newBuilder()//
            .forResource(UriBuilders.DATASOURCE_TABLE_INDEX.create().build(table.getDatasourceName(),
                    table.getName()))//
            .withCallback(callback, SC_OK, SC_SERVICE_UNAVAILABLE).delete().send();
}

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

License:Open Source License

private void applyAllValueSetsFilter(final int offset) {
    if (getView().getValuesFilterGroup().isVisible()) {
        String filters = getView().getQueryString();

        fireEvent(new ValuesQueryEvent(filters, getView().getQueryText()));

        ResourceRequestBuilderFactory.<ValueSetsResultDto>newBuilder()
                .forResource(UriBuilders.DATASOURCE_TABLE_VALUESETS_SEARCH.create()//
                        .query("query", filters)//
                        .query("select", currentVariablesFilterSelect)//
                        .query("offset", String.valueOf(offset))//
                        .query("limit", String.valueOf(getView().getPageSize()))//
                        .build(originalTable.getDatasourceName(), originalTable.getName()))
                .withCallback(new ResourceCallback<ValueSetsResultDto>() {
                    @Override/* w w  w  .j ava2 s.  com*/
                    public void onResource(Response response, ValueSetsResultDto resource) {

                        getView().populateValues(offset, resource.getValueSets());
                        getView().setRowCount(resource.getTotalHits());
                    }
                })//
                .withCallback(new ResponseCodeCallback() {
                    @Override
                    public void onResponseCode(Request request, Response response) {
                        ClientErrorDto errorDto = JsonUtils.unsafeEval(response.getText());

                        // Do not show "SearchQueryIsInvalid" errors: the query might be invalid because it is being typed in
                        if (errorDto != null && !"SearchQueryIsInvalid".equals(errorDto.getStatus())) {
                            fireEvent(NotificationEvent.newBuilder()
                                    .error(TranslationsUtils.replaceArguments(
                                            translations.userMessageMap().get(errorDto.getStatus()),
                                            errorDto.getArgumentsArray()))
                                    .build());
                        }
                    }
                }, Response.SC_BAD_REQUEST)//
                .get().send();
    }
}

From source file:org.obiba.opal.web.gwt.app.client.magma.table.presenter.ViewPropertiesModalPresenter.java

License:Open Source License

@Override
public void onSave(final String name, List<TableDto> referencedTables) {
    if (!validationHandler.validate())
        return;//from   ww  w. j a v  a2 s.  c  om

    ViewDto dto = getViewDto(name, referencedTables);

    UriBuilder ub = UriBuilders.DATASOURCE_VIEW.create()
            .query("comment", view.getName().equals(name)
                    ? TranslationsUtils.replaceArguments(translations.updateComment(), name)
                    : TranslationsUtils.replaceArguments(translations.renameToComment(), view.getName(), name));
    ResourceRequestBuilderFactory.newBuilder().put()
            .forResource(ub.build(view.getDatasourceName(), view.getName()))
            .withResourceBody(ViewDto.stringify(dto)).withCallback(new ResponseCodeCallback() {
                @Override
                public void onResponseCode(Request request, Response response) {
                    if (response.getStatusCode() == Response.SC_OK) {
                        getView().hide();
                        placeManager
                                .revealPlace(ProjectPlacesHelper.getTablePlace(view.getDatasourceName(), name));
                    } else if (response.getStatusCode() == Response.SC_FORBIDDEN) {
                        getView().showError(translations.userMessageMap().get("UnauthorizedOperation"), null);
                    } else {
                        ClientErrorDto error = JsonUtils.unsafeEval(response.getText());
                        getView().showError(TranslationsUtils.replaceArguments(
                                translations.userMessageMap().get(error.getStatus()),
                                error.getArgumentsArray()), null);
                    }
                }
            }, Response.SC_OK, Response.SC_BAD_REQUEST, Response.SC_FORBIDDEN).send();
}

From source file:org.obiba.opal.web.gwt.app.client.magma.table.presenter.ViewWhereModalPresenter.java

License:Open Source License

private void doSave(String script) {
    ViewDto dto = getViewDto(script);//w ww.j  ava 2  s . c  om

    UriBuilder ub = UriBuilders.DATASOURCE_VIEW.create().query("comment", translations.updateWhereComment());
    ResourceRequestBuilderFactory.newBuilder().put()
            .forResource(ub.build(view.getDatasourceName(), view.getName()))
            .withResourceBody(ViewDto.stringify(dto)).withCallback(new ResponseCodeCallback() {
                @Override
                public void onResponseCode(Request request, Response response) {
                    if (response.getStatusCode() == Response.SC_OK) {
                        getView().hide();
                        placeManager.revealCurrentPlace();
                    } else if (response.getStatusCode() == Response.SC_FORBIDDEN) {
                        getView().showError(translations.userMessageMap().get("UnauthorizedOperation"), null);
                    } else {
                        ClientErrorDto error = JsonUtils.unsafeEval(response.getText());
                        getView().showError(TranslationsUtils.replaceArguments(
                                translations.userMessageMap().get(error.getStatus()),
                                error.getArgumentsArray()), null);
                    }
                }
            }, Response.SC_OK, Response.SC_BAD_REQUEST, Response.SC_FORBIDDEN).send();
}

From source file:org.obiba.opal.web.gwt.app.client.magma.table.view.TablePropertiesModalView.java

License:Open Source License

@Override
public void showError(String message, @Nullable FormField group) {
    if (Strings.isNullOrEmpty(message))
        return;//from  ww  w .  ja  v a2 s  .c  o m

    String msg = message;
    try {
        ClientErrorDto errorDto = JsonUtils.unsafeEval(message);
        msg = errorDto.getStatus();
        if (translations.userMessageMap().containsKey(msg))
            msg = translations.userMessageMap().get(errorDto.getStatus());
    } catch (Exception ignored) {
    }

    if (group == null) {
        dialog.addAlert(msg, AlertType.ERROR);
    } else if (group.equals(FormField.NAME))
        dialog.addAlert(msg, AlertType.ERROR, nameGroup);
    else
        dialog.addAlert(msg, AlertType.ERROR, entityGroup);
}

From source file:org.obiba.opal.web.gwt.app.client.magma.table.view.ViewPropertiesModalView.java

License:Open Source License

@Override
public void showError(String message, @Nullable FormField group) {
    if (Strings.isNullOrEmpty(message))
        return;//from   w  ww. j a v a  2  s  . co m

    dialog.closeAlerts();
    String msg = message;
    try {
        ClientErrorDto errorDto = JsonUtils.unsafeEval(message);
        msg = errorDto.getStatus();
    } catch (Exception ignored) {
    }

    if (group == null) {
        dialog.addAlert(msg, AlertType.ERROR);
    } else if (group.equals(FormField.NAME))
        dialog.addAlert(msg, AlertType.ERROR, nameGroup);
    else
        dialog.addAlert(msg, AlertType.ERROR, tablesGroup);
}