Skip to content

Commit

Permalink
KOGITO-9158 Changed KnativeWorkItemHandler to extend RestWorkItemHandler
Browse files Browse the repository at this point in the history
Signed-off-by: Helber Belmiro <[email protected]>
  • Loading branch information
hbelmiro committed Aug 8, 2023
1 parent a8a1233 commit 6d099af
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,15 @@
import org.kie.kogito.addons.k8s.resource.catalog.KubernetesServiceCatalog;
import org.kie.kogito.addons.k8s.resource.catalog.KubernetesServiceCatalogKey;
import org.kie.kogito.internal.process.runtime.KogitoWorkItem;
import org.kie.kogito.internal.process.runtime.KogitoWorkItemHandler;
import org.kie.kogito.internal.process.runtime.KogitoWorkItemManager;
import org.kie.kogito.process.workitem.WorkItemExecutionException;
import org.kogito.workitem.rest.RestWorkItemHandler;

import io.vertx.mutiny.ext.web.client.WebClient;

import static org.kie.kogito.addons.k8s.resource.catalog.KubernetesProtocol.KNATIVE;

public final class KnativeWorkItemHandler implements KogitoWorkItemHandler {
public final class KnativeWorkItemHandler extends RestWorkItemHandler {

public static final String APPLICATION_CLOUDEVENTS_JSON_CHARSET_UTF_8 = "application/cloudevents+json; charset=UTF-8";

Expand All @@ -46,20 +47,18 @@ public final class KnativeWorkItemHandler implements KogitoWorkItemHandler {

public static final String CLOUDEVENT_SENT_AS_PLAIN_JSON_ERROR_MESSAGE = "A Knative custom function argument cannot be a CloudEvent when the 'asCloudEvent' property are not set to 'true'";

private final KogitoWorkItemHandler delegate;

private final KubernetesServiceCatalog kubernetesServiceCatalog;

public KnativeWorkItemHandler(KogitoWorkItemHandler delegate, KubernetesServiceCatalog kubernetesServiceCatalog) {
this.delegate = delegate;
public KnativeWorkItemHandler(WebClient httpClient, WebClient httpsClient, KubernetesServiceCatalog kubernetesServiceCatalog) {
super(httpClient, httpsClient);
this.kubernetesServiceCatalog = kubernetesServiceCatalog;
}

@Override
public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager manager) {
Map<String, Object> parameters = workItem.getParameters();
parameters.put(RestWorkItemHandler.URL, getUrl(parameters));
delegate.executeWorkItem(workItem, manager);
super.executeWorkItem(workItem, manager);
}

private String getUrl(Map<String, Object> parameters) {
Expand All @@ -79,9 +78,4 @@ private String getServiceAddress(Map<String, Object> parameters) {
public String getName() {
return NAME;
}

@Override
public void abortWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager manager) {
delegate.abortWorkItem(workItem, manager);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import javax.inject.Inject;

import org.kie.kogito.addons.k8s.resource.catalog.KubernetesServiceCatalog;
import org.kogito.workitem.rest.RestWorkItemHandler;
import org.kogito.workitem.rest.RestWorkItemHandlerUtils;

import io.vertx.ext.web.client.WebClientOptions;
Expand All @@ -36,11 +35,7 @@ public final class KnativeWorkItemHandlerProducer {

@Produces
KnativeWorkItemHandler createKnativeWorkItemHandler() {
return new KnativeWorkItemHandler(createRestWorkItemHandler(), kubernetesServiceCatalog);
}

private RestWorkItemHandler createRestWorkItemHandler() {
return new RestWorkItemHandler(getHttpClient(vertx), getHttpsClient());
return new KnativeWorkItemHandler(getHttpClient(vertx), getHttpsClient(), kubernetesServiceCatalog);
}

private WebClient getHttpsClient() {
Expand Down

0 comments on commit 6d099af

Please sign in to comment.