Skip to content

Commit

Permalink
DROOLS-3432 : While using the same template key with difference objec…
Browse files Browse the repository at this point in the history
…ts/attributes causes an exception when switching to the Data tab in a Guided Rule Template
  • Loading branch information
Rikkola committed May 7, 2019
1 parent 14da595 commit 8a55384
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Date;

import com.google.gwt.event.shared.EventBus;
import org.drools.workbench.models.guided.template.shared.TemplateModel;
import org.kie.soup.project.datamodel.oracle.DataType;
import org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle;
import org.kie.workbench.common.widgets.decoratedgrid.client.widget.AbstractCellFactory;
Expand Down Expand Up @@ -63,6 +64,10 @@ public TemplateDataCellFactory(AsyncPackageDataModelOracle oracle,
*/
public DecoratedGridCellValueAdaptor<? extends Comparable<?>> getCell(TemplateDataColumn column) {

if(column.getDataType().equals(TemplateModel.DEFAULT_TYPE)){
return makeTextCell();
}

//Check if the column has an enumeration
final String dataType = column.getDataType();
if (oracle.hasEnums(column.getFactType(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwtmockito.GwtMockitoTestRunner;
import com.google.gwtmockito.WithClassesToStub;
import org.drools.workbench.models.guided.template.shared.TemplateModel;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.kie.soup.project.datamodel.oracle.DataType;
import org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle;
import org.mockito.Mock;

import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
Expand Down Expand Up @@ -89,4 +91,21 @@ public void testGetCellWhenEnumPresent() throws Exception {

verify(testedFactory).makeSelectionEnumCell(factType, factField, "==", dataType);
}

@Test
public void testDoNotGetCellWhenEnumPresentIfDataTypeIsDefault() throws Exception {
final String factType = "org.kiegroup.Car";
final String factField = "color";
final String dataType = TemplateModel.DEFAULT_TYPE;

doReturn(true).when(oracle).hasEnums(factType, factField);
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(anyString(), anyString(), anyString(), anyString());
}
}

0 comments on commit 8a55384

Please sign in to comment.