Example usage for com.google.gwt.user.client Window confirm

List of usage examples for com.google.gwt.user.client Window confirm

Introduction

In this page you can find the example usage for com.google.gwt.user.client Window confirm.

Prototype

public static boolean confirm(String msg) 

Source Link

Usage

From source file:org.drools.workbench.screens.guided.rule.client.widget.FromAccumulateCompositeFactPatternWidget.java

License:Apache License

@Override
protected Widget getCompositeLabel() {
    ClickHandler leftPatternclick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            Widget w = (Widget) event.getSource();
            showFactTypeSelector(w);/*from   w w  w.ja va 2s .  com*/
        }
    };
    ClickHandler sourcePatternClick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            Widget w = (Widget) event.getSource();
            showSourcePatternSelector(w);
        }
    };

    String lbl = "<div class='form-field'>" + HumanReadable.getCEDisplayName("from accumulate") + "</div>";

    FlexTable panel = new FlexTable();

    int r = 0;

    if (pattern.getFactPattern() == null) {
        panel.setWidget(r++, 0,
                new ClickableLabel("<br> <font color='red'>"
                        + GuidedRuleEditorResources.CONSTANTS.clickToAddPattern() + "</font>", leftPatternclick,
                        !this.readOnly));
    }

    panel.setWidget(r++, 0, new HTML(lbl));

    if (this.getFromAccumulatePattern().getSourcePattern() == null) {
        panel.setWidget(r++, 0,
                new ClickableLabel("<br> <font color='red'>"
                        + GuidedRuleEditorResources.CONSTANTS.clickToAddPattern() + "</font>",
                        sourcePatternClick, !this.readOnly));
    } else {
        IPattern rPattern = this.getFromAccumulatePattern().getSourcePattern();

        RuleModellerWidget sourcePatternWidget;
        if (rPattern instanceof FactPattern) {
            sourcePatternWidget = new FactPatternWidget(this.getModeller(), getEventBus(), rPattern, true, true,
                    this.readOnly);

        } else if (rPattern instanceof FromAccumulateCompositeFactPattern) {
            sourcePatternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(),
                    this.getEventBus(), (FromAccumulateCompositeFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromCollectCompositeFactPattern) {
            sourcePatternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(),
                    this.getEventBus(), (FromCollectCompositeFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromEntryPointFactPattern) {
            sourcePatternWidget = new FromEntryPointFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromEntryPointFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromCompositeFactPattern) {
            sourcePatternWidget = new FromCompositeFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromCompositeFactPattern) rPattern, this.readOnly);
        } else {
            throw new IllegalArgumentException(
                    "Unsupported pattern " + rPattern + " for right side of FROM ACCUMULATE");
        }

        sourcePatternWidget.addOnModifiedCommand(new Command() {
            public void execute() {
                setModified(true);
            }
        });

        panel.setWidget(r++, 0, addRemoveButton(sourcePatternWidget, new ClickHandler() {

            public void onClick(ClickEvent event) {
                if (Window.confirm(GuidedRuleEditorResources.CONSTANTS.RemoveThisBlockOfData())) {
                    setModified(true);
                    getFromAccumulatePattern().setSourcePattern(null);
                    getModeller().refreshWidget();
                }

            }
        }));
    }

    //REVISIT: Nested TabLayoutPanel does not work, its content is truncated. 
    //TabLayoutPanel tPanel = new TabLayoutPanel(2, Unit.EM);
    TabPanel tPanel = new TabPanel();

    FlexTable codeTable = new FlexTable();
    int codeTableRow = 0;
    int codeTableCol = 0;

    codeTable.setWidget(codeTableRow, codeTableCol++,
            new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Init() + ":</div>"));

    final TextBox initField = new TextBox();
    initField.setTitle(GuidedRuleEditorResources.CONSTANTS.InitCode());
    initField.setText(getFromAccumulatePattern().getInitCode());
    initField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, initField);

    codeTable.setWidget(codeTableRow, codeTableCol++,
            new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Action() + ":</div>"));
    final TextBox actionField = new TextBox();
    actionField.setTitle(GuidedRuleEditorResources.CONSTANTS.ActionCode());
    actionField.setText(getFromAccumulatePattern().getActionCode());
    actionField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, actionField);

    codeTable.setWidget(codeTableRow, codeTableCol++,
            new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Reverse() + ":</div>"));
    final TextBox reverseField = new TextBox();
    reverseField.setTitle(GuidedRuleEditorResources.CONSTANTS.ReverseCode());
    reverseField.setText(getFromAccumulatePattern().getReverseCode());
    reverseField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, reverseField);

    codeTable.setWidget(codeTableRow, codeTableCol++,
            new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Result() + ":</div>"));
    final TextBox resultField = new TextBox();
    resultField.setTitle(GuidedRuleEditorResources.CONSTANTS.ResultCode());
    resultField.setText(getFromAccumulatePattern().getResultCode());
    resultField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, resultField);

    //panel.setWidget(r++, 0, codeTable);
    ScrollPanel codePanel = new ScrollPanel();
    codePanel.add(codeTable);

    tPanel.add(codePanel, GuidedRuleEditorResources.CONSTANTS.CustomCode());

    FlexTable functionTable = new FlexTable();

    functionTable.setWidget(0, 0,
            new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Function() + ":</div>"));
    final TextBox functionField = new TextBox();
    functionField.setTitle(GuidedRuleEditorResources.CONSTANTS.FunctionCode());
    functionField.setText(getFromAccumulatePattern().getFunction());
    functionField.setEnabled(!this.readOnly);
    functionTable.setWidget(0, 1, functionField);

    //        panel.setWidget(r++, 0, functionTable);

    ScrollPanel functionPanel = new ScrollPanel();
    functionPanel.add(functionTable);

    tPanel.add(functionPanel, GuidedRuleEditorResources.CONSTANTS.Function());
    ChangeHandler changehandler = new ChangeHandler() {

        public void onChange(ChangeEvent event) {
            Widget sender = (Widget) event.getSource();
            TextBox senderTB = (TextBox) event.getSource();
            String code = senderTB.getText();
            setModified(true);
            if (sender == initField) {
                getFromAccumulatePattern().setFunction(null);
                functionField.setText("");
                getFromAccumulatePattern().setInitCode(code);
            } else if (sender == actionField) {
                getFromAccumulatePattern().setFunction(null);
                functionField.setText("");
                getFromAccumulatePattern().setActionCode(code);
            } else if (sender == reverseField) {
                getFromAccumulatePattern().setFunction(null);
                functionField.setText("");
                getFromAccumulatePattern().setReverseCode(code);
            } else if (sender == resultField) {
                getFromAccumulatePattern().setFunction(null);
                functionField.setText("");
                getFromAccumulatePattern().setResultCode(code);
            } else if (sender == functionField) {
                getFromAccumulatePattern().clearCodeFields();
                initField.setText("");
                actionField.setText("");
                reverseField.setText("");
                resultField.setText("");
                getFromAccumulatePattern().setFunction(code);
            }
        }
    };

    initField.addChangeHandler(changehandler);
    actionField.addChangeHandler(changehandler);
    reverseField.addChangeHandler(changehandler);
    resultField.addChangeHandler(changehandler);
    functionField.addChangeHandler(changehandler);

    boolean useFunction = getFromAccumulatePattern().useFunctionOrCode()
            .equals(FromAccumulateCompositeFactPattern.USE_FUNCTION);

    tPanel.selectTab(useFunction ? 1 : 0);

    panel.setWidget(r++, 0, tPanel);

    return panel;
}

