Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.

DROOLS-1434 Refactor core API and FEEL API into kie-dmn-api module #34

Closed
wants to merge 4 commits into from

Conversation

tarilabs
Copy link
Member

Initial proposal I'm going to comment in the relevant parts below.

Copy link
Member Author

@tarilabs tarilabs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are now a total of 2 "internal" interfaces (one existed before, one added as part of this refactoring).

I am asking for feedback if it would be best to leave them in the current kie-dmn-api module anyway

import org.kie.dmn.api.core.DMNMessage.Severity;
import org.kie.dmn.api.feel.runtime.events.FEELEvent;

public interface InternalDMNResult extends DMNResult {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to differentiate of the "immutable" already-existing DMNResult

import org.kie.dmn.api.core.DMNType;
import org.kie.dmn.feel.model.v1_1.BusinessKnowledgeModel;

public interface BusinessKnowledgeModelNode extends DMNNode {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These AST node interfaces are needed to properly type for events (package org.kie.dmn.api.core.event)

import org.kie.dmn.api.core.ast.EvaluatorResult;
import org.kie.dmn.api.core.ast.DMNExpressionEvaluator.ResultType;

public class EvaluatorResultImpl implements EvaluatorResult {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This class was a child subclass of the DMNExpressionEvaluator interface


enum ResultType {
SUCCESS, FAILURE;
}

class EvaluatorResult {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EvaluatorResult is now a non-child interface, which later kie-dmn-core provide a concrete implementation EvaluatorResultImpl for.

@etirelli
Copy link
Collaborator

@tarilabs lets talk tomorrow about this PR

@etirelli
Copy link
Collaborator

@tarilabs I think it looks good, I am just moving the DMNExpressionEvaluator and EvaluatorResult interfaces back into core, as I don't think it needs to be public. I will close this PR and open a new one with the changes.

@etirelli etirelli closed this Feb 16, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants