Skip to content

Commit

Permalink
KOGITO-8410 Removed GetRequestKnativeParamsDecorator
Browse files Browse the repository at this point in the history
Signed-off-by: Helber Belmiro <[email protected]>
  • Loading branch information
hbelmiro committed Aug 16, 2023
1 parent a0b390e commit d513c7e
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 126 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
public class PrefixParamsDecorator extends AbstractParamsDecorator {

private static final String HEADER_PREFIX = "HEADER_";
private static final String QUERY_PREFIX = "QUERY_";
public static final String QUERY_PREFIX = "QUERY_";

@Override
protected boolean isHeaderParameter(String key) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import org.jbpm.ruleflow.core.factory.NodeFactory;
import org.jbpm.ruleflow.core.factory.WorkItemNodeFactory;
import org.kie.kogito.addons.quarkus.knative.serving.customfunctions.CloudEventKnativeParamsDecorator;
import org.kie.kogito.addons.quarkus.knative.serving.customfunctions.GetRequestKnativeParamsDecorator;
import org.kie.kogito.addons.quarkus.knative.serving.customfunctions.KnativeWorkItemHandler;
import org.kie.kogito.addons.quarkus.knative.serving.customfunctions.Operation;
import org.kie.kogito.addons.quarkus.knative.serving.customfunctions.PlainJsonKnativeParamsDecorator;
Expand All @@ -34,6 +33,7 @@
import org.kie.kogito.serverless.workflow.suppliers.ParamsRestBodyBuilderSupplier;
import org.kogito.workitem.rest.RestWorkItemHandler;
import org.kogito.workitem.rest.decorators.ParamsDecorator;
import org.kogito.workitem.rest.decorators.PrefixParamsDecorator;

import com.github.javaparser.ast.expr.Expression;

Expand All @@ -42,6 +42,7 @@
import io.serverlessworkflow.api.functions.FunctionRef;
import io.vertx.core.http.HttpMethod;

import static org.kie.kogito.addons.quarkus.knative.serving.customfunctions.KnativeWorkItemHandler.PAYLOAD_FIELDS_DELIMITER;
import static org.kie.kogito.addons.quarkus.knative.serving.customfunctions.KnativeWorkItemHandler.PAYLOAD_FIELDS_PROPERTY_NAME;
import static org.kie.kogito.serverless.workflow.parser.FunctionTypeHandlerFactory.trimCustomOperation;
import static org.kie.kogito.serverless.workflow.utils.ServerlessWorkflowUtils.runtimeRestApi;
Expand All @@ -63,7 +64,7 @@ public class KnativeTypeHandler extends WorkItemTypeHandler {
List<String> payloadFields = new ArrayList<>();
functionRef.getArguments().fieldNames().forEachRemaining(payloadFields::add);
if (!payloadFields.isEmpty()) {
node.workParameter(PAYLOAD_FIELDS_PROPERTY_NAME, String.join(";", payloadFields));
node.workParameter(PAYLOAD_FIELDS_PROPERTY_NAME, String.join(PAYLOAD_FIELDS_DELIMITER, payloadFields));
}
}

Expand Down Expand Up @@ -98,7 +99,7 @@ private static Class<? extends ParamsDecorator> getParamsDecorator(Operation ope
if (operation.isCloudEvent()) {
return CloudEventKnativeParamsDecorator.class;
} else if (HttpMethod.GET.equals(operation.getHttpMethod())) {
return GetRequestKnativeParamsDecorator.class;
return PrefixParamsDecorator.class;
} else {
return PlainJsonKnativeParamsDecorator.class;
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.kie.kogito.addons.quarkus.knative.serving.customfunctions;

import java.net.URI;
import java.util.Arrays;
import java.util.Map;

import org.kie.kogito.addons.k8s.resource.catalog.KubernetesServiceCatalog;
Expand All @@ -25,9 +26,11 @@
import org.kie.kogito.process.workitem.WorkItemExecutionException;
import org.kogito.workitem.rest.RestWorkItemHandler;

import io.vertx.core.http.HttpMethod;
import io.vertx.mutiny.ext.web.client.WebClient;

import static org.kie.kogito.addons.k8s.resource.catalog.KubernetesProtocol.KNATIVE;
import static org.kogito.workitem.rest.decorators.PrefixParamsDecorator.QUERY_PREFIX;

public final class KnativeWorkItemHandler extends RestWorkItemHandler {

Expand Down Expand Up @@ -58,9 +61,22 @@ public KnativeWorkItemHandler(WebClient httpClient, WebClient httpsClient, Kuber
public void executeWorkItem(KogitoWorkItem workItem, KogitoWorkItemManager manager) {
Map<String, Object> parameters = workItem.getParameters();
parameters.put(RestWorkItemHandler.URL, getUrl(parameters));

if (HttpMethod.GET.name().equals(workItem.getParameters().get(RestWorkItemHandler.METHOD))) {
addQueryParamsPrefix(workItem);
}

super.executeWorkItem(workItem, manager);
}

private static void addQueryParamsPrefix(KogitoWorkItem workItem) {
String payloadFields = workItem.getParameters().remove(PAYLOAD_FIELDS_PROPERTY_NAME).toString();
if (payloadFields != null) {
Arrays.stream(payloadFields.split(PAYLOAD_FIELDS_DELIMITER))
.forEach(field -> workItem.getParameters().put(QUERY_PREFIX + field, workItem.getParameters().remove(field)));
}
}

private String getUrl(Map<String, Object> parameters) {
return getServiceAddress(parameters) + parameters.remove(PATH_PROPERTY_NAME);
}
Expand Down

This file was deleted.

0 comments on commit d513c7e

Please sign in to comment.