Skip to content

Commit

Permalink
Merge pull request #73 from fantonangeli/sync-main
Browse files Browse the repository at this point in the history
Sync main branch with Apache main branch
  • Loading branch information
rgdoliveira authored Jan 14, 2025
2 parents 11c1b53 + 6573cf4 commit 8c22f56
Show file tree
Hide file tree
Showing 94 changed files with 2,333 additions and 241 deletions.
26 changes: 26 additions & 0 deletions .rat-excludes
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,32 @@ goapi.go
greetingAPI.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/hello.sw.yaml
hello.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/emptyworkflow.sw.yaml
emptyworkflow.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi-subflow34.expected.yaml
openapi-subflow34.expected.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi.expected.yaml
openapi.expected.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi.yaml
openapi.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi1.expected.yaml
openapi1.expected.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi1.yaml
openapi1.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi2.expected.yaml
openapi2.expected.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/openapi2.yaml
openapi2.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/subflow1.sw.yaml
subflow1.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/subflow2.sw.yaml
subflow2.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/subflow3.sw.yaml
subflow3.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/subflow4.sw.yaml
subflow4.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/refs/workflow1.sw.yaml
workflow1.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/subflow-custom.sw.yaml
subflow-custom.sw.yaml
# packages/kn-plugin-workflow/pkg/specs/testdata/subflow-mySpecsDir.sw.yaml
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Apache KIE
Copyright 2023-2024 The Apache Software Foundation
Copyright 2023-2025 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ quarkus.native.native-image-xmx=8g
%container.quarkus.container-image.registry=dev.local
%container.quarkus.container-image.tag=1.0-SNAPSHOT
%container.quarkus.jib.jvm-entrypoint=/home/kogito/kogito-app-launch.sh
%container.quarkus.jib.base-jvm-image=registry.access.redhat.com/ubi9/openjdk-17:1.20
%container.quarkus.jib.base-jvm-image=registry.access.redhat.com/ubi9/openjdk-17:1.21
%container.quarkus.jib.working-directory=/home/kogito/bin
2 changes: 1 addition & 1 deletion packages/cors-proxy-image/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.5

ARG CORS_PROXY_DEFAULT_PORT=8080
ARG CORS_PROXY_DEFAULT_ORIGIN=*
Expand Down
2 changes: 1 addition & 1 deletion packages/dashbuilder-viewer-image/Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.5

RUN microdnf --disableplugin=subscription-manager -y install httpd \
&& microdnf --disableplugin=subscription-manager clean all \
Expand Down
2 changes: 1 addition & 1 deletion packages/dashbuilder/appformer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
<version.org.infinispan.protostream>4.6.2.Final</version.org.infinispan.protostream>

<!-- Newer version in kie-parent causes ServiceLoader error -->
<version.ch.qos.logback>1.3.12</version.ch.qos.logback>
<version.ch.qos.logback>1.5.13</version.ch.qos.logback>
<version.jnuit.docker.rule>0.3</version.jnuit.docker.rule>
<version.com.spotify.docker>5.0.2</version.com.spotify.docker>
<version.org.uberfire.latestFinal.release>1.4.0.Final</version.org.uberfire.latestFinal.release>
Expand Down
4 changes: 2 additions & 2 deletions packages/dev-deployment-base-image/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Docker image with Java and Maven, as well as the dev-deployment-upload-service b

## Build arguments

- `BUILDER_IMAGE_ARG`: The base image used for building this image (defaults to `registry.access.redhat.com/ubi9/openjdk-17:1.20`).
- `BUILDER_IMAGE_ARG`: The base image used for building this image (defaults to `registry.access.redhat.com/ubi9/openjdk-17:1.21`).
- Tested with:
- registry.access.redhat.com/ubi9/openjdk-17:1.20
- registry.access.redhat.com/ubi9/openjdk-17:1.21
- icr.io/appcafe/ibm-semeru-runtimes:open-17-jdk-ubi-minimal

