Search in sources :

Example 21 with Id

use of org.kie.workbench.common.dmn.api.property.dmn.Id in project kie-wb-common by kiegroup.

the class InvocationPropertyConverter method wbFromDMN.

public static Invocation wbFromDMN(final org.kie.dmn.model.api.Invocation dmn, final BiConsumer<String, HasComponentWidths> hasComponentWidthsConsumer) {
    if (dmn == null) {
        return null;
    }
    final Id id = new Id(dmn.getId());
    final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    final QName typeRef = QNamePropertyConverter.wbFromDMN(dmn.getTypeRef(), dmn);
    final Invocation result = new Invocation();
    result.setId(id);
    result.setDescription(description);
    result.setTypeRef(typeRef);
    final Expression convertedExpression = ExpressionPropertyConverter.wbFromDMN(dmn.getExpression(), hasComponentWidthsConsumer);
    result.setExpression(convertedExpression);
    if (convertedExpression != null) {
        convertedExpression.setParent(result);
    }
    for (org.kie.dmn.model.api.Binding b : dmn.getBinding()) {
        final Binding bConverted = BindingPropertyConverter.wbFromDMN(b, hasComponentWidthsConsumer);
        if (bConverted != null) {
            bConverted.setParent(result);
        }
        result.getBinding().add(bConverted);
    }
    return result;
}
Also used : Binding(org.kie.workbench.common.dmn.api.definition.model.Binding) Description(org.kie.workbench.common.dmn.api.property.dmn.Description) Invocation(org.kie.workbench.common.dmn.api.definition.model.Invocation) Expression(org.kie.workbench.common.dmn.api.definition.model.Expression) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) Id(org.kie.workbench.common.dmn.api.property.dmn.Id)

Example 22 with Id

use of org.kie.workbench.common.dmn.api.property.dmn.Id in project kie-wb-common by kiegroup.

the class LiteralExpressionPropertyConverter method wbFromDMN.

public static LiteralExpression wbFromDMN(final org.kie.dmn.model.api.LiteralExpression dmn) {
    if (dmn == null) {
        return null;
    }
    final Id id = new Id(dmn.getId());
    final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    final QName typeRef = QNamePropertyConverter.wbFromDMN(dmn.getTypeRef(), dmn);
    final Text text = new Text(dmn.getText() != null ? dmn.getText() : "");
    final ExpressionLanguage expressionLanguage = ExpressionLanguagePropertyConverter.wbFromDMN(dmn.getExpressionLanguage());
    final ImportedValues importedValues = ImportedValuesConverter.wbFromDMN(dmn.getImportedValues());
    final LiteralExpression result = new LiteralExpression(id, description, typeRef, text, importedValues, expressionLanguage);
    if (importedValues != null) {
        importedValues.setParent(result);
    }
    return result;
}
Also used : Description(org.kie.workbench.common.dmn.api.property.dmn.Description) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) ImportedValues(org.kie.workbench.common.dmn.api.definition.model.ImportedValues) IsLiteralExpression(org.kie.workbench.common.dmn.api.definition.model.IsLiteralExpression) LiteralExpression(org.kie.workbench.common.dmn.api.definition.model.LiteralExpression) Text(org.kie.workbench.common.dmn.api.property.dmn.Text) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) ExpressionLanguage(org.kie.workbench.common.dmn.api.property.dmn.ExpressionLanguage)

Example 23 with Id

use of org.kie.workbench.common.dmn.api.property.dmn.Id in project kie-wb-common by kiegroup.

the class ImportedValuesConverter method wbFromDMN.

