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

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

Introduction

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

Prototype

Method POST

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

Click Source Link

Document

Specifies that the HTTP POST method should be used.

Usage

From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java

License:Open Source License

private void createUI(boolean isAdmin, final boolean isScheduler) {

    table.getElement().setId("schedule-table");
    table.setStylePrimaryName("pentaho-table");
    table.setWidth("100%", true);

    // BISERVER-9331 Column sort indicators should be to the right of header text in the Manage Schedules table.
    if (table.getHeaderBuilder() instanceof AbstractHeaderOrFooterBuilder) {
        ((AbstractHeaderOrFooterBuilder<JsJob>) table.getHeaderBuilder()).setSortIconStartOfLine(false);
    }/*from  w w w .  ja v a  2 s. c o m*/

    final MultiSelectionModel<JsJob> selectionModel = new MultiSelectionModel<JsJob>(new ProvidesKey<JsJob>() {
        public Object getKey(JsJob item) {
            return item.getJobId();
        }
    });
    table.setSelectionModel(selectionModel);

    Label noDataLabel = new Label(Messages.getString("noSchedules"));
    noDataLabel.setStyleName("noDataForScheduleTable");
    table.setEmptyTableWidget(noDataLabel);

    TextColumn<JsJob> idColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            return job.getJobId();
        }
    };
    idColumn.setSortable(true);

    TextColumn<JsJob> nameColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            return job.getJobName();
        }
    };
    nameColumn.setSortable(true);

    HtmlColumn<JsJob> resourceColumn = new HtmlColumn<JsJob>() {
        @Override
        public String getStringValue(JsJob job) {
            String name = job.getFullResourceName().split("\\.")[0];
            return name.replaceAll("/", "/<wbr/>");
        }
    };
    resourceColumn.setSortable(true);

    HtmlColumn<JsJob> outputPathColumn = new HtmlColumn<JsJob>(new ClickableSafeHtmlCell()) {
        @Override
        public String getStringValue(JsJob jsJob) {
            try {
                String outputPath = jsJob.getOutputPath();
                if (StringUtils.isEmpty(outputPath)) {
                    return "-";
                } else {
                    outputPath = new SafeHtmlBuilder().appendEscaped(outputPath).toSafeHtml().asString();
                    return MessageFormat.format(
                            "<span class=''workspace-resource-link'' title=''{0}''>{0}</span>", outputPath);
                }
            } catch (Throwable t) {
                return "-";
            }
        }
    };

    outputPathColumn.setFieldUpdater(new FieldUpdater<JsJob, SafeHtml>() {
        @Override
        public void update(final int index, final JsJob jsJob, final SafeHtml value) {
            if (!value.equals("-")) {

                final Command errorCallback = new Command() {
                    @Override
                    public void execute() {
                        showValidateOutputLocationError();
                    }
                };

                final Command successCallback = new Command() {
                    @Override
                    public void execute() {
                        openOutputLocation(jsJob.getOutputPath());
                    }
                };

                OutputLocationUtils.validateOutputLocation(jsJob.getOutputPath(), successCallback,
                        errorCallback);
            }
        }
    });

    outputPathColumn.setSortable(true);

    TextColumn<JsJob> scheduleColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            try {
                return job.getJobTrigger().getDescription();
            } catch (Throwable t) {
                return "-";
            }
        }
    };
    scheduleColumn.setSortable(true);

    TextColumn<JsJob> userNameColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            try {
                return job.getUserName();
            } catch (Throwable t) {
                return "-";
            }
        }
    };
    userNameColumn.setSortable(true);

    TextColumn<JsJob> stateColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            try {
                // BISERVER-9965
                final String jobState = "COMPLETE".equalsIgnoreCase(job.getState()) ? "FINISHED"
                        : job.getState();
                // not css text-transform because tooltip will use pure text from the cell
                return jobState.substring(0, 1).toUpperCase() + jobState.substring(1).toLowerCase();
            } catch (Throwable t) {
                return "-";
            }
        }
    };
    stateColumn.setSortable(true);

    TextColumn<JsJob> nextFireColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            try {
                Date date = job.getNextRun();
                if (date == null) {
                    return "-";
                }
                DateTimeFormat format = DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM);
                return format.format(date);
            } catch (Throwable t) {
                return "-";
            }
        }
    };
    nextFireColumn.setSortable(true);

    TextColumn<JsJob> lastFireColumn = new TextColumn<JsJob>() {
        public String getValue(JsJob job) {
            try {
                Date date = job.getLastRun();
                if (date == null) {
                    return "-";
                }
                DateTimeFormat format = DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM);
                return format.format(date);
            } catch (Throwable t) {
                return "-";
            }
        }
    };
    lastFireColumn.setSortable(true);

    // table.addColumn(idColumn, "ID");
    table.addColumn(nameColumn, Messages.getString("scheduleName"));
    table.addColumn(scheduleColumn, Messages.getString("recurrence"));
    table.addColumn(resourceColumn, Messages.getString("sourceFile"));
    table.addColumn(outputPathColumn, Messages.getString("outputPath"));

    table.addColumn(lastFireColumn, Messages.getString("lastFire"));
    table.addColumn(nextFireColumn, Messages.getString("nextFire"));
    if (isAdmin) {
        table.addColumn(userNameColumn, Messages.getString("user"));
    }
    table.addColumn(stateColumn, Messages.getString("state"));

    table.addColumnStyleName(0, "backgroundContentHeaderTableCell");
    table.addColumnStyleName(1, "backgroundContentHeaderTableCell");
    table.addColumnStyleName(2, "backgroundContentHeaderTableCell");
    table.addColumnStyleName(3, "backgroundContentHeaderTableCell");
    table.addColumnStyleName(4, "backgroundContentHeaderTableCell");
    table.addColumnStyleName(5, "backgroundContentHeaderTableCell");
    if (isAdmin) {
        table.addColumnStyleName(6, "backgroundContentHeaderTableCell");
    }
    table.addColumnStyleName(isAdmin ? 7 : 6, "backgroundContentHeaderTableCell");

    table.setColumnWidth(nameColumn, 160, Unit.PX);
    table.setColumnWidth(resourceColumn, 200, Unit.PX);
    table.setColumnWidth(outputPathColumn, 180, Unit.PX);
    table.setColumnWidth(scheduleColumn, 170, Unit.PX);
    table.setColumnWidth(lastFireColumn, 120, Unit.PX);
    table.setColumnWidth(nextFireColumn, 120, Unit.PX);
    if (isAdmin) {
        table.setColumnWidth(userNameColumn, 100, Unit.PX);
    }
    table.setColumnWidth(stateColumn, 90, Unit.PX);

    dataProvider.addDataDisplay(table);
    List<JsJob> list = dataProvider.getList();

    ListHandler<JsJob> columnSortHandler = new ListHandler<JsJob>(list);

    columnSortHandler.setComparator(idColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getJobId().compareTo(o2.getJobId()) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(nameColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getJobName().compareTo(o2.getJobName()) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(resourceColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                String r1 = o1.getShortResourceName();
                String r2 = null;
                if (o2 != null) {
                    r2 = o2.getShortResourceName();
                }

                return (o2 != null) ? r1.compareTo(r2) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(outputPathColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                String r1 = o1.getOutputPath();
                String r2 = null;
                if (o2 != null) {
                    r2 = o2.getOutputPath();
                }

                return (o2 != null) ? r1.compareTo(r2) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(scheduleColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            String s1 = o1.getJobTrigger().getDescription();
            String s2 = o2.getJobTrigger().getDescription();
            return s1.compareTo(s2);
        }
    });
    columnSortHandler.setComparator(userNameColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getUserName().compareTo(o2.getUserName()) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(stateColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 != null) {
                return (o2 != null) ? o1.getState().compareTo(o2.getState()) : 1;
            }
            return -1;
        }
    });
    columnSortHandler.setComparator(nextFireColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 == null || o1.getNextRun() == null) {
                return -1;
            }
            if (o2 == null || o2.getNextRun() == null) {
                return 1;
            }

            if (o1.getNextRun() == o2.getNextRun()) {
                return 0;
            }

            return o1.getNextRun().compareTo(o2.getNextRun());
        }
    });
    columnSortHandler.setComparator(lastFireColumn, new Comparator<JsJob>() {
        public int compare(JsJob o1, JsJob o2) {
            if (o1 == o2) {
                return 0;
            }

            if (o1 == null || o1.getLastRun() == null) {
                return -1;
            }
            if (o2 == null || o2.getLastRun() == null) {
                return 1;
            }

            if (o1.getLastRun() == o2.getLastRun()) {
                return 0;
            }

            return o1.getLastRun().compareTo(o2.getLastRun());
        }
    });
    table.addColumnSortHandler(columnSortHandler);

    table.getColumnSortList().push(idColumn);
    table.getColumnSortList().push(resourceColumn);
    table.getColumnSortList().push(outputPathColumn);
    table.getColumnSortList().push(nameColumn);

    table.getSelectionModel().addSelectionChangeHandler(new Handler() {
        public void onSelectionChange(SelectionChangeEvent event) {
            Set<JsJob> selectedJobs = getSelectedJobs();
            if (selectedJobs != null && selectedJobs.size() > 0) {
                JsJob[] jobs = selectedJobs.toArray(new JsJob[selectedJobs.size()]);
                editButton.setEnabled(isScheduler);
                if ("NORMAL".equalsIgnoreCase(jobs[0].getState())) {
                    controlScheduleButton.setImage(ImageUtil.getThemeableImage("icon-small", "icon-stop"));
                } else {
                    controlScheduleButton.setImage(ImageUtil.getThemeableImage("icon-small", "icon-run"));
                }
                controlScheduleButton.setEnabled(isScheduler);

                boolean isRunning = "NORMAL".equalsIgnoreCase(jobs[0].getState());
                controlScheduleButton
                        .setToolTip(isRunning ? Messages.getString("stop") : Messages.getString("start"));
                scheduleRemoveButton.setEnabled(isScheduler);
                triggerNowButton.setEnabled(isScheduler);
            } else {
                editButton.setEnabled(false);
                controlScheduleButton.setEnabled(false);
                scheduleRemoveButton.setEnabled(false);
                triggerNowButton.setEnabled(false);
            }
        }
    });
    // BISERVER-9965
    table.addCellPreviewHandler(new CellPreviewEvent.Handler<JsJob>() {
        @Override
        public void onCellPreview(CellPreviewEvent<JsJob> event) {
            if ("mouseover".equals(event.getNativeEvent().getType())) {
                final TableCellElement cell = table.getRowElement(event.getIndex()).getCells()
                        .getItem(event.getColumn());
                cell.setTitle(cell.getInnerText());
            }
        }
    });

    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true) {
        @Override
        public void setPageStart(int index) {
            if (getDisplay() != null) {
                Range range = getDisplay().getVisibleRange();
                int pageSize = range.getLength();

                // Removed the min to show fixed ranges
                // if (isRangeLimited && display.isRowCountExact()) {
                // index = Math.min(index, display.getRowCount() - pageSize);
                // }

                index = Math.max(0, index);
                if (index != range.getStart()) {
                    getDisplay().setVisibleRange(index, pageSize);
                }
            }
        }
    };
    pager.setDisplay(table);
    // pager.setRangeLimited(false);

    VerticalPanel tableAndPager = new VerticalPanel();
    tableAndPager.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);

    Toolbar bar = new Toolbar();
    bar.addSpacer(10);

    bar.add(Toolbar.GLUE);

    // Add control scheduler button
    if (isAdmin) {
        final ToolbarButton controlSchedulerButton = new ToolbarButton(
                ImageUtil.getThemeableImage("icon-small", "icon-start-scheduler"));

        controlSchedulerButton.setCommand(new Command() {
            public void execute() {
                toggleSchedulerOnOff(controlSchedulerButton, isScheduler);
            }
        });
        updateControlSchedulerButtonState(controlSchedulerButton, isScheduler);

        bar.add(controlSchedulerButton);
        bar.addSpacer(20);
    }

    // Add filter button
    filterButton.setCommand(new Command() {
        public void execute() {
            if (filterDialog == null) {
                filterDialog = new FilterDialog(allJobs, filterDialogCallback);
            } else {
                filterDialog.initUI(allJobs);
            }
            filterDialog.center();
        }
    });
    filterButton.setToolTip(Messages.getString("filterSchedules"));
    if (isAdmin) {
        bar.add(filterButton);
    }

    // Add remove filters button
    filterRemoveButton.setCommand(new Command() {
        public void execute() {
            filterDialog = null;
            filters.clear();
            filterAndShowData();
            filterRemoveButton.setEnabled(false);
            filterButton.setImage(ImageUtil.getThemeableImage("icon-small", "icon-filter-add"));
        }
    });
    filterRemoveButton.setToolTip(Messages.getString("removeFilters"));
    filterRemoveButton.setEnabled(filters.size() > 0);
    if (isAdmin) {
        bar.add(filterRemoveButton);
    }

    // Add refresh button
    ToolbarButton refresh = new ToolbarButton(ImageUtil.getThemeableImage("icon-small", "icon-refresh"));
    refresh.setToolTip(Messages.getString("refreshTooltip"));
    refresh.setCommand(new Command() {
        public void execute() {
            RefreshSchedulesCommand cmd = new RefreshSchedulesCommand();
            cmd.execute();
        }
    });
    bar.add(refresh);

    bar.addSpacer(20);

    // Add execute now button
    triggerNowButton.setToolTip(Messages.getString("executeNow"));
    triggerNowButton.setCommand(new Command() {
        public void execute() {
            Set<JsJob> selectedJobs = getSelectedJobs();
            if (selectedJobs != null && selectedJobs.size() > 0) {
                MessageDialogBox messageDialog = new MessageDialogBox(Messages.getString("executeNow"),
                        Messages.getString("executeNowStarted"), false, true, true);
                messageDialog.setCallback(new IDialogCallback() {
                    public void okPressed() {
                        // wait a little to refresh to give schedule time to update the last run
                        Timer t = new Timer() {
                            public void run() {
                                refresh();
                            }
                        };
                        t.schedule(2000);
                    }

                    public void cancelPressed() {
                    }
                });
                messageDialog.center();
                controlJobs(selectedJobs, "triggerNow", RequestBuilder.POST, false);
            }
        }
    });
    triggerNowButton.setEnabled(false);
    bar.add(triggerNowButton);

    // Add control schedule button
    controlScheduleButton.setCommand(new Command() {
        public void execute() {
            Set<JsJob> selectedJobs = getSelectedJobs();
            if (selectedJobs != null && selectedJobs.size() > 0) {
                JsJob[] jobs = selectedJobs.toArray(new JsJob[selectedJobs.size()]);
                if ("NORMAL".equals(jobs[0].getState())) {
                    controlJobs(selectedJobs, "pauseJob", RequestBuilder.POST, false);
                } else {
                    controlJobs(selectedJobs, "resumeJob", RequestBuilder.POST, false);
                }
            }
        }
    });
    controlScheduleButton.setEnabled(false);
    bar.add(controlScheduleButton);

    bar.addSpacer(20);

    // Add edit button
    editButton.setCommand(new Command() {
        public void execute() {
            Set<JsJob> selectedJobs = getSelectedJobs();
            if (selectedJobs != null && selectedJobs.size() > 0) {
                JsJob[] jobs = selectedJobs.toArray(new JsJob[selectedJobs.size()]);
                final JsJob editJob = jobs[0];
                final String url = GWT.getHostPageBaseURL() + "api/repo/files/"
                        + SolutionBrowserPanel.pathToId(editJob.getFullResourceName()) + "/canAccess?cb="
                        + System.currentTimeMillis() + "&permissions=" + READ_PERMISSION;
                RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url);
                try {
                    executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                    executableTypesRequestBuilder.sendRequest(null, new RequestCallback() {

                        public void onError(Request request, Throwable exception) {
                            promptForScheduleResourceError(editJob);
                        }

                        public void onResponseReceived(Request request, Response response) {
                            if ("true".equalsIgnoreCase(response.getText())) {
                                editJob(editJob);
                            } else {
                                promptForScheduleResourceError(editJob);
                            }
                        }
                    });
                } catch (RequestException e) {
                    // showError(e);
                }
            }
        }
    });

    editButton.setEnabled(false);
    editButton.setToolTip(Messages.getString("editTooltip"));
    bar.add(editButton);

    // Add remove button
    scheduleRemoveButton.setCommand(new Command() {
        public void execute() {
            Set<JsJob> selectedJobs = getSelectedJobs();
            if (selectedJobs != null && selectedJobs.size() > 0) {
                final PromptDialogBox prompt = new PromptDialogBox(Messages.getString("warning"),
                        Messages.getString("yes"), Messages.getString("no"), false, true);
                prompt.setContent(
                        new Label(Messages.getString("deleteConfirmSchedles", "" + selectedJobs.size())));

                prompt.setCallback(new IDialogCallback() {
                    public void okPressed() {
                        controlJobs(getSelectedJobs(), "removeJob", RequestBuilder.DELETE, true);
                        prompt.hide();
                    }

                    public void cancelPressed() {
                        prompt.hide();
                    }
                });
                prompt.center();
            }
        }
    });
    scheduleRemoveButton.setToolTip(Messages.getString("remove"));
    scheduleRemoveButton.setEnabled(false);
    bar.add(scheduleRemoveButton);

    tableAndPager.add(bar);
    tableAndPager.add(table);
    tableAndPager.add(pager);

    // Add it to the root panel.
    setWidget(tableAndPager);
}

