use of org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue in project drools-wb by kiegroup.
the class AbstractScesimGridModel method commonAddRow.
protected void commonAddRow(int rowIndex, int columnIndexStart) {
E scesimData = abstractScesimModel.addData(rowIndex);
final ScesimModelDescriptor simulationDescriptor = abstractScesimModel.getScesimModelDescriptor();
IntStream.range(columnIndexStart, getColumnCount()).forEach(columnIndex -> {
final FactMapping factMappingByIndex = simulationDescriptor.getFactMappingByIndex(columnIndex);
scesimData.addMappingValue(factMappingByIndex.getFactIdentifier(), factMappingByIndex.getExpressionIdentifier(), null);
ScenarioGridColumn column = ((ScenarioGridColumn) columns.get(columnIndex));
String placeHolder = ScenarioSimulationUtils.getPlaceHolder(column.isInstanceAssigned(), column.isPropertyAssigned(), factMappingByIndex.getFactMappingValueType(), factMappingByIndex.getClassName());
setCell(rowIndex, columnIndex, () -> {
ScenarioGridCell newCell = new ScenarioGridCell(new ScenarioGridCellValue(null, placeHolder));
if (ScenarioSimulationSharedUtils.isCollectionOrMap((factMappingByIndex.getClassName()))) {
newCell.setListMap(ScenarioSimulationSharedUtils.isList((factMappingByIndex.getClassName())));
}
return newCell;
});
});
}
use of org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue in project drools-wb by kiegroup.
the class AbstractScesimGridModel method updateIndexColumn.
protected void updateIndexColumn() {
final Optional<GridColumn<?>> indexColumn = // Retrieving the column list
this.getColumns().stream().filter(// filtering by group name
gridColumn -> ((ScenarioGridColumn) gridColumn).getInformationHeaderMetaData().getTitle().equals(FactIdentifier.INDEX.getName())).findFirst();
indexColumn.ifPresent(column -> {
int indexOfColumn = getColumns().indexOf(column);
IntStream.range(0, getRowCount()).forEach(rowIndex -> {
String value = String.valueOf(rowIndex + 1);
setCellValue(rowIndex, indexOfColumn, new ScenarioGridCellValue(value));
});
});
}
use of org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue in project drools-wb by kiegroup.
the class ScenarioGridColumnRendererTest method getValueToShow.
@Test
public void getValueToShow() {
ScenarioGridCell cell = new ScenarioGridCell(null);
commonGetValueToShow(cell, true, null, false);
cell = new ScenarioGridCell(new ScenarioGridCellValue(null));
commonGetValueToShow(cell, true, null, false);
cell = new ScenarioGridCell(new ScenarioGridCellValue(MULTIPART_VALUE));
commonGetValueToShow(cell, false, null, false);
cell = new ScenarioGridCell(new ScenarioGridCellValue(LIST_VALUE));
cell.setListMap(true);
commonGetValueToShow(cell, false, LIST_VALUE, true);
cell = new ScenarioGridCell(new ScenarioGridCellValue(MAP_VALUE));
cell.setListMap(false);
commonGetValueToShow(cell, false, MAP_VALUE, false);
cell = new ScenarioGridCell(new ScenarioGridCellValue(EXPRESSION_VALUE));
cell.setListMap(true);
commonGetValueToShow(cell, false, EXPRESSION_VALUE, true);
cell = new ScenarioGridCell(new ScenarioGridCellValue(EXPRESSION_VALUE));
cell.setListMap(false);
commonGetValueToShow(cell, false, EXPRESSION_VALUE, false);
}
use of org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue in project drools-wb by kiegroup.
the class ScenarioGridColumnRendererTest method renderCell.
@Test
public void renderCell() {
GridCell<String> cell = null;
Group retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNull(retrieved);
verify(scenarioGridColumnRenderer, never()).internalRenderCell(any(), eq(contextMock), any(), anyString());
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
cell = new ScenarioGridCell(null);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNull(retrieved);
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
verify(scenarioGridColumnRenderer, never()).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(null));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(null));
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNull(retrieved);
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
verify(scenarioGridColumnRenderer, never()).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(null));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(MULTIPART_VALUE));
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(MULTIPART_VALUE));
reset(scenarioGridColumnRenderer);
ScenarioGridCell scenarioGridCell = new ScenarioGridCell(new ScenarioGridCellValue(MULTIPART_VALUE, PLACEHOLDER));
retrieved = scenarioGridColumnRenderer.renderCell(scenarioGridCell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(MULTIPART_VALUE));
reset(scenarioGridColumnRenderer);
scenarioGridCell = new ScenarioGridCell(new ScenarioGridCellValue(null, PLACEHOLDER));
retrieved = scenarioGridColumnRenderer.renderCell(scenarioGridCell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(placeholderMock), eq(PLACEHOLDER));
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(LIST_VALUE));
((ScenarioGridCell) cell).setListMap(true);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(LIST_VALUE));
verify(scenarioGridColumnRenderer, times(1)).getCollectionString(eq(LIST_VALUE), eq(true));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(MAP_VALUE));
((ScenarioGridCell) cell).setListMap(false);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(MAP_VALUE));
verify(scenarioGridColumnRenderer, times(1)).getCollectionString(eq(MAP_VALUE), eq(false));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(EXPRESSION_VALUE));
((ScenarioGridCell) cell).setListMap(true);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(EXPRESSION_VALUE));
verify(scenarioGridColumnRenderer, times(1)).getCollectionString(eq(EXPRESSION_VALUE), eq(true));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(EXPRESSION_VALUE));
((ScenarioGridCell) cell).setListMap(false);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(textMock), eq(EXPRESSION_VALUE));
verify(scenarioGridColumnRenderer, times(1)).getCollectionString(eq(EXPRESSION_VALUE), eq(false));
reset(scenarioGridColumnRenderer);
cell = new ScenarioGridCell(new ScenarioGridCellValue(MULTIPART_VALUE));
((ScenarioGridCell) cell).setErrorMode(true);
retrieved = scenarioGridColumnRenderer.renderCell(cell, contextMock);
assertNotNull(retrieved);
verify(scenarioGridColumnRenderer, never()).getCollectionString(anyString(), anyBoolean());
verify(scenarioGridColumnRenderer, times(1)).internalRenderCell(any(), eq(contextMock), eq(errorTextMock), eq(MULTIPART_VALUE));
reset(scenarioGridColumnRenderer);
}
use of org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue in project drools-wb by kiegroup.
the class AbstractScesimGridModel method commonAddColumn.
/**
* This method <i>add</i> or <i>insert</i> a new column to the grid <b>and</b> to the underlying model, depending on the index value.
* If index == -1 -> add, otherwise insert.
* @param index
* @param column
* @param ei
*/
protected void commonAddColumn(final int index, final GridColumn<?> column, ExpressionIdentifier ei) {
ScesimModelDescriptor simulationDescriptor = abstractScesimModel.getScesimModelDescriptor();
String instanceTitle = ((ScenarioGridColumn) column).getInformationHeaderMetaData().getTitle();
String propertyTitle = ((ScenarioGridColumn) column).getPropertyHeaderMetaData().getTitle();
final int columnIndex = index == -1 ? getColumnCount() : index;
try {
final FactMapping createdFactMapping = simulationDescriptor.addFactMapping(columnIndex, instanceTitle, ((ScenarioGridColumn) column).getFactIdentifier(), ei);
createdFactMapping.setExpressionAlias(propertyTitle);
if (index == -1) {
// This is actually an append
super.appendColumn(column);
} else {
super.insertColumn(index, column);
}
final Range instanceLimits = getInstanceLimits(columnIndex);
IntStream.range(instanceLimits.getMinRowIndex(), instanceLimits.getMaxRowIndex() + 1).filter(currentIndex -> currentIndex != columnIndex).forEach(currentIndex -> simulationDescriptor.getFactMappingByIndex(currentIndex).setFactAlias(createdFactMapping.getFactAlias()));
} catch (Exception e) {
eventBus.fireEvent(new ScenarioNotificationEvent("Error during column creation: " + e.getMessage(), NotificationEvent.NotificationType.ERROR));
eventBus.fireEvent(new ScenarioGridReloadEvent(getGridWidget()));
return;
}
final List<E> unmodifiableScesimData = abstractScesimModel.getUnmodifiableData();
String placeHolder = ((ScenarioGridColumn) column).getPlaceHolder();
IntStream.range(0, unmodifiableScesimData.size()).forEach(rowIndex -> setCell(rowIndex, columnIndex, () -> new ScenarioGridCell(new ScenarioGridCellValue(null, placeHolder))));
}
Aggregations