Search in sources :

Example 1 with InformationItem

use of org.kie.dmn.model.v1_1.InformationItem in project kie-wb-common by kiegroup.

the class BindingPropertyConverter method wbFromDMN.

public static Binding wbFromDMN(final org.kie.dmn.model.v1_1.Binding dmn) {
    if (dmn == null) {
        return null;
    }
    InformationItem convertedParameter = InformationItemPropertyConverter.wbFromDMN(dmn.getParameter());
    Expression convertedExpression = ExpressionPropertyConverter.wbFromDMN(dmn.getExpression());
    Binding result = new Binding();
    result.setParameter(convertedParameter);
    result.setExpression(convertedExpression);
    return result;
}
Also used : Binding(org.kie.workbench.common.dmn.api.definition.v1_1.Binding) Expression(org.kie.workbench.common.dmn.api.definition.v1_1.Expression) InformationItem(org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem)

Example 2 with InformationItem

use of org.kie.dmn.model.v1_1.InformationItem in project kie-wb-common by kiegroup.

the class ContextEntryPropertyConverter method wbFromDMN.

public static ContextEntry wbFromDMN(final org.kie.dmn.model.v1_1.ContextEntry dmn) {
    InformationItem variable = InformationItemPropertyConverter.wbFromDMN(dmn.getVariable());
    Expression expression = ExpressionPropertyConverter.wbFromDMN(dmn.getExpression());
    ContextEntry result = new ContextEntry();
    result.setVariable(variable);
    result.setExpression(expression);
    return result;
}
Also used : Expression(org.kie.workbench.common.dmn.api.definition.v1_1.Expression) InformationItem(org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem) ContextEntry(org.kie.workbench.common.dmn.api.definition.v1_1.ContextEntry)

Example 3 with InformationItem

use of org.kie.dmn.model.v1_1.InformationItem in project kie-wb-common by kiegroup.

the class DecisionConverter method nodeFromDMN.

@Override
public Node<View<Decision>, ?> nodeFromDMN(final org.kie.dmn.model.v1_1.Decision dmn) {
    @SuppressWarnings("unchecked") Node<View<Decision>, ?> node = (Node<View<Decision>, ?>) factoryManager.newElement(dmn.getId(), Decision.class).asNode();
    Id id = new Id(dmn.getId());
    Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    Name name = new Name(dmn.getName());
    InformationItem informationItem = InformationItemPropertyConverter.wbFromDMN(dmn.getVariable());
    Expression expression = ExpressionPropertyConverter.wbFromDMN(dmn.getExpression());
    Decision decision = new Decision(id, description, name, new Question(), new AllowedAnswers(), informationItem, expression, new BackgroundSet(), new FontSet(), new RectangleDimensionsSet());
    node.getContent().setDefinition(decision);
    return node;
}
Also used : Description(org.kie.workbench.common.dmn.api.property.dmn.Description) Node(org.kie.workbench.common.stunner.core.graph.Node) InformationItem(org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem) RectangleDimensionsSet(org.kie.workbench.common.dmn.api.property.dimensions.RectangleDimensionsSet) AllowedAnswers(org.kie.workbench.common.dmn.api.property.dmn.AllowedAnswers) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Decision(org.kie.workbench.common.dmn.api.definition.v1_1.Decision) Name(org.kie.workbench.common.dmn.api.property.dmn.Name) FontSet(org.kie.workbench.common.dmn.api.property.font.FontSet) BackgroundSet(org.kie.workbench.common.dmn.api.property.background.BackgroundSet) Expression(org.kie.workbench.common.dmn.api.definition.v1_1.Expression) Question(org.kie.workbench.common.dmn.api.property.dmn.Question) Id(org.kie.workbench.common.dmn.api.property.dmn.Id)

Example 4 with InformationItem

use of org.kie.dmn.model.v1_1.InformationItem in project kie-wb-common by kiegroup.

the class FunctionDefinitionPropertyConverter method wbFromDMN.