From source file:org.drools.workbench.screens.guided.rule.client.widget.FromCollectCompositeFactPatternWidget.java

License:Apache License

@Override
protected Widget getCompositeLabel() {
    ClickHandler leftPatternclick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            Widget w = (Widget) event.getSource();
            showFactTypeSelector(w);/*from   w  ww.j  a v  a 2 s  .  c  om*/

        }
    };
    ClickHandler rightPatternclick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            Widget w = (Widget) event.getSource();
            showRightPatternSelector(w);
        }
    };

    String lbl = "<div class='form-field'>" + HumanReadable.getCEDisplayName("from collect") + "</div>";

    FlexTable panel = new FlexTable();

    int r = 0;

    if (pattern.getFactPattern() == null) {
        panel.setWidget(r++, 0,
                new ClickableLabel("<br> <font color='red'>"
                        + GuidedRuleEditorResources.CONSTANTS.clickToAddPatterns() + "</font>",
                        leftPatternclick, !this.readOnly));
    }

    panel.setWidget(r++, 0, new HTML(lbl));

    if (this.getFromCollectPattern().getRightPattern() == null) {
        panel.setWidget(r++, 0,
                new ClickableLabel("<br> <font color='red'>"
                        + GuidedRuleEditorResources.CONSTANTS.clickToAddPatterns() + "</font>",
                        rightPatternclick, !this.readOnly));
    } else {
        IPattern rPattern = this.getFromCollectPattern().getRightPattern();

        RuleModellerWidget patternWidget = null;
        if (rPattern instanceof FactPattern) {
            patternWidget = new FactPatternWidget(this.getModeller(), this.getEventBus(), rPattern, true, true,
                    this.readOnly);

        } else if (rPattern instanceof FromAccumulateCompositeFactPattern) {
            patternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromAccumulateCompositeFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromCollectCompositeFactPattern) {
            patternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromCollectCompositeFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromEntryPointFactPattern) {
            patternWidget = new FromEntryPointFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromEntryPointFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FromCompositeFactPattern) {
            patternWidget = new FromCompositeFactPatternWidget(this.getModeller(), this.getEventBus(),
                    (FromCompositeFactPattern) rPattern, this.readOnly);

        } else if (rPattern instanceof FreeFormLine) {
            patternWidget = new FreeFormLineWidget(this.getModeller(), this.getEventBus(),
                    (FreeFormLine) rPattern, this.readOnly);
        } else {
            throw new IllegalArgumentException(
                    "Unsupported pattern " + rPattern + " for right side of FROM COLLECT");
        }

        patternWidget.addOnModifiedCommand(new Command() {
            public void execute() {
                setModified(true);
            }
        });

        panel.setWidget(r++, 0, addRemoveButton(patternWidget, new ClickHandler() {

            public void onClick(ClickEvent event) {
                if (Window.confirm(GuidedRuleEditorResources.CONSTANTS.RemoveThisBlockOfData())) {
                    setModified(true);
                    getFromCollectPattern().setRightPattern(null);
                    getModeller().refreshWidget();
                }
            }
        }));
    }

    return panel;
}