From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java

License:Open Source License

private void controlScheduler(final ToolbarButton controlSchedulerButton, final String function,
        final boolean isScheduler) {
    final String url = GWT.getHostPageBaseURL() + "api/scheduler/" + function; //$NON-NLS-1$
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
    builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
    try {/*  ww  w .  java  2s .c  o m*/
        builder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                boolean isRunning = "RUNNING".equalsIgnoreCase(response.getText());
                if (isRunning) {
                    controlSchedulerButton.setToolTip(Messages.getString("stopScheduler"));
                    controlSchedulerButton
                            .setImage(ImageUtil.getThemeableImage("icon-small", "icon-stop-scheduler"));
                } else {
                    controlSchedulerButton.setToolTip(Messages.getString("startScheduler"));
                    controlSchedulerButton
                            .setImage(ImageUtil.getThemeableImage("icon-small", "icon-start-scheduler"));
                }

                if (!isScheduler) {
                    controlSchedulerButton.setEnabled(false);
                } else {
                    controlSchedulerButton.setEnabled(true);
                }
            }
        });
    } catch (RequestException e) {
        // showError(e);
    }
}

From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java

License:Open Source License

private void openOutputLocation(final String outputLocation) {
    final String url = GWT.getHostPageBaseURL() + "api/mantle/session-variable?key=scheduler_folder&value="
            + outputLocation;//from ww  w .j  av  a  2s .com
    PerspectiveManager.getInstance().setPerspective(PerspectiveManager.BROWSER_PERSPECTIVE);
    RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.POST, url);
    try {
        executableTypesRequestBuilder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
            }

            public void onResponseReceived(Request request, Response response) {
            }
        });
    } catch (RequestException e) {
        //IGNORE
    }
    GenericEvent event = new GenericEvent();
    event.setEventSubType("RefreshFolderEvent");
    event.setStringParam(outputLocation);
    EventBusUtil.EVENT_BUS.fireEvent(event);
}

