use of org.drools.template.parser.DataListener in project drools-wb by kiegroup.
the class GuidedDecisionTableGeneratorListenerTest method testSequentialSalience.
@Test
public void testSequentialSalience() {
final ConversionResult result = new ConversionResult();
final List<DataListener> listeners = new ArrayList<DataListener>();
final GuidedDecisionTableGeneratorListener listener = new GuidedDecisionTableGeneratorListener(result, dmo);
listeners.add(listener);
// Convert
final ExcelParser parser = new ExcelParser(listeners);
final InputStream is = this.getClass().getResourceAsStream("SequentialSalience.xls");
try {
parser.parseFile(is);
} finally {
try {
is.close();
} catch (IOException ioe) {
fail(ioe.getMessage());
}
}
// Check conversion results
assertEquals(0, result.getMessages().size());
// Check basics
List<GuidedDecisionTable52> dtables = listener.getGuidedDecisionTables();
assertNotNull(dtables);
assertEquals(1, dtables.size());
GuidedDecisionTable52 dtable = dtables.get(0);
assertEquals("SequentialSalienceTest", dtable.getTableName());
assertEquals(GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY, dtable.getTableFormat());
// Check expanded columns
List<BaseColumn> columns = dtable.getExpandedColumns();
assertNotNull(columns);
assertEquals(3, columns.size());
assertTrue(columns.get(0) instanceof RowNumberCol52);
assertTrue(columns.get(1) instanceof DescriptionCol52);
assertTrue(columns.get(2) instanceof AttributeCol52);
// Check attribute column
AttributeCol52 attrCol2 = ((AttributeCol52) columns.get(2));
assertEquals(GuidedDecisionTable52.SALIENCE_ATTR, attrCol2.getAttribute());
assertTrue(attrCol2.isUseRowNumber());
assertTrue(attrCol2.isReverseOrder());
// Check data
assertEquals(2, dtable.getData().size());
assertTrue(isRowEquivalent(new Object[] { 1, "Rule 1", 2 }, dtable.getData().get(0)));
assertTrue(isRowEquivalent(new Object[] { 2, "Rule 2", 1 }, dtable.getData().get(1)));
}
use of org.drools.template.parser.DataListener in project drools-wb by kiegroup.
the class GuidedDecisionTableGeneratorListenerTest method testMetadata.
@Test
public void testMetadata() {
final ConversionResult result = new ConversionResult();
final List<DataListener> listeners = new ArrayList<DataListener>();
final GuidedDecisionTableGeneratorListener listener = new GuidedDecisionTableGeneratorListener(result, dmo);
listeners.add(listener);
// Convert
final ExcelParser parser = new ExcelParser(listeners);
final InputStream is = this.getClass().getResourceAsStream("Metadata.xls");
try {
parser.parseFile(is);
} finally {
try {
is.close();
} catch (IOException ioe) {
fail(ioe.getMessage());
}
}
// Check conversion results
assertEquals(0, result.getMessages().size());
// Check basics
List<GuidedDecisionTable52> dtables = listener.getGuidedDecisionTables();
assertNotNull(dtables);
assertEquals(1, dtables.size());
GuidedDecisionTable52 dtable = dtables.get(0);
assertEquals("MetadataTest", dtable.getTableName());
assertEquals(GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY, dtable.getTableFormat());
// Check expanded columns
List<BaseColumn> columns = dtable.getExpandedColumns();
assertNotNull(columns);
assertEquals(3, columns.size());
assertTrue(columns.get(0) instanceof RowNumberCol52);
assertTrue(columns.get(1) instanceof DescriptionCol52);
assertTrue(columns.get(2) instanceof MetadataCol52);
// Check metadata column
MetadataCol52 mdCol2 = ((MetadataCol52) columns.get(2));
assertEquals("cheese", mdCol2.getMetadata());
// Check data
assertEquals(2, dtable.getData().size());
assertTrue(isRowEquivalent(new Object[] { 1, "Rule 1", "cheddar" }, dtable.getData().get(0)));
assertTrue(isRowEquivalent(new Object[] { 2, "Rule 2", "edam" }, dtable.getData().get(1)));
}
use of org.drools.template.parser.DataListener in project drools-wb by kiegroup.
the class GuidedDecisionTableGeneratorListenerTest method conversionWithBigDecimals.
@Test
public // https://issues.jboss.org/browse/RHBPMS-4737
void conversionWithBigDecimals() {
final ConversionResult result = new ConversionResult();
final List<DataListener> listeners = new ArrayList<>();
addModelField("org.test.Message", "this", "org.test.Message", DataType.TYPE_THIS);
addModelField("org.test.Message", "status", String.class.getName(), DataType.TYPE_STRING);
addModelField("org.test.Message", "message", String.class.getName(), DataType.TYPE_STRING);
addModelField("org.test.Message", "rate", BigDecimal.class.getName(), DataType.TYPE_NUMERIC_BIGDECIMAL);
addModelField("org.test.Reply", "this", "org.test.Reply", DataType.TYPE_THIS);
addModelField("org.test.Reply", "message", String.class.getName(), DataType.TYPE_STRING);
final GuidedDecisionTableGeneratorListener listener = new GuidedDecisionTableGeneratorListener(result, dmo);
listeners.add(listener);
// Convert
final ExcelParser parser = new ExcelParser(listeners);
final InputStream is = this.getClass().getResourceAsStream("RHBPMS-4737 (BigDecimal).xlsx");
try {
parser.parseFile(is);
} finally {
try {
is.close();
} catch (IOException ioe) {
fail(ioe.getMessage());
}
}
checkConversionWithBigMaths(result, listener, () -> DataType.TYPE_NUMERIC_BIGDECIMAL, () -> new BigDecimal("10.00"), () -> new BigDecimal("20.00"));
}
use of org.drools.template.parser.DataListener in project drools-wb by kiegroup.
the class DecisionTableXLSToDecisionTableGuidedConverter method parseAssets.
private GuidedDecisionTableGeneratorListener parseAssets(final Path path, final ConversionResult result, final PackageDataModelOracle dmo) {
final List<DataListener> listeners = new ArrayList<DataListener>();
final GuidedDecisionTableGeneratorListener listener = new GuidedDecisionTableGeneratorListener(result, dmo);
listeners.add(listener);
final ExcelParser parser = new ExcelParser(listeners);
final InputStream stream = ioService.newInputStream(Paths.convert(path));
try {
parser.parseFile(stream);
} finally {
try {
stream.close();
} catch (IOException ioe) {
result.addMessage(ioe.getMessage(), ConversionMessageType.ERROR);
}
}
return listener;
}
Aggregations