## Environment variables
Expand Down
2 changes: 1 addition & 1 deletion packages/dev-deployment-base-image/env/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const rootEnv = require("@kie-tools/root-env/env");
module.exports = composeEnv([rootEnv], {
vars: varsWithName({
DEV_DEPLOYMENT_BASE_IMAGE__builderImage: {
default: "registry.access.redhat.com/ubi9/openjdk-17:1.20",
default: "registry.access.redhat.com/ubi9/openjdk-17:1.21",
description: "The image used in the FROM import.",
},
DEV_DEPLOYMENT_BASE_IMAGE__userId: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM --platform=linux/amd64 registry.access.redhat.com/ubi9/ubi-minimal:9.5

ARG DEV_DEPLOYMENT_DMN_FORM_WEBAPP_DEFAULT_PORT=8081

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5

ARG DDUS_FILESERVER_IP=""
ARG DDUS_VERSION="0.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5

ARG DDUS_VERSION="0.0.0"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

FROM registry.access.redhat.com/ubi9/ubi-minimal:9.4
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.5

ENV DDUS_FILESERVER_IP=""
ENV DDUS_VERSION="0.0.0"
Expand Down
3 changes: 2 additions & 1 deletion packages/dmn-editor/src/dataTypes/DataTypeName.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { InlineFeelNameInput, OnInlineFeelNameRenamed } from "../feel/InlineFeel
import { useExternalModels } from "../includedModels/DmnEditorDependenciesContext";
import { State } from "../store/Store";
import { DmnBuiltInDataType } from "@kie-tools/boxed-expression-component/dist/api";
import { isStruct } from "./DataTypeSpec";

export function DataTypeName({
isReadOnly,
Expand Down Expand Up @@ -137,7 +138,7 @@ export function DataTypeName({
/>
{!isEditingLabel && (
<TypeRefLabel
typeRef={itemDefinition.typeRef?.__$$text ?? DmnBuiltInDataType.Undefined}
typeRef={isStruct(itemDefinition) ? "" : itemDefinition.typeRef?.__$$text ?? DmnBuiltInDataType.Undefined}
isCollection={itemDefinition["@_isCollection"]}
relativeToNamespace={relativeToNamespace}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,21 +135,21 @@ public CardPageBuildItem pages(
.metadata("page", "Processes")
.title("Process Instances")
.icon("font-awesome-solid:diagram-project")
.dynamicLabelJsonRPCMethodName("queryProcessInstancesCount"));
.streamingLabelJsonRPCMethodName("queryProcessInstancesCount"));

cardPageBuildItem.addPage(Page.webComponentPageBuilder()
.componentLink("qwc-jbpm-quarkus-devui.js")
.metadata("page", "Tasks")
.title("Tasks")
.icon("font-awesome-solid:bars-progress")
.dynamicLabelJsonRPCMethodName("queryTasksCount"));
.streamingLabelJsonRPCMethodName("queryTasksCount"));

cardPageBuildItem.addPage(Page.webComponentPageBuilder()
.componentLink("qwc-jbpm-quarkus-devui.js")
.metadata("page", "Jobs")
.title("Jobs")
.icon("font-awesome-solid:clock")
.dynamicLabelJsonRPCMethodName("queryJobsCount"));
.streamingLabelJsonRPCMethodName("queryJobsCount"));

cardPageBuildItem.addPage(Page.webComponentPageBuilder()
.componentLink("qwc-jbpm-quarkus-devui.js")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,11 @@
<artifactId>vertx-web-client</artifactId>
</dependency>

<dependency>
<groupId>org.kie.kogito</groupId>
<artifactId>kogito-api</artifactId>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* 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.jbpm.quarkus.devui.runtime.rpc;

import io.smallrye.mutiny.Multi;
import io.smallrye.mutiny.operators.multi.MultiCacheOp;
import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor;
import io.vertx.core.Vertx;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.web.client.WebClient;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DataIndexCounter {
private static final Logger LOGGER = LoggerFactory.getLogger(DataIndexCounter.class);

private final Vertx vertx;
private final MultiCacheOp<String> multi;
private final WebClient dataIndexWebClient;
private final String path;

private final String query;
private final String field;

public DataIndexCounter(String query, String graphField, String path, Vertx vertx, WebClient dataIndexWebClient) {
if (dataIndexWebClient == null) {
throw new IllegalArgumentException("dataIndexWebClient is null");
}
this.query = query;
this.field = graphField;
this.path = path;

this.vertx = vertx;
this.dataIndexWebClient = dataIndexWebClient;

this.multi = new MultiCacheOp<>(BroadcastProcessor.create());

refreshCount();
}

public void refresh() {
vertx.setTimer(1000, id -> {
refreshCount();
});
}

public void stop() {
multi.onComplete();
}

private void refreshCount() {
LOGGER.debug("Refreshing data for query: {}", query);

this.dataIndexWebClient.post(path + "/graphql")
.putHeader("content-type", "application/json")
.sendJson(new JsonObject(query))
.map(response -> {
if (response.statusCode() == 200) {
JsonObject responseData = response.bodyAsJsonObject().getJsonObject("data");
return String.valueOf(responseData.getJsonArray(field).size());
}
return "0";
})
.onComplete(count -> this.multi.onNext(count.result()));
}

public Multi<String> getMulti() {
return multi;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
* 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.jbpm.quarkus.devui.runtime.rpc;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;

import org.kie.kogito.event.DataEvent;
import org.kie.kogito.event.EventPublisher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import io.quarkus.arc.profile.IfBuildProfile;

import java.util.Collection;
import java.util.Objects;
@ApplicationScoped
@IfBuildProfile("dev")
public class JBPMDevUIEventPublisher implements EventPublisher {

private Runnable onProcessEvent;
private Runnable onTaskEvent;
private Runnable onJobEvent;

@Override
public void publish(DataEvent<?> event) {
switch (event.getType()) {
case "ProcessInstanceStateDataEvent":
maybeRun(onProcessEvent);
break;
case "UserTaskInstanceStateDataEvent":
maybeRun(onTaskEvent);
break;
case "JobEvent":
maybeRun(onJobEvent);
break;
}
}

@Override
public void publish(Collection<DataEvent<?>> events) {
events.forEach(this::publish);
}

private void maybeRun(Runnable runnable) {
if (Objects.nonNull(runnable)) {
runnable.run();
}
}

public void setOnProcessEventListener(Runnable onProcessEvent) {
this.onProcessEvent = onProcessEvent;
}

public void setOnTaskEventListener(Runnable onTaskEvent) {
this.onTaskEvent = onTaskEvent;
}

public void setOnJobEventListener(Runnable onJobEvent) {
this.onJobEvent = onJobEvent;
}
}
Loading

0 comments on commit 8c22f56

Please sign in to comment.