From source file:org.drools.workbench.screens.guided.rule.client.widget.FromCompositeFactPatternWidget.java

License:Apache License

private ClickHandler createClickHandlerForAddRemoveButton() {
    return new ClickHandler() {

        public void onClick(ClickEvent event) {
            if (Window.confirm(GuidedRuleEditorResources.CONSTANTS.RemoveThisEntireConditionQ())) {
                setModified(true);/* w w w  .j  av  a2 s .c om*/
                pattern.setFactPattern(null);
                getModeller().refreshWidget();
            }

        }
    };
}

From source file:org.drools.workbench.screens.guided.scorecard.client.widget.GuidedScoreCardEditor.java

License:Apache License

private void removeCharacteristic(final FlexTable selectedTable) {
    if (selectedTable != null) {
        final TextBox tbName = (TextBox) selectedTable.getWidget(0, 1);
        String name = tbName.getValue();
        if (name == null || name.trim().length() == 0) {
            name = "Untitled";
        }/*  ww w . ja v a 2 s  .  co  m*/
        final String msg = GuidedScoreCardConstants.INSTANCE.promptDeleteCharacteristic0(name);
        if (Window.confirm(msg)) {
            characteristicsTables.remove(selectedTable);
            characteristicsAttrMap.remove(selectedTable);
            final Widget parent = selectedTable.getParent().getParent();
            final int i = characteristicsPanel.getWidgetIndex(parent);
            characteristicsPanel.remove(parent);
            characteristicsPanel.remove(i);
        }
    }
}

From source file:org.drools.workbench.screens.guided.scorecard.client.widget.GuidedScoreCardEditor.java

License:Apache License