From source file:org.pentaho.mantle.login.client.MantleLoginDialog.java

License:Open Source License

public MantleLoginDialog() {
    super(Messages.getString("login"), Messages.getString("login"), Messages.getString("cancel"), false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    IDialogCallback myCallback = new IDialogCallback() {

        public void cancelPressed() {
        }//from  w  w  w  . j a v  a  2  s . c  o  m

        @SuppressWarnings("deprecation")
        public void okPressed() {
            String path = Window.Location.getPath();
            if (!path.endsWith("/")) { //$NON-NLS-1$
                path = path.substring(0, path.lastIndexOf("/") + 1); //$NON-NLS-1$
            }
            RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, path + "j_spring_security_check"); //$NON-NLS-1$
            builder.setHeader("Content-Type", "application/x-www-form-urlencoded"); //$NON-NLS-1$ //$NON-NLS-2$
            builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
            RequestCallback callback = new RequestCallback() {

                public void onError(Request request, Throwable exception) {
                    outerCallback.onFailure(exception);
                }

                public void onResponseReceived(Request request, Response response) {

                    try {
                        final String url = ScheduleHelper.getFullyQualifiedURL() + "api/mantle/isAuthenticated"; //$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, final Throwable caught) {
                                MessageDialogBox errBox = new MessageDialogBox(Messages.getString("loginError"), //$NON-NLS-1$
                                        Messages.getString("authFailed"), false, false, true); //$NON-NLS-1$
                                errBox.setCallback(new IDialogCallback() {
                                    public void cancelPressed() {
                                    }

                                    public void okPressed() {
                                        outerCallback.onFailure(caught);
                                    }
                                });
                                errBox.show();
                            }

                            public void onResponseReceived(Request request, Response response) {
                                if ("true".equalsIgnoreCase(response.getText())) {
                                    long year = 1000 * 60 * 60 * 24 * 365;
                                    // one year into the future
                                    Date expirationDate = new Date(System.currentTimeMillis() + year);
                                    Cookies.setCookie("loginNewWindowChecked", "" + newWindowChk.getValue(), //$NON-NLS-1$//$NON-NLS-2$
                                            expirationDate);
                                    outerCallback.onSuccess(newWindowChk != null && newWindowChk.getValue());
                                } else {
                                    outerCallback.onFailure(new Throwable(Messages.getString("authFailed"))); //$NON-NLS-1$
                                }
                            }

                        });
                    } catch (final RequestException e) {
                        MessageDialogBox errBox = new MessageDialogBox(Messages.getString("loginError"), //$NON-NLS-1$
                                Messages.getString("authFailed"), false, false, true); //$NON-NLS-1$
                        errBox.setCallback(new IDialogCallback() {
                            public void cancelPressed() {
                            }

                            public void okPressed() {
                                outerCallback.onFailure(e);
                            }
                        });
                        errBox.show();
                    }
                }
            };
            try {
                String username = userTextBox.getText();
                String password = passwordTextBox.getText();
                builder.sendRequest("j_username=" + URL.encodeComponent(username) + "&j_password="
                        + URL.encodeComponent(password), callback); //$NON-NLS-1$ //$NON-NLS-2$
            } catch (RequestException e) {
                e.printStackTrace();
            }
        }

    };
    setCallback(myCallback);
    super.setStylePrimaryName("pentaho-dialog");
}

