Source:
<code>public ScenarioSimulationModel() { simulation = new Simulation(); SimulationDescriptor simulationDescriptor = simulation.getSimulationDescriptor(); simulationDescriptor.addFactMapping(FactIdentifier.INDEX.getName(), FactIdentifier.INDEX, ExpressionIdentifier.INDEX); simulationDescriptor.addFactMapping(FactIdentifier.DESCRIPTION.getName(), FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION); Scenario scenario = simulation.addScenario(); int row = simulation.getUnmodifiableScenarios().indexOf(scenario); <START> scenario.setIndex(1); <END> scenario.setDescription(FactMappingValue.getPlaceHolder(0, 1)); IntStream.range(2, 4).forEach(id -> { ExpressionIdentifier givenExpression = ExpressionIdentifier.create(row + "|" + id, FactMappingType.GIVEN); FactIdentifier givenFact = FactIdentifier.create(FactMappingType.GIVEN + "FACT-" + id, String.class.getCanonicalName()); simulationDescriptor.addFactMapping(FactMapping.getPlaceHolder(FactMappingType.GIVEN, id), givenFact, givenExpression); scenario.addMappingValue(givenFact, givenExpression, FactMappingValue.getPlaceHolder(row, id)); }); IntStream.range(2, 4).forEach(id -> { id += 2; ExpressionIdentifier expectedExpression = ExpressionIdentifier.create(row + "|" + id, FactMappingType.EXPECTED); FactIdentifier expectFact = FactIdentifier.create(FactMappingType.EXPECTED + "FACT-" + id, String.class.getCanonicalName()); simulationDescriptor.addFactMapping(FactMapping.getPlaceHolder(FactMappingType.EXPECTED, id), expectFact, expectedExpression); scenario.addMappingValue(expectFact, expectedExpression, FactMappingValue.getPlaceHolder(row, id)); }); }</code><technical_language>decided index column empty in model update UI level</technical_language>

Target:
public ScenarioSimulationModel() { simulation = new Simulation(); SimulationDescriptor simulationDescriptor = simulation.getSimulationDescriptor(); simulationDescriptor.addFactMapping(FactIdentifier.INDEX.getName(), FactIdentifier.INDEX, ExpressionIdentifier.INDEX); simulationDescriptor.addFactMapping(FactIdentifier.DESCRIPTION.getName(), FactIdentifier.DESCRIPTION, ExpressionIdentifier.DESCRIPTION); Scenario scenario = simulation.addScenario(); int row = simulation.getUnmodifiableScenarios().indexOf(scenario); scenario.setDescription(FactMappingValue.getPlaceHolder(0, 1)); IntStream.range(2, 4).forEach(id -> { ExpressionIdentifier givenExpression = ExpressionIdentifier.create(row + "|" + id, FactMappingType.GIVEN); FactIdentifier givenFact = FactIdentifier.create(FactMappingType.GIVEN + "FACT-" + id, String.class.getCanonicalName()); simulationDescriptor.addFactMapping(FactMapping.getPlaceHolder(FactMappingType.GIVEN, id), givenFact, givenExpression); scenario.addMappingValue(givenFact, givenExpression, FactMappingValue.getPlaceHolder(row, id)); }); IntStream.range(2, 4).forEach(id -> { id += 2; ExpressionIdentifier expectedExpression = ExpressionIdentifier.create(row + "|" + id, FactMappingType.EXPECTED); FactIdentifier expectFact = FactIdentifier.create(FactMappingType.EXPECTED + "FACT-" + id, String.class.getCanonicalName()); simulationDescriptor.addFactMapping(FactMapping.getPlaceHolder(FactMappingType.EXPECTED, id), expectFact, expectedExpression); scenario.addMappingValue(expectFact, expectedExpression, FactMappingValue.getPlaceHolder(row, id)); }); }