use of org.uberfire.ext.wires.core.grids.client.model.GridColumn in project drools-wb by kiegroup.
the class ConditionColumnSynchronizerTest method testMoveColumnsTo_MoveRight_MidPoint.
@Test
public void testMoveColumnsTo_MoveRight_MidPoint() throws VetoException {
final Pattern52 pattern1 = boundApplicantPattern("$a");
final ConditionCol52 column1p1 = ageEqualsCondition();
final ConditionCol52 column2p1 = nameEqualsCondition();
modelSynchronizer.appendColumn(pattern1, column1p1);
modelSynchronizer.appendColumn(pattern1, column2p1);
final Pattern52 pattern2 = boundAddressPattern("$d");
final ConditionCol52 column1p2 = new ConditionCol52();
column1p2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
column1p2.setFactField("state");
column1p2.setOperator("==");
column1p2.setHeader("state");
final ConditionCol52 column2p2 = new ConditionCol52();
column2p2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
column2p2.setFactField("country");
column2p2.setOperator("==");
column2p2.setHeader("country");
modelSynchronizer.appendColumn(pattern2, column1p2);
modelSynchronizer.appendColumn(pattern2, column2p2);
final Pattern52 pattern3 = boundAddressPattern("$d2");
final ConditionCol52 column1p3 = new ConditionCol52();
column1p3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
column1p3.setFactField("state");
column1p3.setOperator("==");
column1p3.setHeader("state");
final ConditionCol52 column2p3 = new ConditionCol52();
column2p3.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
column2p3.setFactField("country");
column2p3.setOperator("==");
column2p3.setHeader("country");
modelSynchronizer.appendColumn(pattern3, column1p3);
modelSynchronizer.appendColumn(pattern3, column2p3);
modelSynchronizer.appendRow();
uiModel.setCellValue(0, 3, new BaseGridCellValue<Integer>(45));
uiModel.setCellValue(0, 4, new BaseGridCellValue<String>("Smurf"));
uiModel.setCellValue(0, 5, new BaseGridCellValue<String>("NY"));
uiModel.setCellValue(0, 6, new BaseGridCellValue<String>("America"));
uiModel.setCellValue(0, 7, new BaseGridCellValue<String>("Essex"));
uiModel.setCellValue(0, 8, new BaseGridCellValue<String>("England"));
assertEquals(3, model.getPatterns().size());
final List<ConditionCol52> conditionColumns1_1p1 = model.getPatterns().get(0).getChildColumns();
assertEquals(column1p1, conditionColumns1_1p1.get(0));
assertEquals(column2p1, conditionColumns1_1p1.get(1));
assertEquals(45, model.getData().get(0).get(3).getNumericValue());
assertEquals("Smurf", model.getData().get(0).get(4).getStringValue());
final List<ConditionCol52> conditionColumns1_1p2 = model.getPatterns().get(1).getChildColumns();
assertEquals(column1p2, conditionColumns1_1p2.get(0));
assertEquals(column2p2, conditionColumns1_1p2.get(1));
assertEquals("NY", model.getData().get(0).get(5).getStringValue());
assertEquals("America", model.getData().get(0).get(6).getStringValue());
final List<ConditionCol52> conditionColumns1_1p3 = model.getPatterns().get(2).getChildColumns();
assertEquals(column1p3, conditionColumns1_1p3.get(0));
assertEquals(column2p3, conditionColumns1_1p3.get(1));
assertEquals("Essex", model.getData().get(0).get(7).getStringValue());
assertEquals("England", model.getData().get(0).get(8).getStringValue());
assertEquals(9, uiModel.getColumns().size());
final GridColumn<?> uiModelColumn1_1 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn2_1 = uiModel.getColumns().get(4);
final GridColumn<?> uiModelColumn3_1 = uiModel.getColumns().get(5);
final GridColumn<?> uiModelColumn4_1 = uiModel.getColumns().get(6);
final GridColumn<?> uiModelColumn5_1 = uiModel.getColumns().get(7);
final GridColumn<?> uiModelColumn6_1 = uiModel.getColumns().get(8);
assertEquals("$a : Applicant", uiModelColumn1_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$a : Applicant", uiModelColumn2_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$d : Address", uiModelColumn3_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$d : Address", uiModelColumn4_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$d2 : Address", uiModelColumn5_1.getHeaderMetaData().get(0).getTitle());
assertEquals("$d2 : Address", uiModelColumn6_1.getHeaderMetaData().get(0).getTitle());
assertTrue(uiModelColumn1_1 instanceof IntegerUiColumn);
assertTrue(uiModelColumn2_1 instanceof StringUiColumn);
assertTrue(uiModelColumn3_1 instanceof StringUiColumn);
assertTrue(uiModelColumn4_1 instanceof StringUiColumn);
assertTrue(uiModelColumn5_1 instanceof StringUiColumn);
assertTrue(uiModelColumn6_1 instanceof StringUiColumn);
assertEquals(3, uiModelColumn1_1.getIndex());
assertEquals(4, uiModelColumn2_1.getIndex());
assertEquals(5, uiModelColumn3_1.getIndex());
assertEquals(6, uiModelColumn4_1.getIndex());
assertEquals(7, uiModelColumn5_1.getIndex());
assertEquals(8, uiModelColumn6_1.getIndex());
assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn1_1.getIndex()).getValue().getValue());
assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn2_1.getIndex()).getValue().getValue());
assertEquals("NY", uiModel.getRow(0).getCells().get(uiModelColumn3_1.getIndex()).getValue().getValue());
assertEquals("America", uiModel.getRow(0).getCells().get(uiModelColumn4_1.getIndex()).getValue().getValue());
assertEquals("Essex", uiModel.getRow(0).getCells().get(uiModelColumn5_1.getIndex()).getValue().getValue());
assertEquals("England", uiModel.getRow(0).getCells().get(uiModelColumn6_1.getIndex()).getValue().getValue());
// The target column index is the right-most of the target pattern. This
// index is provided by wires-grid's at runtime when dragging blocked columns.
uiModel.moveColumnsTo(6, new ArrayList<GridColumn<?>>() {
{
add(uiModelColumn1_1);
add(uiModelColumn2_1);
}
});
assertEquals(3, model.getPatterns().size());
final List<ConditionCol52> conditionColumns1_2p2 = model.getPatterns().get(0).getChildColumns();
assertEquals(column1p2, conditionColumns1_2p2.get(0));
assertEquals(column2p2, conditionColumns1_2p2.get(1));
assertEquals("NY", model.getData().get(0).get(3).getStringValue());
assertEquals("America", model.getData().get(0).get(4).getStringValue());
final List<ConditionCol52> conditionColumns1_2p1 = model.getPatterns().get(1).getChildColumns();
assertEquals(column1p1, conditionColumns1_2p1.get(0));
assertEquals(column2p1, conditionColumns1_2p1.get(1));
assertEquals(45, model.getData().get(0).get(5).getNumericValue());
assertEquals("Smurf", model.getData().get(0).get(6).getStringValue());
final List<ConditionCol52> conditionColumns1_2p3 = model.getPatterns().get(2).getChildColumns();
assertEquals(column1p3, conditionColumns1_2p3.get(0));
assertEquals(column2p3, conditionColumns1_2p3.get(1));
assertEquals("Essex", model.getData().get(0).get(7).getStringValue());
assertEquals("England", model.getData().get(0).get(8).getStringValue());
assertEquals(9, uiModel.getColumns().size());
final GridColumn<?> uiModelColumn1_2 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn2_2 = uiModel.getColumns().get(4);
final GridColumn<?> uiModelColumn3_2 = uiModel.getColumns().get(5);
final GridColumn<?> uiModelColumn4_2 = uiModel.getColumns().get(6);
final GridColumn<?> uiModelColumn5_2 = uiModel.getColumns().get(7);
final GridColumn<?> uiModelColumn6_2 = uiModel.getColumns().get(8);
assertEquals("$d : Address", uiModelColumn1_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$d : Address", uiModelColumn2_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$a : Applicant", uiModelColumn3_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$a : Applicant", uiModelColumn4_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$d2 : Address", uiModelColumn5_2.getHeaderMetaData().get(0).getTitle());
assertEquals("$d2 : Address", uiModelColumn6_2.getHeaderMetaData().get(0).getTitle());
assertTrue(uiModelColumn1_2 instanceof StringUiColumn);
assertTrue(uiModelColumn2_2 instanceof StringUiColumn);
assertTrue(uiModelColumn3_2 instanceof IntegerUiColumn);
assertTrue(uiModelColumn4_2 instanceof StringUiColumn);
assertTrue(uiModelColumn5_2 instanceof StringUiColumn);
assertTrue(uiModelColumn6_2 instanceof StringUiColumn);
assertEquals(5, uiModelColumn1_2.getIndex());
assertEquals(6, uiModelColumn2_2.getIndex());
assertEquals(3, uiModelColumn3_2.getIndex());
assertEquals(4, uiModelColumn4_2.getIndex());
assertEquals(7, uiModelColumn5_2.getIndex());
assertEquals(8, uiModelColumn6_2.getIndex());
assertEquals("NY", uiModel.getRow(0).getCells().get(uiModelColumn1_2.getIndex()).getValue().getValue());
assertEquals("America", uiModel.getRow(0).getCells().get(uiModelColumn2_2.getIndex()).getValue().getValue());
assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn3_2.getIndex()).getValue().getValue());
assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn4_2.getIndex()).getValue().getValue());
assertEquals("Essex", uiModel.getRow(0).getCells().get(uiModelColumn5_2.getIndex()).getValue().getValue());
assertEquals("England", uiModel.getRow(0).getCells().get(uiModelColumn6_2.getIndex()).getValue().getValue());
}
use of org.uberfire.ext.wires.core.grids.client.model.GridColumn in project drools-wb by kiegroup.
the class ActionWorkItemInsertFactColumnSynchronizerTest method testMoveColumnTo_MoveWorkItemInsertFactColRight_WithFollowingInsertFactCol.
@Test
@SuppressWarnings("unchecked")
public void testMoveColumnTo_MoveWorkItemInsertFactColRight_WithFollowingInsertFactCol() throws VetoException {
final ActionWorkItemInsertFactCol52 column1 = new ActionWorkItemInsertFactCol52();
column1.setWorkItemName(WORK_ITEM_NAME);
column1.setBoundName("$a");
column1.setFactType("Applicant");
column1.setFactField("age");
column1.setHeader("wid1");
final ActionInsertFactCol52 column2 = new ActionInsertFactCol52();
column2.setBoundName("$a");
column2.setFactType("Applicant");
column2.setFactField("name");
column2.setHeader("name");
modelSynchronizer.appendColumn(column1);
modelSynchronizer.appendColumn(column2);
modelSynchronizer.appendRow();
uiModel.setCellValue(0, 4, new BaseGridCellValue<>(true));
uiModel.setCellValue(0, 5, new BaseGridCellValue<>("Fred"));
assertGridDefinitionMovingWorkItemInsertFactColAndInsertFactCol(column1, column2);
final GridColumn<?> uiModelColumn1 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn2 = uiModel.getColumns().get(4);
uiModel.moveColumnsTo(5, new ArrayList<GridColumn<?>>() {
{
add(uiModelColumn1);
add(uiModelColumn2);
}
});
// Move should be aborted and the definition unchanged
assertGridDefinitionMovingWorkItemInsertFactColAndInsertFactCol(column1, column2);
}
use of org.uberfire.ext.wires.core.grids.client.model.GridColumn in project drools-wb by kiegroup.
the class AttributeColumnSynchronizerTest method testMoveColumnsTo_MoveRight.
@Test
public void testMoveColumnsTo_MoveRight() throws VetoException {
final AttributeCol52 column1 = new AttributeCol52();
column1.setAttribute(Attribute.SALIENCE.getAttributeName());
final AttributeCol52 column2 = new AttributeCol52();
column2.setAttribute(Attribute.AGENDA_GROUP.getAttributeName());
final AttributeCol52 column3 = new AttributeCol52();
column3.setAttribute(Attribute.AUTO_FOCUS.getAttributeName());
modelSynchronizer.appendColumn(column1);
modelSynchronizer.appendColumn(column2);
modelSynchronizer.appendColumn(column3);
modelSynchronizer.appendRow();
uiModel.setCellValue(0, 3, new BaseGridCellValue<Integer>(1));
uiModel.setCellValue(0, 4, new BaseGridCellValue<String>("smurf"));
uiModel.setCellValue(0, 5, new BaseGridCellValue<Boolean>(true));
final GridColumn<?> uiModelColumn1_1 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn2_1 = uiModel.getColumns().get(4);
final GridColumn<?> uiModelColumn3_1 = uiModel.getColumns().get(5);
assertTestMoveColumnsTo(column1, column2, column3, uiModelColumn1_1, uiModelColumn2_1, uiModelColumn3_1);
uiModel.moveColumnsTo(5, new ArrayList<GridColumn<?>>() {
{
add(uiModelColumn1_1);
add(uiModelColumn2_1);
}
});
final GridColumn<?> uiModelColumn1_2 = uiModel.getColumns().get(3);
final GridColumn<?> uiModelColumn2_2 = uiModel.getColumns().get(4);
final GridColumn<?> uiModelColumn3_2 = uiModel.getColumns().get(5);
assertTestMoveColumnsTo(column1, column2, column3, uiModelColumn1_2, uiModelColumn2_2, uiModelColumn3_2);
}
use of org.uberfire.ext.wires.core.grids.client.model.GridColumn 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))));
}
use of org.uberfire.ext.wires.core.grids.client.model.GridColumn in project drools-wb by kiegroup.
the class ScenarioGrid method signalTestTools.
protected void signalTestTools() {
eventBus.fireEvent(new DisableTestToolsEvent());
if (!model.getSelectedHeaderCells().isEmpty()) {
final GridData.SelectedCell cell = model.getSelectedHeaderCells().get(0);
final int uiColumnIndex = ColumnIndexUtilities.findUiColumnIndex(model.getColumns(), cell.getColumnIndex());
final int uiRowIndex = cell.getRowIndex();
setSelectedColumn(uiColumnIndex);
final GridColumn column = model.getColumns().get(uiColumnIndex);
if (uiRowIndex > 0 && column instanceof ScenarioGridColumn) {
signalTestToolsHeaderCellSelected((ScenarioGridColumn) column, cell, uiColumnIndex);
}
}
}
Aggregations