private Widget addAttributeCellTable(final FlexTable cGrid, final Characteristic characteristic,
        final boolean enumColumn, final String dataType, final List<String> operators) {
    String[] enumValues = null;/*from www  .j  a  v  a  2 s .  c o  m*/
    if (characteristic != null) {
        //enum values
        if (enumColumn) {
            String factName = characteristic.getFact();
            String fieldName = characteristic.getField();
            enumValues = oracle.getEnumValues(factName, fieldName);
        }
    }

    final CellTable<Attribute> attributeCellTable = new CellTable<Attribute>();

    //Operators column
    final DynamicSelectionCell categoryCell = new DynamicSelectionCell(operators);
    final Column<Attribute, String> operatorColumn = new Column<Attribute, String>(categoryCell) {
        public String getValue(final Attribute object) {
            return object.getOperator();
        }
    };
    operatorColumn.setFieldUpdater(new FieldUpdater<Attribute, String>() {
        public void update(int index, Attribute object, String value) {
            object.setOperator(value);
            attributeCellTable.redraw();
        }
    });

    //Value column
    Column<Attribute, String> valueColumn = null;
    if (enumValues != null && enumValues.length > 0) {
        valueColumn = new Column<Attribute, String>(new DynamicSelectionCell(Arrays.asList(enumValues))) {
            public String getValue(final Attribute object) {
                return object.getValue();
            }
        };
        valueColumn.setFieldUpdater(new FieldUpdater<Attribute, String>() {
            public void update(int index, Attribute object, String value) {
                object.setValue(value);
                attributeCellTable.redraw();
            }
        });
    }
    if (valueColumn == null) {
        valueColumn = new Column<Attribute, String>(new CustomEditTextCell()) {
            public String getValue(final Attribute attribute) {
                return attribute.getValue();
            }
        };
        valueColumn.setFieldUpdater(new FieldUpdater<Attribute, String>() {
            public void update(int index, Attribute object, String value) {
                object.setValue(value);
                attributeCellTable.redraw();
            }
        });
    }
    //Partial Score column
    final EditTextCell partialScoreCell = new EditTextCell();
    final Column<Attribute, String> partialScoreColumn = new Column<Attribute, String>(partialScoreCell) {
        public String getValue(final Attribute attribute) {
            return "" + attribute.getPartialScore();
        }
    };
    partialScoreColumn.setFieldUpdater(new FieldUpdater<Attribute, String>() {
        public void update(int index, Attribute object, String value) {
            try {
                double d = Double.parseDouble(value);
                object.setPartialScore(d);
            } catch (Exception e1) {
                partialScoreCell.clearViewData(object);
            }
            attributeCellTable.redraw();
        }
    });

    //Reason Code column
    final Column<Attribute, String> reasonCodeColumn = new Column<Attribute, String>(new EditTextCell()) {
        public String getValue(final Attribute attribute) {
            return attribute.getReasonCode();
        }
    };
    reasonCodeColumn.setFieldUpdater(new FieldUpdater<Attribute, String>() {
        public void update(int index, Attribute object, String value) {
            object.setReasonCode(value);
            attributeCellTable.redraw();
        }
    });

    final ActionCell.Delegate<Attribute> delegate = new ActionCell.Delegate<Attribute>() {
        public void execute(final Attribute attribute) {
            if (Window.confirm(GuidedScoreCardConstants.INSTANCE.promptDeleteAttribute())) {
                final List<Attribute> list = characteristicsAttrMap.get(cGrid).getList();
                list.remove(attribute);
                if ("boolean".equalsIgnoreCase(dataType)) {
                    ((Button) cGrid.getWidget(0, 3)).setEnabled(list.size() != 2);
                }
                attributeCellTable.redraw();
            }
        }
    };

    final Cell<Attribute> actionCell = new ActionCell<Attribute>(GuidedScoreCardConstants.INSTANCE.remove(),
            delegate);
    final Column<Attribute, String> actionColumn = new IdentityColumn(actionCell);

    // Add the columns.
    attributeCellTable.addColumn(operatorColumn, GuidedScoreCardConstants.INSTANCE.operator());
    attributeCellTable.addColumn(valueColumn, GuidedScoreCardConstants.INSTANCE.value());
    attributeCellTable.addColumn(partialScoreColumn, GuidedScoreCardConstants.INSTANCE.partialScore());
    attributeCellTable.addColumn(reasonCodeColumn, GuidedScoreCardConstants.INSTANCE.reasonCode());
    attributeCellTable.addColumn(actionColumn, GuidedScoreCardConstants.INSTANCE.actions());
    attributeCellTable.setWidth("100%", true);

    attributeCellTable.setColumnWidth(operatorColumn, 20.0, Style.Unit.PCT);
    attributeCellTable.setColumnWidth(valueColumn, 20.0, Style.Unit.PCT);
    attributeCellTable.setColumnWidth(partialScoreColumn, 20.0, Style.Unit.PCT);
    attributeCellTable.setColumnWidth(reasonCodeColumn, 20.0, Style.Unit.PCT);
    attributeCellTable.setColumnWidth(actionColumn, 20.0, Style.Unit.PCT);

    ListDataProvider<Attribute> dataProvider = new ListDataProvider<Attribute>();
    dataProvider.addDataDisplay(attributeCellTable);
    characteristicsAttrMap.put(cGrid, dataProvider);

    if ("boolean".equalsIgnoreCase(dataType)) {
        CustomEditTextCell etc = (CustomEditTextCell) attributeCellTable.getColumn(1).getCell();
        etc.setEnabled(false);
    }

    return (attributeCellTable);
}

From source file:org.drools.workbench.screens.testscenario.client.delete.DeleteExecutionTraceButton.java

License:Apache License

boolean deleteOperationConfirmed() {
    return Window.confirm(TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisItem());
}

From source file:org.drools.workbench.screens.testscenario.client.FactWidget.java

License:Apache License

protected void onDelete() {
    if (Window.confirm(TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisBlockOfData())) {
        for (Fixture f : definitionList) {
            scenario.removeFixture(f);//from  w  ww.  j  av a 2s.  c  o m
        }
        parent.renderEditor();
    }
}

From source file:org.drools.workbench.screens.testscenario.client.VerifyFactWidget.java

License:Apache License

private FlexTable render(final VerifyFact vf) {
    FlexTable data = new FlexTable();
    for (int i = 0; i < vf.getFieldValues().size(); i++) {
        final VerifyField fld = (VerifyField) vf.getFieldValues().get(i);
        data.setWidget(i, 1, new SmallLabel(fld.getFieldName() + ":"));
        data.getFlexCellFormatter().setHorizontalAlignment(i, 1, HasHorizontalAlignment.ALIGN_RIGHT);

        final ListBox opr = new ListBox();
        opr.addItem(TestScenarioConstants.INSTANCE.equalsScenario(), "==");
        opr.addItem(TestScenarioConstants.INSTANCE.doesNotEqualScenario(), "!=");
        if (fld.getOperator().equals("==")) {
            opr.setSelectedIndex(0);//from   ww  w  .j a v a  2s  .  c  o m
        } else {
            opr.setSelectedIndex(1);
        }
        opr.addChangeHandler(new ChangeHandler() {
            public void onChange(ChangeEvent event) {
                fld.setOperator(opr.getValue(opr.getSelectedIndex()));
            }
        });

        data.setWidget(i, 2, opr);
        Widget cellEditor = new VerifyFieldConstraintEditor(type, new ValueChanged() {
            public void valueChanged(String newValue) {
                fld.setExpected(newValue);
            }

        }, fld, oracle, this.scenario, this.executionTrace);

        data.setWidget(i, 3, cellEditor);

        Image del = CommonAltedImages.INSTANCE.DeleteItemSmall();
        del.setAltText(TestScenarioConstants.INSTANCE.RemoveThisFieldExpectation());
        del.setTitle(TestScenarioConstants.INSTANCE.RemoveThisFieldExpectation());
        del.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent w) {
                if (Window.confirm(TestScenarioConstants.INSTANCE
                        .AreYouSureYouWantToRemoveThisFieldExpectation(fld.getFieldName()))) {
                    vf.getFieldValues().remove(fld);
                    FlexTable data = render(vf);
                    outer.setWidget(1, 0, data);
                }
            }
        });
        data.setWidget(i, 4, del);

        if (showResults && fld.getSuccessResult() != null) {
            if (!fld.getSuccessResult().booleanValue()) {
                data.setWidget(i, 0, new Image(CommonImages.INSTANCE.warning()));
                data.setWidget(i, 5,
                        new HTML(TestScenarioConstants.INSTANCE.ActualResult(fld.getActualResult())));

                data.getCellFormatter().addStyleName(i, 5, "testErrorValue"); //NON-NLS

            } else {
                data.setWidget(i, 0, new Image(TestScenarioImages.INSTANCE.testPassed()));
            }
        }

    }
    return data;
}