public static FunctionDefinition wbFromDMN(final org.kie.dmn.model.v1_1.FunctionDefinition dmn) {
    if (dmn == null) {
        return null;
    }
    Id id = new Id(dmn.getId());
    Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    QName typeRef = QNamePropertyConverter.wbFromDMN(dmn.getTypeRef());
    Expression expression = ExpressionPropertyConverter.wbFromDMN(dmn.getExpression());
    FunctionDefinition result = new FunctionDefinition(id, description, typeRef, expression);
    result.getNsContext().putAll(dmn.getNsContext());
    for (Entry<javax.xml.namespace.QName, String> kv : dmn.getAdditionalAttributes().entrySet()) {
        QName convertedQName = QNamePropertyConverter.wbFromDMN(kv.getKey());
        result.getAdditionalAttributes().put(convertedQName, kv.getValue());
    }
    for (org.kie.dmn.model.v1_1.InformationItem ii : dmn.getFormalParameter()) {
        InformationItem iiConverted = InformationItemPropertyConverter.wbFromDMN(ii);
        result.getFormalParameter().add(iiConverted);
    }
    return result;
}
Also used : Description(org.kie.workbench.common.dmn.api.property.dmn.Description) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) InformationItem(org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem) Expression(org.kie.workbench.common.dmn.api.definition.v1_1.Expression) FunctionDefinition(org.kie.workbench.common.dmn.api.definition.v1_1.FunctionDefinition) Id(org.kie.workbench.common.dmn.api.property.dmn.Id)

Example 5 with InformationItem

use of org.kie.dmn.model.v1_1.InformationItem in project kie-wb-common by kiegroup.

the class FunctionDefinitionPropertyConverter method dmnFromWB.

public static org.kie.dmn.model.v1_1.FunctionDefinition dmnFromWB(final FunctionDefinition wb) {
    if (wb == null) {
        return null;
    }
    org.kie.dmn.model.v1_1.FunctionDefinition result = new org.kie.dmn.model.v1_1.FunctionDefinition();
    result.setId(wb.getId().getValue());
    result.setDescription(DescriptionPropertyConverter.dmnFromWB(wb.getDescription()));
    QNamePropertyConverter.setDMNfromWB(wb.getTypeRef(), result::setTypeRef);
    result.setExpression(ExpressionPropertyConverter.dmnFromWB(wb.getExpression()));
    result.getNsContext().putAll(wb.getNsContext());
    for (Entry<QName, String> kv : wb.getAdditionalAttributes().entrySet()) {
        Optional<javax.xml.namespace.QName> convertedQName = QNamePropertyConverter.dmnFromWB(kv.getKey());
        if (convertedQName.isPresent()) {
            javax.xml.namespace.QName qNameFromWB = convertedQName.get();
            String determinePrefix = qNameFromWB.getPrefix();
            if (XMLConstants.DEFAULT_NS_PREFIX.equals(determinePrefix)) {
                // if the QName for an "additional attribute" was created from WB side, it would not be aware of the prefix, so setting it manually in the direction WB->DMN.
                determinePrefix = result.getPrefixForNamespaceURI(qNameFromWB.getNamespaceURI()).orElse(XMLConstants.DEFAULT_NS_PREFIX);
            }
            javax.xml.namespace.QName qNameWithPrefix = new javax.xml.namespace.QName(qNameFromWB.getNamespaceURI(), qNameFromWB.getLocalPart(), determinePrefix);
            result.getAdditionalAttributes().put(qNameWithPrefix, kv.getValue());
        }
    }
    for (InformationItem ii : wb.getFormalParameter()) {
        org.kie.dmn.model.v1_1.InformationItem iiConverted = InformationItemPropertyConverter.dmnFromWB(ii);
        result.getFormalParameter().add(iiConverted);
    }
    return result;
}
Also used : QName(org.kie.workbench.common.dmn.api.property.dmn.QName) InformationItem(org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem) FunctionDefinition(org.kie.workbench.common.dmn.api.definition.v1_1.FunctionDefinition)

Aggregations

InformationItem (org.kie.workbench.common.dmn.api.definition.v1_1.InformationItem)19 Name (org.kie.workbench.common.dmn.api.property.dmn.Name)10 LiteralExpression (org.kie.workbench.common.dmn.api.definition.v1_1.LiteralExpression)7 InformationItem (org.kie.dmn.model.api.InformationItem)6 Description (org.kie.workbench.common.dmn.api.property.dmn.Description)6 Id (org.kie.workbench.common.dmn.api.property.dmn.Id)6 ContextEntry (org.kie.workbench.common.dmn.api.definition.v1_1.ContextEntry)5 Optional (java.util.Optional)4 Binding (org.kie.workbench.common.dmn.api.definition.v1_1.Binding)4 Context (org.kie.workbench.common.dmn.api.definition.v1_1.Context)4 Expression (org.kie.workbench.common.dmn.api.definition.v1_1.Expression)4 List (java.util.List)3 QName (javax.xml.namespace.QName)3 Before (org.junit.Before)3 BusinessKnowledgeModelNode (org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode)3 DecisionNode (org.kie.dmn.api.core.ast.DecisionNode)3 TInformationItem (org.kie.dmn.model.v1_1.TInformationItem)3 QName (org.kie.workbench.common.dmn.api.property.dmn.QName)3 ArrayList (java.util.ArrayList)2 Collections (java.util.Collections)2