Search in sources :

Example 1 with ScenarioGridCellValue

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;
        });
    });
}
Also used : ScesimModelDescriptor(org.drools.scenariosimulation.api.model.ScesimModelDescriptor) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue)

Example 2 with ScenarioGridCellValue

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));
        });
    });
}
Also used : Arrays(java.util.Arrays) ScenarioNotificationEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioNotificationEvent) ScenarioSimulationModel(org.drools.scenariosimulation.api.model.ScenarioSimulationModel) GridWidget(org.drools.workbench.screens.scenariosimulation.client.enums.GridWidget) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) NotificationEvent(org.uberfire.workbench.events.NotificationEvent) FactMappingValueType(org.drools.scenariosimulation.api.model.FactMappingValueType) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) ScesimModelDescriptor(org.drools.scenariosimulation.api.model.ScesimModelDescriptor) ScenarioSimulationUtils(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils) BaseSingletonDOMElementFactory(org.uberfire.ext.wires.core.grids.client.widget.dom.single.impl.BaseSingletonDOMElementFactory) EventBus(com.google.gwt.event.shared.EventBus) GridCell(org.uberfire.ext.wires.core.grids.client.model.GridCell) Set(java.util.Set) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) ScenarioHeaderMetaData(org.drools.workbench.screens.scenariosimulation.client.metadata.ScenarioHeaderMetaData) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) List(java.util.List) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) GridCellValue(org.uberfire.ext.wires.core.grids.client.model.GridCellValue) ScenarioHeaderTextBoxSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory) Optional(java.util.Optional) ScenarioSimulationEditorConstants(org.drools.workbench.screens.scenariosimulation.client.resources.i18n.ScenarioSimulationEditorConstants) ReloadTestToolsEvent(org.drools.workbench.screens.scenariosimulation.client.events.ReloadTestToolsEvent) ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell) ScenarioGridReloadEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioGridReloadEvent) IntStream(java.util.stream.IntStream) ScenarioSimulationUtils.getPropertyNameElementsWithoutAlias(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils.getPropertyNameElementsWithoutAlias) CollectionEditorSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory) FactMappingValueStatus(org.drools.scenariosimulation.api.model.FactMappingValueStatus) OptionalDouble(java.util.OptionalDouble) FactIdentifier(org.drools.scenariosimulation.api.model.FactIdentifier) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) ExpressionElement(org.drools.scenariosimulation.api.model.ExpressionElement) AbstractScesimModel(org.drools.scenariosimulation.api.model.AbstractScesimModel) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue) GridRow(org.uberfire.ext.wires.core.grids.client.model.GridRow) ExpressionIdentifier(org.drools.scenariosimulation.api.model.ExpressionIdentifier) ScenarioSimulationSharedUtils(org.drools.scenariosimulation.api.utils.ScenarioSimulationSharedUtils) ScenarioCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory) ScenarioExpressionCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory) FactMappingValue(org.drools.scenariosimulation.api.model.FactMappingValue) FactMappingType(org.drools.scenariosimulation.api.model.FactMappingType) AbstractMap(java.util.AbstractMap) BaseGridData(org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridData) Collections(java.util.Collections) AbstractScesimData(org.drools.scenariosimulation.api.model.AbstractScesimData) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue)

Example 3 with ScenarioGridCellValue

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);
}
Also used : ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue) Test(org.junit.Test)

Example 4 with ScenarioGridCellValue

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);
}
Also used : Group(com.ait.lienzo.client.core.shape.Group) ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell) Matchers.anyString(org.mockito.Matchers.anyString) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue) Test(org.junit.Test)