public static ImportedValues wbFromDMN(final org.kie.dmn.model.api.ImportedValues dmn) {
    if (dmn == null) {
        return null;
    }
    final String namespace = dmn.getNamespace();
    final LocationURI locationURI = new LocationURI(dmn.getLocationURI());
    final String importType = dmn.getImportType();
    final String importedElement = dmn.getImportedElement();
    final ExpressionLanguage expressionLanguage = ExpressionLanguagePropertyConverter.wbFromDMN(dmn.getExpressionLanguage());
    final ImportedValues wb = new ImportedValues(namespace, locationURI, importType, importedElement, expressionLanguage);
    final String id = dmn.getId();
    final String name = dmn.getName();
    final String description = dmn.getDescription();
    final String fallbackUUID = UUID.randomUUID().toString();
    wb.setId(new Id(id != null ? id : fallbackUUID));
    wb.setName(new Name(name != null ? name : fallbackUUID));
    wb.setDescription(DescriptionPropertyConverter.wbFromDMN(description));
    return wb;
}
Also used : LocationURI(org.kie.workbench.common.dmn.api.property.dmn.LocationURI) ImportedValues(org.kie.workbench.common.dmn.api.definition.model.ImportedValues) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) ExpressionLanguage(org.kie.workbench.common.dmn.api.property.dmn.ExpressionLanguage) Name(org.kie.workbench.common.dmn.api.property.dmn.Name)

Example 24 with Id

use of org.kie.workbench.common.dmn.api.property.dmn.Id in project kie-wb-common by kiegroup.

the class DecisionTablePropertyConverter method wbFromDMN.

public static DecisionTable wbFromDMN(final org.kie.dmn.model.api.DecisionTable dmn) {
    final Id id = new Id(dmn.getId());
    final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    final QName typeRef = QNamePropertyConverter.wbFromDMN(dmn.getTypeRef(), dmn);
    final DecisionTable result = new DecisionTable();
    result.setId(id);
    result.setDescription(description);
    result.setTypeRef(typeRef);
    if (!(dmn instanceof org.kie.dmn.model.v1_1.TDecisionTable)) {
        if (dmn.getAnnotation().isEmpty()) {
            final RuleAnnotationClause ruleAnnotationClause = new RuleAnnotationClause();
            ruleAnnotationClause.setParent(result);
            result.getAnnotations().add(ruleAnnotationClause);
        } else {
            for (final org.kie.dmn.model.api.RuleAnnotationClause ruleAnnotationClause : dmn.getAnnotation()) {
                final RuleAnnotationClause converted = RuleAnnotationClauseConverter.wbFromDMN(ruleAnnotationClause);
                if (converted != null) {
                    converted.setParent(result);
                }
                result.getAnnotations().add(converted);
            }
        }
    }
    for (org.kie.dmn.model.api.InputClause input : dmn.getInput()) {
        final InputClause inputClauseConverted = InputClausePropertyConverter.wbFromDMN(input);
        if (inputClauseConverted != null) {
            inputClauseConverted.setParent(result);
        }
        result.getInput().add(inputClauseConverted);
    }
    for (org.kie.dmn.model.api.OutputClause output : dmn.getOutput()) {
        final OutputClause outputClauseConverted = OutputClausePropertyConverter.wbFromDMN(output);
        if (outputClauseConverted != null) {
            outputClauseConverted.setParent(result);
        }
        result.getOutput().add(outputClauseConverted);
    }
    if (result.getOutput().size() == 1) {
        final OutputClause outputClause = result.getOutput().get(0);
        // DROOLS-3281
        outputClause.setName(null);
        // DROOLS-5178
        outputClause.setTypeRef(null);
    }
    for (org.kie.dmn.model.api.DecisionRule dr : dmn.getRule()) {
        final DecisionRule decisionRuleConverted = DecisionRulePropertyConverter.wbFromDMN(dr);
        if (decisionRuleConverted != null) {
            decisionRuleConverted.setParent(result);
        }
        result.getRule().add(decisionRuleConverted);
    }
    if (dmn.getHitPolicy() != null) {
        result.setHitPolicy(HitPolicy.fromValue(dmn.getHitPolicy().value()));
    }
    if (dmn.getAggregation() != null) {
        result.setAggregation(BuiltinAggregator.fromValue(dmn.getAggregation().value()));
    }
    if (dmn.getPreferredOrientation() != null) {
        result.setPreferredOrientation(DecisionTableOrientation.fromValue(dmn.getPreferredOrientation().value()));
    }
    result.setOutputLabel(dmn.getOutputLabel());
    return result;
}
Also used : Description(org.kie.workbench.common.dmn.api.property.dmn.Description) QName(org.kie.workbench.common.dmn.api.property.dmn.QName) RuleAnnotationClause(org.kie.workbench.common.dmn.api.definition.model.RuleAnnotationClause) DecisionRule(org.kie.workbench.common.dmn.api.definition.model.DecisionRule) OutputClause(org.kie.workbench.common.dmn.api.definition.model.OutputClause) DecisionTable(org.kie.workbench.common.dmn.api.definition.model.DecisionTable) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) InputClause(org.kie.workbench.common.dmn.api.definition.model.InputClause)