From source file:org.drools.workbench.screens.testscenario.client.VerifyRulesFiredWidget.java

License:Apache License

private FlexTable render(final FixtureList rfl, final Scenario sc) {
    FlexTable data = new FlexTable();

    for (int i = 0; i < rfl.size(); i++) {
        final VerifyRuleFired v = (VerifyRuleFired) rfl.get(i);

        if (showResults && v.getSuccessResult() != null) {
            if (!v.getSuccessResult().booleanValue()) {
                data.setWidget(i, 0, new Image(CommonImages.INSTANCE.warning()));
                data.setWidget(i, 4,/*from   ww w  .  ja v a2  s. c o m*/
                        new HTML(TestScenarioConstants.INSTANCE.ActualResult(v.getActualResult().toString())));

                data.getCellFormatter().addStyleName(i, 4, "testErrorValue"); //NON-NLS

            } else {
                data.setWidget(i, 0, new Image(TestScenarioImages.INSTANCE.testPassed()));
            }

        }
        data.setWidget(i, 1, new SmallLabel(v.getRuleName() + ":"));
        data.getFlexCellFormatter().setAlignment(i, 1, HasHorizontalAlignment.ALIGN_RIGHT,
                HasVerticalAlignment.ALIGN_MIDDLE);

        final ListBox b = new ListBox();
        b.addItem(TestScenarioConstants.INSTANCE.firedAtLeastOnce(), "y");
        b.addItem(TestScenarioConstants.INSTANCE.didNotFire(), "n");
        b.addItem(TestScenarioConstants.INSTANCE.firedThisManyTimes(), "e");
        final TextBox num = new TextBox();
        num.setVisibleLength(5);

        if (v.getExpectedFire() != null) {
            b.setSelectedIndex((v.getExpectedFire().booleanValue()) ? 0 : 1);
            num.setVisible(false);
        } else {
            b.setSelectedIndex(2);
            String xc = (v.getExpectedCount() != null) ? "" + v.getExpectedCount().intValue() : "0";
            num.setText(xc);
        }

        b.addChangeHandler(new ChangeHandler() {
            public void onChange(ChangeEvent event) {
                String s = b.getValue(b.getSelectedIndex());
                if (s.equals("y") || s.equals("n")) {
                    num.setVisible(false);
                    v.setExpectedFire((s.equals("y")) ? Boolean.TRUE : Boolean.FALSE);
                    v.setExpectedCount(null);
                } else {
                    num.setVisible(true);
                    v.setExpectedFire(null);
                    num.setText("1");
                    v.setExpectedCount(Integer.valueOf(1));
                }
            }
        });

        b.addItem(TestScenarioConstants.INSTANCE.ChooseDotDotDot());

        num.addChangeHandler(new ChangeHandler() {
            public void onChange(ChangeEvent event) {
                v.setExpectedCount(Integer.valueOf(num.getText()));
            }
        });

        HorizontalPanel h = new HorizontalPanel();
        h.add(b);
        h.add(num);
        data.setWidget(i, 2, h);

        Image del = CommonAltedImages.INSTANCE.DeleteItemSmall();
        del.setAltText(TestScenarioConstants.INSTANCE.RemoveThisRuleExpectation());
        del.setTitle(TestScenarioConstants.INSTANCE.RemoveThisRuleExpectation());
        del.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent w) {
                if (Window.confirm(
                        TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisRuleExpectation())) {
                    rfl.remove(v);
                    sc.removeFixture(v);
                    outer.setWidget(1, 0, render(rfl, sc));
                }
            }
        });

        data.setWidget(i, 3, del);

        //we only want numbers here...
        num.addKeyPressHandler(new KeyPressHandler() {
            public void onKeyPress(KeyPressEvent event) {
                if (Character.isLetter(event.getCharCode())) {
                    ((TextBox) event.getSource()).cancelKey();
                }
            }
        });
    }
    return data;
}

