Example usage for com.google.gwt.user.client.rpc AsyncCallback onSuccess

List of usage examples for com.google.gwt.user.client.rpc AsyncCallback onSuccess

Introduction

In this page you can find the example usage for com.google.gwt.user.client.rpc AsyncCallback onSuccess.

Prototype

void onSuccess(T result);

Source Link

Document

Called when an asynchronous call completes successfully.

Usage

From source file:bufferings.ktr.wjr.client.service.KtrWjrJsonServiceAsync.java

License:Apache License

/**
 * {@inheritDoc}//  ww  w.  j  av  a2  s. c  o  m
 */
public void loadConfig(String configId, final AsyncCallback<WjrConfig> callback) {
    final List<Pair> params = new ArrayList<Pair>();
    params.add(new Pair(KEY_METHOD, METHOD_LOAD_CONFIG));
    params.add(new Pair(KEY_CONFIG_ID, configId));
    try {
        sendRequest(params, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                try {
                    callback.onSuccess(createWjrConfigFromJson(response.getText()));
                } catch (Exception e) {
                    callback.onFailure(e);
                }
            }
        });
    } catch (RequestException e) {
        callback.onFailure(e);
    }
}

From source file:bufferings.ktr.wjr.client.service.KtrWjrJsonServiceAsync.java

License:Apache License

/**
 * {@inheritDoc}//from w  w  w.  j  a  v a  2s  .c  om
 */
public void loadStore(final AsyncCallback<WjrStore> callback) {
    final List<Pair> params = new ArrayList<Pair>();
    params.add(new Pair(KEY_METHOD, METHOD_LOAD_STORE));
    try {
        sendRequest(params, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                try {
                    callback.onSuccess(createWjrStoreFromJson(response.getText()));
                } catch (Exception e) {
                    callback.onFailure(e);
                }
            }
        });
    } catch (RequestException e) {
        callback.onFailure(e);
    }
}

From source file:bufferings.ktr.wjr.client.service.KtrWjrJsonServiceAsync.java

License:Apache License

/**
 * {@inheritDoc}/*from  w  ww  . j  a v  a2s.  com*/
 */
public void runTest(WjrMethodItem methodItem, boolean cpumsEnabled, boolean apimsEnabled,
        boolean logHookEnabled, String logHookTimezone, final AsyncCallback<WjrMethodItem> callback) {
    final List<Pair> params = new ArrayList<Pair>();
    params.add(new Pair(KEY_METHOD, METHOD_RUN_TEST));
    params.add(new Pair(KEY_RUN_CLASS_NAME, methodItem.getClassName()));
    params.add(new Pair(KEY_RUN_METHOD_NAME, methodItem.getMethodName()));
    params.add(new Pair(KEY_CPUMS_ENABLED, Boolean.toString(cpumsEnabled)));
    params.add(new Pair(KEY_APIMS_ENABLED, Boolean.toString(apimsEnabled)));
    params.add(new Pair(KEY_LOGHOOK_ENABLED, Boolean.toString(logHookEnabled)));
    params.add(new Pair(KEY_LOGHOOK_TIMEZONE, logHookTimezone));
    try {
        sendRequest(params, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                try {
                    callback.onSuccess(createWjrMethodItemFromJson(response.getText()));
                } catch (Exception e) {
                    callback.onFailure(e);
                }
            }
        });
    } catch (RequestException e) {
        callback.onFailure(e);
    }
}

From source file:burrito.client.widgets.blobstore.BlobStoreUploader.java

License:Apache License

public BlobStoreUploader(Integer requiredWidth, Integer requiredHeight, final AsyncCallback<String> callback) {
    FlowPanel inner = new FlowPanel();
    inner.add(file);// ww w .  jav  a2s.  c  o  m
    file.setName("file");
    file.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            getUploadURLAndPost();
        }
    });
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);
    if (requiredWidth != null) {
        inner.add(new Hidden("width", String.valueOf(requiredWidth)));
    }
    if (requiredHeight != null) {
        inner.add(new Hidden("height", String.valueOf(requiredHeight)));
    }
    form.addSubmitHandler(new SubmitHandler() {

        @Override
        public void onSubmit(SubmitEvent event) {
            file.setVisible(false);
            progress.setVisible(true);
        }
    });

    form.addSubmitCompleteHandler(new SubmitCompleteHandler() {

        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            file.setVisible(true);
            progress.setVisible(false);
            String results = event.getResults().replaceAll("<.*?>", ""); // sometime, <pre> tags are added by the browser
            if (results.contains("OK#")) {
                String blobStoreKey = results.replace("OK#", "");
                callback.onSuccess(blobStoreKey);
            } else {
                Window.alert(results);
                callback.onFailure(new RuntimeException("Failure response from server"));
            }
        }
    });
    progress.setVisible(false);
    inner.add(progress);

    form.add(inner);
    initWidget(form);
}

