Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add generic V&V reporting #1342

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,18 @@

package org.drools.workbench.services.verifier.plugin.client;

import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;

import com.google.gwt.i18n.client.DateTimeFormat;
import org.drools.verifier.core.checks.base.CheckRunner;
import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.configuration.DateTimeFormatProvider;
import org.drools.verifier.core.index.Index;
import org.drools.verifier.core.index.keys.UUIDKeyProvider;
import org.drools.verifier.core.index.model.Action;
import org.drools.verifier.core.index.model.Condition;
import org.drools.verifier.core.main.Analyzer;
import org.drools.verifier.core.main.Reporter;
import org.drools.workbench.services.verifier.plugin.client.api.DrlInitialize;
Expand Down Expand Up @@ -98,6 +102,8 @@ protected String newUUID() {
},
CheckConfigurationProvider.get(initialize.getModel()
.getHitPolicy()),
new HashSet<>(Arrays.asList(Condition.keyDefinitions())),
new HashSet<>(Arrays.asList(Action.keyDefinitions())),
checkRunner);
}
return configuration;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.index.Index;
import org.drools.verifier.core.index.model.Column;
import org.drools.verifier.core.index.model.ColumnType;
import org.drools.verifier.core.index.model.Rule;
import org.drools.verifier.core.main.Analyzer;
import org.drools.verifier.core.util.PortablePreconditions;
Expand Down Expand Up @@ -136,6 +137,7 @@ public void newColumn(final GuidedDecisionTable52 model,
final Column column = builderFactory
.getColumnBuilder()
.with(columnIndex)
.with(ColumnType.LHS)
.build();

analyzer.newColumn(column);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,6 @@ public Action build() throws
private Action addInsertFactAction(final ActionInsertFactCol52 actionCol) throws
BuildException {

builderFactory.getPatternResolver()
.with(rule)
.with(columnIndex)
.resolve();

return addAction(actionCol,
row.get(columnIndex));
}
Expand Down Expand Up @@ -189,8 +184,7 @@ private Action addAction(final ActionCol52 actionCol,
return action;
}

private Field resolveField(final ActionCol52 actionCol) throws
BuildException {
private Field resolveField(final ActionCol52 actionCol) {
return builderFactory.getFieldResolver()
.with(rule)
.with(actionCol)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ public PatternResolver getPatternResolver() {

public FieldResolver getFieldResolver() {
return new FieldResolver(this,
headerMetaData,
configuration);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@

import org.drools.verifier.core.index.model.Action;
import org.drools.verifier.core.index.model.Condition;
import org.drools.verifier.core.index.model.Pattern;
import org.drools.verifier.core.index.model.Rule;
import org.drools.verifier.core.index.model.meta.ConditionMaster;
import org.drools.workbench.models.guided.dtable.shared.model.ActionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.BRLConditionVariableColumn;
import org.drools.workbench.models.guided.dtable.shared.model.BaseColumn;
Expand Down Expand Up @@ -82,7 +82,7 @@ public void build() throws
}
}

private Pattern resolvePattern(final Rule rule) {
private ConditionMaster resolvePattern(final Rule rule) {
return builderFactory.getPatternResolver()
.with(rule)
.with(columnIndex)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@

import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.index.model.Column;
import org.drools.verifier.core.index.model.ColumnType;
import org.kie.soup.commons.validation.PortablePreconditions;

public class ColumnBuilder {

private final AnalyzerConfiguration configuration;

private int columnIndex;
private ColumnType columnType;

public ColumnBuilder(final AnalyzerConfiguration configuration) {
this.configuration = PortablePreconditions.checkNotNull("configuration",
Expand All @@ -32,9 +34,14 @@ public ColumnBuilder(final AnalyzerConfiguration configuration) {

public Column build() {
return new Column(columnIndex,
columnType,
configuration);
}

public ColumnBuilder with(final ColumnType columnType) {
this.columnType = columnType;
return this;
}
public ColumnBuilder with(final int columnIndex) {
this.columnIndex = columnIndex;
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import java.util.List;

import org.drools.verifier.core.index.model.Condition;
import org.drools.verifier.core.index.model.Pattern;
import org.drools.verifier.core.index.model.Rule;
import org.drools.verifier.core.index.model.meta.ConditionMaster;
import org.drools.workbench.models.guided.dtable.shared.model.BRLConditionVariableColumn;
import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
Expand Down Expand Up @@ -83,7 +83,7 @@ public Condition build() throws
PortablePreconditions.checkNotNull("rule",
rule);

final Pattern pattern = builderFactory.getPatternResolver()
final ConditionMaster pattern = builderFactory.getPatternResolver()
.with(rule)
.with(columnIndex)
.resolve();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.drools.verifier.core.index.model.Condition;
import org.drools.verifier.core.index.model.Field;
import org.drools.verifier.core.index.model.FieldCondition;
import org.drools.verifier.core.index.model.Pattern;
import org.drools.verifier.core.index.model.meta.ConditionMaster;
import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import org.drools.workbench.services.verifier.plugin.client.util.NullEqualityOperator;
Expand All @@ -36,7 +36,7 @@ public class FieldConditionBuilder {
private final Index index;
private final VerifierColumnUtilities utils;
private final AnalyzerConfiguration configuration;
private Pattern pattern;
private ConditionMaster pattern;
private ConditionCol52 conditionCol52;
private DTCellValue52 realCellValue;
private int columnIndex;
Expand Down Expand Up @@ -160,7 +160,7 @@ private Column getColumn() throws
}
}

public FieldConditionBuilder with(final Pattern pattern) {
public FieldConditionBuilder with(final ConditionMaster pattern) {
this.pattern = pattern;
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,36 +20,33 @@
import org.drools.verifier.core.index.model.Field;
import org.drools.verifier.core.index.model.Pattern;
import org.drools.verifier.core.index.model.Rule;
import org.drools.verifier.core.index.model.meta.ConditionMaster;
import org.drools.verifier.core.index.model.meta.ConditionParent;
import org.drools.workbench.models.guided.dtable.shared.model.ActionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52;
import org.drools.workbench.models.guided.dtable.shared.model.BaseColumn;
import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52;
import org.drools.workbench.services.verifier.plugin.client.api.HeaderMetaData;
import org.kie.soup.commons.validation.PortablePreconditions;

public class FieldResolver {

private final BuilderFactory builderFactory;
private final HeaderMetaData headerMetaData;
private final AnalyzerConfiguration configuration;
private BaseColumn baseColumn;
private Rule rule;
private Pattern pattern;
private ConditionMaster pattern;
private int columnIndex;

public FieldResolver(final BuilderFactory builderFactory,
final HeaderMetaData headerMetaData,
final AnalyzerConfiguration configuration) {
this.builderFactory = PortablePreconditions.checkNotNull("builderFactory",
builderFactory);
this.headerMetaData = PortablePreconditions.checkNotNull("headerMetaData",
headerMetaData);
this.configuration = PortablePreconditions.checkNotNull("configuration",
configuration);
}

public Field resolveField(final Pattern pattern,
public Field resolveField(final ConditionMaster pattern,
final String fieldType,
final String factField,
final AnalyzerConfiguration configuration) {
Expand All @@ -61,31 +58,30 @@ public Field resolveField(final Pattern pattern,
PortablePreconditions.checkNotNull("factField",
factField);

final Field first = pattern.getFields()
final ConditionParent first = pattern.getConditionParents()
.where(Field.name()
.is(factField))
.select()
.first();

if (first == null) {
final Field field = new Field(Utils.resolveObjectField(pattern.getObjectType(),
final Field field = new Field(Utils.resolveObjectField(((Pattern) pattern).getObjectType(),
fieldType,
factField,
configuration),
pattern.getName(),
fieldType,
factField,
configuration);
pattern.getFields()
pattern.getConditionParents()
.add(field);
return field;
} else {
return first;
return (Field) first;
}
}

public Field resolve() throws
BuildException {
public Field resolve() {
if (rule != null) {
return resolveField(getPattern(),
getType(),
Expand All @@ -99,7 +95,7 @@ public Field resolve() throws
}
}

private Pattern getPattern() {
private ConditionMaster getPattern() {
if (pattern != null) {
return pattern;
} else {
Expand Down Expand Up @@ -153,7 +149,7 @@ public FieldResolver with(final Rule rule) {
return this;
}

public FieldResolver with(final Pattern pattern) {
public FieldResolver with(final ConditionMaster pattern) {
this.pattern = pattern;
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.index.Index;
import org.drools.verifier.core.index.IndexImpl;
import org.drools.verifier.core.index.model.ColumnType;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
import org.drools.workbench.services.verifier.plugin.client.api.HeaderMetaData;
import org.kie.soup.commons.validation.PortablePreconditions;
Expand All @@ -32,7 +33,7 @@ public IndexBuilder(final GuidedDecisionTable52 model,
final HeaderMetaData headerMetaData,
final VerifierColumnUtilities utils,
final AnalyzerConfiguration configuration) {
this.index = new IndexImpl();
this.index = new IndexImpl(configuration);

this.model = PortablePreconditions.checkNotNull("model",
model);
Expand All @@ -59,6 +60,7 @@ private void buildColumns() {
this.index.getColumns()
.add(builderFactory.getColumnBuilder()
.with(columnIndex)
.with(ColumnType.UNKNOWN)
.build());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.drools.verifier.core.index.model.ObjectType;
import org.drools.verifier.core.index.model.Pattern;
import org.drools.verifier.core.index.model.Rule;
import org.drools.verifier.core.index.model.meta.ConditionMaster;
import org.drools.workbench.services.verifier.plugin.client.api.HeaderMetaData;
import org.kie.soup.commons.validation.PortablePreconditions;

Expand Down Expand Up @@ -62,12 +63,12 @@ private ObjectType resolveObjectType(final String factType) {
}
}

public Pattern resolve() {
public ConditionMaster resolve() {

PortablePreconditions.checkNotNull("rule",
rule);

final Pattern pattern = rule.getPatterns()
final ConditionMaster pattern = rule.getPatterns()
.where(Pattern.boundName()
.is(getBoundName()))
.select()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.drools.verifier.core.index.model.Field;
import org.drools.verifier.core.index.model.ObjectField;
import org.drools.verifier.core.index.model.ObjectType;
import org.drools.verifier.core.index.model.meta.ConditionParentType;
import org.drools.verifier.core.relations.Operator;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import org.drools.workbench.models.guided.dtable.shared.model.DTColumnConfig52;
Expand All @@ -44,11 +45,11 @@ public static Optional<String> findOperatorFromCell(final DTCellValue52 realCell
return Optional.empty();
}

public static ObjectField resolveObjectField(final ObjectType objectType,
public static ConditionParentType resolveObjectField(final ObjectType objectType,
final String fieldType,
final String factField,
final AnalyzerConfiguration configuration) {
final ObjectField first = objectType.getFields()
final ConditionParentType first = objectType.getFields()
.where(Field.name()
.is(factField))
.select()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@
*/
package org.drools.workbench.services.verifier.plugin.client.testutil;

import java.util.Arrays;
import java.util.HashSet;

import org.drools.verifier.core.checks.base.JavaCheckRunner;
import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.index.model.Action;
import org.drools.verifier.core.index.model.Condition;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
import org.drools.workbench.services.verifier.plugin.client.CheckConfigurationProvider;

Expand All @@ -32,6 +37,8 @@ public AnalyzerConfigurationMock(GuidedDecisionTable52.HitPolicy hitPolicy) {
new DateTimeFormatProviderMock(),
new UUIDKeyProviderMock(),
CheckConfigurationProvider.get(hitPolicy),
new HashSet<>(Arrays.asList(Condition.keyDefinitions())),
new HashSet<>(Arrays.asList(Action.keyDefinitions())),
new JavaCheckRunner());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,14 @@

package org.drools.workbench.services.verifier.plugin.client.testutil;

import java.util.Arrays;
import java.util.HashSet;

import org.drools.verifier.core.configuration.AnalyzerConfiguration;
import org.drools.verifier.core.configuration.CheckConfiguration;
import org.drools.verifier.core.index.Index;
import org.drools.verifier.core.index.model.Action;
import org.drools.verifier.core.index.model.Condition;
import org.drools.verifier.core.main.Analyzer;
import org.drools.verifier.core.main.Reporter;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
Expand Down Expand Up @@ -66,6 +71,8 @@ protected InnerBuilder getInnerBuilder() {
new DateTimeFormatProviderMock(),
new UUIDKeyProviderMock(),
CheckConfiguration.newDefault(),
new HashSet<>(Arrays.asList(Condition.keyDefinitions())),
new HashSet<>(Arrays.asList(Action.keyDefinitions())),
new GWTCheckRunner()));
}

Expand Down
1 change: 0 additions & 1 deletion drools-wb-webapp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,6 @@
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-verifier-core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.drools</groupId>
Expand Down