private ConditionCol52 makeNewConditionColumn(final AvailableField f) { final GuidedDecisionTable52.TableFormat format = presenter.getTableFormat(); if (format == GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY) { final ConditionCol52 c = new ConditionCol52(); c.setFactField(f.getName()); c.setFieldType(f.getType()); c.setConstraintValueType(f.getCalculationType()); return c; } else { final LimitedEntryConditionCol52 c = new LimitedEntryConditionCol52(); c.setFactField(f.getName()); c.setFieldType(f.getType()); c.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); return c; } }
private ConditionCol52 makeNewConditionColumn(final AvailableField f) { final GuidedDecisionTable52.TableFormat format = presenter.getTableFormat(); if (format == GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY) { final ConditionCol52 c = new ConditionCol52(); c.setFactField(f.getName()); c.setFieldType(f.getType()); c.setConstraintValueType(f.getCalculationType()); return c; } else { final LimitedEntryConditionCol52 c = new LimitedEntryConditionCol52(); c.setFactField(f.getName()); c.setFieldType(f.getType()); c.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); return c; } }
public LimitedGuidedDecisionTableBuilder withIntegerColumn(final String boundName, final String factType, final String field, final String operator, final int value) { final Pattern52 pattern = findPattern(boundName, factType); final LimitedEntryConditionCol52 condition = new LimitedEntryConditionCol52(); condition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); condition.setFieldType(DataType.TYPE_NUMERIC_INTEGER); condition.setFactField(field); condition.setHeader("Some header"); condition.setOperator(operator); condition.setValue( new DTCellValue52() { { setNumericValue(new Integer(value)); } }); pattern.getChildColumns().add(condition); addPattern(pattern); return this; }
public LimitedGuidedDecisionTableBuilder withIntegerColumn(final String boundName, final String factType, final String field, final String operator, final int value) { final Pattern52 pattern = findPattern(boundName, factType); final LimitedEntryConditionCol52 condition = new LimitedEntryConditionCol52(); condition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); condition.setFieldType(DataType.TYPE_NUMERIC_INTEGER); condition.setFactField(field); condition.setHeader("Some header"); condition.setOperator(operator); condition.setValue( new DTCellValue52() { { setNumericValue(new Integer(value)); } }); pattern.getChildColumns().add(condition); addPattern(pattern); return this; }
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age"); cc3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc3.setFieldType(DataType.TYPE_DATE); cc3.setFactField("dateOfBirth");
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age"); cc3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc3.setFieldType(DataType.TYPE_DATE); cc3.setFactField("dateOfBirth");
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age"); cc3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc3.setFieldType(DataType.TYPE_DATE); cc3.setFactField("dateOfBirth");
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age"); cc3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc3.setFieldType(DataType.TYPE_DATE); cc3.setFactField("dateOfBirth");
c1.setFactField("name"); c1.setOperator("=="); c1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); c1.setValue(new DTCellValue52("Mike")); p1.getChildColumns().add(c1); c2.setFactField("age"); c2.setOperator("=="); c2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); c1.setValue(new DTCellValue52(25)); p2.getChildColumns().add(c2);
@Test public void testLimitedEntryConditionsNoConstraints() { GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setTableFormat(GuidedDecisionTable52.TableFormat.LIMITED_ENTRY); dt.setTableName("limited-entry"); Pattern52 p1 = new Pattern52(); p1.setBoundName("p1"); p1.setFactType("Smurf"); dt.getConditions().add(p1); // This is a hack consistent with how the Expanded Form decision table // works. I wouldn't be too surprised if this changes at some time, but // GuidedDTDRLPersistence.marshal does not support empty patterns at // present. LimitedEntryConditionCol52 cc1 = new LimitedEntryConditionCol52(); cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setValue(new DTCellValue52("y")); p1.getChildColumns().add(cc1); dt.setData(DataUtilities.makeDataLists(new Object[][]{ new Object[]{1l, "desc", true}, new Object[]{2l, "desc", false} })); GuidedDTDRLPersistence p = GuidedDTDRLPersistence.getInstance(); String drl = p.marshal(dt); int index = -1; index = drl.indexOf("Smurf( )"); assertTrue(index > -1); index = drl.indexOf("Smurf( )", index + 1); assertFalse(index > -1); }
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_STRING); cc2.setFactField("name"); cc3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc3.setFieldType(DataType.TYPE_STRING); cc3.setFactField("colour");
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age");
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc2.setFieldType(DataType.TYPE_NUMERIC_INTEGER); cc2.setFactField("age");
@Test public void testLimitedEntryConditionsConstraints1() { GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setTableFormat(GuidedDecisionTable52.TableFormat.LIMITED_ENTRY); dt.setTableName("limited-entry"); Pattern52 p1 = new Pattern52(); p1.setBoundName("p1"); p1.setFactType("Smurf"); dt.getConditions().add(p1); LimitedEntryConditionCol52 cc1 = new LimitedEntryConditionCol52(); cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_STRING); cc1.setFactField("name"); cc1.setOperator("=="); cc1.setValue(new DTCellValue52("Pupa")); p1.getChildColumns().add(cc1); dt.setData(DataUtilities.makeDataLists(new Object[][]{ new Object[]{1l, "desc", true}, new Object[]{2l, "desc", false} })); GuidedDTDRLPersistence p = GuidedDTDRLPersistence.getInstance(); String drl = p.marshal(dt); int index = -1; index = drl.indexOf("Smurf( name == \"Pupa\" )"); assertTrue(index > -1); index = drl.indexOf("Smurf( name == \"Pupa\" )", index + 1); assertFalse(index > -1); }
cc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); cc1.setFieldType(DataType.TYPE_BOOLEAN); cc1.setFactField("isSmurf");