Example 5 with ScenarioGridCellValue

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))));
}
Also used : ScesimModelDescriptor(org.drools.scenariosimulation.api.model.ScesimModelDescriptor) Arrays(java.util.Arrays) ScenarioNotificationEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioNotificationEvent) ScenarioSimulationModel(org.drools.scenariosimulation.api.model.ScenarioSimulationModel) GridWidget(org.drools.workbench.screens.scenariosimulation.client.enums.GridWidget) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) NotificationEvent(org.uberfire.workbench.events.NotificationEvent) FactMappingValueType(org.drools.scenariosimulation.api.model.FactMappingValueType) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) ScesimModelDescriptor(org.drools.scenariosimulation.api.model.ScesimModelDescriptor) ScenarioSimulationUtils(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils) BaseSingletonDOMElementFactory(org.uberfire.ext.wires.core.grids.client.widget.dom.single.impl.BaseSingletonDOMElementFactory) EventBus(com.google.gwt.event.shared.EventBus) GridCell(org.uberfire.ext.wires.core.grids.client.model.GridCell) Set(java.util.Set) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) ScenarioHeaderMetaData(org.drools.workbench.screens.scenariosimulation.client.metadata.ScenarioHeaderMetaData) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) List(java.util.List) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) GridCellValue(org.uberfire.ext.wires.core.grids.client.model.GridCellValue) ScenarioHeaderTextBoxSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory) Optional(java.util.Optional) ScenarioSimulationEditorConstants(org.drools.workbench.screens.scenariosimulation.client.resources.i18n.ScenarioSimulationEditorConstants) ReloadTestToolsEvent(org.drools.workbench.screens.scenariosimulation.client.events.ReloadTestToolsEvent) ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell) ScenarioGridReloadEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioGridReloadEvent) IntStream(java.util.stream.IntStream) ScenarioSimulationUtils.getPropertyNameElementsWithoutAlias(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils.getPropertyNameElementsWithoutAlias) CollectionEditorSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory) FactMappingValueStatus(org.drools.scenariosimulation.api.model.FactMappingValueStatus) OptionalDouble(java.util.OptionalDouble) FactIdentifier(org.drools.scenariosimulation.api.model.FactIdentifier) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) ExpressionElement(org.drools.scenariosimulation.api.model.ExpressionElement) AbstractScesimModel(org.drools.scenariosimulation.api.model.AbstractScesimModel) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue) GridRow(org.uberfire.ext.wires.core.grids.client.model.GridRow) ExpressionIdentifier(org.drools.scenariosimulation.api.model.ExpressionIdentifier) ScenarioSimulationSharedUtils(org.drools.scenariosimulation.api.utils.ScenarioSimulationSharedUtils) ScenarioCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory) ScenarioExpressionCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory) FactMappingValue(org.drools.scenariosimulation.api.model.FactMappingValue) FactMappingType(org.drools.scenariosimulation.api.model.FactMappingType) AbstractMap(java.util.AbstractMap) BaseGridData(org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridData) Collections(java.util.Collections) AbstractScesimData(org.drools.scenariosimulation.api.model.AbstractScesimData) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) ScenarioNotificationEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioNotificationEvent) ScenarioGridReloadEvent(org.drools.workbench.screens.scenariosimulation.client.events.ScenarioGridReloadEvent) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioGridCellValue(org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue) ScenarioGridCell(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell)

Aggregations

ScenarioGridCellValue (org.drools.workbench.screens.scenariosimulation.client.values.ScenarioGridCellValue)8 ScenarioGridCell (org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridCell)7 FactMapping (org.drools.scenariosimulation.api.model.FactMapping)6 ScenarioGridColumn (org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn)6 ExpressionIdentifier (org.drools.scenariosimulation.api.model.ExpressionIdentifier)4 FactIdentifier (org.drools.scenariosimulation.api.model.FactIdentifier)4 AbstractScesimData (org.drools.scenariosimulation.api.model.AbstractScesimData)3 ScesimModelDescriptor (org.drools.scenariosimulation.api.model.ScesimModelDescriptor)3 EventBus (com.google.gwt.event.shared.EventBus)2 AbstractMap (java.util.AbstractMap)2 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2 List (java.util.List)2 Map (java.util.Map)2 Objects (java.util.Objects)2 Optional (java.util.Optional)2 OptionalDouble (java.util.OptionalDouble)2 Set (java.util.Set)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2