Example 25 with Id

use of org.kie.workbench.common.dmn.api.property.dmn.Id in project kie-wb-common by kiegroup.

the class UnaryTestsPropertyConverter method wbFromDMN.

public static UnaryTests wbFromDMN(final org.kie.dmn.model.api.UnaryTests dmn) {
    if (dmn == null) {
        return null;
    }
    final Id id = new Id(dmn.getId());
    final Description description = DescriptionPropertyConverter.wbFromDMN(dmn.getDescription());
    final ExpressionLanguage expressionLanguage = ExpressionLanguagePropertyConverter.wbFromDMN(dmn.getExpressionLanguage());
    final ConstraintType constraintTypeField;
    final QName key = new QName(DMNModelInstrumentedBase.Namespace.KIE.getUri(), ConstraintType.CONSTRAINT_KEY, DMNModelInstrumentedBase.Namespace.KIE.getPrefix());
    if (dmn.getAdditionalAttributes().containsKey(key)) {
        constraintTypeField = ConstraintTypeFieldPropertyConverter.wbFromDMN(dmn.getAdditionalAttributes().get(key));
    } else {
        constraintTypeField = NONE;
    }
    final UnaryTests result = new UnaryTests(id, description, new Text(dmn.getText()), expressionLanguage, constraintTypeField);
    return result;
}
Also used : Description(org.kie.workbench.common.dmn.api.property.dmn.Description) QName(javax.xml.namespace.QName) ConstraintType(org.kie.workbench.common.dmn.api.definition.model.ConstraintType) Text(org.kie.workbench.common.dmn.api.property.dmn.Text) Id(org.kie.workbench.common.dmn.api.property.dmn.Id) ExpressionLanguage(org.kie.workbench.common.dmn.api.property.dmn.ExpressionLanguage) UnaryTests(org.kie.workbench.common.dmn.api.definition.model.UnaryTests) IsUnaryTests(org.kie.workbench.common.dmn.api.definition.model.IsUnaryTests)

Aggregations

Id (org.kie.workbench.common.dmn.api.property.dmn.Id)173 Description (org.kie.workbench.common.dmn.api.property.dmn.Description)102 Test (org.junit.Test)78 Name (org.kie.workbench.common.dmn.api.property.dmn.Name)74 QName (org.kie.workbench.common.dmn.api.property.dmn.QName)59 Text (org.kie.workbench.common.dmn.api.property.dmn.Text)30 Node (org.kie.workbench.common.stunner.core.graph.Node)29 View (org.kie.workbench.common.stunner.core.graph.content.view.View)29 StylingSet (org.kie.workbench.common.dmn.api.property.styling.StylingSet)23 QName (javax.xml.namespace.QName)20 GeneralRectangleDimensionsSet (org.kie.workbench.common.dmn.api.property.dimensions.GeneralRectangleDimensionsSet)18 Decision (org.kie.workbench.common.dmn.api.definition.model.Decision)17 ArrayList (java.util.ArrayList)16 DMNDiagramElement (org.kie.workbench.common.dmn.api.definition.model.DMNDiagramElement)15 DRGElement (org.kie.workbench.common.dmn.api.definition.model.DRGElement)15 BindableAdapterUtils.getDefinitionId (org.kie.workbench.common.stunner.core.definition.adapter.binding.BindableAdapterUtils.getDefinitionId)15 InformationItemPrimary (org.kie.workbench.common.dmn.api.definition.model.InformationItemPrimary)14 Diagram (org.kie.workbench.common.stunner.core.diagram.Diagram)14 Expression (org.kie.workbench.common.dmn.api.definition.model.Expression)13 List (java.util.List)11