This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch incubator-kie-issues#1918
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-examples.git
The following commit(s) were added to refs/heads/incubator-kie-issues#1918 by
this push:
new 93896ffb7 [incubator-kie-issues#1918] Working gradle-quarkus-examples
93896ffb7 is described below
commit 93896ffb7426185f45597b58c03190303bf8b4b9
Author: Gabriele-Cardosi <[email protected]>
AuthorDate: Wed Jan 14 13:26:07 2026 +0100
[incubator-kie-issues#1918] Working gradle-quarkus-examples
---
.../kogito-quarkus-gradle-examples/pom.xml | 22 +
.../build.gradle | 81 ++++
.../gradle.properties | 7 +
.../process-decisions-rules-quarkus-gradle/pom.xml | 92 ++++
.../settings.gradle | 24 +
.../java/org/kie/kogito/traffic/DriverService.java | 46 ++
.../src/main/java/org/kie/kogito/traffic/Fine.java | 46 ++
.../java/org/kie/kogito/traffic/Violation.java | 92 ++++
.../licensevalidated/LicenseValidatedService.java | 49 ++
.../kogito/traffic/licensevalidated/Validated.java | 55 +++
.../kogito/traffic/licensevalidation/Driver.java | 131 +++++
.../LicenseValidationService.java | 49 ++
.../src/main/resources/LicenseValidatedService.drl | 32 ++
.../main/resources/LicenseValidationService.drl | 39 ++
.../src/main/resources/TrafficViolation.dmn | 288 +++++++++++
.../src/main/resources/application.properties | 26 +
.../src/main/resources/traffic-rules-dmn.bpmn | 534 +++++++++++++++++++++
.../org/kie/kogito/traffic/TrafficProcessIT.java | 66 +++
18 files changed, 1679 insertions(+)
diff --git a/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
b/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
new file mode 100644
index 000000000..a5a0d29d7
--- /dev/null
+++ b/gradle-examples/kogito-quarkus-gradle-examples/pom.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.kie.kogito.examples</groupId>
+ <artifactId>gradle-examples</artifactId>
+ <version>999-SNAPSHOT</version>
+ </parent>
+ <packaging>pom</packaging>
+
+
+ <artifactId>kogito-quarkus-gradle-examples</artifactId>
+
+ <name>Quarkus Gradle Examples</name>
+ <description>Kogito Quarkus Examples built with Gradle</description>
+ <modules>
+ <module>process-decisions-rules-quarkus-gradle</module>
+ </modules>
+
+</project>
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/build.gradle
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/build.gradle
new file mode 100644
index 000000000..55e75dd48
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/build.gradle
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+plugins {
+ id 'java'
+// id("org.kie.kogito.gradle") version "999-SNAPSHOT"
+ id 'io.quarkus'
+
+ // TO BE REMOVED
+ id "com.dorongold.task-tree" version "4.0.1"
+}
+
+repositories {
+ mavenCentral()
+ mavenLocal()
+}
+
+dependencies {
+ implementation
enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
+ implementation 'io.quarkus:quarkus-arc'
+ implementation 'io.quarkus:quarkus-resteasy'
+ implementation 'io.quarkus:quarkus-resteasy-jackson'
+ implementation 'io.quarkus:quarkus-smallrye-openapi'
+
+ implementation platform("org.kie.kogito:kogito-bom:999-SNAPSHOT")
+
+ implementation 'org.jbpm:jbpm-with-drools-quarkus'
+ implementation 'org.kie.kogito:process-workitems'
+ implementation 'org.kie.kogito:jbpm-flow'
+ implementation 'org.drools:drools-quarkus-decisions'
+ testImplementation("org.junit.jupiter:junit-jupiter:5.12.1")
+ testImplementation 'io.quarkus:quarkus-junit5'
+ testImplementation("io.rest-assured:rest-assured")
+}
+
+
+//generateModelConfig {
+// jsonSchemaVersion = "DRAFT_2019_09"
+//}
+
+//tasks.named("quarkusDev") {
+// dependsOn(tasks.named("compileSecondaryJava"))
+//}
+//
+//tasks.named("quarkusRun") {
+// dependsOn(tasks.named("compileSecondaryJava"))
+//}
+
+//tasks.named("quarkusDependenciesBuild") {
+// dependsOn(tasks.named("compileSecondaryJava"))
+//}
+//
+//tasks.named("jar") {
+// dependsOn(tasks.named("compileSecondaryJava"))
+// from(tasks.named("compileSecondaryJava").get())
+//}
+//
+//tasks.named("compileTestJava") {
+// dependsOn(tasks.named("compileSecondaryJava"))
+//}
+
+test {
+ useJUnitPlatform()
+}
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/gradle.properties
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/gradle.properties
new file mode 100644
index 000000000..14b932a36
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/gradle.properties
@@ -0,0 +1,7 @@
+#Gradle properties
+## 3.27.1 needed to support gradle 9.2
+quarkusPluginId=io.quarkus
+quarkusPluginVersion=3.27.1
+quarkusPlatformGroupId=io.quarkus.platform
+quarkusPlatformArtifactId=quarkus-bom
+quarkusPlatformVersion=3.27.1
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
new file mode 100644
index 000000000..e28ad0d8d
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/pom.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.kie.kogito.examples</groupId>
+ <artifactId>kogito-quarkus-gradle-examples</artifactId>
+ <version>999-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>process-decisions-rules-quarkus-gradle</artifactId>
+ <name>Kogito Example :: Process :: Decisions :: Rules :: Quarkus ::
Gradle</name>
+ <description>Process with DRL, DMN and DRL integration - Quarkus -
Gradle</description>
+
+ <properties>
+
<java.module.name>process.decisions.rules.quarkus.gradle</java.module.name>
+ <maven.compiler.release>17</maven.compiler.release>
+
<gradle.executable>${project.parent.parent.basedir}/gradlew</gradle.executable>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.kie.kogito</groupId>
+ <artifactId>kogito-gradle-plugin</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!-- exclude maven compilation -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ <testExcludes>
+ <exclude>**/*.java</exclude>
+ </testExcludes>
+ </configuration>
+ </plugin>
+ <!-- execute Gradle command -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>gradle</id>
+ <phase>test-compile</phase>
+ <configuration>
+ <executable>${gradle.executable}</executable>
+ <arguments>
+ <argument>clean</argument>
+ <argument>test</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${project.basedir}/build</directory>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>WINDOWS</id>
+ <activation>
+ <os>
+ <family>windows</family>
+ </os>
+ </activation>
+ <properties>
+
<gradle.executable>${project.parent.parent.basedir}/gradlew.bat</gradle.executable>
+ </properties>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
new file mode 100644
index 000000000..dadf91f3f
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/settings.gradle
@@ -0,0 +1,24 @@
+pluginManagement {
+ repositories {
+ mavenLocal()
+ mavenCentral()
+ maven {
+ url = uri("target/dependencies")
+ }
+ maven {
+ url = uri("https://plugins.gradle.org/m2/")
+ }
+ }
+ resolutionStrategy {
+ eachPlugin {
+ if (requested.id.namespace == "org.kie.kogito") {
+ useModule("org.kie.kogito:kogito-gradle-plugin:${requested.version}")
+ }
+ }
+ }
+
+ plugins {
+ id "${quarkusPluginId}" version "${quarkusPluginVersion}"
+ }
+}
+rootProject.name = "kogito-gradle-plugin-test"
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/DriverService.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/DriverService.java
new file mode 100644
index 000000000..78a9328f0
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/DriverService.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic;
+
+import java.time.ZonedDateTime;
+import java.util.Date;
+
+import org.kie.kogito.traffic.licensevalidation.Driver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import jakarta.enterprise.context.ApplicationScoped;
+
+@ApplicationScoped
+public class DriverService {
+
+ private static Logger LOGGER =
LoggerFactory.getLogger(DriverService.class);
+
+ public Driver getDriver(String driverId) {
+ LOGGER.info("Get Driver Information for id = {}", driverId);
+ //Could call an external service, database, etc.
+
+ //Mocking driver details
+ String[] parts = driverId.split("-");
+ long days = Long.parseLong(parts[0]);
+ int points = Integer.parseInt(parts[1]);
+ Date licenseExpiration = new
Date(ZonedDateTime.now().plusDays(days).toInstant().toEpochMilli());
+ return new Driver(driverId, "Arthur", "SP", "Campinas", points, 30,
licenseExpiration);
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Fine.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Fine.java
new file mode 100644
index 000000000..928562fb5
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Fine.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Fine {
+
+ @JsonProperty("Amount")
+ private Double amount;
+
+ @JsonProperty("Points")
+ private Integer points;
+
+ public Double getAmount() {
+ return amount;
+ }
+
+ public void setAmount(Double amount) {
+ this.amount = amount;
+ }
+
+ public Integer getPoints() {
+ return points;
+ }
+
+ public void setPoints(Integer points) {
+ this.points = points;
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Violation.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Violation.java
new file mode 100644
index 000000000..170dd2dda
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/Violation.java
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Violation {
+
+ @JsonProperty("Code")
+ private String code;
+
+ @JsonProperty("Date")
+ private Date date;
+
+ @JsonProperty("Type")
+ private String type;
+
+ @JsonProperty("Speed Limit")
+ private BigDecimal speedLimit;
+
+ @JsonProperty("Actual Speed")
+ private BigDecimal actualSpeed;
+
+ public Violation() {
+ }
+
+ public Violation(String type, BigDecimal speedLimit, BigDecimal
actualSpeed) {
+ this.type = type;
+ this.speedLimit = speedLimit;
+ this.actualSpeed = actualSpeed;
+ this.date = new Date();
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public BigDecimal getSpeedLimit() {
+ return speedLimit;
+ }
+
+ public void setSpeedLimit(BigDecimal speedLimit) {
+ this.speedLimit = speedLimit;
+ }
+
+ public BigDecimal getActualSpeed() {
+ return actualSpeed;
+ }
+
+ public void setActualSpeed(BigDecimal actualSpeed) {
+ this.actualSpeed = actualSpeed;
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/LicenseValidatedService.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/LicenseValidatedService.java
new file mode 100644
index 000000000..374e5efa2
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/LicenseValidatedService.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidated;
+
+import java.util.Date;
+
+import org.drools.ruleunits.api.DataSource;
+import org.drools.ruleunits.api.RuleUnitData;
+import org.drools.ruleunits.api.SingletonStore;
+
+public class LicenseValidatedService implements RuleUnitData {
+ private SingletonStore<Validated> validated;
+
+ public LicenseValidatedService() {
+ this(DataSource.createSingleton());
+ }
+
+ public LicenseValidatedService(SingletonStore<Validated> validated) {
+ this.validated = validated;
+ }
+
+ public void setValidated(SingletonStore<Validated> validated) {
+ this.validated = validated;
+ }
+
+ public SingletonStore<Validated> getValidated() {
+ return validated;
+ }
+
+ public Date getCurrentTime() {
+ return new Date();
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/Validated.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/Validated.java
new file mode 100644
index 000000000..a24f9189e
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidated/Validated.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidated;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Validated {
+
+ @JsonProperty("Suspended")
+ private String suspended;
+
+ @JsonProperty("ValidLicense")
+ private Boolean validLicense = Boolean.FALSE;
+
+ public Validated() {
+ }
+
+ public Validated(String suspended) {
+ this.suspended = suspended;
+ }
+
+ public String getSuspended() {
+ return suspended;
+ }
+
+ public Boolean isValidLicense() {
+ return validLicense;
+ }
+
+ public Boolean getValidLicense() {
+ return validLicense;
+ }
+
+ public void setValidLicense(Boolean validLicense) {
+ this.validLicense = validLicense;
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/Driver.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/Driver.java
new file mode 100644
index 000000000..cfe7d0793
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/Driver.java
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidation;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class Driver {
+
+ private String id;
+
+ @JsonProperty("Name")
+ private String name;
+
+ @JsonProperty("State")
+ private String state;
+
+ @JsonProperty("City")
+ private String city;
+
+ @JsonProperty("Points")
+ private Integer points;
+
+ @JsonProperty("Age")
+ private Integer age;
+
+ private Date licenseExpiration;
+
+ @JsonProperty("ValidLicense")
+ private Boolean validLicense = Boolean.FALSE;
+
+ public Driver() {
+ }
+
+ public Driver(String id, String name, String state, String city, Integer
points, Integer age, Date licenseExpiration) {
+ this.id = id;
+ this.name = name;
+ this.state = state;
+ this.city = city;
+ this.points = points;
+ this.age = age;
+ this.licenseExpiration = licenseExpiration;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public Integer getPoints() {
+ return points;
+ }
+
+ public void setPoints(Integer points) {
+ this.points = points;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public Date getLicenseExpiration() {
+ return licenseExpiration;
+ }
+
+ public void setLicenseExpiration(Date licenseExpiration) {
+ this.licenseExpiration = licenseExpiration;
+ }
+
+ public Boolean isValidLicense() {
+ return validLicense;
+ }
+
+ public Boolean getValidLicense() {
+ return validLicense;
+ }
+
+ public void setValidLicense(Boolean validLicense) {
+ this.validLicense = validLicense;
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/LicenseValidationService.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/LicenseValidationService.java
new file mode 100644
index 000000000..278b5fb47
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/java/org/kie/kogito/traffic/licensevalidation/LicenseValidationService.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidation;
+
+import java.util.Date;
+
+import org.drools.ruleunits.api.DataSource;
+import org.drools.ruleunits.api.RuleUnitData;
+import org.drools.ruleunits.api.SingletonStore;
+
+public class LicenseValidationService implements RuleUnitData {
+ private SingletonStore<Driver> driver;
+
+ public LicenseValidationService() {
+ this(DataSource.createSingleton());
+ }
+
+ public LicenseValidationService(SingletonStore<Driver> driver) {
+ this.driver = driver;
+ }
+
+ public void setDriver(SingletonStore<Driver> driver) {
+ this.driver = driver;
+ }
+
+ public SingletonStore<Driver> getDriver() {
+ return driver;
+ }
+
+ public Date getCurrentTime() {
+ return new Date();
+ }
+}
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidatedService.drl
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidatedService.drl
new file mode 100644
index 000000000..3130e7305
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidatedService.drl
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidated
+
+unit LicenseValidatedService
+
+rule "Is validated license validated"
+when
+ $validated: /validated[suspended.equalsIgnoreCase("no")]
+then
+ $validated.setValidLicense(true);
+end
+
+query "validated"
+ $validated : /validated
+end
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidationService.drl
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidationService.drl
new file mode 100644
index 000000000..da7439087
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/LicenseValidationService.drl
@@ -0,0 +1,39 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic.licensevalidation
+
+unit LicenseValidationService
+
+rule "Is driver license valid"
+when
+ $driver: /driver[licenseExpiration.after(currentTime)]
+then
+ $driver.setValidLicense(true);
+end
+
+rule "Is driver license expired"
+when
+ $driver: /driver[licenseExpiration.before(currentTime)]
+then
+ $driver.setValidLicense(false);
+end
+
+query "validation"
+ $driver : /driver
+end
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/TrafficViolation.dmn
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/TrafficViolation.dmn
new file mode 100644
index 000000000..daac1062a
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/TrafficViolation.dmn
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/"
xmlns="https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF"
xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
xmlns:kie="http://www.drools.org/kie/dmn/1.2"
xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/"
xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/"
xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
id="_1C792953-80DB-4B32-99EB-25FBE32BAF9E" name="Traffic Violation [...]
+ <dmn:extensionElements/>
+ <dmn:itemDefinition id="_63824D3F-9173-446D-A940-6A7F0FA056BB"
name="tDriver" isCollection="false">
+ <dmn:itemComponent id="_9DAB5DAA-3B44-4F6D-87F2-95125FB2FEE4" name="Name"
isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_856BA8FA-EF7B-4DF9-A1EE-E28263CE9955" name="Age"
isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_FDC2CE03-D465-47C2-A311-98944E8CC23F" name="State"
isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_D6FD34C4-00DC-4C79-B1BF-BBCF6FC9B6D7" name="City"
isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_7110FE7E-1A38-4C39-B0EB-AEEF06BA37F4"
name="Points" isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:itemDefinition id="_40731093-0642-4588-9183-1660FC55053B"
name="tViolation" isCollection="false">
+ <dmn:itemComponent id="_39E88D9F-AE53-47AD-B3DE-8AB38D4F50B3" name="Code"
isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_1648EA0A-2463-4B54-A12A-D743A3E3EE7B" name="Date"
isCollection="false">
+ <dmn:typeRef>date</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_9F129EAA-4E71-4D99-B6D0-84EEC3AC43CC" name="Type"
isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ <dmn:allowedValues kie:constraintType="enumeration"
id="_626A8F9C-9DD1-44E0-9568-0F6F8F8BA228">
+ <dmn:text>"speed", "parking", "driving under the influence"</dmn:text>
+ </dmn:allowedValues>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_DDD10D6E-BD38-4C79-9E2F-8155E3A4B438" name="Speed
Limit" isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_229F80E4-2892-494C-B70D-683ABF2345F6" name="Actual
Speed" isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:itemDefinition id="_2D4F30EE-21A6-4A78-A524-A5C238D433AE" name="tFine"
isCollection="false">
+ <dmn:itemComponent id="_B9F70BC7-1995-4F51-B949-1AB65538B405"
name="Amount" isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_F49085D6-8F08-4463-9A1A-EF6B57635DBD"
name="Points" isCollection="false">
+ <dmn:typeRef>number</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:itemDefinition id="_E08BBD2C-2308-4E20-9C47-58B092771753"
name="tValidated" isCollection="false">
+ <dmn:itemComponent id="_C7B66E05-6586-4C08-8D85-8EB61C929361"
name="Suspended" isCollection="false">
+ <dmn:typeRef>string</dmn:typeRef>
+ </dmn:itemComponent>
+ <dmn:itemComponent id="_AFEA2C02-9260-45AB-BEB9-FB9F5A6D85B4"
name="ValidLicense" isCollection="false">
+ <dmn:typeRef>boolean</dmn:typeRef>
+ </dmn:itemComponent>
+ </dmn:itemDefinition>
+ <dmn:inputData id="_1929CBD5-40E0-442D-B909-49CEDE0101DC" name="Violation">
+ <dmn:extensionElements/>
+ <dmn:variable id="_C16CF9B1-5FAB-48A0-95E0-5FCD661E0406" name="Violation"
typeRef="tViolation"/>
+ </dmn:inputData>
+ <dmn:decision id="_4055D956-1C47-479C-B3F4-BAEB61F1C929" name="Fine">
+ <dmn:extensionElements/>
+ <dmn:variable id="_8C1EAC83-F251-4D94-8A9E-B03ACF6849CD" name="Fine"
typeRef="tFine"/>
+ <dmn:informationRequirement id="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+ <dmn:requiredInput href="#_1929CBD5-40E0-442D-B909-49CEDE0101DC"/>
+ </dmn:informationRequirement>
+ <dmn:decisionTable id="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A"
hitPolicy="UNIQUE" preferredOrientation="Rule-as-Row">
+ <dmn:input id="_B53A6F0D-F72C-41EF-96B3-F31269AC0FED">
+ <dmn:inputExpression id="_974C8D01-728F-4CE5-8C69-BE884125B859"
typeRef="string">
+ <dmn:text>Violation.Type</dmn:text>
+ </dmn:inputExpression>
+ </dmn:input>
+ <dmn:input id="_D5319F80-1C59-4736-AF2D-D29DE6B7E76D">
+ <dmn:inputExpression id="_3FEB4DE3-90C6-438E-99BF-9BB1BF5B078A"
typeRef="number">
+ <dmn:text>Violation.Actual Speed - Violation.Speed Limit</dmn:text>
+ </dmn:inputExpression>
+ </dmn:input>
+ <dmn:output id="_9012031F-9C01-44E5-8CD2-E6704D594504" name="Amount"
typeRef="number"/>
+ <dmn:output id="_7CAC8240-E1A5-4FEB-A0D4-B8613F0DE54B" name="Points"
typeRef="number"/>
+ <dmn:annotation name=""/>
+ <dmn:rule id="_424A80AE-916F-4451-9B6B-71557F7EC65A">
+ <dmn:inputEntry id="_EDA4F336-AA28-4F5F-ADFC-401E6DCC8D35">
+ <dmn:text>"speed"</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_246AAB08-A945-4599-9220-7C24B6716FDD">
+ <dmn:text>[10..30)</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_E49345EE-51D3-47C7-B658-3607E723FF37">
+ <dmn:text>500</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_1D56F3CB-6BAE-4415-940F-00F37121813D">
+ <dmn:text>3</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_B1ECE6A9-6B82-4A85-A7CA-5F96CDB0DCB6">
+ <dmn:inputEntry id="_2390F686-65CF-40FF-BF9A-72DFBAEBACAC">
+ <dmn:text>"speed"</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_8CEBE4D5-DBEF-46EF-BD95-7B96148B6D8A">
+ <dmn:text>>= 30</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_5FCC56B7-6BAA-4B09-AC61-7EB9D4CD58C3">
+ <dmn:text>1000</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_79FF8FDD-3299-4DFD-AA14-D2022504BDAD">
+ <dmn:text>7</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_8FC7068C-A3FD-44D9-AC2B-69C160A12E5D">
+ <dmn:inputEntry id="_02EEE8A9-1AD7-4708-8EC8-9B4177B05167">
+ <dmn:text>"parking"</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_A5141FF4-8D63-49DB-8979-3B64A3BD9A82">
+ <dmn:text>-</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_EFDA632D-113D-46C9-94B8-78E9F9770CA4">
+ <dmn:text>100</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_05F86973-52CE-4C9D-B785-47B6340D10FD">
+ <dmn:text>1</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_A742DF2B-DC91-4166-9773-6EF86A45A625">
+ <dmn:inputEntry id="_F5B5AE87-D9E6-4142-B01D-D79D4BA49EEE">
+ <dmn:text>"driving under the influence"</dmn:text>
+ </dmn:inputEntry>
+ <dmn:inputEntry id="_BD2A43F5-46D8-436A-B8A1-D98747C836B1">
+ <dmn:text>-</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_ECAF3378-46B6-4F40-B95A-E90DB700BF7D">
+ <dmn:text>1000</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_F0016A9C-D1D0-472A-9FB3-ABE77AD15F7D">
+ <dmn:text>5</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ </dmn:decisionTable>
+ </dmn:decision>
+ <dmn:inputData id="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" name="Driver">
+ <dmn:extensionElements/>
+ <dmn:variable id="_A80F16DF-0DB4-43A2-B041-32900B1A3F3D" name="Driver"
typeRef="tDriver"/>
+ </dmn:inputData>
+ <dmn:decision id="_4780A053-F62F-4245-9297-31A788132083" name="Validated">
+ <dmn:extensionElements/>
+ <dmn:variable id="_5269D123-38DF-47C2-9F9A-334192A0EC48" name="Validated"
typeRef="tValidated"/>
+ <dmn:informationRequirement id="_982211B1-5246-49CD-BE85-3211F71253CF">
+ <dmn:requiredInput href="#_1F9350D7-146D-46F1-85D8-15B5B68AF22A"/>
+ </dmn:informationRequirement>
+ <dmn:informationRequirement id="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+ <dmn:requiredDecision href="#_4055D956-1C47-479C-B3F4-BAEB61F1C929"/>
+ </dmn:informationRequirement>
+ <dmn:decisionTable id="_DADF0E8B-DD97-4B1A-BECC-B767E54AC382"
hitPolicy="UNIQUE" preferredOrientation="Rule-as-Row">
+ <dmn:input id="_D09ABFAD-70D9-4DA9-AD41-428D79F6743B">
+ <dmn:inputExpression id="_61619DF0-0F95-405E-B478-5D98B8F7F7B8"
typeRef="number">
+ <dmn:text>Driver.Points</dmn:text>
+ </dmn:inputExpression>
+ </dmn:input>
+ <dmn:output id="_EC5E832D-6BDB-4688-8ADA-C53E29855BBD" name="Suspended"
typeRef="string"/>
+ <dmn:output id="_5FCF6CCE-D2FB-48AB-A3CA-460A32E1F53F"
name="ValidLicense" typeRef="boolean"/>
+ <dmn:annotation name=""/>
+ <dmn:rule id="_ED7227BE-9943-4EE5-B8E1-50291952F6A4">
+ <dmn:inputEntry id="_328516FE-62FA-4774-8546-68ED4D7B3730">
+ <dmn:text>< 20</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_6CA9E17C-D596-4A4F-99DF-2C6410B47431">
+ <dmn:text>"yes"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_3A293217-F17E-43B1-89DF-B9CCD64C43B5">
+ <dmn:text>false</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_B5424E50-62D3-4535-A55E-B55D7C41235F">
+ <dmn:inputEntry id="_CF5CDBFC-A15B-41F6-B96D-DC9CE7BCAC26">
+ <dmn:text>= 20</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_2A45948F-008C-4C24-9BDD-C3020CA2D0F1">
+ <dmn:text>"no"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_886E5F7E-913C-4F57-B1EA-3595C8060EE0">
+ <dmn:text>true</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ <dmn:rule id="_1A61415B-FB65-4423-BCEC-365609D4567D">
+ <dmn:inputEntry id="_A075DB28-4E22-4681-814A-62EF273095FA">
+ <dmn:text>> 20</dmn:text>
+ </dmn:inputEntry>
+ <dmn:outputEntry id="_70D6A183-AB5B-4FBD-8FE5-9E05491F9FEB">
+ <dmn:text>"no"</dmn:text>
+ </dmn:outputEntry>
+ <dmn:outputEntry id="_B5DC1F55-0F53-4B85-9A18-BB21B8C9C1DB">
+ <dmn:text>true</dmn:text>
+ </dmn:outputEntry>
+ <dmn:annotationEntry>
+ <dmn:text/>
+ </dmn:annotationEntry>
+ </dmn:rule>
+ </dmn:decisionTable>
+ </dmn:decision>
+ <dmndi:DMNDI>
+ <dmndi:DMNDiagram id="_3FEB9053-0E6B-4880-A6AE-85FAB5072161" name="DRG">
+ <di:extension>
+ <kie:ComponentsWidthsExtension>
+ <kie:ComponentWidths
dmnElementRef="_C8F7F579-E06C-4A2F-8485-65FAFAC3FE6A">
+ <kie:width>50</kie:width>
+ <kie:width>254</kie:width>
+ <kie:width>329</kie:width>
+ <kie:width>119</kie:width>
+ <kie:width>100</kie:width>
+ <kie:width>186</kie:width>
+ </kie:ComponentWidths>
+ <kie:ComponentWidths
dmnElementRef="_DADF0E8B-DD97-4B1A-BECC-B767E54AC382">
+ <kie:width>50</kie:width>
+ <kie:width>329</kie:width>
+ <kie:width>100</kie:width>
+ <kie:width>119</kie:width>
+ <kie:width>186</kie:width>
+ </kie:ComponentWidths>
+ </kie:ComponentsWidthsExtension>
+ </di:extension>
+ <dmndi:DMNShape id="dmnshape-drg-_1929CBD5-40E0-442D-B909-49CEDE0101DC"
dmnElementRef="_1929CBD5-40E0-442D-B909-49CEDE0101DC" isCollapsed="false">
+ <dmndi:DMNStyle>
+ <dmndi:FillColor red="255" green="255" blue="255"/>
+ <dmndi:StrokeColor red="0" green="0" blue="0"/>
+ <dmndi:FontColor red="0" green="0" blue="0"/>
+ </dmndi:DMNStyle>
+ <dc:Bounds x="708" y="350" width="100" height="50"/>
+ <dmndi:DMNLabel/>
+ </dmndi:DMNShape>
+ <dmndi:DMNShape id="dmnshape-drg-_4055D956-1C47-479C-B3F4-BAEB61F1C929"
dmnElementRef="_4055D956-1C47-479C-B3F4-BAEB61F1C929" isCollapsed="false">
+ <dmndi:DMNStyle>
+ <dmndi:FillColor red="255" green="255" blue="255"/>
+ <dmndi:StrokeColor red="0" green="0" blue="0"/>
+ <dmndi:FontColor red="0" green="0" blue="0"/>
+ </dmndi:DMNStyle>
+ <dc:Bounds x="709" y="210" width="100" height="50"/>
+ <dmndi:DMNLabel/>
+ </dmndi:DMNShape>
+ <dmndi:DMNShape id="dmnshape-drg-_1F9350D7-146D-46F1-85D8-15B5B68AF22A"
dmnElementRef="_1F9350D7-146D-46F1-85D8-15B5B68AF22A" isCollapsed="false">
+ <dmndi:DMNStyle>
+ <dmndi:FillColor red="255" green="255" blue="255"/>
+ <dmndi:StrokeColor red="0" green="0" blue="0"/>
+ <dmndi:FontColor red="0" green="0" blue="0"/>
+ </dmndi:DMNStyle>
+ <dc:Bounds x="369" y="344" width="100" height="50"/>
+ <dmndi:DMNLabel/>
+ </dmndi:DMNShape>
+ <dmndi:DMNShape id="dmnshape-drg-_4780A053-F62F-4245-9297-31A788132083"
dmnElementRef="_4780A053-F62F-4245-9297-31A788132083" isCollapsed="false">
+ <dmndi:DMNStyle>
+ <dmndi:FillColor red="255" green="255" blue="255"/>
+ <dmndi:StrokeColor red="0" green="0" blue="0"/>
+ <dmndi:FontColor red="0" green="0" blue="0"/>
+ </dmndi:DMNStyle>
+ <dc:Bounds x="540" y="76" width="100" height="50"/>
+ <dmndi:DMNLabel/>
+ </dmndi:DMNShape>
+ <dmndi:DMNEdge id="dmnedge-drg-_800A3BBB-90A3-4D9D-BA5E-A311DED0134F"
dmnElementRef="_800A3BBB-90A3-4D9D-BA5E-A311DED0134F">
+ <di:waypoint x="758" y="375"/>
+ <di:waypoint x="759" y="235"/>
+ </dmndi:DMNEdge>
+ <dmndi:DMNEdge
id="dmnedge-drg-_982211B1-5246-49CD-BE85-3211F71253CF-AUTO-TARGET"
dmnElementRef="_982211B1-5246-49CD-BE85-3211F71253CF">
+ <di:waypoint x="419" y="369"/>
+ <di:waypoint x="590" y="126"/>
+ </dmndi:DMNEdge>
+ <dmndi:DMNEdge id="dmnedge-drg-_AEC4AA5F-50C3-4FED-A0C2-261F90290731"
dmnElementRef="_AEC4AA5F-50C3-4FED-A0C2-261F90290731">
+ <di:waypoint x="759" y="235"/>
+ <di:waypoint x="590" y="126"/>
+ </dmndi:DMNEdge>
+ </dmndi:DMNDiagram>
+ </dmndi:DMNDI>
+</dmn:definitions>
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/application.properties
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/application.properties
new file mode 100644
index 000000000..f51ad0914
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/application.properties
@@ -0,0 +1,26 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# Packaging
+# quarkus.package.jar.type=fast-jar
+
+quarkus.swagger-ui.always-include=true
+
+kogito.generate.rest.decisions=true
+kogito.generate.rest.processes=true
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/traffic-rules-dmn.bpmn
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/traffic-rules-dmn.bpmn
new file mode 100644
index 000000000..1ddb14979
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/main/resources/traffic-rules-dmn.bpmn
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:bpsim="http://www.bpsim.org/schemas/1.0"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:drools="http://www.jboss.org/drools" id="_FcMNgJTYEDuJVMby5BR7SQ"
xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd
http://www. [...]
+ <bpmn2:itemDefinition id="_driverIdItem" structureRef="String"/>
+ <bpmn2:itemDefinition id="_violationItem"
structureRef="org.kie.kogito.traffic.Violation"/>
+ <bpmn2:itemDefinition id="_driverItem"
structureRef="org.kie.kogito.traffic.licensevalidation.Driver"/>
+ <bpmn2:itemDefinition id="_fineItem"
structureRef="org.kie.kogito.traffic.Fine"/>
+ <bpmn2:itemDefinition id="_validatedItem"
structureRef="org.kie.kogito.traffic.licensevalidated.Validated"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ViolationInputXItem"
structureRef="org.kie.kogito.traffic.Violation"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_DriverInputXItem"
structureRef="org.kie.kogito.traffic.licensevalidation.Driver"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ValidatedOutputXItem"
structureRef="org.kie.kogito.traffic.licensevalidated.Validated"/>
+ <bpmn2:itemDefinition
id="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_FineOutputXItem"
structureRef="org.kie.kogito.traffic.Fine"/>
+ <bpmn2:itemDefinition
id="__93FFD317-476E-4624-84EF-994617572560_driverIdInputXItem"
structureRef="String"/>
+ <bpmn2:itemDefinition
id="__93FFD317-476E-4624-84EF-994617572560_responseOutputXItem"
structureRef="org.kie.kogito.traffic.licensevalidation.Driver"/>
+ <bpmn2:itemDefinition
id="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_namespaceInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_modelInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverInputXItem"
structureRef="org.kie.kogito.traffic.licensevalidation.Driver"/>
+ <bpmn2:itemDefinition
id="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverOutputXItem"
structureRef="org.kie.kogito.traffic.licensevalidation.Driver"/>
+ <bpmn2:itemDefinition
id="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_namespaceInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_modelInputXItem"
structureRef="java.lang.String"/>
+ <bpmn2:itemDefinition
id="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedInputXItem"
structureRef="org.kie.kogito.traffic.licensevalidated.Validated"/>
+ <bpmn2:itemDefinition
id="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedOutputXItem"
structureRef="org.kie.kogito.traffic.licensevalidated.Validated"/>
+ <bpmn2:interface id="_93FFD317-476E-4624-84EF-994617572560_ServiceInterface"
name="org.kie.kogito.traffic.DriverService"
implementationRef="org.kie.kogito.traffic.DriverService">
+ <bpmn2:operation
id="_93FFD317-476E-4624-84EF-994617572560_ServiceOperation" name="getDriver"
implementationRef="getDriver"/>
+ </bpmn2:interface>
+ <bpmn2:collaboration id="_835BF56B-F802-4ABD-8F1A-F6110E669D6C"
name="Default Collaboration">
+ <bpmn2:participant id="_12DAED3F-4A2C-40B1-9716-A16BA1A05F2D" name="Pool
Participant" processRef="traffic"/>
+ </bpmn2:collaboration>
+ <bpmn2:process id="traffic" drools:packageName="com.example"
drools:version="1.0" drools:adHoc="false" name="traffic" isExecutable="true"
processType="Public">
+ <bpmn2:property id="driverId" itemSubjectRef="_driverIdItem"
name="driverId"/>
+ <bpmn2:property id="violation" itemSubjectRef="_violationItem"
name="violation"/>
+ <bpmn2:property id="driver" itemSubjectRef="_driverItem" name="driver"/>
+ <bpmn2:property id="fine" itemSubjectRef="_fineItem" name="fine"/>
+ <bpmn2:property id="validated" itemSubjectRef="_validatedItem"
name="validated"/>
+ <bpmn2:sequenceFlow id="_044AA388-325A-45DE-B783-4F48421B788B"
name="license is expired" sourceRef="_7229480F-BC4D-4406-B27C-8FF46C5C9042"
targetRef="_E2A8304B-68A0-4CCC-8D47-1FA9352D4853">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[license is expired]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"
language="http://www.java.com/java"><![CDATA[return
!driver.isValidLicense();]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_D3E2F4B7-7739-452F-8D55-0C4F169D4A44"
sourceRef="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5"
targetRef="_7229480F-BC4D-4406-B27C-8FF46C5C9042">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_A19108FE-08A2-4E80-B7A8-0254C49209A6"
sourceRef="_93FFD317-476E-4624-84EF-994617572560"
targetRef="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5"/>
+ <bpmn2:sequenceFlow id="_1287C97D-3568-458A-A907-0123A64A93BE"
sourceRef="_298312AB-7A3D-478B-BD9B-B260CE847645"
targetRef="_67972C63-8A06-42C5-A3FF-A843EFB4D07B">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.source">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_249EB7E9-5847-47C9-8B4D-8BEFED257600" name="yes"
sourceRef="_8A66FABC-E538-4F50-9DAC-BC9069D19942"
targetRef="_298312AB-7A3D-478B-BD9B-B260CE847645">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[yes]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"
language="http://www.java.com/java"><![CDATA[return
validated.isValidLicense();]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_E7EF578E-3735-42D9-BF0C-8CCBF398D41C"
sourceRef="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C"
targetRef="_8A66FABC-E538-4F50-9DAC-BC9069D19942">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_521A00FC-6A79-44ED-8485-45DB97A621F2"
sourceRef="_DDD02AFB-D927-47BC-9C0C-523B602B5CD2"
targetRef="_418CD980-670D-4FC5-B492-A271A61B1477">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.source">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_19CC68B6-D2DC-4E39-99E5-CE5B30C5FEE6" name="no"
sourceRef="_8A66FABC-E538-4F50-9DAC-BC9069D19942"
targetRef="_DDD02AFB-D927-47BC-9C0C-523B602B5CD2">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[no]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"
language="http://www.java.com/java"><![CDATA[return
!validated.isValidLicense();]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_BB963FF4-CF17-4CA0-A727-9AFC2BE17C29"
sourceRef="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941"
targetRef="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C"/>
+ <bpmn2:sequenceFlow id="_D2252EFF-5EC4-4D61-B797-653F71652627"
sourceRef="_7229480F-BC4D-4406-B27C-8FF46C5C9042"
targetRef="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"
language="http://www.java.com/java"><![CDATA[return
driver.isValidLicense();]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="_2C2FFD79-4241-4F9E-A486-2482F817595E"
sourceRef="_905F0834-19CC-423B-B90E-B38C6D80329F"
targetRef="_93FFD317-476E-4624-84EF-994617572560">
+ <bpmn2:extensionElements>
+ <drools:metaData name="isAutoConnection.target">
+ <drools:metaValue><![CDATA[true]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ </bpmn2:sequenceFlow>
+ <bpmn2:businessRuleTask id="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C"
drools:ruleFlowGroup="unit:org.kie.kogito.traffic.licensevalidated.LicenseValidatedService"
name="LicenseValidated DRL"
implementation="http://www.jboss.org/drools/rule">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[LicenseValidated
+DRL]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_BB963FF4-CF17-4CA0-A727-9AFC2BE17C29</bpmn2:incoming>
+ <bpmn2:outgoing>_E7EF578E-3735-42D9-BF0C-8CCBF398D41C</bpmn2:outgoing>
+ <bpmn2:ioSpecification>
+ <bpmn2:dataInput
id="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedInputX"
drools:dtype="org.kie.kogito.traffic.licensevalidated.Validated"
itemSubjectRef="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedInputXItem"
name="validated"/>
+ <bpmn2:dataOutput
id="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedOutputX"
drools:dtype="org.kie.kogito.traffic.licensevalidated.Validated"
itemSubjectRef="__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedOutputXItem"
name="validated"/>
+ <bpmn2:inputSet>
+
<bpmn2:dataInputRefs>_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedInputX</bpmn2:dataInputRefs>
+ </bpmn2:inputSet>
+ <bpmn2:outputSet>
+
<bpmn2:dataOutputRefs>_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedOutputX</bpmn2:dataOutputRefs>
+ </bpmn2:outputSet>
+ </bpmn2:ioSpecification>
+ <bpmn2:dataInputAssociation>
+ <bpmn2:sourceRef>validated</bpmn2:sourceRef>
+
<bpmn2:targetRef>_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedInputX</bpmn2:targetRef>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataOutputAssociation>
+
<bpmn2:sourceRef>_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_validatedOutputX</bpmn2:sourceRef>
+ <bpmn2:targetRef>validated</bpmn2:targetRef>
+ </bpmn2:dataOutputAssociation>
+ </bpmn2:businessRuleTask>
+ <bpmn2:endEvent id="_E2A8304B-68A0-4CCC-8D47-1FA9352D4853">
+ <bpmn2:incoming>_044AA388-325A-45DE-B783-4F48421B788B</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:exclusiveGateway id="_7229480F-BC4D-4406-B27C-8FF46C5C9042"
name="Exclusive Gateway 1" gatewayDirection="Diverging">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[Exclusive Gateway 1]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_D3E2F4B7-7739-452F-8D55-0C4F169D4A44</bpmn2:incoming>
+ <bpmn2:outgoing>_D2252EFF-5EC4-4D61-B797-653F71652627</bpmn2:outgoing>
+ <bpmn2:outgoing>_044AA388-325A-45DE-B783-4F48421B788B</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:businessRuleTask id="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5"
drools:ruleFlowGroup="unit:org.kie.kogito.traffic.licensevalidation.LicenseValidationService"
name="LicenseValidation DRL"
implementation="http://www.jboss.org/drools/rule">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[LicenseValidation
+DRL]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_A19108FE-08A2-4E80-B7A8-0254C49209A6</bpmn2:incoming>
+ <bpmn2:outgoing>_D3E2F4B7-7739-452F-8D55-0C4F169D4A44</bpmn2:outgoing>
+ <bpmn2:ioSpecification>
+ <bpmn2:dataInput
id="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverInputX"
drools:dtype="org.kie.kogito.traffic.licensevalidation.Driver"
itemSubjectRef="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverInputXItem"
name="driver"/>
+ <bpmn2:dataOutput
id="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverOutputX"
drools:dtype="org.kie.kogito.traffic.licensevalidation.Driver"
itemSubjectRef="__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverOutputXItem"
name="driver"/>
+ <bpmn2:inputSet>
+
<bpmn2:dataInputRefs>_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverInputX</bpmn2:dataInputRefs>
+ </bpmn2:inputSet>
+ <bpmn2:outputSet>
+
<bpmn2:dataOutputRefs>_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverOutputX</bpmn2:dataOutputRefs>
+ </bpmn2:outputSet>
+ </bpmn2:ioSpecification>
+ <bpmn2:dataInputAssociation>
+ <bpmn2:sourceRef>driver</bpmn2:sourceRef>
+
<bpmn2:targetRef>_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverInputX</bpmn2:targetRef>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataOutputAssociation>
+
<bpmn2:sourceRef>_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_driverOutputX</bpmn2:sourceRef>
+ <bpmn2:targetRef>driver</bpmn2:targetRef>
+ </bpmn2:dataOutputAssociation>
+ </bpmn2:businessRuleTask>
+ <bpmn2:serviceTask id="_93FFD317-476E-4624-84EF-994617572560"
drools:serviceimplementation="Java"
drools:serviceinterface="org.kie.kogito.traffic.DriverService"
drools:serviceoperation="getDriver" name="Get Driver Details"
implementation="Java"
operationRef="_93FFD317-476E-4624-84EF-994617572560_ServiceOperation">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[Get Driver Details]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_2C2FFD79-4241-4F9E-A486-2482F817595E</bpmn2:incoming>
+ <bpmn2:outgoing>_A19108FE-08A2-4E80-B7A8-0254C49209A6</bpmn2:outgoing>
+ <bpmn2:ioSpecification>
+ <bpmn2:dataInput
id="_93FFD317-476E-4624-84EF-994617572560_driverIdInputX" drools:dtype="String"
itemSubjectRef="__93FFD317-476E-4624-84EF-994617572560_driverIdInputXItem"
name="driverId"/>
+ <bpmn2:dataOutput
id="_93FFD317-476E-4624-84EF-994617572560_responseOutputX"
drools:dtype="org.kie.kogito.traffic.licensevalidation.Driver"
itemSubjectRef="__93FFD317-476E-4624-84EF-994617572560_responseOutputXItem"
name="response"/>
+ <bpmn2:inputSet>
+
<bpmn2:dataInputRefs>_93FFD317-476E-4624-84EF-994617572560_driverIdInputX</bpmn2:dataInputRefs>
+ </bpmn2:inputSet>
+ <bpmn2:outputSet>
+
<bpmn2:dataOutputRefs>_93FFD317-476E-4624-84EF-994617572560_responseOutputX</bpmn2:dataOutputRefs>
+ </bpmn2:outputSet>
+ </bpmn2:ioSpecification>
+ <bpmn2:dataInputAssociation>
+ <bpmn2:sourceRef>driverId</bpmn2:sourceRef>
+
<bpmn2:targetRef>_93FFD317-476E-4624-84EF-994617572560_driverIdInputX</bpmn2:targetRef>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataOutputAssociation>
+
<bpmn2:sourceRef>_93FFD317-476E-4624-84EF-994617572560_responseOutputX</bpmn2:sourceRef>
+ <bpmn2:targetRef>driver</bpmn2:targetRef>
+ </bpmn2:dataOutputAssociation>
+ </bpmn2:serviceTask>
+ <bpmn2:endEvent id="_67972C63-8A06-42C5-A3FF-A843EFB4D07B">
+ <bpmn2:incoming>_1287C97D-3568-458A-A907-0123A64A93BE</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="_298312AB-7A3D-478B-BD9B-B260CE847645"
name="Suspended Task" scriptFormat="http://www.java.com/java">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[Suspended
+Task]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_249EB7E9-5847-47C9-8B4D-8BEFED257600</bpmn2:incoming>
+ <bpmn2:outgoing>_1287C97D-3568-458A-A907-0123A64A93BE</bpmn2:outgoing>
+ <bpmn2:script>System.out.println("Driver is suspended!");</bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="_8A66FABC-E538-4F50-9DAC-BC9069D19942"
name="Exclusive Gateway 2" gatewayDirection="Diverging">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[Exclusive Gateway 2]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_E7EF578E-3735-42D9-BF0C-8CCBF398D41C</bpmn2:incoming>
+ <bpmn2:outgoing>_19CC68B6-D2DC-4E39-99E5-CE5B30C5FEE6</bpmn2:outgoing>
+ <bpmn2:outgoing>_249EB7E9-5847-47C9-8B4D-8BEFED257600</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:endEvent id="_418CD980-670D-4FC5-B492-A271A61B1477">
+ <bpmn2:incoming>_521A00FC-6A79-44ED-8485-45DB97A621F2</bpmn2:incoming>
+ </bpmn2:endEvent>
+ <bpmn2:scriptTask id="_DDD02AFB-D927-47BC-9C0C-523B602B5CD2" name="Not
Suspended Task" scriptFormat="http://www.java.com/java">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[Not Suspended
+ Task]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_19CC68B6-D2DC-4E39-99E5-CE5B30C5FEE6</bpmn2:incoming>
+ <bpmn2:outgoing>_521A00FC-6A79-44ED-8485-45DB97A621F2</bpmn2:outgoing>
+ <bpmn2:script>System.out.println("Driver is NOT
suspended!");</bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:businessRuleTask id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941"
name="TrafficViolation DMN"
implementation="http://www.jboss.org/drools/dmn">
+ <bpmn2:extensionElements>
+ <drools:metaData name="elementname">
+ <drools:metaValue><![CDATA[TrafficViolation
+DMN]]></drools:metaValue>
+ </drools:metaData>
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>_D2252EFF-5EC4-4D61-B797-653F71652627</bpmn2:incoming>
+ <bpmn2:outgoing>_BB963FF4-CF17-4CA0-A727-9AFC2BE17C29</bpmn2:outgoing>
+ <bpmn2:ioSpecification>
+ <bpmn2:dataInput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputX"
drools:dtype="java.lang.String"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputXItem"
name="namespace"/>
+ <bpmn2:dataInput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputX"
drools:dtype="java.lang.String"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputXItem"
name="model"/>
+ <bpmn2:dataInput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ViolationInputX"
drools:dtype="org.kie.kogito.traffic.Violation"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ViolationInputXItem"
name="Violation"/>
+ <bpmn2:dataInput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_DriverInputX"
drools:dtype="org.kie.kogito.traffic.licensevalidation.Driver"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_DriverInputXItem"
name="Driver"/>
+ <bpmn2:dataOutput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ValidatedOutputX"
drools:dtype="org.kie.kogito.traffic.licensevalidated.Validated"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ValidatedOutputXItem"
name="Validated"/>
+ <bpmn2:dataOutput
id="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_FineOutputX"
drools:dtype="org.kie.kogito.traffic.Fine"
itemSubjectRef="__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_FineOutputXItem"
name="Fine"/>
+ <bpmn2:inputSet>
+
<bpmn2:dataInputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputX</bpmn2:dataInputRefs>
+
<bpmn2:dataInputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputX</bpmn2:dataInputRefs>
+
<bpmn2:dataInputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ViolationInputX</bpmn2:dataInputRefs>
+
<bpmn2:dataInputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_DriverInputX</bpmn2:dataInputRefs>
+ </bpmn2:inputSet>
+ <bpmn2:outputSet>
+
<bpmn2:dataOutputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ValidatedOutputX</bpmn2:dataOutputRefs>
+
<bpmn2:dataOutputRefs>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_FineOutputX</bpmn2:dataOutputRefs>
+ </bpmn2:outputSet>
+ </bpmn2:ioSpecification>
+ <bpmn2:dataInputAssociation>
+
<bpmn2:targetRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputX</bpmn2:targetRef>
+ <bpmn2:assignment>
+ <bpmn2:from
xsi:type="bpmn2:tFormalExpression"><![CDATA[https://github.com/kiegroup/drools/kie-dmn/_A4BCA8B8-CF08-433F-93B2-A2598F19ECFF]]></bpmn2:from>
+ <bpmn2:to
xsi:type="bpmn2:tFormalExpression"><![CDATA[_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_namespaceInputX]]></bpmn2:to>
+ </bpmn2:assignment>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataInputAssociation>
+
<bpmn2:targetRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputX</bpmn2:targetRef>
+ <bpmn2:assignment>
+ <bpmn2:from xsi:type="bpmn2:tFormalExpression"><![CDATA[Traffic
Violation]]></bpmn2:from>
+ <bpmn2:to
xsi:type="bpmn2:tFormalExpression"><![CDATA[_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_modelInputX]]></bpmn2:to>
+ </bpmn2:assignment>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataInputAssociation>
+ <bpmn2:sourceRef>violation</bpmn2:sourceRef>
+
<bpmn2:targetRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ViolationInputX</bpmn2:targetRef>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataInputAssociation>
+ <bpmn2:sourceRef>driver</bpmn2:sourceRef>
+
<bpmn2:targetRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_DriverInputX</bpmn2:targetRef>
+ </bpmn2:dataInputAssociation>
+ <bpmn2:dataOutputAssociation>
+
<bpmn2:sourceRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_ValidatedOutputX</bpmn2:sourceRef>
+ <bpmn2:targetRef>validated</bpmn2:targetRef>
+ </bpmn2:dataOutputAssociation>
+ <bpmn2:dataOutputAssociation>
+
<bpmn2:sourceRef>_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_FineOutputX</bpmn2:sourceRef>
+ <bpmn2:targetRef>fine</bpmn2:targetRef>
+ </bpmn2:dataOutputAssociation>
+ </bpmn2:businessRuleTask>
+ <bpmn2:startEvent id="_905F0834-19CC-423B-B90E-B38C6D80329F">
+ <bpmn2:outgoing>_2C2FFD79-4241-4F9E-A486-2482F817595E</bpmn2:outgoing>
+ </bpmn2:startEvent>
+ </bpmn2:process>
+ <bpmndi:BPMNDiagram>
+ <bpmndi:BPMNPlane bpmnElement="traffic">
+ <bpmndi:BPMNShape id="shape__905F0834-19CC-423B-B90E-B38C6D80329F"
bpmnElement="_905F0834-19CC-423B-B90E-B38C6D80329F">
+ <dc:Bounds height="56" width="56" x="79" y="227"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941"
bpmnElement="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941">
+ <dc:Bounds height="98" width="216" x="782" y="205"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__DDD02AFB-D927-47BC-9C0C-523B602B5CD2"
bpmnElement="_DDD02AFB-D927-47BC-9C0C-523B602B5CD2">
+ <dc:Bounds height="100" width="181" x="1429.5" y="354"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__418CD980-670D-4FC5-B492-A271A61B1477"
bpmnElement="_418CD980-670D-4FC5-B492-A271A61B1477">
+ <dc:Bounds height="56" width="56" x="1719" y="377"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__8A66FABC-E538-4F50-9DAC-BC9069D19942"
bpmnElement="_8A66FABC-E538-4F50-9DAC-BC9069D19942">
+ <dc:Bounds height="56" width="56" x="1351" y="228"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__298312AB-7A3D-478B-BD9B-B260CE847645"
bpmnElement="_298312AB-7A3D-478B-BD9B-B260CE847645">
+ <dc:Bounds height="102" width="178" x="1445" y="77"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__67972C63-8A06-42C5-A3FF-A843EFB4D07B"
bpmnElement="_67972C63-8A06-42C5-A3FF-A843EFB4D07B">
+ <dc:Bounds height="56" width="56" x="1719" y="100"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__93FFD317-476E-4624-84EF-994617572560"
bpmnElement="_93FFD317-476E-4624-84EF-994617572560">
+ <dc:Bounds height="102" width="154" x="195" y="205"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5"
bpmnElement="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5">
+ <dc:Bounds height="101.09090909090912" width="177.63636363636363"
x="409" y="205.45454545454544"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__7229480F-BC4D-4406-B27C-8FF46C5C9042"
bpmnElement="_7229480F-BC4D-4406-B27C-8FF46C5C9042">
+ <dc:Bounds height="56" width="56" x="637" y="227"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__E2A8304B-68A0-4CCC-8D47-1FA9352D4853"
bpmnElement="_E2A8304B-68A0-4CCC-8D47-1FA9352D4853">
+ <dc:Bounds height="56" width="56" x="637" y="416"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="shape__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C"
bpmnElement="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C">
+ <dc:Bounds height="103" width="227" x="1032" y="204.11691542288554"/>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge
id="edge_shape__905F0834-19CC-423B-B90E-B38C6D80329F_to_shape__93FFD317-476E-4624-84EF-994617572560"
bpmnElement="_2C2FFD79-4241-4F9E-A486-2482F817595E">
+ <di:waypoint x="107" y="255"/>
+ <di:waypoint x="272" y="205"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__7229480F-BC4D-4406-B27C-8FF46C5C9042_to_shape__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941"
bpmnElement="_D2252EFF-5EC4-4D61-B797-653F71652627">
+ <di:waypoint x="665" y="255"/>
+ <di:waypoint x="782" y="254"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__B076DF7E-91A5-47C7-B3FC-2C2EC06E5941_to_shape__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C"
bpmnElement="_BB963FF4-CF17-4CA0-A727-9AFC2BE17C29">
+ <di:waypoint x="890" y="254"/>
+ <di:waypoint x="1032" y="255.61691542288554"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__8A66FABC-E538-4F50-9DAC-BC9069D19942_to_shape__DDD02AFB-D927-47BC-9C0C-523B602B5CD2"
bpmnElement="_19CC68B6-D2DC-4E39-99E5-CE5B30C5FEE6">
+ <di:waypoint x="1379" y="256"/>
+ <di:waypoint x="1378.951928980325" y="406.2250892494252"/>
+ <di:waypoint x="1520" y="404"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__DDD02AFB-D927-47BC-9C0C-523B602B5CD2_to_shape__418CD980-670D-4FC5-B492-A271A61B1477"
bpmnElement="_521A00FC-6A79-44ED-8485-45DB97A621F2">
+ <di:waypoint x="1520" y="354"/>
+ <di:waypoint x="1747" y="433"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C_to_shape__8A66FABC-E538-4F50-9DAC-BC9069D19942"
bpmnElement="_E7EF578E-3735-42D9-BF0C-8CCBF398D41C">
+ <di:waypoint x="1259" y="255.61691542288554"/>
+ <di:waypoint x="1351" y="256"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__8A66FABC-E538-4F50-9DAC-BC9069D19942_to_shape__298312AB-7A3D-478B-BD9B-B260CE847645"
bpmnElement="_249EB7E9-5847-47C9-8B4D-8BEFED257600">
+ <di:waypoint x="1379" y="256"/>
+ <di:waypoint x="1378.9581298828125" y="128"/>
+ <di:waypoint x="1534" y="179"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__298312AB-7A3D-478B-BD9B-B260CE847645_to_shape__67972C63-8A06-42C5-A3FF-A843EFB4D07B"
bpmnElement="_1287C97D-3568-458A-A907-0123A64A93BE">
+ <di:waypoint x="1623" y="128"/>
+ <di:waypoint x="1719" y="128"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__93FFD317-476E-4624-84EF-994617572560_to_shape__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5"
bpmnElement="_A19108FE-08A2-4E80-B7A8-0254C49209A6">
+ <di:waypoint x="272" y="256"/>
+ <di:waypoint x="409" y="256"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__95EFED1F-73F8-47E7-9604-A81EFE5DE8F5_to_shape__7229480F-BC4D-4406-B27C-8FF46C5C9042"
bpmnElement="_D3E2F4B7-7739-452F-8D55-0C4F169D4A44">
+ <di:waypoint x="497.8181818181818" y="256"/>
+ <di:waypoint x="637" y="255"/>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge
id="edge_shape__7229480F-BC4D-4406-B27C-8FF46C5C9042_to_shape__E2A8304B-68A0-4CCC-8D47-1FA9352D4853"
bpmnElement="_044AA388-325A-45DE-B783-4F48421B788B">
+ <di:waypoint x="665" y="255"/>
+ <di:waypoint x="665" y="444"/>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+ <bpmn2:relationship type="BPSimData">
+ <bpmn2:extensionElements>
+ <bpsim:BPSimData>
+ <bpsim:Scenario id="default" name="Simulationscenario">
+ <bpsim:ScenarioParameters/>
+ <bpsim:ElementParameters
elementRef="_905F0834-19CC-423B-B90E-B38C6D80329F">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_B076DF7E-91A5-47C7-B3FC-2C2EC06E5941">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_DDD02AFB-D927-47BC-9C0C-523B602B5CD2">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_298312AB-7A3D-478B-BD9B-B260CE847645">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_93FFD317-476E-4624-84EF-994617572560">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_95EFED1F-73F8-47E7-9604-A81EFE5DE8F5">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ <bpsim:ElementParameters
elementRef="_3F719C8E-DA3F-46F8-B8F2-5F04DB132E9C">
+ <bpsim:TimeParameters>
+ <bpsim:ProcessingTime>
+ <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
+ </bpsim:ProcessingTime>
+ </bpsim:TimeParameters>
+ <bpsim:ResourceParameters>
+ <bpsim:Availability>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Availability>
+ <bpsim:Quantity>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:Quantity>
+ </bpsim:ResourceParameters>
+ <bpsim:CostParameters>
+ <bpsim:UnitCost>
+ <bpsim:FloatingParameter value="0"/>
+ </bpsim:UnitCost>
+ </bpsim:CostParameters>
+ </bpsim:ElementParameters>
+ </bpsim:Scenario>
+ </bpsim:BPSimData>
+ </bpmn2:extensionElements>
+ <bpmn2:source>_FcMNgJTYEDuJVMby5BR7SQ</bpmn2:source>
+ <bpmn2:target>_FcMNgJTYEDuJVMby5BR7SQ</bpmn2:target>
+ </bpmn2:relationship>
+</bpmn2:definitions>
\ No newline at end of file
diff --git
a/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/test/java/org/kie/kogito/traffic/TrafficProcessIT.java
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/test/java/org/kie/kogito/traffic/TrafficProcessIT.java
new file mode 100644
index 000000000..90d452832
--- /dev/null
+++
b/gradle-examples/kogito-quarkus-gradle-examples/process-decisions-rules-quarkus-gradle/src/test/java/org/kie/kogito/traffic/TrafficProcessIT.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.kie.kogito.traffic;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.http.ContentType;
+import io.restassured.response.ValidatableResponse;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
+
+@QuarkusTest
+public class TrafficProcessIT {
+
+ public static final BigDecimal SPEED_LIMIT = new BigDecimal(100);
+
+ @Test
+ public void testTrafficViolationEmbeddedDecisionOnQuarkus() {
+ testTrafficProcess("traffic", "12-345", 120d, "no", true, true);
+ testTrafficProcess("traffic", "12-15", 140d, "yes", true, false);
+ testTrafficProcess("traffic", "0-150", 140d, null, false, false);
+ }
+
+ private void testTrafficProcess(String processId, String driverId, Double
speed, String suspended, boolean validLicense, boolean validatedLicense) {
+ Map<String, Object> request = new HashMap<>();
+ request.put("driverId", driverId);
+ request.put("violation", new Violation("speed", SPEED_LIMIT, new
BigDecimal(speed)));
+ ValidatableResponse body = given()
+ .body(request)
+ .contentType(ContentType.JSON)
+ .when()
+ .post("/" + processId)
+ .then()
+ .statusCode(201)
+ .body("driver.ValidLicense", is(validLicense));
+ if (suspended != null) {
+ body.body("validated.ValidLicense", is(validatedLicense))
+ .body("validated.Suspended", is(suspended));
+ } else {
+ body.body("validated", nullValue());
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]