From source file:ca.nanometrics.gflot.client.example.DecimationExample.java

License:Open Source License

private FakeRpcServiceAsync getRpcService() {
    return new FakeRpcServiceAsync() {

        public void getNewData(final AsyncCallback<DataPoint[]> callback) {
            double up = Random.nextDouble();
            double down = Random.nextDouble();
            callback.onSuccess(new DataPoint[] { new DataPoint(timeCounter++, previous - down),
                    new DataPoint(timeCounter++, previous + up) });
            previous = previous + up;//  ww  w  .j a  va 2s.  c om
        }
    };
}

From source file:ca.nanometrics.gflot.client.example.SlidingWindowExample.java

License:Open Source License

private FakeRpcServiceAsync getRpcService() {
    return new FakeRpcServiceAsync() {
        public void getNewData(final AsyncCallback<DataPoint[]> callback) {
            callback.onSuccess(
                    new DataPoint[] { new DataPoint(Duration.currentTimeMillis(), Random.nextDouble()) });
        }//from  w  ww .jav a2 s .c om
    };
}

From source file:ca.qc.cegepoutaouais.tge.pige.client.ui.view.LoanManagementView.java

License:Open Source License

@Override
protected void initialize() {
    super.initialize();

    proxy = new RpcProxy<PagingLoadResult<Loan>>() {

        @Override//from w  ww  .j  ava2 s .  c  o m
        protected void load(Object loadConfig, final AsyncCallback<PagingLoadResult<Loan>> callback) {

            statusBar.setBusyText(messages.loading());

            // Obtenir le nombre de rle demand  partir du service RPC.
            ManagementServiceAsync rpcService = Registry.get(PIGE.MANAGEMENT_SERVICE);
            rpcService.getLoans((PagingLoadConfig) loadConfig, new AsyncCallback<PagingLoadResult<Loan>>() {

                @Override
                public void onSuccess(PagingLoadResult result) {
                    statusBar.getStatus().clearStatus(messages.loadDone());
                    callback.onSuccess(result);
                }

                @Override
                public void onFailure(Throwable caught) {
                    callback.onFailure(caught);
                }
            }); // getLoans()
        } // load()
    }; // new RpcProxy

    loadConfigs = new BasePagingLoadConfig();
    storeLoader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader()) {

        @Override
        protected LoadConfig newLoadConfig() {
            return loadConfigs;
        }
    };
    storeLoader.setRemoteSort(false);

    loanStore = new GroupingStore<BeanModel>(storeLoader) {

        /**
         * Permet de retirer les emprunts sauvegards de la liste  afficher.
         */
        @Override
        protected void onLoad(LoadEvent event) {
            PigeUtil.filterSavedLoans(event);
            selectedLoans.clear();// 1.5.1
            super.onLoad(event);
        }
    };

    pagingTB = new PagingToolBar(PAGE_SIZE);
    pagingTB.bind(storeLoader);

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
    // 1.5.1
    ColumnConfig selectorCC = new ColumnConfig(null, "", 25);
    selectorCC.setRenderer(new GridCellRenderer() {
        @Override
        public Object render(final ModelData model, String property, ColumnData config, int rowIndex,
                int colIndex, ListStore store, Grid grid) {
            final CheckBox cbox = new CheckBox();
            cbox.addListener(Events.Change, new Listener<FieldEvent>() {
                @Override
                public void handleEvent(FieldEvent be) {
                    BeanModel bm = (BeanModel) model;
                    if (cbox.getValue() && !selectedLoans.contains(bm)) {
                        selectedLoans.add(bm);
                    } else if (!cbox.getValue()) {
                        selectedLoans.remove(bm);
                    }
                }
            });
            BeanModel bm = (BeanModel) model;
            if (selectedLoans.contains(bm)) {
                cbox.setValue(Boolean.TRUE);
            }
            return cbox;
        }
    });
    ColumnConfig ownerCC = new ColumnConfig(Loan.USER_REF, "user", 50);
    ColumnConfig statusCC = new ColumnConfig(Loan.STATUS_REF,
            messages.accepted() + " / " + messages.refused() + " / " + messages.postponed(), 150);
    ColumnConfig quantityCC = new ColumnConfig(Loan.QUANTITY_REF, messages.quantity(), 50);
    NumberFormat nf = NumberFormat.getFormat(PIGE.QUANTITY_FORMAT);
    quantityCC.setNumberFormat(nf);

    ColumnConfig descriptionCC = new ColumnConfig(Loan.DESCRIPTION_REF, messages.description(), 250);
    final Template descTemplate = new Template(descTemplateStr);
    descTemplate.compile();
    descriptionCC.setRenderer(new GridCellRenderer() {

        @Override
        public Object render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore store, Grid grid) {
            Loan loan = (Loan) ((BeanModel) model).getBean();
            Params p = new Params();
            p.set("desc", model.get(property));
            if (loan.getItemId() != null) {
                p.set("icon", "pige-icon-visible");
            } else {
                p.set("icon", "pige-icon-hidden");
            }
            return descTemplate.applyTemplate(p);
        }
    });

    ColumnConfig startDateCC = new ColumnConfig(Loan.START_DATE_REF, messages.loanDate(), 100);
    DateTimeFormat dtf = DateTimeFormat.getFormat(PIGE.TERM_DATE_FORMAT);
    startDateCC.setDateTimeFormat(dtf);
    ColumnConfig termCC = new ColumnConfig(Loan.TERM_REF, messages.term(), 100);
    termCC.setDateTimeFormat(dtf);
    ColumnConfig tagCC = new ColumnConfig(Loan.TAG_REF, messages.tag(), 100);
    ColumnConfig noteCC = new ColumnConfig(Loan.NOTE_REF, messages.note(), 100);

    // 1.5.1
    configs.add(selectorCC);

    configs.add(ownerCC);
    configs.add(statusCC);
    configs.add(quantityCC);
    configs.add(descriptionCC);
    configs.add(startDateCC);
    configs.add(termCC);
    configs.add(tagCC);
    configs.add(noteCC);

    columnModel = new ColumnModel(configs);
    GroupingView view = new GroupingView();
    view.setShowGroupedColumn(false);
    view.setForceFit(true);
    view.setGroupRenderer(new GridGroupRenderer() {

        @Override
        public String render(GroupColumnData data) {
            BeanModel model = (BeanModel) loanStore.getAt(data.startRow);
            Loan loan = model.getBean();
            User user = loan.getUser();
            String id = (user.getLoanNo() != null ? user.getLoanNo() : user.getIdentifier());
            return "[" + id + "] " + user.getLastname() + ", " + user.getFirstname();
        }
    });
    loanStore.setStoreSorter(new StoreSorter<BeanModel>() {

        @Override
        public int compare(Store<BeanModel> store, BeanModel m1, BeanModel m2, String property) {
            if (property.equals(User.LOAN_NO_REF)) {
                Loan l1 = m1.getBean();
                Loan l2 = m2.getBean();
                User u1 = l1.getUser();
                User u2 = l2.getUser();
                return u1.getLoanNo().compareTo(u2.getLoanNo());
            } else {
                return super.compare(store, m1, m2, property);
            }
        }
    });
    loanStore.groupBy(Loan.USER_REF);

    GridFilters filters = new GridFilters();
    filters.setLocal(true);

    NumericFilter qtyFilter = new NumericFilter(Loan.QUANTITY_REF);
    StringFilter descFilter = new StringFilter(Loan.DESCRIPTION_REF);
    DateFilter startDateFilter = new DateFilter(Loan.START_DATE_REF);
    DateFilter termFilter = new DateFilter(Loan.TERM_REF);
    StringFilter tagFilter = new StringFilter(Loan.TAG_REF);
    StringFilter noteFilter = new StringFilter(Loan.NOTE_REF);

    filters.addFilter(qtyFilter);
    filters.addFilter(descFilter);
    filters.addFilter(startDateFilter);
    filters.addFilter(termFilter);
    filters.addFilter(tagFilter);
    filters.addFilter(noteFilter);

    grid = new EditorGrid<BeanModel>(loanStore, columnModel);
    grid.setView(view);
    grid.setLoadMask(true);
    grid.setBorders(false);
    grid.setAutoExpandColumn(Loan.DESCRIPTION_REF);
    grid.getView().setAutoFill(true);
    grid.getView().setEmptyText(messages.noLoanToShow());
    grid.setTrackMouseOver(true);
    grid.addListener(Events.AfterEdit, new GridEditListener());
    grid.addPlugin(filters);
    grid.setContextMenu(createContextMenu());

    grid.addListener(Events.ContextMenu, new Listener<GridEvent>() {

        @Override
        public void handleEvent(GridEvent be) {
            selectedLoan = (BeanModel) be.getModel();
        }
    });

    toolBarPanel = new LayoutContainer();
    toolBarPanel.setLayout(new RowLayout());
    mainTB = new ToolBar();
    secondaryTB = new ToolBar();
    toolBarPanel.add(mainTB, new RowData(1, -1));
    contentPanel.setLayout(new RowLayout());
    contentPanel.setBottomComponent(pagingTB);
    RowData data = new RowData(1, -1);
    contentPanel.add(toolBarPanel, data);
    data = new RowData(1, 1);
    contentPanel.add(grid, data);

    ContentPanel panel = Registry.get(AppWidgets.APP_CONTENT_PANEL);
    panel.add(contentPanel);
    panel.layout();

    searchConfigList = new ArrayList<FilterConfig>();
    filterConfigList = new ArrayList<FilterConfig>();
    loadConfigs.set(PIGE.SEARCH_CONFIGS, searchConfigList);
    loadConfigs.set(PIGE.FILTER_CONFIGS, filterConfigList);

    userConfigList = new ArrayList<FilterConfig>();
}

