Search in sources :

Example 1 with List

use of org.kie.workbench.common.dmn.api.definition.model.List in project kie-wb-common by kiegroup.

the class ExpressionPropertyConverter method dmnFromWB.

public static org.kie.dmn.model.api.Expression dmnFromWB(final Expression wb, final Consumer<ComponentWidths> componentWidthsConsumer) {
    if (Objects.isNull(wb)) {
        return null;
    }
    final String uuid = wb.getId().getValue();
    if (Objects.nonNull(uuid)) {
        final ComponentWidths componentWidths = new ComponentWidths();
        componentWidths.setDmnElementRef(new QName(uuid));
        componentWidths.setWidths(new ArrayList<>(wb.getComponentWidths()));
        componentWidthsConsumer.accept(componentWidths);
    }
    if (wb instanceof IsLiteralExpression) {
        return LiteralExpressionPropertyConverter.dmnFromWB((IsLiteralExpression) wb);
    } else if (wb instanceof Context) {
        return ContextPropertyConverter.dmnFromWB((Context) wb, componentWidthsConsumer);
    } else if (wb instanceof Relation) {
        return RelationPropertyConverter.dmnFromWB((Relation) wb, componentWidthsConsumer);
    } else if (wb instanceof List) {
        return ListPropertyConverter.dmnFromWB((List) wb, componentWidthsConsumer);
    } else if (wb instanceof Invocation) {
        return InvocationPropertyConverter.dmnFromWB((Invocation) wb, componentWidthsConsumer);
    } else if (wb instanceof FunctionDefinition) {
        return FunctionDefinitionPropertyConverter.dmnFromWB((FunctionDefinition) wb, componentWidthsConsumer);
    } else if (wb instanceof DecisionTable) {
        return DecisionTablePropertyConverter.dmnFromWB((DecisionTable) wb);
    }
    return null;
}
Also used : Context(org.kie.workbench.common.dmn.api.definition.model.Context) DecisionTable(org.kie.workbench.common.dmn.api.definition.model.DecisionTable) Relation(org.kie.workbench.common.dmn.api.definition.model.Relation) IsLiteralExpression(org.kie.workbench.common.dmn.api.definition.model.IsLiteralExpression) Invocation(org.kie.workbench.common.dmn.api.definition.model.Invocation) QName(javax.xml.namespace.QName) List(org.kie.workbench.common.dmn.api.definition.model.List) ArrayList(java.util.ArrayList) FunctionDefinition(org.kie.workbench.common.dmn.api.definition.model.FunctionDefinition) HasComponentWidths(org.kie.workbench.common.dmn.api.definition.HasComponentWidths) ComponentWidths(org.kie.workbench.common.dmn.backend.definition.v1_1.dd.ComponentWidths)

Example 2 with List

use of org.kie.workbench.common.dmn.api.definition.model.List in project kie-wb-common by kiegroup.

the class ListPropertyConverter method wbFromDMN.

public static List wbFromDMN(final org.kie.dmn.model.api.List dmn, final BiConsumer<String, HasComponentWidths> hasComponentWidthsConsumer) {
    final Id id = new Id(dmn.getId());
    final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    QName typeRef = QNamePropertyConverter.wbFromDMN(dmn.getTypeRef(), dmn);
    final java.util.List<HasExpression> expression = new ArrayList<>();
    final List result = new List(id, description, typeRef, expression);
    for (org.kie.dmn.model.api.Expression e : dmn.getExpression()) {
        final Expression eConverted = ExpressionPropertyConverter.wbFromDMN(e, hasComponentWidthsConsumer);
        final HasExpression hasExpression = HasExpression.wrap(result, eConverted);
        expression.add(hasExpression);
    }
    for (HasExpression hasExpression : expression) {
        final Expression e = hasExpression.getExpression();
        if (Objects.nonNull(e)) {
            e.setParent(result);
        }
    }
    return result;
}
Also used : HasExpression(org.kie.workbench.common.dmn.api.definition.HasExpression) Description(org.kie.workbench.common.dmn.api.property.dmn.Description) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) ArrayList(java.util.ArrayList) HasExpression(org.kie.workbench.common.dmn.api.definition.HasExpression) Expression(org.kie.workbench.common.dmn.api.definition.model.Expression) List(org.kie.workbench.common.dmn.api.definition.model.List) ArrayList(java.util.ArrayList) Id(org.kie.workbench.common.dmn.api.property.dmn.Id)

Example 3 with List

use of org.kie.workbench.common.dmn.api.definition.model.List in project kie-wb-common by kiegroup.

the class ListEditorDefinitionTest method testModelEnrichment.

@Test
public void testModelEnrichment() {
    final Optional<List> oModel = definition.getModelClass();
    definition.enrich(Optional.empty(), hasExpression, oModel);
    final List model = oModel.get();
    assertNotNull(model.getExpression());
    assertNotNull(model.getExpression().get(0).getExpression());
    assertTrue(model.getExpression().get(0).getExpression() instanceof LiteralExpression);
    assertEquals(model, model.getExpression().get(0).getExpression().getParent());
}
Also used : LiteralExpression(org.kie.workbench.common.dmn.api.definition.model.LiteralExpression) List(org.kie.workbench.common.dmn.api.definition.model.List) Test(org.junit.Test)