From source file:org.pentaho.platform.dataaccess.datasource.wizard.controllers.ConnectionController.java

License:Open Source License

@Bindable
public void updateConnection() {
    RequestBuilder updateConnectionBuilder = new RequestBuilder(RequestBuilder.POST,
            ConnectionController.getServiceURL("update"));
    updateConnectionBuilder.setHeader("Content-Type", "application/json");
    try {//from  w  w w  . ja va 2s  .  c  o m
        //AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(currentConnection); 
        AutoBean<IDatabaseConnection> bean = createIDatabaseConnectionBean(currentConnection);
        updateConnectionBuilder.sendRequest(AutoBeanCodex.encode(bean).getPayload(), new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                displayErrorMessage(exception);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                try {
                    if (response.getStatusCode() == Response.SC_OK) {
                        datasourceModel.getGuiStateModel().updateConnection(existingConnectionName,
                                currentConnection);
                        datasourceModel.setSelectedRelationalConnection(currentConnection);
                        DialogListener dialogListener = connectionSetter.getOuterListener();
                        if (dialogListener != null) {
                            dialogListener.onDialogAccept(currentConnection);
                        }
                    } else {
                        openErrorDialog(MessageHandler.getString("ERROR"), MessageHandler//$NON-NLS-1$
                                .getString("ConnectionController.ERROR_0004_UNABLE_TO_UPDATE_CONNECTION"));//$NON-NLS-1$
                    }
                } catch (Exception e) {
                    displayErrorMessage(e);
                }
            }

        });
    } catch (RequestException e) {
        displayErrorMessage(e);
    }
}

