[jboss-svn-commits] JBL Code SVN: r33742 - in labs/jbossrules/trunk: drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jul 5 15:14:49 EDT 2010
Author: eaa
Date: 2010-07-05 15:14:48 -0400 (Mon, 05 Jul 2010)
New Revision: 33742
Added:
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/CustomFormConfiguration.java
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/predefined/
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/predefined/DefaultCustomFormImplementation.java
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/helper/CustomFormsContainer.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/CustomFormsEditorPanel.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactsConstraintsEditorPanel.java
Modified:
labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/ConstraintConfiguration.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java
Log:
GUVNOR-562: Allow the addition of custom forms for populating constraint's fields in Guided Editor
- Created CustomFormConfiguration entity in drools-factConstraint and its associated container.
- WorkingSetEditor was refactored: each tab has its own class now. Added Custom Form tab.
Modified: labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/ConstraintConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/ConstraintConfiguration.java 2010-07-05 14:25:10 UTC (rev 33741)
+++ labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/ConstraintConfiguration.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -9,7 +9,7 @@
* @author baunax at gmail.com
*/
public interface ConstraintConfiguration extends Serializable {
- public String getFactType();
+ public String getFactType();
public void setFactType(String factType);
public String getFieldName();
Added: labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/CustomFormConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/CustomFormConfiguration.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/CustomFormConfiguration.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -0,0 +1,20 @@
+package org.drools.factconstraints.client.customform;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author esteban
+ */
+public interface CustomFormConfiguration extends Serializable{
+
+ String getFactType();
+ void setFactType(String factType);
+
+ String getFieldName();
+ void setFieldName(String fieldName);
+
+ String getCustomFormURL();
+ void setCustomFormURL(String url);
+
+}
Added: labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/predefined/DefaultCustomFormImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/predefined/DefaultCustomFormImplementation.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/customform/predefined/DefaultCustomFormImplementation.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -0,0 +1,40 @@
+package org.drools.factconstraints.client.customform.predefined;
+
+import java.io.Serializable;
+import org.drools.factconstraints.client.customform.CustomFormConfiguration;
+
+/**
+ *
+ * @author esteban
+ */
+public class DefaultCustomFormImplementation implements CustomFormConfiguration, Serializable{
+
+ private String factType;
+ private String fieldName;
+ private String url;
+
+ public String getFactType() {
+ return this.factType;
+ }
+
+ public void setFactType(String factType) {
+ this.factType = factType;
+ }
+
+ public String getFieldName() {
+ return this.fieldName;
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ public String getCustomFormURL() {
+ return this.url;
+ }
+
+ public void setCustomFormURL(String url) {
+ this.url = url;
+ }
+
+}
Added: labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/helper/CustomFormsContainer.java
===================================================================
--- labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/helper/CustomFormsContainer.java (rev 0)
+++ labs/jbossrules/trunk/drools-factconstraint/src/main/java/org/drools/factconstraints/client/helper/CustomFormsContainer.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -0,0 +1,74 @@
+package org.drools.factconstraints.client.helper;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.factconstraints.client.customform.CustomFormConfiguration;
+import org.drools.factconstraints.client.customform.predefined.DefaultCustomFormImplementation;
+
+public class CustomFormsContainer {
+
+ //because a FactType.field can only have one customForm,
+ //this map is: <"FactType.field", CustomForm>
+ private Map<String, CustomFormConfiguration> customForms = new HashMap<String, CustomFormConfiguration>();
+
+ public CustomFormsContainer(CustomFormConfiguration[] customFormsConfigs) {
+ this(Arrays.asList(customFormsConfigs));
+ }
+
+ public CustomFormsContainer(Collection<CustomFormConfiguration> customFormsConfigs) {
+ if (customFormsConfigs != null && !customFormsConfigs.isEmpty()) {
+ for (CustomFormConfiguration c : customFormsConfigs) {
+ putCustomForm(c);
+ }
+ }
+ }
+
+// public CustomFormsContainer() {
+//
+// }
+ public void removeCustomForm(CustomFormConfiguration cfc) {
+ this.customForms.remove(this.createMapKey(cfc));
+ }
+
+ /**
+ * If cfc.getCustomFormURL() is empty, the CustomFormConfiguration is removed.
+ * @param cfc
+ */
+ public final void putCustomForm(CustomFormConfiguration cfc) {
+ if (cfc.getCustomFormURL().trim().equals("")){
+ this.customForms.remove(this.createMapKey(cfc));
+ }else{
+ this.customForms.put(this.createMapKey(cfc), cfc);
+ }
+ }
+
+ public CustomFormConfiguration getCustomForm(String factType, String fieldName) {
+ return this.customForms.get(this.createMapKey(factType, fieldName));
+ }
+
+ public List<CustomFormConfiguration> getCustomForms(){
+ return new ArrayList<CustomFormConfiguration>(this.customForms.values());
+ }
+
+ public boolean containsCustomFormFor(String factType, String fieldName){
+ return this.getCustomForm(factType, fieldName) != null;
+ }
+
+ private String createMapKey(String factType, String fieldName){
+ return factType+"."+fieldName;
+ }
+
+ private String createMapKey(CustomFormConfiguration cfc) {
+ return this.createMapKey(cfc.getFactType(), cfc.getFieldName());
+ }
+
+ public static CustomFormConfiguration getEmptyCustomFormConfiguration() {
+ return new DefaultCustomFormImplementation();
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java 2010-07-05 14:25:10 UTC (rev 33741)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/WorkingSetConfigData.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -4,6 +4,7 @@
import java.util.List;
import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.customform.CustomFormConfiguration;
import org.drools.ide.common.client.modeldriven.brl.PortableObject;
/**
@@ -11,11 +12,12 @@
* @author bauna
*/
public class WorkingSetConfigData implements PortableObject, Serializable {
- private static final long serialVersionUID = 501L;
+ private static final long serialVersionUID = 510L;
public String name;
public String description;
public List<ConstraintConfiguration> constraints;
+ public List<CustomFormConfiguration> customForms;
public String[] validFacts;
public WorkingSetConfigData[] workingSets;
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/CustomFormsEditorPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/CustomFormsEditorPanel.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/CustomFormsEditorPanel.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -0,0 +1,168 @@
+package org.drools.guvnor.client.ruleeditor;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.customform.CustomFormConfiguration;
+import org.drools.factconstraints.client.helper.CustomFormsContainer;
+import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.packages.SuggestionCompletionCache;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.WorkingSetConfigData;
+import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
+
+/**
+ *
+ * @author esteban
+ */
+public class CustomFormsEditorPanel extends Composite {
+ private Constants constants = GWT.create(Constants.class);
+ private ListBox factsCombo = new ListBox(false);
+ private ListBox fieldsCombo = new ListBox(false);
+ private TextBox customFormURL = new TextBox();
+ private boolean validFactsChanged = true;
+ private Map<String, ConstraintConfiguration> contraintsMap = new HashMap<String, ConstraintConfiguration>();
+ private final RuleAsset workingSet;
+ private final WorkingSetEditor workingSetEditor;
+
+ public CustomFormsEditorPanel(final WorkingSetEditor workingSetEditor) {
+
+ this.workingSetEditor = workingSetEditor;
+
+ this.workingSet = workingSetEditor.getWorkingSet();
+
+ factsCombo.setVisibleItemCount(1);
+ fieldsCombo.setVisibleItemCount(1);
+ customFormURL.setWidth("400px");
+ customFormURL.setTitle("Leave it blank if you want to remove the Custom Form URL");
+
+ factsCombo.addChangeHandler(new ChangeHandler() {
+ public void onChange(ChangeEvent event) {
+ fillSelectedFactFields();
+ }
+ });
+
+ fieldsCombo.addChangeHandler(new ChangeHandler() {
+ public void onChange(ChangeEvent event) {
+ fillFieldConstrains();
+ }
+ });
+
+ final FlexTable table = new FlexTable();
+
+ VerticalPanel vp = new VerticalPanel();
+ vp.add(new SmallLabel(constants.FactTypes()));
+ vp.add(factsCombo);
+ table.setWidget(0, 0, vp);
+
+ vp = new VerticalPanel();
+ vp.add(new SmallLabel(constants.Field()));
+ vp.add(fieldsCombo);
+ table.setWidget(1, 0, vp);
+
+ vp = new VerticalPanel();
+ vp.add(new SmallLabel("Custom Form URL:")); //TODO i18n
+
+ Button btnUpdateURL = new Button(constants.OK(), new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ if (((WorkingSetConfigData) workingSet.content).customForms == null) {
+ ((WorkingSetConfigData) workingSet.content).customForms = new ArrayList<CustomFormConfiguration>();
+ }
+
+ String factType = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
+
+ CustomFormConfiguration newCustomFormConfiguration = CustomFormsContainer.getEmptyCustomFormConfiguration();
+ newCustomFormConfiguration.setFactType(factType);
+ newCustomFormConfiguration.setFieldName(fieldName);
+ newCustomFormConfiguration.setCustomFormURL(customFormURL.getText());
+
+ workingSetEditor.getCustomFormsContainer().putCustomForm(newCustomFormConfiguration);
+ ((WorkingSetConfigData) workingSet.content).customForms = workingSetEditor.getCustomFormsContainer().getCustomForms();
+ }
+ });
+
+ HorizontalPanel hp = new HorizontalPanel();
+ hp.add(customFormURL);
+ hp.add(btnUpdateURL);
+
+ vp.add(hp);
+ table.setWidget(2, 0, vp);
+
+
+ fillSelectedFacts();
+ fillSelectedFactFields();
+ fillFieldConstrains();
+
+ this.initWidget(table);
+ }
+
+ protected final void fillSelectedFacts() {
+ if (validFactsChanged) {
+ String s = factsCombo.getSelectedIndex() != -1 ? factsCombo.getItemText(factsCombo.getSelectedIndex()) : "";
+ factsCombo.clear();
+ validFactsChanged = false;
+ for (int i = 0; i < workingSetEditor.getValidFactsListBox().getItemCount(); i++) {
+ String itemText = workingSetEditor.getValidFactsListBox().getItemText(i);
+ factsCombo.addItem(itemText);
+ if (s.equals(itemText)) {
+ factsCombo.setSelectedIndex(i);
+ }
+ }
+ if (factsCombo.getSelectedIndex() == -1 && factsCombo.getItemCount() > 0) {
+ factsCombo.setSelectedIndex(0);
+ }
+ fillSelectedFactFields();
+ }
+ }
+
+ private void fillSelectedFactFields() {
+ if (factsCombo.getSelectedIndex() != -1) {
+ String fact = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ fieldsCombo.clear();
+ for (String field : getCompletionEngine().getFieldCompletions(fact)) {
+ fieldsCombo.addItem(field);
+ }
+ }
+ if (fieldsCombo.getSelectedIndex() == -1 && fieldsCombo.getItemCount() > 0) {
+ fieldsCombo.setSelectedIndex(0);
+ }
+ fillFieldConstrains();
+ }
+
+ private void fillFieldConstrains() {
+ if (fieldsCombo.getSelectedIndex() != -1) {
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
+ String factField = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ contraintsMap.clear();
+
+ if (this.workingSetEditor.getCustomFormsContainer().containsCustomFormFor(factField, fieldName)){
+ this.customFormURL.setText(this.workingSetEditor.getCustomFormsContainer().getCustomForm(factField, fieldName).getCustomFormURL());
+ }else{
+ this.customFormURL.setText("");
+ }
+ }
+ }
+
+ private SuggestionCompletionEngine getCompletionEngine() {
+ return SuggestionCompletionCache.getInstance().getEngineFromCache(workingSet.metaData.packageName);
+ }
+
+ public void notifyValidFactsChanged(){
+ this.validFactsChanged = true;
+ }
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactsConstraintsEditorPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactsConstraintsEditorPanel.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactsConstraintsEditorPanel.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -0,0 +1,259 @@
+package org.drools.guvnor.client.ruleeditor;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.drools.factconstraints.client.ConstraintConfiguration;
+import org.drools.factconstraints.client.helper.ConstraintsContainer;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.ImageButton;
+import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.packages.SuggestionCompletionCache;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.WorkingSetConfigData;
+import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
+
+/**
+ *
+ * @author esteban
+ */
+public class FactsConstraintsEditorPanel extends Composite {
+ private static int idGenerator = 0;
+ private Constants constants = GWT.create(Constants.class);
+ private ListBox factsCombo = new ListBox(false);
+ private ListBox fieldsCombo = new ListBox(false);
+ private ListBox constraintsCombo = new ListBox(false);
+ private VerticalPanel vpConstraintConf = new VerticalPanel();
+ private boolean validFactsChanged = true;
+ private Map<String, ConstraintConfiguration> contraintsMap = new HashMap<String, ConstraintConfiguration>();
+ private final RuleAsset workingSet;
+ private final WorkingSetEditor workingSetEditor;
+
+ public FactsConstraintsEditorPanel(WorkingSetEditor workingSetEditor) {
+
+ this.workingSetEditor = workingSetEditor;
+
+ this.workingSet = workingSetEditor.getWorkingSet();
+
+ factsCombo.setVisibleItemCount(1);
+ fieldsCombo.setVisibleItemCount(1);
+ constraintsCombo.setVisibleItemCount(5);
+
+ factsCombo.addChangeHandler(new ChangeHandler() {
+ public void onChange(ChangeEvent event) {
+ fillSelectedFactFields();
+ }
+ });
+
+ fieldsCombo.addChangeHandler(new ChangeHandler() {
+ public void onChange(ChangeEvent event) {
+ fillFieldConstrains();
+ }
+ });
+
+ Image addNewConstraint = new ImageButton("images/new_item.gif"); // NON-NLS
+ addNewConstraint.setTitle(constants.AddNewConstraint());
+
+ addNewConstraint.addClickHandler(new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ showNewConstrainPop();
+ }
+ });
+
+ Image removeConstraint = new Image("images/trash.gif"); //NON-NLS
+ removeConstraint.setTitle(constants.removeConstraint());
+ removeConstraint.addClickHandler(new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ removeConstraint();
+ }
+ });
+
+ final FlexTable table = new FlexTable();
+
+ VerticalPanel vp = new VerticalPanel();
+ vp.add(new SmallLabel(constants.FactTypes()));
+ vp.add(factsCombo);
+ table.setWidget(0, 0, vp);
+
+ vp = new VerticalPanel();
+ vp.add(new SmallLabel(constants.Field()));
+ vp.add(fieldsCombo);
+ table.setWidget(1, 0, vp);
+
+ vp = new VerticalPanel();
+ HorizontalPanel hp = new HorizontalPanel();
+ vp.add(new SmallLabel("Constraints")); //TODO i18n
+ hp.add(constraintsCombo);
+
+ VerticalPanel btnPanel = new VerticalPanel();
+ btnPanel.add(addNewConstraint);
+ btnPanel.add(removeConstraint);
+ hp.add(btnPanel);
+ vp.add(hp);
+ table.setWidget(2, 0, vp);
+ table.getFlexCellFormatter().setRowSpan(2, 0, 3);
+ constraintsCombo.addChangeHandler(new ChangeHandler() {
+ public void onChange(ChangeEvent event) {
+ showConstraintConfig();
+ }
+ });
+
+ vpConstraintConf.add(new SmallLabel("Contraints Parameters")); //TODO i18n
+ vpConstraintConf.add(new SmallLabel(""));
+ table.setWidget(0, 1, vpConstraintConf);
+ table.getFlexCellFormatter().setRowSpan(0, 1, 5);
+
+ fillSelectedFacts();
+ fillSelectedFactFields();
+ fillFieldConstrains();
+ showConstraintConfig();
+
+ this.initWidget(table);
+ }
+
+ protected final void fillSelectedFacts() {
+ if (validFactsChanged) {
+ String s = factsCombo.getSelectedIndex() != -1 ? factsCombo.getItemText(factsCombo.getSelectedIndex()) : "";
+ factsCombo.clear();
+ validFactsChanged = false;
+ for (int i = 0; i < workingSetEditor.getValidFactsListBox().getItemCount(); i++) {
+ String itemText = workingSetEditor.getValidFactsListBox().getItemText(i);
+ factsCombo.addItem(itemText);
+ if (s.equals(itemText)) {
+ factsCombo.setSelectedIndex(i);
+ }
+ }
+ if (factsCombo.getSelectedIndex() == -1 && factsCombo.getItemCount() > 0) {
+ factsCombo.setSelectedIndex(0);
+ }
+ fillSelectedFactFields();
+ }
+ }
+
+ private void fillSelectedFactFields() {
+ if (factsCombo.getSelectedIndex() != -1) {
+ String fact = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ fieldsCombo.clear();
+ for (String field : getCompletionEngine().getFieldCompletions(fact)) {
+ fieldsCombo.addItem(field);
+ }
+ }
+ if (fieldsCombo.getSelectedIndex() == -1 && fieldsCombo.getItemCount() > 0) {
+ fieldsCombo.setSelectedIndex(0);
+ }
+ fillFieldConstrains();
+ }
+
+ private void fillFieldConstrains() {
+ if (fieldsCombo.getSelectedIndex() != -1) {
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
+ String factField = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ constraintsCombo.clear();
+ contraintsMap.clear();
+ for (ConstraintConfiguration c : this.workingSetEditor.getConstraintsConstrainer().getConstraints(factField, fieldName)) {
+ constraintsCombo.addItem(c.getConstraintName(), addContrainsMap(c));
+ }
+ vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
+ vpConstraintConf.add(new SmallLabel());
+ }
+ showConstraintConfig();
+ }
+
+ synchronized private String addContrainsMap(ConstraintConfiguration c) {
+ String constraintId = String.valueOf(idGenerator++);
+ contraintsMap.put(constraintId, c);
+ return constraintId;
+ }
+
+ protected void removeConstraint() {
+ if (constraintsCombo.getSelectedIndex() != -1) {
+ ConstraintConfiguration c = contraintsMap.get(constraintsCombo.getValue(constraintsCombo.getSelectedIndex()));
+ ((WorkingSetConfigData) workingSet.content).constraints = this.workingSetEditor.getConstraintsConstrainer().removeConstraint(c);
+ }
+ fillFieldConstrains();
+ }
+
+ private void showConstraintConfig() {
+ if (constraintsCombo.getItemCount() == 0) {
+ vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
+ vpConstraintConf.add(new SmallLabel());
+ return;
+ }
+ if (constraintsCombo.getSelectedIndex() != -1) {
+ ConstraintConfiguration c = contraintsMap.get(constraintsCombo.getValue(constraintsCombo.getSelectedIndex()));
+ ConstraintEditor editor = new ConstraintEditor(c);
+ vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
+ vpConstraintConf.add(editor);
+ }
+ }
+
+ private void showNewConstrainPop() {
+ final FormStylePopup pop = new FormStylePopup("images/config.png", constants.AddNewConstraint()); //NON-NLS
+ final Button addbutton = new Button(constants.OK());
+ final ListBox consDefsCombo = new ListBox(false);
+
+ consDefsCombo.setVisibleItemCount(5);
+
+ addbutton.setTitle(constants.AddNewConstraint());
+
+ List<String> names = new ArrayList<String>(ConstraintsContainer.getAllConfigurations().keySet());
+ Collections.sort(names);
+ for (String name : names) {
+ consDefsCombo.addItem(name);
+ }
+
+ addbutton.addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ String name = consDefsCombo.getItemText(consDefsCombo.getSelectedIndex());
+ ConstraintConfiguration config = ConstraintsContainer.getEmptyConfiguration(name);
+ if (config != null) {
+
+ String factName = factsCombo.getItemText(factsCombo.getSelectedIndex());
+ String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
+ config.setFactType(factName);
+ config.setFieldName(fieldName);
+ if (((WorkingSetConfigData) workingSet.content).constraints == null) {
+ ((WorkingSetConfigData) workingSet.content).constraints = new ArrayList<ConstraintConfiguration>();
+ }
+ ((WorkingSetConfigData) workingSet.content).constraints.add(config);
+ constraintsCombo.addItem(config.getConstraintName(), addContrainsMap(config));
+ workingSetEditor.getConstraintsConstrainer().addConstraint(config);
+
+ }
+ pop.hide();
+ }
+ });
+
+ pop.addAttribute(constants.WillExtendTheFollowingRuleCalled(), consDefsCombo);
+ pop.addAttribute("", addbutton);
+
+ pop.show();
+ }
+
+ private SuggestionCompletionEngine getCompletionEngine() {
+ return SuggestionCompletionCache.getInstance().getEngineFromCache(workingSet.metaData.packageName);
+ }
+
+ public void notifyValidFactsChanged(){
+ this.validFactsChanged = true;
+ }
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java 2010-07-05 14:25:10 UTC (rev 33741)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -38,6 +38,7 @@
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -194,21 +195,20 @@
doMetaWidget();
hsp = new HorizontalPanel();
-
+ hsp.setHeight("100%");
+ hsp.setWidth("100%");
layout.add( hsp );
+ layout.setCellHeight(hsp, "100%");
//the document widget
doco = new RuleDocumentWidget( asset );
doco.setVisible( docoVisible );
VerticalPanel vert = new VerticalPanel();
- vert.add( editor );
- editor.setHeight( "100%" );
- //vert.add( doco );
-
vert.setWidth( "100%" );
vert.setHeight( "100%" );
+ vert.add( editor );
hsp.add( vert );
//hsp.addStyleName("HorizontalSplitPanel");
@@ -218,8 +218,6 @@
hsp.setCellWidth( metaWidget,
"25%" );
- //hsp.setSplitPosition("80%");
- hsp.setHeight( "100%" );
layout.add( doco );
}
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-07-05 14:25:10 UTC (rev 33741)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/WorkingSetEditor.java 2010-07-05 19:14:48 UTC (rev 33742)
@@ -2,388 +2,199 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
-import org.drools.factconstraints.client.ConstraintConfiguration;
import org.drools.factconstraints.client.helper.ConstraintsContainer;
import org.drools.guvnor.client.common.AssetFormats;
-import org.drools.guvnor.client.common.FormStylePopup;
-import org.drools.guvnor.client.common.ImageButton;
import org.drools.guvnor.client.common.SmallLabel;
-import org.drools.guvnor.client.messages.Constants;
import org.drools.guvnor.client.packages.SuggestionCompletionCache;
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.client.rpc.WorkingSetConfigData;
import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
-import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Grid;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
+import org.drools.factconstraints.client.customform.CustomFormConfiguration;
+import org.drools.factconstraints.client.helper.CustomFormsContainer;
public class WorkingSetEditor extends Composite {
- private static int idGenerator = 0;
- private Constants constants = GWT.create(Constants.class);
- private RuleAsset workingSet;
-
- private ListBox availFacts = new ListBox(true);
- private ListBox validFacts = new ListBox(true);
- private ListBox factsCombo = new ListBox(false);
- 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();
- private Map<String, ConstraintConfiguration> contraintsMap = new HashMap<String, ConstraintConfiguration>();
-
- public WorkingSetEditor(RuleAsset asset) {
- if (!AssetFormats.WORKING_SET.equals(asset.metaData.format)) {
- throw new IllegalArgumentException("asset must a be a workingset not a: " + asset.metaData.format);
- }
- workingSet = asset;
- sce = SuggestionCompletionCache.getInstance().getEngineFromCache(asset.metaData.packageName);
- WorkingSetConfigData wsData = (WorkingSetConfigData) workingSet.content;
- cc = new ConstraintsContainer(wsData.constraints);
- refreshWidgets();
- setWidth( "100%" );
- }
-
- private void refreshWidgets() {
+ private RuleAsset workingSet;
+ private ListBox availFacts = new ListBox(true);
+ private ListBox validFacts = new ListBox(true);
+ private ConstraintsContainer cc;
+ private CustomFormsContainer cfc;
+
+ private FactsConstraintsEditorPanel factsConstraintsgEditorPanel;
+ private CustomFormsEditorPanel customFormsEditorPanel;
+
+ public WorkingSetEditor(RuleAsset asset) {
+ if (!AssetFormats.WORKING_SET.equals(asset.metaData.format)) {
+ throw new IllegalArgumentException("asset must a be a workingset not a: " + asset.metaData.format);
+ }
+ workingSet = asset;
WorkingSetConfigData wsData = (WorkingSetConfigData) workingSet.content;
-
- TabPanel tPanel = new TabPanel();
- tPanel.setWidth(800);
- Panel pnl = new Panel();
+ cc = new ConstraintsContainer(wsData.constraints);
+ cfc = new CustomFormsContainer(wsData.customForms);
+ refreshWidgets();
+ setWidth("100%");
+
+ }
+
+ private void refreshWidgets() {
+ WorkingSetConfigData wsData = (WorkingSetConfigData) workingSet.content;
+
+ TabPanel tPanel = new TabPanel();
+ tPanel.setWidth(800);
+ Panel pnl = new Panel();
// pnl.setAutoWidth(true);
pnl.setClosable(false);
pnl.setTitle("WS Definition"); //TODO {bauna} i18n
// pnl.setAutoHeight(true);
pnl.add(buildDoubleList(wsData));
- tPanel.add(pnl);
-
- pnl = new Panel();
+ tPanel.add(pnl);
+
+ pnl = new Panel();
// pnl.setAutoWidth(true);
pnl.setClosable(false);
pnl.setTitle("WS Constraints"); //TODO {bauna} i18n
// pnl.setAutoHeight(true);
- pnl.add(buildFactsConstraintsEditor(tPanel));
- tPanel.add(pnl);
-
- tPanel.setActiveTab(0);
- initWidget(tPanel);
- }
+ this.factsConstraintsgEditorPanel = new FactsConstraintsEditorPanel(this);
+ pnl.add(this.factsConstraintsgEditorPanel);
+ tPanel.add(pnl);
- private Widget buildFactsConstraintsEditor(TabPanel tPanel) {
- factsCombo.setVisibleItemCount(1);
- fieldsCombo.setVisibleItemCount(1);
- constraintsCombo.setVisibleItemCount(5);
-
- tPanel.addListener(new PanelListenerAdapter() {
- @Override
- public boolean doBeforeShow(Component component) {
- fillSelectedFacts();
- return true;
- }
- });
-
- factsCombo.addChangeListener(new ChangeListener() {
- public void onChange(Widget sender) {
- fillSelectedFactFields();
- }
- });
-
- fieldsCombo.addChangeListener(new ChangeListener() {
- public void onChange(Widget sender) {
- fillFieldConstrains();
- }
- });
-
- Image addNewConstraint = new ImageButton("images/new_item.gif"); // NON-NLS
- addNewConstraint.setTitle(constants.AddNewConstraint());
+ pnl = new Panel();
+// pnl.setAutoWidth(true);
+ pnl.setClosable(false);
+ pnl.setTitle("WS Custom Forms"); //TODO {bauna} i18n
+// pnl.setAutoHeight(true);
+ this.customFormsEditorPanel = new CustomFormsEditorPanel(this);
+ pnl.add(this.customFormsEditorPanel);
+ tPanel.add(pnl);
- addNewConstraint.addClickListener(new ClickListener() {
- public void onClick(Widget w) {
- showNewConstrainPop();
- }
- });
-
- Image removeConstraint = new Image( "images/trash.gif" ); //NON-NLS
- removeConstraint.setTitle(constants.removeConstraint());
- removeConstraint.addClickListener(new ClickListener() {
- public void onClick(Widget arg0) {
- removeConstraint();
- }
- });
-
-
- final FlexTable table = new FlexTable();
-
- VerticalPanel vp = new VerticalPanel();
- vp.add(new SmallLabel(constants.FactTypes()));
- vp.add(factsCombo);
- table.setWidget(0, 0, vp);
-
- vp = new VerticalPanel();
- vp.add(new SmallLabel(constants.Field()));
- vp.add(fieldsCombo);
- table.setWidget(1, 0, vp);
-
- vp = new VerticalPanel();
- HorizontalPanel hp = new HorizontalPanel();
- vp.add(new SmallLabel("Constraints")); //TODO i18n
- hp.add(constraintsCombo);
-
- VerticalPanel btnPanel = new VerticalPanel();
- btnPanel.add(addNewConstraint);
- btnPanel.add(removeConstraint);
- hp.add(btnPanel);
- vp.add(hp);
- table.setWidget(2, 0, vp);
- table.getFlexCellFormatter().setRowSpan(2, 0, 3);
-
- constraintsCombo.addChangeListener(new ChangeListener() {
- public void onChange(Widget sender) {
- showConstraintConfig();
- }
- });
-
- vpConstraintConf.add(new SmallLabel("Contraints Parameters")); //TODO i18n
- vpConstraintConf.add(new SmallLabel(""));
- table.setWidget(0, 1, vpConstraintConf);
- table.getFlexCellFormatter().setRowSpan(0, 1, 5);
-
- fillSelectedFacts();
- fillSelectedFactFields();
- fillFieldConstrains();
- showConstraintConfig();
- return table;
- }
+ tPanel.addListener(new PanelListenerAdapter() {
+ @Override
+ public boolean doBeforeShow(Component component) {
+ factsConstraintsgEditorPanel.fillSelectedFacts();
+ customFormsEditorPanel.fillSelectedFacts();
+ return true;
+ }
+ });
- protected void removeConstraint() {
- if (constraintsCombo.getSelectedIndex() != -1) {
- ConstraintConfiguration c = contraintsMap.get(constraintsCombo.getValue(constraintsCombo.getSelectedIndex()));
- ((WorkingSetConfigData) workingSet.content).constraints = getConstraintsConstrainer().removeConstraint(c);
- }
- fillFieldConstrains();
- }
- private void showConstraintConfig() {
- if (constraintsCombo.getItemCount() == 0) {
- vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
- vpConstraintConf.add(new SmallLabel());
- return;
- }
- if (constraintsCombo.getSelectedIndex() != -1) {
- ConstraintConfiguration c = contraintsMap.get(constraintsCombo.getValue(constraintsCombo.getSelectedIndex()));
- ConstraintEditor editor = new ConstraintEditor(c);
- vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
- vpConstraintConf.add(editor);
- }
- }
- private void showNewConstrainPop() {
- final FormStylePopup pop = new FormStylePopup("images/config.png", constants.AddNewConstraint()); //NON-NLS
- final Button addbutton = new Button(constants.OK());
- final ListBox consDefsCombo = new ListBox(false);
+ tPanel.setActiveTab(0);
+ initWidget(tPanel);
+ }
- consDefsCombo.setVisibleItemCount(5);
+ private Grid buildDoubleList(WorkingSetConfigData wsData) {
+ Grid grid = new Grid(2, 3);
- addbutton.setTitle(constants.AddNewConstraint());
-
- List<String> names = new ArrayList<String>(ConstraintsContainer.getAllConfigurations().keySet());
- Collections.sort(names);
- for (String name : names) {
- consDefsCombo.addItem(name);
- }
-
- addbutton.addClickListener( new ClickListener() {
- public void onClick(Widget w) {
- String name = consDefsCombo.getItemText(consDefsCombo.getSelectedIndex());
- ConstraintConfiguration config = ConstraintsContainer.getEmptyConfiguration(name);
- if (config != null) {
-
- String factName = factsCombo.getItemText(factsCombo.getSelectedIndex());
- String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
- config.setFactType(factName);
- config.setFieldName(fieldName);
- if (((WorkingSetConfigData) workingSet.content).constraints == null) {
- ((WorkingSetConfigData) workingSet.content).constraints = new ArrayList<ConstraintConfiguration>();
- }
- ((WorkingSetConfigData) workingSet.content).constraints.add(config);
- constraintsCombo.addItem(config.getConstraintName(), addContrainsMap(config));
- getConstraintsConstrainer().addConstraint(config);
-
- }
- pop.hide();
+ SuggestionCompletionEngine sce = SuggestionCompletionCache.getInstance().getEngineFromCache(workingSet.metaData.packageName);
+ boolean filteringFact = sce.isFilteringFacts();
+ sce.setFilteringFacts(false);
+ try {
+ Set<String> elem = new HashSet<String>();
+
+ availFacts.setVisibleItemCount(10);
+ validFacts.setVisibleItemCount(10);
+
+ if (wsData.validFacts != null) {
+ elem.addAll(Arrays.asList(wsData.validFacts));
+ for (String factName : wsData.validFacts) {
+ validFacts.addItem(factName);
+ }
}
- });
- pop.addAttribute(constants.WillExtendTheFollowingRuleCalled(), consDefsCombo );
- pop.addAttribute("", addbutton);
+ for (String factName : sce.getFactTypes()) {
+ if (!elem.contains(factName)) {
+ availFacts.addItem(factName);
+ }
+ }
- pop.show();
- }
+ Grid btnsPanel = new Grid(2, 1);
- private void fillSelectedFacts() {
- if (validFactsChanged) {
- String s = factsCombo.getSelectedIndex() != -1 ? factsCombo.getItemText(factsCombo.getSelectedIndex()) : "";
- factsCombo.clear();
- validFactsChanged = false;
- for (int i = 0; i < validFacts.getItemCount(); i++) {
- String itemText = validFacts.getItemText(i);
- factsCombo.addItem(itemText);
- if (s.equals(itemText)) {
- factsCombo.setSelectedIndex(i);
- }
- }
- if (factsCombo.getSelectedIndex() == -1 && factsCombo.getItemCount() > 0) {
- factsCombo.setSelectedIndex(0);
- }
- fillSelectedFactFields();
- }
- }
+ btnsPanel.setWidget(0, 0, new Button(">", new ClickListener() {
- private void fillSelectedFactFields() {
- if (factsCombo.getSelectedIndex() != -1) {
- String fact = factsCombo.getItemText(factsCombo.getSelectedIndex());
- fieldsCombo.clear();
- for(String field : getCompletionEngine().getFieldCompletions(fact)) {
- fieldsCombo.addItem(field);
- }
- }
- if (fieldsCombo.getSelectedIndex() == -1 && fieldsCombo.getItemCount() > 0) {
- fieldsCombo.setSelectedIndex(0);
- }
- fillFieldConstrains();
- }
+ public void onClick(Widget sender) {
+ copySelected(availFacts, validFacts);
+ updateAsset(validFacts);
+ factsConstraintsgEditorPanel.fillSelectedFacts();
+ customFormsEditorPanel.fillSelectedFacts();
+ }
+ }));
- private void fillFieldConstrains() {
- if (fieldsCombo.getSelectedIndex() != -1) {
- String fieldName = fieldsCombo.getItemText(fieldsCombo.getSelectedIndex());
- String factField = factsCombo.getItemText(factsCombo.getSelectedIndex());
- constraintsCombo.clear();
- contraintsMap.clear();
- for (ConstraintConfiguration c : getConstraintsConstrainer().getConstraints(factField, fieldName)) {
- constraintsCombo.addItem(c.getConstraintName(), addContrainsMap(c));
- }
- vpConstraintConf.remove(vpConstraintConf.getWidgetCount() - 1);
- vpConstraintConf.add(new SmallLabel());
- }
- showConstraintConfig();
- }
-
- synchronized private String addContrainsMap(ConstraintConfiguration c) {
- String id = String.valueOf(idGenerator++);
- contraintsMap.put(id, c);
- return id;
- }
-
- private Grid buildDoubleList(WorkingSetConfigData wsData) {
- Grid grid = new Grid(2, 3);
-
- SuggestionCompletionEngine sce = SuggestionCompletionCache.getInstance().getEngineFromCache(workingSet.metaData.packageName);
- boolean filteringFact = sce.isFilteringFacts();
- sce.setFilteringFacts(false);
-
- try {
- Set<String> elem = new HashSet<String>();
+ btnsPanel.setWidget(1, 0, new Button("<", new ClickListener() {
- availFacts.setVisibleItemCount(10);
- validFacts.setVisibleItemCount(10);
-
- if (wsData.validFacts != null) {
- elem.addAll(Arrays.asList(wsData.validFacts));
- for (String factName : wsData.validFacts) {
- validFacts.addItem(factName);
- }
- }
-
- for (String factName : sce.getFactTypes()) {
- if (!elem.contains(factName)) {
- availFacts.addItem(factName);
- }
- }
-
- Grid btnsPanel = new Grid(2,1);
-
- btnsPanel.setWidget(0, 0, new Button(">", new ClickListener() {
- public void onClick(Widget sender) {
- copySelected(availFacts, validFacts);
- updateAsset(validFacts);
- fillSelectedFacts();
- }
- }));
+ public void onClick(Widget sender) {
+ copySelected(validFacts, availFacts);
+ updateAsset(validFacts);
+ factsConstraintsgEditorPanel.fillSelectedFacts();
+ customFormsEditorPanel.fillSelectedFacts();
+ }
+ }));
- btnsPanel.setWidget(1, 0, new Button("<", new ClickListener() {
- public void onClick(Widget sender) {
- copySelected(validFacts, availFacts);
- updateAsset(validFacts);
- fillSelectedFacts();
- }
- }));
+ grid.setWidget(0, 0, new SmallLabel("Available Facts")); //TODO i18n
+ grid.setWidget(0, 1, new SmallLabel(""));
+ grid.setWidget(0, 2, new SmallLabel("WorkingSet Facts")); //TODO i18n
+ grid.setWidget(1, 0, availFacts);
+ grid.setWidget(1, 1, btnsPanel);
+ grid.setWidget(1, 2, validFacts);
- grid.setWidget(0, 0, new SmallLabel("Available Facts")); //TODO i18n
- grid.setWidget(0, 1, new SmallLabel(""));
- grid.setWidget(0, 2, new SmallLabel("WorkingSet Facts")); //TODO i18n
- grid.setWidget(1, 0, availFacts);
- grid.setWidget(1, 1, btnsPanel);
- grid.setWidget(1, 2, validFacts);
-
- grid.getColumnFormatter().setWidth(0, "45%");
- grid.getColumnFormatter().setWidth(0, "10%");
- grid.getColumnFormatter().setWidth(0, "45%");
- return grid;
- } finally {
- sce.setFilteringFacts(filteringFact);
- }
- }
-
- /**
+ grid.getColumnFormatter().setWidth(0, "45%");
+ grid.getColumnFormatter().setWidth(0, "10%");
+ grid.getColumnFormatter().setWidth(0, "45%");
+ return grid;
+ } finally {
+ sce.setFilteringFacts(filteringFact);
+ }
+ }
+
+ /**
* This will get the save widgets.
*/
-
- private void updateAsset(ListBox availFacts) {
- List<String> l = new ArrayList<String>(availFacts.getItemCount());
- for (int i = 0; i < availFacts.getItemCount(); i++) {
- l.add(availFacts.getItemText(i));
- }
- ((WorkingSetConfigData) workingSet.content).validFacts = l.toArray(new String[l.size()]);
- }
+ private void updateAsset(ListBox availFacts) {
+ List<String> l = new ArrayList<String>(availFacts.getItemCount());
+ for (int i = 0; i < availFacts.getItemCount(); i++) {
+ l.add(availFacts.getItemText(i));
+ }
+ ((WorkingSetConfigData) workingSet.content).validFacts = l.toArray(new String[l.size()]);
+ }
- private void copySelected(final ListBox from, final ListBox to) {
- int selected;
- while ((selected = from.getSelectedIndex()) != -1) {
- to.addItem(from.getItemText(selected));
- from.removeItem(selected);
- validFactsChanged = true;
- }
- }
-
- public SuggestionCompletionEngine getCompletionEngine() {
- return sce;
- }
-
- public ConstraintsContainer getConstraintsConstrainer() {
- return cc;
- }
+ private void copySelected(final ListBox from, final ListBox to) {
+ int selected;
+ while ((selected = from.getSelectedIndex()) != -1) {
+ to.addItem(from.getItemText(selected));
+ from.removeItem(selected);
+ factsConstraintsgEditorPanel.notifyValidFactsChanged();
+ customFormsEditorPanel.notifyValidFactsChanged();
+ }
+ }
+
+ public ConstraintsContainer getConstraintsConstrainer() {
+ return cc;
+ }
+
+ public CustomFormsContainer getCustomFormsContainer() {
+ return cfc;
+ }
+
+ protected RuleAsset getWorkingSet() {
+ return workingSet;
+ }
+
+ protected ListBox getValidFactsListBox() {
+ return this.validFacts;
+ }
}
More information about the jboss-svn-commits
mailing list