From source file:ca.qc.cegepoutaouais.tge.pige.client.ui.view.NewLoanView.java

License:Open Source License

@Override
protected void initialize() {
    super.initialize();

    proxy = new RpcProxy<PagingLoadResult<UserDetail>>() {

        @Override/*  www.  j  a  v  a2  s.c  o  m*/
        protected void load(Object loadConfig, final AsyncCallback<PagingLoadResult<UserDetail>> callback) {

            statusBar.setBusyText(messages.loading());

            UserServiceAsync rpcService = Registry.get(PIGE.USER_SERVICE);
            rpcService.getAllLoan((PagingLoadConfig) loadConfig, new AsyncCallback<PagingLoadResult<Loan>>() {

                @Override
                public void onSuccess(PagingLoadResult result) {
                    statusBar.getStatus().clearStatus(messages.loadDone());
                    callback.onSuccess(result);
                }

                @Override
                public void onFailure(Throwable caught) {
                    callback.onFailure(caught);
                }
            });

        }

    };

    loadConfig = new BaseFilterPagingLoadConfig();
    loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader()) {

        @Override
        protected LoadConfig newLoadConfig() {
            return loadConfig;
        }
    };
    loader.setRemoteSort(false);

    loanStore = new ListStore<BeanModel>(loader);

    pagingTB = new PagingToolBar(PAGE_SIZE);
    pagingTB.bind(loader);

    /*
     * TODO:
     *
     * VOIR LES MTHODES DES CELLEDITORS POUR AMLIORER LE COMPORTEMENT
     * DU ROWEDITOR. EX.: setCompleteEditOnEnter...
     */

    // Note: Les CellEditors ne gnrent pas d'vnement de type EditorEvent
    //  moins d'tre utiliss dans un EditorGrid.

    List<ColumnConfig> configs = new ArrayList<ColumnConfig>();

    ColumnConfig quantityCC = new ColumnConfig(Loan.QUANTITY_REF, messages.quantity(), 50);
    NumberFormat nf = NumberFormat.getFormat(PIGE.QUANTITY_FORMAT);
    quantityCC.setNumberFormat(nf);
    NumberField numberField = new NumberField();
    numberField.setPropertyEditorType(Integer.class);
    numberField.setFormat(nf);
    numberField.setMinValue(new Integer(0));
    numberField.setAllowDecimals(Boolean.FALSE);
    numberField.setAllowNegative(Boolean.FALSE);
    numberField.setMaxLength(6);
    quantityCC.setEditor(new CellEditor(numberField));
    ;

    ColumnConfig descriptionCC = new ColumnConfig(Loan.DESCRIPTION_REF, messages.description(), 300);
    itemSelectorField.setAllowBlank(Boolean.FALSE);
    CellEditor descCCEditor = new CellEditor(itemSelectorField);
    descriptionCC.setEditor(descCCEditor);
    final Template descTemplate = new Template(descTemplateStr);
    descTemplate.compile();
    descriptionCC.setRenderer(new GridCellRenderer() {

        @Override
        public Object render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore store, Grid grid) {
            Loan loan = (Loan) ((BeanModel) model).getBean();
            Params p = new Params();
            p.set("desc", model.get(property));
            if (loan.getItemId() != null) {
                p.set("icon", "pige-icon-visible");
            } else {
                p.set("icon", "pige-icon-hidden");
            }
            return descTemplate.applyTemplate(p);
        }
    });

    ColumnConfig termCC = new ColumnConfig(Loan.TERM_REF, messages.term(), 100);
    DateTimeFormat dtf = DateTimeFormat.getFormat(PIGE.TERM_DATE_FORMAT);
    termCC.setDateTimeFormat(dtf);
    DateField dateField = new DateField();
    dateField.setMinValue(new Date());
    dateField.setEditable(false);
    dateField.setFormatValue(true);
    dateField.getPropertyEditor().setFormat(dtf);
    termCC.setEditor(new CellEditor(dateField));

    ColumnConfig tagCC = new ColumnConfig(Loan.TAG_REF, messages.tag(), 100);
    tagCbox.setTriggerAction(TriggerAction.ALL);
    tagCbox.setAllowBlank(Boolean.FALSE);
    tagCbox.setForceSelection(Boolean.FALSE);
    tagCbox.setEditable(Boolean.TRUE);
    CellEditor tagCellEditor = new CellEditor(tagCbox) {

        @Override
        public Object preProcessValue(Object value) {
            if (value == null) {
                return value;
            }
            ModelData model = tagCbox.findModel(value.toString());
            if (model != null) {
                return model;
            }
            return new SimpleComboValueWrapper((String) value);
        }

        @Override
        public Object postProcessValue(Object value) {
            return tagCbox.getRawValue();
        }
    };
    tagCC.setEditor(tagCellEditor);

    configs.add(quantityCC);
    configs.add(descriptionCC);
    configs.add(termCC);
    configs.add(tagCC);

    ColumnModel cm = new ColumnModel(configs);

    final RowEditor<BeanModel> rowEditor = new RowEditor<BeanModel>() {

        @Override
        protected void createButtons() {
            super.createButtons();
            saveBtn.setText(BaseView.messages.ok());
        }

        // 1.5.0
        // Empcher que l'diteur soit fermer accidentellement lorsque
        // l'utilisateur appuie sur la touche "Entre" dans un des champs...
        // Continuer l'action que si tous les champs requis sont valides.
        @Override
        protected void onEnter(ComponentEvent ce) {
            if (isValid()) {
                super.onEnter(ce);
            }
        }
    };

    rowEditor.setClicksToEdit(ClicksToEdit.TWO);

    rowEditor.addListener(Events.AfterEdit, new Listener<RowEditorEvent>() {

        @Override
        public void handleEvent(RowEditorEvent event) {
            BeanModel model = loanStore.getAt(event.getRowIndex());//1.4.0
            if (model != null) {
                setLoanItem(model);
                model.set(NEW_TAG_FLAG, Boolean.FALSE.toString());
                loanStore.update(model);
            }
        }
    });
    rowEditor.addListener(Events.CancelEdit, new Listener<RowEditorEvent>() {

        @Override
        public void handleEvent(RowEditorEvent event) {
            BeanModel model = loanStore.getAt(event.getRowIndex()); //1.4.0
            if (model != null) {
                Boolean isNew = Boolean
                        .parseBoolean((String) model.get(NEW_TAG_FLAG, Boolean.FALSE.toString()));
                if (isNew) {
                    loanStore.remove(0);
                }
            }
        }
    });

    // Permet de ractiver la barre de menu lorsque l'usager est en train
    // d'diter une range et qu'il appuie sur "Entr" ou "chap" pour
    // fermer l'diteur.
    Listener editorListener = new Listener<ComponentEvent>() {

        @Override
        public void handleEvent(ComponentEvent event) {
            actionTB.setEnabled(Boolean.TRUE);
        }
    };
    Listener editorListener2 = new Listener<ComponentEvent>() {

        @Override
        public void handleEvent(ComponentEvent event) {
            actionTB.setEnabled(Boolean.FALSE);
        }
    };
    rowEditor.addListener(Events.Hide, editorListener);
    rowEditor.addListener(Events.Show, editorListener2);

    grid = new Grid<BeanModel>(loanStore, cm);
    grid.setLoadMask(Boolean.FALSE);
    grid.setBorders(Boolean.FALSE);
    grid.setAutoExpandColumn(Loan.DESCRIPTION_REF);
    grid.getView().setAutoFill(Boolean.TRUE);
    grid.addPlugin(rowEditor);
    grid.setContextMenu(createContextMenu());
    grid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selectedLoans = event.getSelection();
        }
    });

    addLoanBtn = new Button(messages.addLoan());
    addLoanBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.addLoanIcon()));
    addLoanBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            Loan loan = new Loan();
            loan.setQuantity(1);
            loan.setDescription(messages.description());
            loan.setStartDate(new Date());
            loan.setTerm(new Date());// La mme journe!
            loan.setStatus(LoanStatus.STATUS_PENDING);
            BeanModelFactory factory = BeanModelLookup.get().getFactory(Loan.class);
            BeanModel bm = factory.createModel(loan);
            bm.set(NEW_TAG_FLAG, Boolean.TRUE.toString());
            //setLastCreatedLoan(bm);
            rowEditor.stopEditing(false);
            loanStore.insert(bm, 0);
            rowEditor.startEditing(loanStore.indexOf(bm), true);
            ColumnConfig cf = grid.getColumnModel().getColumnById(Loan.DESCRIPTION_REF);
            ItemSelectorField isf = (ItemSelectorField) cf.getEditor().getField();
            isf.clear();
            // Patch pour le bug #009
            actionTB.setEnabled(Boolean.FALSE);
        }
    });

    Button deleteLoanBtn = new Button(messages.deleteLoan());
    deleteLoanBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.removeLoanIcon()));
    deleteLoanBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            if (!validateLoanSelection()) {
                return;
            }
            List<Loan> loans = new ArrayList();
            for (int i = 0; i < selectedLoans.size(); ++i) {
                Loan l = (Loan) selectedLoans.get(i).getBean();
                if (l.getStatus().equals(LoanStatus.STATUS_SAVED)) {
                    loans.add(l);
                }
            }
            deleteSavedLoans(loans);
            for (BeanModel bm : selectedLoans) {
                loanStore.remove(bm);
            }
        }
    });

    Button submitLoanRequest = new Button(messages.submitRequest());
    submitLoanRequest.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.loansApprovalIcon()));
    submitLoanRequest.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            Set lr = buildLoanRequest(Boolean.FALSE);
            if (lr != null) {
                submitLoanRequest(lr, Boolean.FALSE);
                resetLoanRequest();
            }
        }
    });

    Button resetLoanRequest = new Button(messages.clearAll());
    resetLoanRequest.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.emptyLoanIcon()));
    resetLoanRequest.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            List<Loan> loans = new ArrayList();
            for (int i = 0; i < loanStore.getCount(); ++i) {
                Loan l = (Loan) loanStore.getAt(i).getBean();
                if (l.getStatus().equals(LoanStatus.STATUS_SAVED)) {
                    loans.add(l);
                }
            }
            deleteSavedLoans(loans);
            resetLoanRequest();
        }
    });

    saveLoanRequestBtn = new Button(messages.saveLoanRequest());
    saveLoanRequestBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.saveIcon()));
    saveLoanRequestBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent ce) {
            Set lr = buildLoanRequest(Boolean.TRUE);
            if (lr != null) {
                submitLoanRequest(lr, Boolean.TRUE);
            }
        }
    });

    actionTB.add(addLoanBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(deleteLoanBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(submitLoanRequest);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(saveLoanRequestBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(resetLoanRequest);
    actionTB.add(PigeUtil.createVerticalSeparator());

    contentPanel.setTopComponent(actionTB);
    contentPanel.setBottomComponent(pagingTB);// 1.2
    BorderLayoutData data = new BorderLayoutData(LayoutRegion.NORTH, 1);
    contentPanel.add(grid, data);
    ContentPanel panel = Registry.get(AppWidgets.APP_CONTENT_PANEL);
    panel.add(contentPanel);

    panel.layout();

    List<FilterConfig> filterConfigList = new ArrayList<FilterConfig>();
    loadConfig.set(PIGE.FILTER_CONFIGS, filterConfigList);
    FilterConfig fc = new BaseStringFilterConfig();
    fc.setField(Loan.STATUS_REF);
    fc.setValue(LoanStatus.STATUS_SAVED);
    filterConfigList.add(fc);
}

From source file:ca.qc.cegepoutaouais.tge.pige.client.ui.view.RoleManagementView.java

License:Open Source License

@Override
protected void initialize() {
    super.initialize();

    proxy = new RpcProxy<PagingLoadResult<Role>>() {

        @Override// w  w w  .  j  a  v a 2  s . c  om
        protected void load(Object loadConfig, final AsyncCallback<PagingLoadResult<Role>> callback) {

            // Obtenir le nombre de rle demand  partir du service RPC.
            ManagementServiceAsync rpcService = Registry.get(PIGE.MANAGEMENT_SERVICE);
            rpcService.getAllRole((PagingLoadConfig) loadConfig, new AsyncCallback<PagingLoadResult<Role>>() {

                @Override
                public void onSuccess(PagingLoadResult result) {
                    statusBar.getStatus().clearStatus(messages.loadDone());
                    callback.onSuccess(result);
                }

                @Override
                public void onFailure(Throwable caught) {
                    callback.onFailure(caught);
                }
            });

        }

    };

    loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader());
    loader.setRemoteSort(false);

    roleStore = new ListStore<BeanModel>(loader);

    PagingToolBar pagingTB = new PagingToolBar(PAGE_SIZE);
    pagingTB.bind(loader);

    // Column model..
    List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
    ColumnConfig idCc = new ColumnConfig(Role.ID_REF, messages.id(), 50);
    idCc.setFixed(true);
    columns.add(idCc);
    ColumnConfig nameCc = new ColumnConfig(Role.NAME_REF, messages.name(), 250);
    nameCc.setFixed(true);
    columns.add(nameCc);
    columns.add(new ColumnConfig(Role.DESCRIPTION_REF, messages.description(), 300));
    ColumnModel columnModel = new ColumnModel(columns);

    Grid<BeanModel> grid = new Grid<BeanModel>(roleStore, columnModel);
    grid.addListener(Events.Attach, new Listener<GridEvent<BeanModel>>() {

        @Override
        public void handleEvent(GridEvent<BeanModel> be) {
            loader.load(0, PAGE_SIZE);
        }
    });
    grid.setLoadMask(true);
    grid.setBorders(false);
    grid.setAutoExpandColumn(Role.DESCRIPTION_REF);
    grid.getView().setAutoFill(true);
    grid.setContextMenu(createContextMenu());

    grid.addListener(Events.RowDoubleClick, new Listener<GridEvent>() {

        @Override
        public void handleEvent(GridEvent event) {
            BeanModel bm = (BeanModel) event.getGrid().getStore().getModels().get(event.getRowIndex());
            Role role = bm.getBean();
            RoleCEVDialog dialog = new RoleCEVDialog();
            dialog.setData("role", role);
            dialog.showDialog(CEV.VIEW);
        }
    });

    grid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selectedRoles = event.getSelection();
        }
    });

    BorderLayoutData data = new BorderLayoutData(LayoutRegion.NORTH, 1);
    contentPanel.add(grid, data);
    contentPanel.setBottomComponent(pagingTB);

    ToolBar actionTB = new ToolBar();

    Button viewBtn = new Button(messages.view());
    viewBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.eyeIcon()));
    viewBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doViewRole();
        }
    });

    Button createBtn = new Button(messages.create());
    createBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.addIcon()));
    createBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doCreateRole();
        }
    });

    Button editBtn = new Button(messages.edit());
    editBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.editIcon()));
    editBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doEditRole();
        }
    });

    Button deleteBtn = new Button(messages.delete());
    deleteBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.deleteIcon()));
    deleteBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doDeleteRole();
        }
    });
    actionTB.add(viewBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(createBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(editBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(deleteBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    contentPanel.setTopComponent(actionTB);

    ContentPanel panel = Registry.get(AppWidgets.APP_CONTENT_PANEL);
    panel.add(contentPanel);
    panel.layout();
}

From source file:ca.qc.cegepoutaouais.tge.pige.client.ui.view.UserManagementView.java

License:Open Source License

@Override
protected void initialize() {
    super.initialize();

    proxy = new RpcProxy<PagingLoadResult<UserDetail>>() {

        @Override// w  ww.j  a  va2  s  .com
        protected void load(Object loadConfig, final AsyncCallback<PagingLoadResult<UserDetail>> callback) {

            statusBar.setBusyText(messages.loading());

            // Obtenir le nombre de rle demand  partir du service RPC.
            ManagementServiceAsync rpcService = Registry.get(PIGE.MANAGEMENT_SERVICE);
            rpcService.getAllUserDetail((PagingLoadConfig) loadConfig,
                    new AsyncCallback<PagingLoadResult<UserDetail>>() {

                        @Override
                        public void onSuccess(PagingLoadResult result) {
                            statusBar.getStatus().clearStatus(messages.loadDone());
                            callback.onSuccess(result);
                        }

                        @Override
                        public void onFailure(Throwable caught) {
                            callback.onFailure(caught);
                        }
                    });

        }

    };

    loadConfig = new BaseFilterPagingLoadConfig();
    loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy, new BeanModelReader()) {

        @Override
        protected LoadConfig newLoadConfig() {
            return loadConfig;
        }
    };
    loader.setRemoteSort(false);

    store = new ListStore<BeanModel>(loader);
    store.setStoreSorter(new StoreSorter<BeanModel>() {

        @Override
        public int compare(Store<BeanModel> store, BeanModel m1, BeanModel m2, String property) {
            if (property.equals(User.LOAN_NO_REF)) {
                UserDetail u1 = m1.getBean();
                UserDetail u2 = m2.getBean();
                return u1.getLoanNo().compareTo(u2.getLoanNo());
            } else {
                return super.compare(store, m1, m2, property);
            }
        }
    });

    PagingToolBar pagingTB = new PagingToolBar(PAGE_SIZE);
    pagingTB.bind(loader);

    // Column model..
    List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
    ColumnConfig idCC = new ColumnConfig(User.USER_ID_REF, messages.id(), 50);
    idCC.setFixed(true);
    columns.add(idCC);
    ColumnConfig lastnameCC = new ColumnConfig(User.LASTNAME_REF, messages.lastname(), 100);
    columns.add(lastnameCC);
    ColumnConfig firstnameCC = new ColumnConfig(User.FIRSTNAME_REF, messages.firstname(), 100);
    columns.add(firstnameCC);
    ColumnConfig identifierCC = new ColumnConfig(User.IDENTIFIER_REF, messages.identifier(), 100);
    columns.add(identifierCC);
    ColumnConfig loanNoCC = new ColumnConfig(User.LOAN_NO_REF, messages.loanNo(), 50);
    columns.add(loanNoCC);
    ColumnConfig roleCC = new ColumnConfig(User.ROLE_REF, messages.role(), 75);
    roleCC.setRenderer(new GridCellRenderer<BeanModel>() {

        @Override
        public Object render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            BeanModel roleModel = model.get(property);
            return (String) roleModel.<Role>getBean().getName();
        }
    });
    columns.add(roleCC);
    ColumnConfig programCC = new ColumnConfig(User.PROGRAM_NAME_REF, messages.program(), 50);
    columns.add(programCC);
    ColumnConfig gradeCC = new ColumnConfig(User.GRADE_REF, messages.grade(), 50);
    columns.add(gradeCC);
    ColumnConfig statusCC = new ColumnConfig(User.STATUS_REF, messages.status(), 75);
    statusCC.setRenderer(new GridCellRenderer<BeanModel>() {

        @Override
        public Object render(BeanModel model, String property, ColumnData config, int rowIndex, int colIndex,
                ListStore<BeanModel> store, Grid<BeanModel> grid) {
            return (String) UserStatus.getInstance().get((String) model.get(property));
        }
    });
    columns.add(statusCC);
    ColumnConfig emailCC = new ColumnConfig(User.EMAIL_REF, messages.email(), 200);
    columns.add(emailCC);
    ColumnModel cm = new ColumnModel(columns);

    grid = new Grid<BeanModel>(store, cm);
    grid.addListener(Events.Attach, new Listener<GridEvent<BeanModel>>() {

        @Override
        public void handleEvent(GridEvent<BeanModel> be) {
            loader.load(0, PAGE_SIZE);
        }
    });
    grid.setLoadMask(true);
    grid.setBorders(false);
    grid.setAutoExpandColumn(User.EMAIL_REF);
    grid.getView().setAutoFill(true);
    grid.getView().setEmptyText(messages.noAccountToShow());
    grid.setContextMenu(createContextMenu());

    grid.addListener(Events.RowDoubleClick, new Listener<GridEvent>() {

        @Override
        public void handleEvent(GridEvent event) {
            BeanModel bm = (BeanModel) event.getGrid().getStore().getModels().get(event.getRowIndex());
            UserDetail user = bm.getBean();
            UserCEVDialog dialog = new UserCEVDialog();
            dialog.setData("user", user);
            dialog.showDialog(CEV.VIEW);
        }
    });

    grid.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selectedUsers = event.getSelection();
        }
    });

    BorderLayoutData data = new BorderLayoutData(LayoutRegion.NORTH, 1);
    contentPanel.add(grid, data);
    contentPanel.setBottomComponent(pagingTB);

    ToolBar actionTB = new ToolBar();

    Button viewBtn = new Button(messages.view());
    viewBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.eyeIcon()));
    viewBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doViewUser();
        }
    });

    Button createBtn = new Button(messages.create());
    createBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.userAddIcon()));
    createBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doCreateUser();
        }
    });

    Button editBtn = new Button(messages.edit());
    editBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.userEditIcon()));
    editBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doEditUser();
        }
    });

    Button deleteBtn = new Button(messages.delete());
    deleteBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.userDeleteIcon()));
    deleteBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doDeleteUser();
        }
    });

    Button unfreezeBtn = new Button(messages.unfreeze());
    unfreezeBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            doUnfreezeUser();
        }
    });

    Button printBtn = new Button(messages.print() + PIGE.DIALOG_OPENER_INDICATOR);
    printBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.printerIcon()));
    printBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            printSearchResult();
        }
    });

    Button importUserBtn = new Button("Importer usagers" + PIGE.DIALOG_OPENER_INDICATOR);
    importUserBtn.setIcon(AbstractImagePrototype.create(Resources.INSTANCE.importUserIcon()));
    importUserBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {

        @Override
        public void componentSelected(ButtonEvent event) {
            importUsers();
        }
    });

    final List<FilterConfig> userConfigList = new ArrayList<FilterConfig>();
    loadConfig.setFilterConfigs(userConfigList);
    final UserSearchBox searchBox = new UserSearchBox(loader, userConfigList);

    actionTB.add(viewBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(createBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(editBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(deleteBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(unfreezeBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(searchBox);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(printBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    actionTB.add(importUserBtn);
    actionTB.add(PigeUtil.createVerticalSeparator());
    contentPanel.setTopComponent(actionTB);

    ContentPanel panel = Registry.get(AppWidgets.APP_CONTENT_PANEL);
    panel.add(contentPanel);
    panel.layout();
}