From source file:org.pentaho.platform.dataaccess.datasource.wizard.controllers.ConnectionController.java

License:Open Source License

@Bindable
public void addConnection() {
    RequestBuilder addConnectionBuilder = new RequestBuilder(RequestBuilder.POST,
            ConnectionController.getServiceURL("add"));
    addConnectionBuilder.setHeader("Content-Type", "application/json");
    try {//from   www  . j  a  v  a  2s .co m
        //AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(currentConnection); 
        AutoBean<IDatabaseConnection> bean = createIDatabaseConnectionBean(currentConnection);
        addConnectionBuilder.sendRequest(AutoBeanCodex.encode(bean).getPayload(), new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                displayErrorMessage(exception);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                try {
                    if (response.getStatusCode() == Response.SC_OK) {
                        datasourceModel.getGuiStateModel().addConnection(currentConnection);
                        datasourceModel.setSelectedRelationalConnection(currentConnection);
                        DialogListener dialogListener = connectionSetter.getOuterListener();
                        if (dialogListener != null) {
                            dialogListener.onDialogAccept(currentConnection);
                        }
                    } else {
                        openErrorDialog(MessageHandler.getString("ERROR"), MessageHandler//$NON-NLS-1$
                                .getString("ConnectionController.ERROR_0001_UNABLE_TO_ADD_CONNECTION"));//$NON-NLS-1$
                    }
                } catch (Exception e) {
                    displayErrorMessage(e);
                }
            }

        });
    } catch (RequestException e) {
        displayErrorMessage(e);
    }
}

