Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions library-api/.mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-Dorg.slf4j.simpleLogger.log.org.drools.base.rule.EvalCondition=error
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public DMNSchemaResolver(ModelRegistry modelRegistry) {
this.rootNode = loadedRoot != null ? loadedRoot : generateDmnDefinitions(modelRegistry);
if (rootNode != null && rootNode.has("definitions")) {
JsonNode definitions = rootNode.get("definitions");
definitions.fields().forEachRemaining(entry -> {
definitions.properties().forEach(entry -> {
schemas.put(entry.getKey(), entry.getValue());
});
LOG.info("Loaded " + schemas.size() + " DMN type schemas");
Expand Down Expand Up @@ -174,7 +174,7 @@ Map<String, Object> generateExampleFromSchema(JsonNode schema) {
}

JsonNode properties = schema.get("properties");
properties.fields().forEachRemaining(entry -> {
properties.properties().forEach(entry -> {
String fieldName = entry.getKey();
JsonNode fieldSchema = entry.getValue();
example.put(fieldName, generateFieldExample(fieldName, fieldSchema));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ private void collectReferencesFromNode(com.fasterxml.jackson.databind.JsonNode n
}

// Recurse into all fields
node.fields().forEachRemaining(entry -> {
node.properties().forEach(entry -> {
collectReferencesFromNode(entry.getValue(), collectedSchemas);
});
} else if (node.isArray()) {
Expand Down Expand Up @@ -215,7 +215,7 @@ private Schema convertJsonNodeToSchema(com.fasterxml.jackson.databind.JsonNode n
// Handle properties
if (node.has("properties")) {
com.fasterxml.jackson.databind.JsonNode properties = node.get("properties");
properties.fields().forEachRemaining(entry -> {
properties.properties().forEach(entry -> {
Schema propSchema = convertJsonNodeToSchema(entry.getValue());
schema.addProperty(entry.getKey(), propSchema);
});
Expand Down Expand Up @@ -418,7 +418,7 @@ private Schema createDMNContextSchema(ModelInfo model, String inputRef, String o
com.fasterxml.jackson.databind.JsonNode inputSchemaNode = getSchemaByRef(inputRef);
if (inputSchemaNode != null && inputSchemaNode.has("properties")) {
com.fasterxml.jackson.databind.JsonNode inputProps = inputSchemaNode.get("properties");
inputProps.fields().forEachRemaining(entry -> {
inputProps.properties().forEach(entry -> {
Schema propSchema = convertJsonNodeToSchema(entry.getValue());
contextSchema.addProperty(entry.getKey(), propSchema);
});
Expand All @@ -434,7 +434,7 @@ private Schema createDMNContextSchema(ModelInfo model, String inputRef, String o
// Multiple outputs: add each property directly to context
// This handles Decision Services with multiple output decisions (e.g., PhlHomesteadExemption)
com.fasterxml.jackson.databind.JsonNode outputProps = outputSchemaNode.get("properties");
outputProps.fields().forEachRemaining(entry -> {
outputProps.properties().forEach(entry -> {
Schema propSchema = convertJsonNodeToSchema(entry.getValue());
contextSchema.addProperty(entry.getKey(), propSchema);
});
Expand Down Expand Up @@ -578,7 +578,7 @@ private Map<String, Object> generateContextExample(String inputRef, String outpu
if (outputSchemaNode.has("properties")) {
// Multiple outputs: generate examples for each property directly
com.fasterxml.jackson.databind.JsonNode outputProps = outputSchemaNode.get("properties");
outputProps.fields().forEachRemaining(entry -> {
outputProps.properties().forEach(entry -> {
String propName = entry.getKey();
com.fasterxml.jackson.databind.JsonNode propNode = entry.getValue();

Expand Down Expand Up @@ -653,7 +653,7 @@ private Object generateExampleForProperty(com.fasterxml.jackson.databind.JsonNod
Map<String, Object> objectExample = new java.util.LinkedHashMap<>();
if (propNode.has("properties")) {
com.fasterxml.jackson.databind.JsonNode properties = propNode.get("properties");
properties.fields().forEachRemaining(entry -> {
properties.properties().forEach(entry -> {
Object value = generateExampleForProperty(entry.getValue());
if (value != null) {
objectExample.put(entry.getKey(), value);
Expand Down
9 changes: 9 additions & 0 deletions library-api/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ quarkus.devservices.enabled=false

quarkus.test.continuous-testing=enabled

# Kogito 10.2 intentionally defines decision API types across kogito-api and kogito-dmn.
quarkus.arc.ignored-split-packages=org.kie.kogito.decision

# Kogito's DMN validator compiles an upstream eval rule during code generation. Drools logs a
# performance hint for that library-owned rule even though application DMN models cannot change it.
# Covers dev mode and `mvn test`, where Quarkus configures the log manager; the Maven-side build
# (`mvn package`, `quarkus build`) logs through slf4j-simple instead and is handled by .mvn/maven.config.
quarkus.log.category."org.drools.base.rule.EvalCondition".level=ERROR

# Read by Kogito code generation (not by Quarkus runtime configuration).
kogito.generate.rest.decisions=false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ private void validateLocalTSituationType(ModelInfo model, Document doc) {
assertNotNull(localSchema, "Local schema should exist for " + model.getPath());

// Check that local schema has properties (not empty/Any-only)
if (!localSchema.has("properties") || !localSchema.get("properties").fields().hasNext()) {
if (!localSchema.has("properties") || localSchema.get("properties").properties().isEmpty()) {
fail(model.getPath() + ": local tSituation must define at least one field from BDT.tSituation. " +
"It currently has no fields (may just be typeRef='Any').");
}
Expand Down Expand Up @@ -277,7 +277,7 @@ private void validateSchemaSubset(JsonNode bdtSchema, JsonNode localSchema, Stri
JsonNode bdtProps = resolvedBdt.get("properties");

// Check each local property
localProps.fields().forEachRemaining(entry -> {
localProps.properties().forEach(entry -> {
String fieldName = entry.getKey();
String newPath = currentPath.isEmpty() ? fieldName : currentPath + "." + fieldName;

Expand Down
Loading