[jboss-svn-commits] JBL Code SVN: r32247 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 26 13:43:17 EDT 2010
Author: baunax
Date: 2010-03-26 13:43:17 -0400 (Fri, 26 Mar 2010)
New Revision: 32247
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
Log:
fixed a bunch of NPEs and ArrayIndexOutOfBound while synchronizing listboxes
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java 2010-03-26 16:27:46 UTC (rev 32246)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java 2010-03-26 17:43:17 UTC (rev 32247)
@@ -50,6 +50,10 @@
private boolean validFactsChanged = true;
private SuggestionCompletionEngine sce;
private ConstraintsContainer cc;
+
+ private ListBox fieldsCombo = new ListBox(false);
+ private ListBox constraintsCombo = new ListBox(false);
+ private VerticalPanel vpConstraintConf = new VerticalPanel();
public WorkingSetEditor(RuleAsset asset) {
if (!AssetFormats.WORKING_SET.equals(asset.metaData.format)) {
@@ -87,15 +91,10 @@
initWidget(tPanel);
}
- private int lastSelectedFact = -1;
- private int lastSelectedField = -1;
- private int lastSelectedConstraint = -1;
+// private int lastSelectedFact = -1;
+// private int lastSelectedField = -1;
+// private int lastSelectedConstraint = -1;
private Widget buildFactsConstraintsEditor(TabPanel tPanel) {
-
- final ListBox fieldsCombo = new ListBox(false);
- final ListBox constraintsCombo = new ListBox(false);
- final VerticalPanel vpConstraintConf = new VerticalPanel();
-
factsCombo.setVisibleItemCount(1);
fieldsCombo.setVisibleItemCount(1);
constraintsCombo.setVisibleItemCount(5);
@@ -103,20 +102,20 @@
tPanel.addListener(new PanelListenerAdapter() {
@Override
public boolean doBeforeShow(Component component) {
- fillSelectedFacts(factsCombo);
+ fillSelectedFacts();
return true;
}
});
factsCombo.addChangeListener(new ChangeListener() {
public void onChange(Widget sender) {
- fillSelectedFactFields(factsCombo, fieldsCombo);
+ fillSelectedFactFields();
}
});
fieldsCombo.addChangeListener(new ChangeListener() {
public void onChange(Widget sender) {
- fillFieldConstrains(factsCombo, fieldsCombo, constraintsCombo, vpConstraintConf);
+ fillFieldConstrains();
}
});
@@ -161,9 +160,9 @@
table.setWidget(0, 1, vpConstraintConf);
table.getFlexCellFormatter().setRowSpan(0, 1, 5);
- fillSelectedFacts(factsCombo);
- fillSelectedFactFields(factsCombo, fieldsCombo);
- fillFieldConstrains(factsCombo, fieldsCombo, constraintsCombo, vpConstraintConf);
+ fillSelectedFacts();
+ fillSelectedFactFields();
+ fillFieldConstrains();
showConstraintConfig(constraintsCombo, vpConstraintConf);
return table;
}
@@ -174,12 +173,11 @@
vpConstraintConf.add(new Label());
return;
}
- if (lastSelectedConstraint != constraintsCombo.getSelectedIndex()) {
+ if (constraintsCombo.getSelectedIndex() != -1) {
Constraint c = contraintsMap.get(constraintsCombo.getValue(constraintsCombo.getSelectedIndex()));
ConstraintEditor editor = new ConstraintEditor(c);
vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
vpConstraintConf.add(editor);
- lastSelectedConstraint = constraintsCombo.getSelectedIndex();
}
}
@@ -208,8 +206,9 @@
cons = new IntegerConstraint();
}
if (cons != null) {
- String factName = factsCombo.getItemText(lastSelectedFact);
- String fieldName = fieldsCombo.getItemText(lastSelectedField);
+
+ String factName = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
cons.setFactType(factName);
cons.setFieldName(fieldName);
if (((WorkingSetConfigData) workingSet.content).constraints == null) {
@@ -231,7 +230,7 @@
pop.show();
}
- private void fillSelectedFacts(final ListBox factsCombo) {
+ private void fillSelectedFacts() {
if (validFactsChanged) {
String s = factsCombo.getSelectedIndex() != -1 ? factsCombo.getItemText(factsCombo.getSelectedIndex()) : "";
factsCombo.clear();
@@ -243,28 +242,32 @@
factsCombo.setSelectedIndex(i);
}
}
- lastSelectedFact = -1;
+ if (factsCombo.getSelectedIndex() == -1 && factsCombo.getItemCount() > 0) {
+ factsCombo.setSelectedIndex(0);
+ }
+ fillSelectedFactFields();
}
}
- private void fillSelectedFactFields(final ListBox factsCombo, final ListBox fieldsCombo) {
- if (lastSelectedFact != factsCombo.getSelectedIndex()) {
- lastSelectedFact = factsCombo.getSelectedIndex();
- String fact = factsCombo.getItemText(lastSelectedFact);
+ private void fillSelectedFactFields() {
+ if (factsCombo.getSelectedIndex() != -1) {
+ String fact = factsCombo.getItemText(factsCombo.getSelectedIndex());
fieldsCombo.clear();
for(String field : getCompletionEngine().getFieldCompletions(fact)) {
fieldsCombo.addItem(field);
}
- lastSelectedField = -1;
}
+ if (fieldsCombo.getSelectedIndex() == -1 && fieldsCombo.getItemCount() > 0) {
+ fieldsCombo.setSelectedIndex(0);
+ }
+ fillFieldConstrains();
}
private Map<String, Constraint> contraintsMap = new HashMap<String, Constraint>();
- private void fillFieldConstrains(final ListBox factsCombo, final ListBox fieldsCombo, final ListBox constraintsCombo, VerticalPanel vpConstraintConf) {
- if (lastSelectedField != fieldsCombo.getSelectedIndex()) {
- lastSelectedField = fieldsCombo.getSelectedIndex();
- String fieldName = fieldsCombo.getItemText(lastSelectedField);
- String factField = factsCombo.getItemText(lastSelectedFact);
+ private void fillFieldConstrains() {
+ if (fieldsCombo.getSelectedIndex() != -1) {
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
+ String factField = factsCombo.getItemText(factsCombo.getSelectedIndex());
constraintsCombo.clear();
contraintsMap.clear();
for (Constraint c : getConstraintsConstrainer().getConstraints(factField, fieldName)) {
@@ -272,7 +275,6 @@
}
vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
vpConstraintConf.add(new Label());
- lastSelectedConstraint = -1;
}
}
@@ -311,7 +313,7 @@
public void onClick(Widget sender) {
copySelected(availFacts, validFacts);
updateAsset(validFacts);
- fillSelectedFacts(factsCombo);
+ fillSelectedFacts();
}
}));
@@ -319,7 +321,7 @@
public void onClick(Widget sender) {
copySelected(validFacts, availFacts);
updateAsset(validFacts);
- fillSelectedFacts(factsCombo);
+ fillSelectedFacts();
}
}));
More information about the jboss-svn-commits
mailing list