From source file:org.pentaho.platform.dataaccess.datasource.wizard.controllers.WizardConnectionController.java

License:Open Source License

@Bindable
public void updateConnection() {
    RequestBuilder updateConnectionBuilder = new RequestBuilder(RequestBuilder.POST,
            ConnectionController.getServiceURL("update"));
    updateConnectionBuilder.setHeader("Content-Type", "application/json");
    try {/*  w  w w .j  a  va 2s. c o  m*/
        //AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(currentConnection); 
        AutoBean<IDatabaseConnection> bean = createIDatabaseConnectionBean(currentConnection);
        updateConnectionBuilder.sendRequest(AutoBeanCodex.encode(bean).getPayload(), new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                displayErrorMessage(exception);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                try {
                    if (response.getStatusCode() == Response.SC_OK) {
                        datasourceModel.getGuiStateModel().updateConnection(existingConnectionName,
                                currentConnection);
                        datasourceModel.setSelectedRelationalConnection(currentConnection);
                    } else {
                        openErrorDialog(MessageHandler.getString("ERROR"), MessageHandler//$NON-NLS-1$
                                .getString("ConnectionController.ERROR_0004_UNABLE_TO_UPDATE_CONNECTION"));//$NON-NLS-1$
                    }
                } catch (Exception e) {
                    displayErrorMessage(e);
                }
            }

        });
    } catch (RequestException e) {
        displayErrorMessage(e);
    }
}

