[jboss-svn-commits] JBL Code SVN: r32412 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor: client/rpc and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Apr 5 10:23:52 EDT 2010
Author: eaa
Date: 2010-04-05 10:23:51 -0400 (Mon, 05 Apr 2010)
New Revision: 32412
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionInsertFactWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionRetractFactWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/CompositeFactPatternWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FactPatternWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromAccumulateCompositeFactPatternWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/GlobalCollectionAddWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/AnalysisReportLine.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierReportCreator.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierRunner.java
Log:
RuleModellerWidget now has a reference to RuleModeller.
RuleModeller support marking warnings and errors in real time (it is commented)
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -6,7 +6,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.drools.guvnor.client.common.DirtyableComposite;
import org.drools.guvnor.client.common.DirtyableFlexTable;
import org.drools.guvnor.client.common.FormStylePopup;
import org.drools.guvnor.client.common.ImageButton;
@@ -45,7 +44,6 @@
private String[] fieldCompletionTexts;
private String[] fieldCompletionValues;
- final private RuleModeller modeller;
private String variableClass;
private Constants constants = GWT.create( Constants.class );
@@ -58,13 +56,13 @@
public ActionCallMethodWidget(RuleModeller mod,
ActionCallMethod set, Boolean readOnly) {
+ super(mod);
this.model = set;
this.layout = new DirtyableFlexTable();
- this.modeller = mod;
layout.setStyleName( "model-builderInner-Background" ); // NON-NLS
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
if ( completions.isGlobalVariable( set.variable ) ) {
List<MethodInfo> infos = completions.getMethodInfosForGlobalVariable( set.variable );
@@ -185,7 +183,7 @@
protected void showAddFieldPopup(Widget w) {
- final SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ final SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
final FormStylePopup popup = new FormStylePopup( "images/newex_wiz.gif",
constants.ChooseAMethodToInvoke() ); // NON-NLS
@@ -224,7 +222,7 @@
i++;
}
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
} );
@@ -236,17 +234,17 @@
private Widget valueEditor(final ActionFieldFunction val) {
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
String type = "";
if ( completions.isGlobalVariable( this.model.variable ) ) {
type = (String) completions.getGlobalVariable( this.model.variable );
} else {
- if ( this.modeller.getModel().getBoundFact( this.model.variable ) != null ) {
- type = this.modeller.getModel().getBoundFact( this.model.variable ).factType;
+ if ( this.getModeller().getModel().getBoundFact( this.model.variable ) != null ) {
+ type = this.getModeller().getModel().getBoundFact( this.model.variable ).factType;
} else {
- if ( this.modeller.getModel().getRhsBoundFact( this.model.variable ) != null ) {
- type = this.modeller.getModel().getRhsBoundFact( this.model.variable ).factType;
+ if ( this.getModeller().getModel().getRhsBoundFact( this.model.variable ) != null ) {
+ type = this.getModeller().getModel().getRhsBoundFact( this.model.variable ).factType;
}
}
}
@@ -256,7 +254,7 @@
val.field );
return new MethodParameterValueEditor( val,
enums,
- modeller,
+ this.getModeller(),
val.type );
}
@@ -296,7 +294,7 @@
}
private Widget actionSelector(final ActionFieldFunction val) {
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
final ListBox box = new ListBox();
final String fieldType = val.type;
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionInsertFactWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionInsertFactWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionInsertFactWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -44,7 +44,6 @@
private final DirtyableFlexTable layout;
private final ActionInsertFact model;
private final String[] fieldCompletions;
- private final RuleModeller modeller;
private final String factType;
private Constants constants = GWT.create(Constants.class);
private boolean readOnly;
@@ -54,12 +53,12 @@
}
public ActionInsertFactWidget(RuleModeller mod, ActionInsertFact set,Boolean readOnly) {
+ super(mod);
this.model = set;
this.layout = new DirtyableFlexTable();
- this.modeller = mod;
this.factType = set.factType;
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
this.fieldCompletions = completions.getFieldCompletions( FieldAccessorsAndMutators.MUTATOR,
set.factType );
@@ -100,7 +99,7 @@
public void onClick(Widget w) {
if (Window.confirm(constants.RemoveThisItem())) {
model.removeField( idx );
- modeller.refreshWidget();
+ getModeller().refreshWidget();
};
}
});
@@ -116,9 +115,9 @@
}
private Widget valueEditor(final ActionFieldValue val) {
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
DropDownData enums = completions.getEnums(this.factType, this.model.fieldValues, val.field);
- return new ActionValueEditor(val, enums,modeller,val.type,this.readOnly);
+ return new ActionValueEditor(val, enums,this.getModeller(),val.type,this.readOnly);
}
private Widget fieldSelector(final ActionFieldValue val) {
@@ -149,7 +148,7 @@
}
protected void showAddFieldPopup(Widget w) {
- final SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ final SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
final FormStylePopup popup = new FormStylePopup( "images/newex_wiz.gif",
constants.AddAField() );
final ListBox box = new ListBox();
@@ -171,7 +170,7 @@
model.addFieldValue( new ActionFieldValue( fieldName,
"",
fieldType ) );
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
} );
@@ -191,13 +190,13 @@
ok.addClickListener( new ClickListener() {
public void onClick(Widget w) {
String var = varName.getText();
- if ( modeller.isVariableNameUsed( var ) && ((model.getBoundName() != null && model.getBoundName().equals( var ) == false) || model.getBoundName() == null) ) {
+ if ( getModeller().isVariableNameUsed( var ) && ((model.getBoundName() != null && model.getBoundName().equals( var ) == false) || model.getBoundName() == null) ) {
Window.alert( Format.format( constants.TheVariableName0IsAlreadyTaken(),
var ) );
return;
}
model.setBoundName( var );
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
} );
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionRetractFactWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionRetractFactWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionRetractFactWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -21,7 +21,6 @@
import org.drools.guvnor.client.modeldriven.HumanReadable;
import org.drools.guvnor.client.modeldriven.brl.ActionRetractFact;
-import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
/**
@@ -39,7 +38,7 @@
}
public ActionRetractFactWidget(RuleModeller modeller, ActionRetractFact model, Boolean readOnly) {
-
+ super(modeller);
layout = new HorizontalPanel();
layout.setWidth("100%");
layout.setStyleName( "model-builderInner-Background" );
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -49,7 +49,6 @@
final private DirtyableFlexTable layout;
private boolean isBoundFact = false;
private String[] fieldCompletions;
- final private RuleModeller modeller;
private String variableClass;
private Constants constants = GWT.create(Constants.class);
private boolean readOnly;
@@ -59,13 +58,13 @@
}
public ActionSetFieldWidget(RuleModeller mod, ActionSetField set, Boolean readOnly) {
+ super(mod);
this.model = set;
this.layout = new DirtyableFlexTable();
- this.modeller = mod;
layout.setStyleName("model-builderInner-Background");
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
if (completions.isGlobalVariable(set.variable)) {
this.fieldCompletions = completions.getFieldCompletionsForGlobalVariable(set.variable);
@@ -124,7 +123,7 @@
public void onClick(Widget w) {
if (Window.confirm(constants.RemoveThisItem())) {
model.removeField(idx);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
});
@@ -181,16 +180,16 @@
- FactPattern fp = this.modeller.getModel().getBoundFact(model.variable);
+ FactPattern fp = this.getModeller().getModel().getBoundFact(model.variable);
- String descFact = (fp != null) ? this.modeller.getModel().getBoundFact(model.variable).factType + " <b>[" + model.variable + "]</b>" : model.variable;
+ String descFact = (fp != null) ? this.getModeller().getModel().getBoundFact(model.variable).factType + " <b>[" + model.variable + "]</b>" : model.variable;
String sl = Format.format(constants.setterLabel(), new String[]{HumanReadable.getActionDisplayName(modifyType), descFact});
return new ClickableLabel(sl, clk, !this.readOnly);//HumanReadable.getActionDisplayName(modifyType) + " value of <b>[" + model.variable + "]</b>", clk);
}
protected void showAddFieldPopup(Widget w) {
- final SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ final SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
final FormStylePopup popup = new FormStylePopup("images/newex_wiz.gif", constants.AddAField());
final ListBox box = new ListBox();
@@ -210,7 +209,7 @@
String fieldType = completions.getFieldType(variableClass, fieldName);
model.addFieldValue(new ActionFieldValue(fieldName, "", fieldType));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -221,22 +220,22 @@
}
private Widget valueEditor(final ActionFieldValue val) {
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
String type = "";
if (completions.isGlobalVariable(this.model.variable)) {
type = (String) completions.getGlobalVariable(this.model.variable);
} else {
- type = this.modeller.getModel().getBoundFact(this.model.variable).factType;
+ type = this.getModeller().getModel().getBoundFact(this.model.variable).factType;
/*
* to take in account if the using a rhs bound variable
*/
if (type == null) {
- type = this.modeller.getModel().getRhsBoundFact(this.model.variable).factType;
+ type = this.getModeller().getModel().getRhsBoundFact(this.model.variable).factType;
}
}
DropDownData enums = completions.getEnums(type, this.model.fieldValues, val.field);
- return new ActionValueEditor(val, enums, modeller, val.type, this.readOnly);
+ return new ActionValueEditor(val, enums, this.getModeller(), val.type, this.readOnly);
}
private Widget fieldSelector(final ActionFieldValue val) {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/CompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/CompositeFactPatternWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/CompositeFactPatternWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -42,7 +42,6 @@
protected final SuggestionCompletionEngine completions;
protected CompositeFactPattern pattern;
protected DirtyableFlexTable layout;
- protected RuleModeller modeller;
protected Constants constants = ((Constants) GWT.create(Constants.class));
protected boolean readOnly;
@@ -54,9 +53,9 @@
public CompositeFactPatternWidget(RuleModeller modeller,
CompositeFactPattern pattern,
Boolean readOnly) {
+ super(modeller);
this.completions = modeller.getSuggestionCompletions();
this.pattern = pattern;
- this.modeller = modeller;
this.layout = new DirtyableFlexTable();
this.layout.setStyleName( "model-builderInner-Background" );
@@ -98,7 +97,7 @@
DirtyableVerticalPane vert = new DirtyableVerticalPane();
FactPattern[] facts = pattern.patterns;
for ( int i = 0; i < facts.length; i++ ) {
- vert.add( new FactPatternWidget( modeller,
+ vert.add( new FactPatternWidget( this.getModeller(),
facts[i],
false,this.readOnly ) );
}
@@ -145,7 +144,7 @@
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
pattern.addFactPattern( new FactPattern( box.getItemText( box.getSelectedIndex() ) ) );
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
} );
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/DSLSentenceWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -55,7 +55,6 @@
private final DSLSentence sentence;
private final VerticalPanel layout;
private HorizontalPanel currentRow;
- private RuleModeller modeller;
private boolean readOnly;
public DSLSentenceWidget(RuleModeller modeller, DSLSentence sentence) {
@@ -63,8 +62,8 @@
}
public DSLSentenceWidget(RuleModeller modeller, DSLSentence sentence, Boolean readOnly) {
+ super (modeller);
widgets = new ArrayList();
- this.modeller = modeller;
this.sentence = sentence;
if (readOnly == null){
@@ -352,7 +351,7 @@
}
class DSLDropDown extends DirtyableComposite {
- final SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ final SuggestionCompletionEngine completions = getModeller().getSuggestionCompletions();
ListBox resultWidget = null;
// Format for the dropdown def is <varName>:<type>:<Fact.field>
private String varName = "";
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -39,7 +39,6 @@
private Constants constants = ((Constants) GWT.create(Constants.class));
//private FlowPanel panel = new FlowPanel();
private HorizontalPanel panel = new HorizontalPanel();
- private RuleModeller modeller;
private ExpressionFormLine expression;
private boolean readOnly;
@@ -50,7 +49,7 @@
public ExpressionBuilder(RuleModeller modeller,
ExpressionFormLine expression, Boolean readOnly) {
- super();
+ super(modeller);
if (readOnly == null){
this.readOnly = !modeller.getSuggestionCompletions().containsFactType(modeller.getSuggestionCompletions().getFactNameFromType(this.expression.getRootExpression().getClassType()));
@@ -59,7 +58,6 @@
}
this.expression = expression;
- this.modeller = modeller;
if (expression == null || expression.getText().length() == 0) {
if (this.readOnly) {
panel.add(new SmallLabel("<b>-</b"));
@@ -319,11 +317,11 @@
}
private RuleModel getRuleModel() {
- return modeller.getModel();
+ return this.getModeller().getModel();
}
private SuggestionCompletionEngine getCompletionEngine() {
- return modeller.getSuggestionCompletions();
+ return this.getModeller().getSuggestionCompletions();
}
private String getCurrentClassType() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FactPatternWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FactPatternWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -49,7 +49,6 @@
private FactPattern pattern;
private SuggestionCompletionEngine completions;
- private RuleModeller modeller;
private DirtyableFlexTable layout = new DirtyableFlexTable();
private Connectives connectives;
private PopupCreator popupCreator;
@@ -86,20 +85,20 @@
*/
public FactPatternWidget(RuleModeller mod, IPattern p,
String customLabel, boolean canBind, Boolean readOnly) {
+ super(mod);
this.pattern = (FactPattern) p;
this.completions = mod.getSuggestionCompletions();
- this.modeller = mod;
this.bindable = canBind;
this.connectives = new Connectives();
this.connectives.setCompletions(completions);
- this.connectives.setModeller(modeller);
+ this.connectives.setModeller(mod);
this.connectives.setPattern(pattern);
this.popupCreator = new PopupCreator();
this.popupCreator.setBindable(bindable);
this.popupCreator.setCompletions(completions);
- this.popupCreator.setModeller(modeller);
+ this.popupCreator.setModeller(mod);
this.popupCreator.setPattern(pattern);
this.customLabel = customLabel;
@@ -182,7 +181,7 @@
public void onClick(Widget w) {
if (Window.confirm(constants.RemoveThisItem())) {
pattern.removeConstraint(currentRow);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
});
@@ -240,7 +239,7 @@
private void renderFieldConstraint(final DirtyableFlexTable inner, int row, FieldConstraint constraint, boolean showBinding, int tabs) {
//if nesting, or predicate, then it will need to span 5 cols.
if (constraint instanceof SingleFieldConstraint) {
- renderSingleFieldConstraint(modeller, inner, row, (SingleFieldConstraint) constraint, showBinding, tabs);
+ renderSingleFieldConstraint(this.getModeller(), inner, row, (SingleFieldConstraint) constraint, showBinding, tabs);
} else if (constraint instanceof CompositeFieldConstraint) {
inner.setWidget(row, 1, compositeFieldConstraintEditor((CompositeFieldConstraint) constraint));
inner.getFlexCellFormatter().setColSpan(row, 1, 5);
@@ -289,7 +288,7 @@
public void onClick(Widget w) {
if (Window.confirm(constants.RemoveThisItemFromNestedConstraint())) {
constraint.removeConstraint(currentRow);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
});
@@ -365,7 +364,7 @@
public void onChange(Widget w) {
c.value = box.getText();
- modeller.makeDirty();
+ getModeller().makeDirty();
}
});
box.setWidth("100%");
@@ -424,7 +423,7 @@
private Widget valueEditor(final SingleFieldConstraint c, String factType) {
//String type = this.modeller.getSuggestionCompletions().getFieldType( factType, c.fieldName );
- return new ConstraintValueEditor(pattern, c.fieldName, c, this.modeller, c.fieldType,this.readOnly);
+ return new ConstraintValueEditor(pattern, c.fieldName, c, this.getModeller(), c.fieldType,this.readOnly);
}
private Widget operatorDropDown(final SingleFieldConstraint c) {
@@ -448,7 +447,7 @@
if (c.operator.equals("")) {
c.operator = null;
}
- modeller.makeDirty();
+ getModeller().makeDirty();
}
});
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FreeFormLineWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
import org.drools.guvnor.client.common.DirtyableFlexTable;
import org.drools.guvnor.client.messages.Constants;
@@ -49,11 +48,12 @@
*/
public FreeFormLineWidget(RuleModeller mod, FreeFormLine p,
Boolean readOnly) {
+ super(mod);
this.action = p;
- if (readOnly == null){
+ if (readOnly == null) {
this.readOnly = false;
- }else{
+ } else {
this.readOnly = readOnly;
}
@@ -74,14 +74,23 @@
tb.setText(this.action.text);
tb.setTitle(constants.ThisIsADrlExpressionFreeForm());
- if (!this.readOnly){
- tb.addChangeListener(new ChangeListener() {
+ if (!this.readOnly) {
+ tb.addChangeListener(new ChangeListener() {
- public void onChange(Widget arg0) {
- action.text = tb.getText();
- }
- });
- } else{
+ public void onChange(Widget arg0) {
+ action.text = tb.getText();
+ }
+ });
+
+ tb.addFocusListener(new FocusListenerAdapter() {
+
+ @Override
+ public void onLostFocus(Widget sender) {
+ getModeller().verifyRule();
+ }
+
+ });
+ } else {
tb.setEnabled(false);
}
return tb;
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromAccumulateCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromAccumulateCompositeFactPatternWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromAccumulateCompositeFactPatternWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -76,13 +76,13 @@
Widget patternWidget = null;
if (rPattern instanceof FactPattern) {
- patternWidget = new FactPatternWidget(modeller, rPattern, constants.All0with(), true,this.readOnly);
+ patternWidget = new FactPatternWidget(this.getModeller(), rPattern, constants.All0with(), true,this.readOnly);
} else if (rPattern instanceof FromAccumulateCompositeFactPattern) {
- patternWidget = new FromAccumulateCompositeFactPatternWidget(modeller, (FromAccumulateCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), (FromAccumulateCompositeFactPattern) rPattern,this.readOnly);
} else if (rPattern instanceof FromCollectCompositeFactPattern) {
- patternWidget = new FromCollectCompositeFactPatternWidget(modeller, (FromCollectCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), (FromCollectCompositeFactPattern) rPattern,this.readOnly);
} else if (rPattern instanceof FromCompositeFactPattern) {
- patternWidget = new FromCompositeFactPatternWidget(modeller, (FromCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromCompositeFactPatternWidget(this.getModeller(), (FromCompositeFactPattern) rPattern,this.readOnly);
} else {
throw new IllegalArgumentException("Unsuported pattern " + rPattern + " for right side of FROM ACCUMULATE");
}
@@ -94,7 +94,7 @@
public void onClick(Widget sender) {
if (Window.confirm(constants.RemoveThisBlockOfData())) {
getFromAccumulatePattern().setSourcePattern(null);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
}));
@@ -225,7 +225,7 @@
@Override
protected void showFactTypeSelector(final Widget w) {
final ListBox box = new ListBox();
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
String[] facts = completions.getFactTypes();
box.addItem(constants.Choose());
@@ -244,7 +244,7 @@
public void onChange(Widget w) {
pattern.setFactPattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -257,7 +257,7 @@
*/
protected void showSourcePatternSelector(final Widget w) {
final ListBox box = new ListBox();
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
String[] facts = completions.getFactTypes();
box.addItem(constants.Choose());
@@ -275,7 +275,7 @@
public void onChange(Widget w) {
getFromAccumulatePattern().setSourcePattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -301,7 +301,7 @@
throw new IllegalArgumentException("Unknown sender: " + sender);
}
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
};
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -72,13 +72,13 @@
Widget patternWidget = null;
if (rPattern instanceof FactPattern) {
- patternWidget = new FactPatternWidget(modeller, rPattern, constants.All0with(), true, this.readOnly);
+ patternWidget = new FactPatternWidget(this.getModeller(), rPattern, constants.All0with(), true, this.readOnly);
} else if (rPattern instanceof FromAccumulateCompositeFactPattern) {
- patternWidget = new FromAccumulateCompositeFactPatternWidget(modeller, (FromAccumulateCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), (FromAccumulateCompositeFactPattern) rPattern,this.readOnly);
} else if (rPattern instanceof FromCollectCompositeFactPattern) {
- patternWidget = new FromCollectCompositeFactPatternWidget(modeller, (FromCollectCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), (FromCollectCompositeFactPattern) rPattern,this.readOnly);
} else if (rPattern instanceof FromCompositeFactPattern) {
- patternWidget = new FromCompositeFactPatternWidget(modeller, (FromCompositeFactPattern) rPattern,this.readOnly);
+ patternWidget = new FromCompositeFactPatternWidget(this.getModeller(), (FromCompositeFactPattern) rPattern,this.readOnly);
} else {
throw new IllegalArgumentException("Unsuported pattern " + rPattern + " for right side of FROM COLLECT");
}
@@ -91,7 +91,7 @@
public void onClick(Widget sender) {
if (Window.confirm(constants.RemoveThisBlockOfData())) {
getFromCollectPattern().setRightPattern(null);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
}));
@@ -125,7 +125,7 @@
public void onChange(Widget w) {
pattern.setFactPattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -141,7 +141,7 @@
*/
protected void showRightPatternSelector(final Widget w) {
final ListBox box = new ListBox();
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
String[] facts = completions.getFactTypes();
box.addItem(constants.Choose());
@@ -159,7 +159,7 @@
public void onChange(Widget w) {
getFromCollectPattern().setRightPattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -183,7 +183,7 @@
throw new IllegalArgumentException("Unknown sender: " + sender);
}
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
};
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -27,7 +27,6 @@
protected FromCompositeFactPattern pattern;
protected DirtyableFlexTable layout;
- protected RuleModeller modeller;
protected Constants constants = ((Constants) GWT.create(Constants.class));
protected boolean readOnly;
@@ -38,8 +37,8 @@
public FromCompositeFactPatternWidget(RuleModeller modeller,
FromCompositeFactPattern pattern, Boolean readOnly) {
+ super(modeller);
this.pattern = pattern;
- this.modeller = modeller;
//if readOnly is null, the readOnly attribute is calculated.
if (readOnly == null) {
@@ -70,11 +69,11 @@
if (this.readOnly) {
//creates a new read-only FactPatternWidget
- FactPatternWidget factPatternWidget = new FactPatternWidget(modeller, fact, false, true);
+ FactPatternWidget factPatternWidget = new FactPatternWidget(this.getModeller(), fact, false, true);
this.layout.setWidget(r,
0, factPatternWidget);
} else {
- FactPatternWidget factPatternWidget = new FactPatternWidget(modeller, fact, true);
+ FactPatternWidget factPatternWidget = new FactPatternWidget(this.getModeller(), fact, true);
this.layout.setWidget(r,
0,
addRemoveButton(factPatternWidget, new ClickListener() {
@@ -82,7 +81,7 @@
public void onClick(Widget w) {
if (Window.confirm(constants.RemoveThisEntireConditionQ())) {
pattern.setFactPattern(null);
- modeller.refreshWidget();
+ getModeller().refreshWidget();
}
}
}));
@@ -118,7 +117,7 @@
panel.setWidget(r, 0, new HTML(lbl));
- panel.setWidget(r, 1, new ExpressionBuilder(modeller, this.pattern.getExpression(), this.readOnly));
+ panel.setWidget(r, 1, new ExpressionBuilder(this.getModeller(), this.pattern.getExpression(), this.readOnly));
return panel;
@@ -128,7 +127,7 @@
* Pops up the fact selector.
*/
protected void showFactTypeSelector(final Widget w) {
- SuggestionCompletionEngine completions = modeller.getSuggestionCompletions();
+ SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
final ListBox box = new ListBox();
String[] facts = completions.getFactTypes();
@@ -148,7 +147,7 @@
public void onChange(Widget w) {
pattern.setFactPattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
- modeller.refreshWidget();
+ getModeller().refreshWidget();
popup.hide();
}
});
@@ -180,7 +179,7 @@
protected void calculateReadOnly() {
if (this.pattern.factPattern != null) {
- this.readOnly = !modeller.getSuggestionCompletions().containsFactType(this.pattern.factPattern.factType);
+ this.readOnly = !this.getModeller().getSuggestionCompletions().containsFactType(this.pattern.factPattern.factType);
}
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/GlobalCollectionAddWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/GlobalCollectionAddWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/GlobalCollectionAddWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -49,6 +49,8 @@
public GlobalCollectionAddWidget(RuleModeller modeller, ActionGlobalCollectionAdd action,
Boolean readOnly) {
+ super(modeller);
+
if (readOnly == null) {
this.readOnly = !modeller.getSuggestionCompletions().containsFactType(modeller.getModel().getBoundFact(action.factName).factType);
} else {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -62,7 +62,7 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.rpc.SerializationException;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
@@ -80,6 +80,14 @@
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.ExtElement;
import com.gwtext.client.util.Format;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Set;
+import org.drools.guvnor.client.common.LoadingPopup;
+import org.drools.guvnor.client.packages.WorkingSetManager;
+import org.drools.guvnor.client.rpc.AnalysisReport;
+import org.drools.guvnor.client.rpc.AnalysisReportLine;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
/**
* This is the parent widget that contains the model based rule builder.
@@ -95,12 +103,14 @@
private boolean showingOptions = false;
private int currentLayoutRow = 0;
private String packageName;
+ private RuleAsset asset;
public RuleModeller(RuleAsset asset, RuleViewer viewer) {
this(asset);
}
public RuleModeller(RuleAsset asset) {
+ this.asset = asset;
this.model = (RuleModel) asset.content;
this.packageName = asset.metaData.packageName;
@@ -989,7 +999,7 @@
vert.add(spacerWidget());
- layout.setHTML(currentLayoutRow, 0, "<div class='x-form-field'>" + (i + 1) + ".</div>");
+ layout.setWidget(currentLayoutRow, 0, this.wrapLineNumber(i+1, true));
layout.getFlexCellFormatter().setHorizontalAlignment(currentLayoutRow, 0, HasHorizontalAlignment.ALIGN_CENTER);
layout.getFlexCellFormatter().setVerticalAlignment(currentLayoutRow, 0, HasVerticalAlignment.ALIGN_MIDDLE);
@@ -1069,6 +1079,48 @@
return horiz;
}
+ private Widget wrapLineNumber(int number, boolean isLHSLine){
+ String id = "rhsLine";
+ if (isLHSLine){
+ id="lhsLine";
+ }
+ id+=number;
+
+ DirtyableHorizontalPane horiz = new DirtyableHorizontalPane();
+ horiz.add(new HTML("<div class='x-form-field' id='"+id+"'>" + number + ".</div>"));
+
+ return horiz;
+ }
+
+ private void addLineIcon(int row, String img, String title){
+ Widget widget = layout.getWidget(row, 0);
+ if (widget instanceof DirtyableHorizontalPane){
+ DirtyableHorizontalPane horiz = (DirtyableHorizontalPane)widget;
+ final Image icon = new ImageButton(img);
+ icon.setTitle(title);
+ horiz.add(icon);
+ }
+ }
+
+ private void clearLineIcons(int row){
+ if (layout.getCellCount(row)<=0){
+ return;
+ }
+ Widget widget = layout.getWidget(row, 0);
+ if (widget instanceof DirtyableHorizontalPane){
+ DirtyableHorizontalPane horiz = (DirtyableHorizontalPane)widget;
+ while (horiz.getWidgetCount() > 1){
+ horiz.remove(horiz.getWidgetCount()-1);
+ }
+ }
+ }
+
+ private void clearLinesIcons(){
+ for (int i = 0; i < layout.getRowCount(); i++) {
+ this.clearLineIcons(i);
+ }
+ }
+
private void addActionsButtonsToLayout(String title, ClickListener addBelowListener, ClickListener moveDownListener, ClickListener moveUpListener) {
DirtyableHorizontalPane hp = new DirtyableHorizontalPane();
@@ -1138,4 +1190,51 @@
public SuggestionCompletionEngine getSuggestionCompletions() {
return SuggestionCompletionCache.getInstance().getEngineFromCache(packageName);
}
+
+
+ private List<AnalysisReportLine> errors;
+ private List<AnalysisReportLine> warnings;
+
+ private void showWarningsAndErrors(){
+ this.clearLinesIcons();
+ if (this.warnings != null){
+ for (AnalysisReportLine warning : this.warnings) {
+ if (warning.patternOrderNumber != null){
+ this.addLineIcon(warning.patternOrderNumber+1, "images/warning.gif", warning.description);
+ }
+ }
+ }
+ if (this.errors != null){
+ for (AnalysisReportLine error : this.errors) {
+ if (error.patternOrderNumber != null){
+ this.addLineIcon(error.patternOrderNumber+1, "images/error.gif", error.description);
+ }
+ }
+ }
+ }
+
+ public void verifyRule(){
+// LoadingPopup.showMessage( constants.VerifyingItemPleaseWait() );
+// Set<String> activeWorkingSets = WorkingSetManager.getInstance().getActiveAssetUUIDs(asset.metaData.packageName);
+// RepositoryServiceFactory.getService().verifyAssetWithoutVerifiersRules( this.asset, activeWorkingSets,
+// new AsyncCallback<AnalysisReport>() {
+//
+// public void onSuccess(AnalysisReport report) {
+// LoadingPopup.close();
+// errors = new ArrayList<AnalysisReportLine>();
+// warnings = new ArrayList<AnalysisReportLine>();
+//
+// errors = Arrays.asList(report.errors);
+// warnings = Arrays.asList(report.warnings);
+//
+// showWarningsAndErrors();
+// }
+//
+// public void onFailure(Throwable arg0) {
+// // TODO Auto-generated method stub
+//
+// }
+// } );
+
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerWidget.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerWidget.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -8,6 +8,12 @@
*/
public abstract class RuleModellerWidget extends DirtyableComposite {
+ private RuleModeller modeller;
+
+ public RuleModellerWidget(RuleModeller modeller) {
+ this.modeller = modeller;
+ }
+
/**
* Dictates if the widget's state is RO or not. Sometimes RuleModeller will
* force this state (i.e. when lockLHS() or lockRHS()), but some other times,
@@ -15,4 +21,8 @@
* @return
*/
public abstract boolean isReadOnly();
+
+ public RuleModeller getModeller() {
+ return modeller;
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/AnalysisReportLine.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/AnalysisReportLine.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/AnalysisReportLine.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -13,6 +13,7 @@
public String description;
public String reason;
+ public Integer patternOrderNumber;
public Cause[] causes;
public Map<String, String> impactedRules;
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryService.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -575,4 +575,6 @@
String secondSnapshotName);
public AnalysisReport verifyAsset(RuleAsset asset, Set<String> activeWorkingSets) throws SerializableException;
+
+ public AnalysisReport verifyAssetWithoutVerifiersRules(RuleAsset asset, Set<String> activeWorkingSets) throws SerializableException;
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/RepositoryServiceAsync.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -114,4 +114,5 @@
void unLockAsset(java.lang.String uuid, com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Void> arg2);
void updateUserPermissions(java.lang.String userName, java.util.Map<java.lang.String, java.util.List<java.lang.String>> perms, com.google.gwt.user.client.rpc.AsyncCallback<java.lang.Void> arg3);
void verifyAsset(org.drools.guvnor.client.rpc.RuleAsset asset, java.util.Set<String> sactiveWorkingSets, com.google.gwt.user.client.rpc.AsyncCallback<org.drools.guvnor.client.rpc.AnalysisReport> arg2);
+ void verifyAssetWithoutVerifiersRules(org.drools.guvnor.client.rpc.RuleAsset asset, java.util.Set<String> sactiveWorkingSets, com.google.gwt.user.client.rpc.AsyncCallback<org.drools.guvnor.client.rpc.AnalysisReport> arg2);
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/RepositoryServiceServlet.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -347,6 +347,10 @@
return getService().verifyAsset( asset, activeWorkingSets );
}
+ public AnalysisReport verifyAssetWithoutVerifiersRules(RuleAsset asset, Set<String> activeWorkingSets) throws SerializableException{
+ return getService().verifyAssetWithoutVerifiersRules(asset, activeWorkingSets);
+ }
+
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -2830,6 +2830,16 @@
@WebRemote
@Restrict("#{identity.loggedIn}")
public AnalysisReport verifyAsset(RuleAsset asset, Set<String> activeWorkingSets) throws SerializableException {
+ return this.performAssetVerification(asset, true, activeWorkingSets);
+ }
+
+ @WebRemote
+ @Restrict("#{identity.loggedIn}")
+ public AnalysisReport verifyAssetWithoutVerifiersRules(RuleAsset asset, Set<String> activeWorkingSets) throws SerializableException {
+ return this.performAssetVerification(asset, false, activeWorkingSets);
+ }
+
+ private AnalysisReport performAssetVerification(RuleAsset asset, boolean useVerifierDefaultConfig, Set<String> activeWorkingSets) throws SerializableException{
if (Contexts.isSessionContextActive()) {
Identity.instance().checkPermission(new PackageNameType(asset.metaData.packageName),
RoleTypes.PACKAGE_DEVELOPER);
@@ -2839,8 +2849,10 @@
+ getDroolsHeader(repository.loadPackage(asset.metaData.packageName)) + "\n"
+ this.buildAssetSource(asset);
- VerifierRunner runner = new VerifierRunner();
+ VerifierRunner runner = new VerifierRunner();
+ runner.setUseDefaultConfig(useVerifierDefaultConfig);
+
RuleAsset[] workingSets = loadRuleAssets(activeWorkingSets);
List<String> constraintRules = new LinkedList<String>();
if (workingSets != null) {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierReportCreator.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierReportCreator.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierReportCreator.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -14,6 +14,8 @@
import org.drools.guvnor.client.rpc.Cause;
import org.drools.verifier.components.Field;
import org.drools.verifier.components.ObjectType;
+import org.drools.verifier.components.PatternComponent;
+import org.drools.verifier.components.Restriction;
import org.drools.verifier.components.VerifierComponentType;
import org.drools.verifier.components.VerifierRule;
import org.drools.verifier.data.VerifierData;
@@ -90,6 +92,9 @@
line.description = message.getMessage();
if ( message.getFaulty() != null ) {
line.reason = message.getFaulty().toString();
+ if (message.getFaulty() instanceof PatternComponent){
+ line.patternOrderNumber = ((PatternComponent)message.getFaulty()).getPatternOrderNumber();
+ }
}
line.impactedRules = message.getImpactedRules();
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierRunner.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierRunner.java 2010-04-05 14:21:17 UTC (rev 32411)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/VerifierRunner.java 2010-04-05 14:23:51 UTC (rev 32412)
@@ -17,6 +17,7 @@
import org.drools.verifier.DefaultVerifierConfiguration;
import org.drools.verifier.Verifier;
import org.drools.verifier.VerifierConfiguration;
+import org.drools.verifier.VerifierConfigurationImpl;
import org.drools.verifier.builder.VerifierBuilderFactory;
import org.drools.verifier.data.VerifierReport;
@@ -24,6 +25,7 @@
private Verifier verifier;
private PackageItem packageItem;
+ private boolean useDefaultConfig = true;
public AnalysisReport verify(String drl, String scope) {
return verify(drl, scope, null);
@@ -73,6 +75,12 @@
private void initVerifier(String scope, Collection<String> additionalVerifierRules) {
VerifierConfiguration conf = new DefaultVerifierConfiguration();
+ if(useDefaultConfig){
+ conf = new DefaultVerifierConfiguration();
+ }else{
+ conf = new VerifierConfigurationImpl();
+ }
+
conf.getVerifyingScopes().clear();
conf.getVerifyingScopes().add( scope );
conf.setAcceptRulesWithoutVerifiyingScope( true );
@@ -125,4 +133,14 @@
}
}
+ public boolean isUseDefaultConfig() {
+ return useDefaultConfig;
+ }
+
+ public void setUseDefaultConfig(boolean useDefaultConfig) {
+ this.useDefaultConfig = useDefaultConfig;
+ }
+
+
+
}
More information about the jboss-svn-commits
mailing list