From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.java

License:Open Source License

private void bindSubjectSection() {

    // search for matching SubjectGroup
    this.view.addSbGroupSearchButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {
            // do a lookup of all the matching SubjectGroups
            SubjectGroupKey key = new SubjectGroupKey();
            key.setType(view.getSubjectContentView().getSubjectType());
            String name = view.getSubjectContentView().getGroupSearchTerm();
            if (name != null && !name.trim().equals("")) {
                key.setName(name);/* ww  w. jav a  2s .c  om*/
            }
            SubjectGroupQuery query = new SubjectGroupQuery();
            query.setGroupKeys(Collections.singletonList(key));

            service.findSubjectGroups(query, new AsyncCallback<FindSubjectGroupsResponse>() {

                public void onFailure(final Throwable arg) {
                    if (arg.getLocalizedMessage().contains("500")) {
                        view.error(PolicyAdminUIUtil.messages
                                .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage()));
                    } else {
                        view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage()));
                    }
                }

                public void onSuccess(final FindSubjectGroupsResponse response) {
                    List<SubjectGroup> subjectGroups = response.getGroups();
                    List<String> names = new ArrayList<String>();
                    if (subjectGroups != null && subjectGroups.size() > 0) {
                        for (SubjectGroup s : subjectGroups) {
                            names.add(s.getName());
                        }
                    } else {
                        view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage());
                    }
                    view.getSubjectContentView().setAvailableSubjectGroups(names);
                    view.getSubjectContentView().setAvailableExclusionSG(names);
                }

            });
        }
    });

    // search for matching Subject
    this.view.addSbSubjectSearchButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {
            // do a lookup of all the matching Subjects
            SubjectKey key = new SubjectKey();
            String name = view.getSubjectContentView().getSubjectSearchTerm();
            if (name != null && !name.trim().equals("")) {
                key.setName(name);
            }
            key.setType(view.getSubjectContentView().getSubjectType());

            final SubjectQuery query = new SubjectQuery();
            query.setSubjectKeys(Collections.singletonList(key));

            if ("USER".equals(key.getType())) {
                service.findExternalSubjects(query, new AsyncCallback<FindExternalSubjectsResponse>() {

                    public void onFailure(final Throwable arg) {
                        if (arg.getLocalizedMessage().contains("500")) {
                            view.error(PolicyAdminUIUtil.messages
                                    .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage()));
                        } else {
                            view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage()));
                        }
                    }

                    public void onSuccess(final FindExternalSubjectsResponse response) {
                        List<Subject> subjects = response.getSubjects();
                        List<String> names = new ArrayList<String>();
                        if (subjects != null && subjects.size() > 0) {
                            for (Subject s : subjects) {
                                names.add(s.getName());
                            }
                        } else {
                            view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage());
                        }

                        view.getSubjectContentView().setAvailableSubjects(getSubjectNames(subjects));
                        view.getSubjectContentView().setAvailableExclusionSubjects(getSubjectNames(subjects));
                    }

                });

            } else {
                service.findSubjects(query, new AsyncCallback<FindSubjectsResponse>() {

                    public void onFailure(final Throwable arg) {
                        if (arg.getLocalizedMessage().contains("500")) {
                            view.error(PolicyAdminUIUtil.messages
                                    .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage()));
                        } else {
                            view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage()));
                        }
                    }

                    public void onSuccess(final FindSubjectsResponse response) {
                        List<Subject> subjects = response.getSubjects();
                        List<String> names = new ArrayList<String>();

                        if (subjects != null) {
                            if (subjects.size() > 0) {
                                for (Subject s : subjects) {
                                    names.add(s.getName());
                                }
                            } else {
                                final String newSubjectName = query.getSubjectKeys().get(0).getName();
                                final String newSubjectType = query.getSubjectKeys().get(0).getType();
                                if (newSubjectName != null && !newSubjectName.endsWith("%")) {
                                    if (Window.confirm(
                                            PolicyAdminUIUtil.policyAdminConstants.createInternalSubjects())) {
                                        createInternalSubject(newSubjectName, newSubjectType);
                                        names.add(newSubjectName);

                                    }
                                } else { // not found and do not create it
                                    view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage());
                                }
                            }
                        }
                        view.getSubjectContentView().setAvailableSubjects(names);

                        view.getSubjectContentView().setAvailableExclusionSubjects(names);

                    }

                });

            }

        }
    });

    // edit an assignment
    this.view.addSbEditButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {
            if (view.getSubjectContentView().getSelectedSubjectAssignments().size() != 1) {
                return;
            }
            /**
             * edit the existing assignment - set the available
             * SubjectTypes as only the one in the assignment, and
             * set the availables vs selected Subjects and
             * SubjectGroups based on the assignment
             */
            editSubjectAssignment = view.getSubjectContentView().getSelectedSubjectAssignments().get(0);

            // remove the assignment from the list of assignments
            // while it is being edited

            subjectAssignments.remove(editSubjectAssignment);
            // update the display
            view.getSubjectContentView().setAssignments(subjectAssignments);
            // set the available subject types to just the type
            // being edited
            List<String> typeList = new ArrayList<String>();
            typeList.add(editSubjectAssignment.getSubjectType());
            view.getSubjectContentView().setAvailableSubjectTypes(typeList);
            // subject type attr values are: [0-9]+ when comes from
            // server, null when it has not been saved yet
            final boolean selectAllSubjects = (!editSubjectAssignment.getSubjects().isEmpty()
                    && (editSubjectAssignment.getSubjects().get(0).getSubjectMatchTypes().get(0)
                            .getAttributeValue().getValue() == null
                            || editSubjectAssignment.getSubjects().get(0).getSubjectMatchTypes().get(0)
                                    .getAttributeValue().getValue().endsWith("+")));

            view.getSubjectContentView().setSelectAllSubjects(selectAllSubjects);

            // get all the subjects of this type
            SubjectKey skey = new SubjectKey();
            skey.setType(editSubjectAssignment.getSubjectType());

            SubjectQuery query = new SubjectQuery();
            query.setSubjectKeys(Collections.singletonList(skey));

            service.findSubjects(query, new AsyncCallback<FindSubjectsResponse>() {

                public void onFailure(final Throwable arg) {
                    if (arg.getLocalizedMessage().contains("500")) {
                        view.error(PolicyAdminUIUtil.messages
                                .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage()));
                    } else {
                        view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage()));
                    }
                }

                public void onSuccess(final FindSubjectsResponse response) {
                    List<Subject> subjects = response.getSubjects();
                    if (!selectAllSubjects) {
                        view.getSubjectContentView()
                                .setSelectedSubjects(getSubjectNames(editSubjectAssignment.getSubjects()));
                    }
                    subjects.removeAll(editSubjectAssignment.getSubjects());
                    view.getSubjectContentView().setAvailableSubjects(getSubjectNames(subjects));

                    List<Subject> exclusionSubjects = response.getSubjects();
                    view.getSubjectContentView().setSelectedExclusionSubjects(
                            getSubjectNames(editSubjectAssignment.getExclusionSubjects()));
                    exclusionSubjects.removeAll(editSubjectAssignment.getExclusionSubjects());
                    view.getSubjectContentView()
                            .setAvailableExclusionSubjects(getSubjectNames(exclusionSubjects));

                }
            });

            // get the available SubjectGroups of the same type as
            // we've elected to edit
            SubjectGroupKey gkey = new SubjectGroupKey();
            gkey.setType(editSubjectAssignment.getSubjectType());
            SubjectGroupQuery gquery = new SubjectGroupQuery();
            gquery.setGroupKeys(Collections.singletonList(gkey));

            service.findSubjectGroups(gquery, new AsyncCallback<FindSubjectGroupsResponse>() {

                public void onFailure(final Throwable arg) {
                    if (arg.getLocalizedMessage().contains("500")) {
                        view.error(PolicyAdminUIUtil.messages
                                .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage()));
                    } else {
                        view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage()));
                    }
                }

                public void onSuccess(final FindSubjectGroupsResponse response) {
                    List<SubjectGroup> subjectGroups = response.getGroups();

                    view.getSubjectContentView()
                            .setSelectedSubjectGroups(getGroupNames(editSubjectAssignment.getSubjectGroups()));
                    // if there are subject groups already
                    // assigned, take them out of the list
                    // of available ones
                    if (editSubjectAssignment.getSubjectGroups() != null) {

                        for (SubjectGroup existing : editSubjectAssignment.getSubjectGroups()) {
                            ListIterator<SubjectGroup> itor = subjectGroups.listIterator();
                            while (itor.hasNext()) {
                                SubjectGroup g = itor.next();
                                if (existing.getId() != null && existing.getId().equals(g.getId())) {
                                    itor.remove();
                                } else if (existing.getName() != null
                                        && existing.getName().equals(g.getName())) {
                                    itor.remove();
                                }
                            }
                        }

                    }
                    view.getSubjectContentView().setAvailableSubjectGroups(getGroupNames(subjectGroups));

                    // ExclusionSG
                    List<SubjectGroup> exclSG = response.getGroups();

                    view.getSubjectContentView().setSelectedExclusionSG(
                            getGroupNames(editSubjectAssignment.getExclusionSubjectGroups()));
                    // if there are exclusion subject groups
                    // already
                    // assigned, take them out of the list
                    // of available ones
                    if (editSubjectAssignment.getExclusionSubjectGroups() != null) {

                        for (SubjectGroup existing : editSubjectAssignment.getExclusionSubjectGroups()) {
                            ListIterator<SubjectGroup> itor = exclSG.listIterator();
                            while (itor.hasNext()) {
                                SubjectGroup g = itor.next();
                                if (existing.getId() != null && existing.getId().equals(g.getId())) {
                                    itor.remove();
                                } else if (existing.getName() != null
                                        && existing.getName().equals(g.getName())) {
                                    itor.remove();
                                }
                            }
                        }

                    }
                    view.getSubjectContentView().setAvailableExclusionSG(getGroupNames(exclSG));

                    view.getSubjectContentView().show();
                }

            });
        }
    });

    // delete an assignment
    this.view.addSbDelButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {

            if (view.getSubjectContentView().getSelectedSubjectAssignments().size() == 0) {

                return;
            } else {
                if (Window.confirm(PolicyAdminUIUtil.policyAdminConstants.deleteSelected())) {
                    for (PolicySubjectAssignment assignment : view.getSubjectContentView()
                            .getSelectedSubjectAssignments()) {
                        subjectAssignments.remove(assignment);
                        subjectTypes.add(assignment.getSubjectType());
                    }
                    view.getSubjectContentView().getSelectedSubjectAssignments().clear();
                    view.getSubjectContentView().getSelectionModel().clear();
                    view.getSubjectContentView().setAssignments(subjectAssignments);
                    // add back in the subject type as being
                    // available
                    view.getSubjectContentView().setAvailableSubjectTypes(subjectTypes);
                }
            }
        }
    });

    // assign a new group of Subject/SubjectGroup to the policy
    this.view.addSbAddButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {

            if (completePopulatedForm()) {
                // Add a new set of subjects and groups for a given
                // SubjectType
                if (subjectAssignments == null) {
                    subjectAssignments = new ArrayList<PolicySubjectAssignment>();
                }
                PolicySubjectAssignment assignment = null;
                if (editSubjectAssignment != null) {
                    // we were editing an existing assignment
                    assignment = editSubjectAssignment;
                    editSubjectAssignment = null;
                } else {
                    assignment = new PolicySubjectAssignment();
                }
                assignment.setSubjectType(view.getSubjectContentView().getSubjectType());

                // subject
                List<Subject> subjects = new ArrayList<Subject>();

                if (view.getSubjectContentView().getSelectAllSubjects()) {
                    Subject assignedSubject = getSubjectType(PolicyAdminUIUtil.policyAdminConstants.all(),
                            assignment.getSubjectType(), false);

                    subjects.add(assignedSubject);

                } else {
                    for (String s : view.getSubjectContentView().getSelectedSubjects()) {
                        Subject assignedSubject = getSubject(s, assignment.getSubjectType(), false);
                        // let's do a second loading, external
                        // subjects
                        // should stored in local now
                        if (assignedSubject.getSubjectMatchTypes() == null) {
                            assignedSubject = getSubject(s, assignment.getSubjectType(), true);
                        }
                        subjects.add(assignedSubject);
                    }

                }
                // exclusionSubjects
                List<Subject> exclusionSubjects = new ArrayList<Subject>();
                for (String s : view.getSubjectContentView().getSelectedExclusionSubjects()) {
                    Subject assignedSubject = getSubject(s, assignment.getSubjectType(), true);

                    // let's do a second loading, external subjects
                    // should stored in local now
                    if (assignedSubject.getSubjectMatchTypes() == null) {
                        assignedSubject = getSubject(s, assignment.getSubjectType(), true);
                    }
                    exclusionSubjects.add(assignedSubject);
                }
                // groups
                List<SubjectGroup> groups = new ArrayList<SubjectGroup>();
                for (String s : view.getSubjectContentView().getSelectedSubjectGroups()) {
                    groups.add(getGroup(s, assignment.getSubjectType(), false));
                }
                // exclusion Subjectgroups
                List<SubjectGroup> exclSg = new ArrayList<SubjectGroup>();
                for (String s : view.getSubjectContentView().getSelectedExclusionSG()) {
                    exclSg.add(getGroup(s, assignment.getSubjectType(), true));
                }

                assignment.setSubjects(subjects);
                assignment.setExclusionSubjects(exclusionSubjects);
                assignment.setSubjectGroups(groups);
                assignment.setExclusionSubjectGroups(exclSg);
                subjectAssignments.add(assignment);

                view.getSubjectContentView().setAssignments(subjectAssignments);
                // take the SubjectType of the assignment out of the
                // list of available types
                subjectTypes.remove(assignment.getSubjectType());
                view.getSubjectContentView().setAvailableSubjectTypes(subjectTypes);
                view.getSubjectContentView().clearAssignmentWidget();
            }
        }
    });

    view.addSbCancelButtonClickHandler(new ClickHandler() {
        public void onClick(final ClickEvent event) {
            if (editSubjectAssignment != null) {
                subjectAssignments.add(editSubjectAssignment);
                editSubjectAssignment = null;
                view.getSubjectContentView().setAssignments(subjectAssignments);
                view.getSubjectContentView().hide();
                // fix the subjecttypes
                view.getSubjectContentView().setAvailableSubjectTypes(subjectTypes);
                return;
            }

            view.getSubjectContentView().clearAssignmentWidget();
            view.getSubjectContentView().hide();
        }
    });

}