From source file:org.pentaho.platform.dataaccess.datasource.wizard.controllers.WizardConnectionController.java

License:Open Source License

@Bindable
public void addConnection() {
    RequestBuilder addConnectionBuilder = new RequestBuilder(RequestBuilder.POST,
            ConnectionController.getServiceURL("add"));
    addConnectionBuilder.setHeader("Content-Type", "application/json");
    try {/*from   w  w  w  .ja  va2 s .  co m*/
        //AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(currentConnection); 
        AutoBean<IDatabaseConnection> bean = createIDatabaseConnectionBean(currentConnection);
        addConnectionBuilder.sendRequest(AutoBeanCodex.encode(bean).getPayload(), new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                displayErrorMessage(exception);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                try {
                    if (response.getStatusCode() == Response.SC_OK) {
                        IDatabaseConnection conn = AutobeanUtilities.connectionBeanToImpl(currentConnection);
                        datasourceModel.getGuiStateModel().addConnection(conn);
                        datasourceModel.setSelectedRelationalConnection(conn);
                    } else {
                        openErrorDialog(MessageHandler.getString("ERROR"), MessageHandler//$NON-NLS-1$
                                .getString("ConnectionController.ERROR_0001_UNABLE_TO_ADD_CONNECTION"));//$NON-NLS-1$
                    }
                } catch (Exception e) {
                    displayErrorMessage(e);
                }
            }

        });
    } catch (RequestException e) {
        displayErrorMessage(e);
    }
}

From source file:org.pentaho.ui.database.event.DataHandler.java

License:Open Source License

