TemplateDataCellFactory extends AbstractCellFactory<TemplateDataColumn> { public DecoratedGridCellValueAdaptor<? extends Comparable<?>> getCell(TemplateDataColumn column) { if (column.getDataType().equals(TemplateModel.DEFAULT_TYPE)) { return makeTextCellWrapper(); } final String dataType = column.getDataType(); if (oracle.hasEnums(column.getFactType(), column.getFactField())) { return makeSelectionEnumCell(column.getFactType(), column.getFactField(), column.getOperator(), dataType); } else if (OperatorsOracle.operatorRequiresList(column.getOperator())) { return makeTextCellWrapper(); } else { if (column.getDataType().equals(DataType.TYPE_BOOLEAN)) { return makeBooleanCell(); } else if (column.getDataType().equals(DataType.TYPE_DATE)) { return makeDateCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC)) { return makeNumericCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_BIGDECIMAL)) { return makeNumericBigDecimalCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_BIGINTEGER)) { return makeNumericBigIntegerCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_BYTE)) { return makeNumericByteCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_DOUBLE)) { return makeNumericDoubleCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_FLOAT)) { return makeNumericFloatCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_INTEGER)) { return makeNumericIntegerCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_LONG)) { return makeNumericLongCell(); } else if (dataType.equals(DataType.TYPE_NUMERIC_SHORT)) { return makeNumericShortCell(); } else { return makeTextCellWrapper(); } } } TemplateDataCellFactory(AsyncPackageDataModelOracle oracle,
                                   TemplateDropDownManager dropDownManager,
                                   boolean isReadOnly,
                                   EventBus eventBus); DecoratedGridCellValueAdaptor<? extends Comparable<?>> getCell(TemplateDataColumn column);  }
@Test public void testGetCell() throws Exception { final String factType = "org.kiegroup.Car"; final String factField = "color"; final String dataType = DataType.DataTypes.STRING.name(); doReturn(factType).when(column).getFactType(); doReturn(factField).when(column).getFactField(); doReturn(dataType).when(column).getDataType(); doReturn("==").when(column).getOperator(); testedFactory.getCell(column); verify(testedFactory, never()).makeSelectionEnumCell(factType, factField, "==", dataType); verify(testedFactory).makeTextCellWrapper(); }