Example 4 with List

use of org.kie.workbench.common.dmn.api.definition.model.List in project kie-wb-common by kiegroup.

the class RelationGridTest method testOnItemSelectedDeleteRow.

@Test
public void testOnItemSelectedDeleteRow() {
    relation.getRow().add(new List());
    setupGrid(0);
    final java.util.List<HasListSelectorControl.ListSelectorItem> items = grid.getItems(0, 0);
    final HasListSelectorControl.ListSelectorTextItem ti = (HasListSelectorControl.ListSelectorTextItem) items.get(DELETE_ROW);
    grid.onItemSelected(ti);
    verify(cellEditorControls).hide();
    verify(grid).deleteRow(eq(0));
}
Also used : HasListSelectorControl(org.kie.workbench.common.dmn.client.widgets.grid.controls.list.HasListSelectorControl) List(org.kie.workbench.common.dmn.api.definition.model.List) Test(org.junit.Test)

Example 5 with List

use of org.kie.workbench.common.dmn.api.definition.model.List in project kie-wb-common by kiegroup.

the class RelationUIModelMapperTest method setup.

@Before
public void setup() {
    this.uiModel = new BaseGridData();
    this.uiModel.appendRow(new BaseGridRow());
    this.uiModel.appendRow(new BaseGridRow());
    this.uiModel.appendColumn(uiRowNumberColumn);
    this.uiModel.appendColumn(uiRelationColumn1);
    this.uiModel.appendColumn(uiRelationColumn2);
    when(uiRowNumberColumn.getIndex()).thenReturn(0);
    when(uiRelationColumn1.getIndex()).thenReturn(1);
    when(uiRelationColumn2.getIndex()).thenReturn(2);
    this.relation = new Relation();
    this.relation.getColumn().add(new InformationItem());
    this.relation.getColumn().add(new InformationItem());
    final List rowList1 = new List();
    rowList1.getExpression().add(HasExpression.wrap(rowList1, new LiteralExpression() {

        {
            getText().setValue("le(1,0)");
        }
    }));
    rowList1.getExpression().add(HasExpression.wrap(rowList1, new LiteralExpression() {

        {
            getText().setValue("le(2,0)");
        }
    }));
    final List rowList2 = new List();
    rowList2.getExpression().add(HasExpression.wrap(rowList2, new LiteralExpression() {

        {
            getText().setValue("le(1,1)");
        }
    }));
    rowList2.getExpression().add(HasExpression.wrap(rowList2, new LiteralExpression() {

        {
            getText().setValue("le(2,1)");
        }
    }));
    this.relation.getRow().add(rowList1);
    this.relation.getRow().add(rowList2);
    this.mapper = new RelationUIModelMapper(() -> uiModel, () -> Optional.of(relation), listSelector, DEFAULT_HEIGHT);
    this.cellValueSupplier = Optional::empty;
}
Also used : Relation(org.kie.workbench.common.dmn.api.definition.model.Relation) BaseGridRow(org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridRow) Optional(java.util.Optional) LiteralExpression(org.kie.workbench.common.dmn.api.definition.model.LiteralExpression) InformationItem(org.kie.workbench.common.dmn.api.definition.model.InformationItem) List(org.kie.workbench.common.dmn.api.definition.model.List) BaseGridData(org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridData) Before(org.junit.Before)

Aggregations

List (org.kie.workbench.common.dmn.api.definition.model.List)39 Test (org.junit.Test)22 LiteralExpression (org.kie.workbench.common.dmn.api.definition.model.LiteralExpression)21 BaseGridRow (org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridRow)13 GraphCommandExecutionContext (org.kie.workbench.common.stunner.core.graph.command.GraphCommandExecutionContext)10 RuleViolation (org.kie.workbench.common.stunner.core.rule.RuleViolation)10 InformationItem (org.kie.workbench.common.dmn.api.definition.model.InformationItem)9 Relation (org.kie.workbench.common.dmn.api.definition.model.Relation)9 ArrayList (java.util.ArrayList)7 HasExpression (org.kie.workbench.common.dmn.api.definition.HasExpression)7 AbstractCanvasHandler (org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler)7 CanvasViolation (org.kie.workbench.common.stunner.core.client.command.CanvasViolation)7 Before (org.junit.Before)6 BaseGridData (org.uberfire.ext.wires.core.grids.client.model.impl.BaseGridData)5 HasComponentWidths (org.kie.workbench.common.dmn.api.definition.HasComponentWidths)4 Context (org.kie.workbench.common.dmn.api.definition.model.Context)4 DecisionTable (org.kie.workbench.common.dmn.api.definition.model.DecisionTable)4 FunctionDefinition (org.kie.workbench.common.dmn.api.definition.model.FunctionDefinition)4 Invocation (org.kie.workbench.common.dmn.api.definition.model.Invocation)4 IsLiteralExpression (org.kie.workbench.common.dmn.api.definition.model.IsLiteralExpression)4