@Bindable
public void onOK() {
    final IDatabaseConnection database = createDatabaseConnection();
    getInfo(database);//from w  w  w .  j a  va2 s .c o  m

    String illegals = NameUtils.getReservedChars();
    if (!NameUtils.isValidFileName(database.getName())) {
        showMessage(messages.getString("DatabaseDialog.ErrorConnectionName.title"),
                messages.getString("DatabaseDialog.ErrorConnectionName.description", illegals), false);
        return;
    }

    boolean passed = checkPoolingParameters();
    if (!passed) {
        return;
    }

    RequestBuilder checkParamsBuilder = new RequestBuilder(RequestBuilder.POST, getBaseURL() + "checkParams"); //$NON-NLS-1$
    checkParamsBuilder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$//$NON-NLS-2$
    try {
        AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(database);
        String checkParamsJson = AutoBeanCodex.encode(bean).getPayload();
        checkParamsBuilder.sendRequest(checkParamsJson, new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), exception.getMessage(), //$NON-NLS-1$
                        exception.getMessage().length() > 300);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == Response.SC_NO_CONTENT
                        || response.getStatusCode() == SC_NO_CONTENT_IE) {
                    if (databaseConnection == null) {
                        databaseConnection = connectionAutoBeanFactory.iDatabaseConnection().as();
                    }

                    // Clear extra options before reapplying all values from web
                    databaseConnection.setExtraOptions(new HashMap<String, String>());

                    // Populate database connection with new values
                    getInfo(databaseConnection);

                    databaseConnection.setChanged(true);
                    close();
                    if (listener != null) {
                        listener.onDialogAccept(databaseConnection);
                    }
                } else {
                    gatherErrors(response);
                }
            }
        });
    } catch (RequestException e) {
        showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), e.getMessage(), //$NON-NLS-1$
                e.getMessage().length() > 300);
    }
}

From source file:org.pentaho.ui.database.event.DataHandler.java

License:Open Source License

@Bindable
public void testDatabaseConnection() {
    final IDatabaseConnection database = createDatabaseConnection();
    getInfo(database);//  w ww  .  j a  v  a 2s  .co m

    RequestBuilder checkParamsBuilder = new RequestBuilder(RequestBuilder.POST, getBaseURL() + "checkParams"); //$NON-NLS-1$
    checkParamsBuilder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$
    try {
        AutoBean<IDatabaseConnection> bean = AutoBeanUtils.getAutoBean(database);
        String checkParamsJson = AutoBeanCodex.encode(bean).getPayload();
        checkParamsBuilder.sendRequest(checkParamsJson, new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), exception.getMessage(), //$NON-NLS-1$
                        exception.getMessage().length() > 300);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                int statusCode = response.getStatusCode();

                if (statusCode == Response.SC_NO_CONTENT || statusCode == SC_NO_CONTENT_IE) {
                    RequestBuilder testBuilder = new RequestBuilder(RequestBuilder.PUT, getBaseURL() + "test"); //$NON-NLS-1$
                    testBuilder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$
                    try {
                        AutoBean<IDatabaseConnection> autoBean = AutoBeanUtils.getAutoBean(database);
                        String testConnectionJson = AutoBeanCodex.encode(autoBean).getPayload();
                        testBuilder.sendRequest(testConnectionJson, new RequestCallback() {

                            @Override
                            public void onError(Request request1, Throwable exception) {
                                showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), //$NON-NLS-1$
                                        exception.getMessage(), exception.getMessage().length() > 300);
                            }

                            @Override
                            public void onResponseReceived(Request request1, Response response1) {
                                showMessage(messages.getString("DataHandler.TEST_MESSAGE_TITLE"), //$NON-NLS-1$
                                        response1.getText(), response1.getText().length() > 300);
                            }

                        });
                    } catch (RequestException e) {
                        showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), e.getMessage(), //$NON-NLS-1$
                                e.getMessage().length() > 300);
                    }
                } else {
                    gatherErrors(response);
                }
            }
        });
    } catch (RequestException e) {
        showMessage(messages.getString("DataHandler.ERROR_MESSAGE_TITLE"), e.getMessage(), //$NON-NLS-1$
                e.getMessage().length() > 300);
    }
}