From 86990874599bcc5bc007017e6218dfc978770d3a Mon Sep 17 00:00:00 2001 From: Francisco Javier Tirado Sarti Date: Thu, 3 Aug 2023 11:37:15 +0200 Subject: [PATCH] Revert "[KOGITO-9614] Kogito changes for new asyncapi extension version (#3147)" This reverts commit decf232adc6ae394fc673c581541a3c53415f75a. --- .../validation/ValidationDecorator.java | 4 +- .../validation/ValidationLogDecorator.java | 2 +- kogito-build/kogito-dependencies-bom/pom.xml | 2 +- .../codegen/process/ProcessCodegen.java | 18 ++++----- .../process/ProcessParsingException.java | 5 ++- .../workflow/WorkflowCodeGenUtils.java | 39 ++++++++++++------- ...ier.java => AsyncInputStreamSupplier.java} | 6 +-- ...=> WorkflowAsyncApiSpecInputProvider.java} | 28 +++++++------ ...oadableAsyncApiGeneratorStreamCodeGen.java | 28 +++++++++++++ .../WorkflowOpenApiSpecInputProvider.java | 5 +-- .../rpc/WorkflowRPCCodeGenProvider.java | 4 +- ...generator.input.AsyncApiSpecInputProvider} | 2 +- ...t.livereload.LiveReloadableCodeGenProvider | 1 + .../pom.xml | 10 +++++ .../livereload/LiveReloadProcessorTest.java | 2 + 15 files changed, 106 insertions(+), 50 deletions(-) rename quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/{AsyncAPIInputStreamSupplier.java => AsyncInputStreamSupplier.java} (82%) rename quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/{WorkflowAsyncAPISpecInputProvider.java => WorkflowAsyncApiSpecInputProvider.java} (52%) create mode 100644 quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableAsyncApiGeneratorStreamCodeGen.java rename quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/{io.quarkiverse.asyncapi.config.AsyncAPISpecInputProvider => io.quarkiverse.asyncapi.generator.input.AsyncApiSpecInputProvider} (75%) diff --git a/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationDecorator.java b/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationDecorator.java index 60798fbf572..ee654455615 100644 --- a/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationDecorator.java +++ b/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationDecorator.java @@ -19,9 +19,9 @@ public abstract class ValidationDecorator { - protected final Map exceptions; + protected final Map exceptions; - protected ValidationDecorator(Map exceptions) { + protected ValidationDecorator(Map exceptions) { this.exceptions = exceptions; } diff --git a/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationLogDecorator.java b/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationLogDecorator.java index 8f4812028af..dddd7fdd736 100644 --- a/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationLogDecorator.java +++ b/jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/validation/ValidationLogDecorator.java @@ -24,7 +24,7 @@ public class ValidationLogDecorator extends ValidationDecorator { private static final Logger LOGGER = LoggerFactory.getLogger(ValidationLogDecorator.class); - public ValidationLogDecorator(Map exceptions) { + public ValidationLogDecorator(Map exceptions) { super(exceptions); } diff --git a/kogito-build/kogito-dependencies-bom/pom.xml b/kogito-build/kogito-dependencies-bom/pom.xml index 4c79cc0340b..7257ecc1b3c 100644 --- a/kogito-build/kogito-dependencies-bom/pom.xml +++ b/kogito-build/kogito-dependencies-bom/pom.xml @@ -30,7 +30,7 @@ 1.0.0-preview.20220705 1.1.0 1.3.8 - 0.0.5 + 0.0.3 1.1.5 0.0.8 1.5.2 diff --git a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessCodegen.java b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessCodegen.java index a433dfae7ad..946edbac927 100644 --- a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessCodegen.java +++ b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessCodegen.java @@ -106,7 +106,7 @@ public class ProcessCodegen extends AbstractGenerator { public static ProcessCodegen ofCollectedResources(KogitoBuildContext context, Collection resources) { Map processSVGMap = new HashMap<>(); - Map processesErrors = new HashMap<>(); + Map processesErrors = new HashMap<>(); boolean useSvgAddon = context.getAddonsConfig().useProcessSVG(); final List> processes = resources.stream() .map(CollectedResource::resource) @@ -123,13 +123,13 @@ public static ProcessCodegen ofCollectedResources(KogitoBuildContext context, Co GeneratedInfo generatedInfo = parseWorkflowFile(resource, WorkflowFormat.fromFileName(resource.getSourcePath()), context); notifySourceFileCodegenBindListeners(context, resource, Collections.singletonList(generatedInfo.info())); return Stream.of(addResource(generatedInfo, resource)); + } else { + return Stream.empty(); } - } catch (ValidationException e) { + } catch (ValidationException | ProcessParsingException e) { processesErrors.put(resource.getSourcePath(), e); - } catch (ProcessParsingException e) { - processesErrors.put(resource.getSourcePath(), e.getCause()); + return Stream.empty(); } - return Stream.empty(); }) //Validate parsed processes .map(processInfo -> validate(processInfo, processesErrors)) @@ -154,7 +154,7 @@ private static void notifySourceFileCodegenBindListeners(KogitoBuildContext cont .ifPresent(notifier -> processes.forEach(p -> notifier.notify(new SourceFileCodegenBindEvent(p.getId(), resource.getSourcePath())))); } - private static void handleValidation(KogitoBuildContext context, Map processesErrors) { + private static void handleValidation(KogitoBuildContext context, Map processesErrors) { if (!processesErrors.isEmpty()) { ValidationLogDecorator decorator = new ValidationLogDecorator(processesErrors); decorator.decorate(); @@ -165,7 +165,7 @@ private static void handleValidation(KogitoBuildContext context, Map validate(GeneratedInfo processInfo, Map processesErrors) { + private static GeneratedInfo validate(GeneratedInfo processInfo, Map processesErrors) { Process process = processInfo.info(); try { ProcessValidatorRegistry.getInstance().getValidator(process, process.getResource()).validate(process); @@ -216,7 +216,7 @@ protected static GeneratedInfo parseWorkflowFile(Resource try (Reader reader = r.getReader()) { return ServerlessWorkflowParser.of(reader, format, context).getProcessInfo(); } catch (IOException | RuntimeException e) { - throw new ProcessParsingException(e); + throw new ProcessParsingException("Could not parse file " + r.getSourcePath(), e); } } @@ -227,7 +227,7 @@ protected static Collection parseProcessFile(Resource r) { Thread.currentThread().getContextClassLoader()); return xmlReader.read(reader); } catch (SAXException | IOException e) { - throw new ProcessParsingException(e); + throw new ProcessParsingException("Could not parse file " + r.getSourcePath(), e); } } diff --git a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessParsingException.java b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessParsingException.java index 537db0ce99d..9df885d01b6 100644 --- a/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessParsingException.java +++ b/kogito-codegen-modules/kogito-codegen-processes/src/main/java/org/kie/kogito/codegen/process/ProcessParsingException.java @@ -16,9 +16,12 @@ package org.kie.kogito.codegen.process; public class ProcessParsingException extends RuntimeException { - private static final long serialVersionUID = 1L; public ProcessParsingException(Throwable cause) { super(cause); } + + public ProcessParsingException(String s, Throwable e) { + super(s, e); + } } diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.java index 4419cb7a659..36f0955dbea 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.java @@ -17,6 +17,7 @@ import java.io.IOException; import java.io.Reader; +import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.Map; @@ -27,6 +28,7 @@ import org.drools.codegen.common.GeneratedFile; import org.drools.codegen.common.GeneratedFileType; +import org.eclipse.microprofile.config.ConfigProvider; import org.kie.kogito.codegen.api.context.KogitoBuildContext; import org.kie.kogito.internal.SupportedExtensions; import org.kie.kogito.serverless.workflow.io.URIContentLoaderFactory; @@ -40,9 +42,12 @@ import com.github.javaparser.ast.CompilationUnit; +import io.quarkus.deployment.CodeGenContext; import io.serverlessworkflow.api.Workflow; import io.serverlessworkflow.api.functions.FunctionDefinition; +import static org.kie.kogito.serverless.workflow.utils.ServerlessWorkflowUtils.FAIL_ON_ERROR_PROPERTY; + public class WorkflowCodeGenUtils { private static final Logger logger = LoggerFactory.getLogger(WorkflowCodeGenUtils.class); @@ -51,8 +56,12 @@ public class WorkflowCodeGenUtils { private WorkflowCodeGenUtils() { } - public static Stream operationResources(Stream files, Predicate predicate, Optional operationIdProp) { - return getWorkflows(files).flatMap(w -> processFunction(w, predicate, WorkflowOperationIdFactoryProvider.getFactory(operationIdProp))); + private static WorkflowOperationIdFactory operationIdFactory(CodeGenContext context) { + return WorkflowOperationIdFactoryProvider.getFactory(context.config().getOptionalValue(WorkflowOperationIdFactoryProvider.PROPERTY_NAME, String.class)); + } + + public static Stream operationResources(Stream files, Predicate predicate, CodeGenContext context) { + return getWorkflows(files).flatMap(w -> processFunction(w, predicate, operationIdFactory(context))); } public static Stream getWorkflows(Stream files) { @@ -87,16 +96,20 @@ private static WorkflowOperationResource getResource(Workflow workflow, Function } private static Optional getWorkflow(Path path) { - if (SupportedExtensions.getSWFExtensions().stream().anyMatch(ext -> path.toString().endsWith(ext))) { - return workflowCache.computeIfAbsent(path, p -> { - try (Reader r = Files.newBufferedReader(p)) { - return Optional.of(ServerlessWorkflowUtils.getWorkflow(r, WorkflowFormat.fromFileName(p.getFileName()))); - } catch (IOException ex) { - logger.info("Error reading workflow file {}. Ignoring exception {}", p, ex); - return Optional. empty(); - } - }); - } - return Optional.empty(); + return workflowCache.computeIfAbsent(path, p -> SupportedExtensions.getSWFExtensions() + .stream() + .filter(e -> p.getFileName().toString().endsWith(e)) + .map(e -> { + try (Reader r = Files.newBufferedReader(p)) { + return Optional.of(ServerlessWorkflowUtils.getWorkflow(r, WorkflowFormat.fromFileName(p.getFileName()))); + } catch (IOException ex) { + if (ConfigProvider.getConfig().getOptionalValue(FAIL_ON_ERROR_PROPERTY, Boolean.class).orElse(true)) { + throw new UncheckedIOException(ex); + } else { + logger.error("Error reading workflow file {}", p, ex); + return Optional. empty(); + } + } + }).flatMap(Optional::stream).findFirst()); } } diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInputStreamSupplier.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncInputStreamSupplier.java similarity index 82% rename from quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInputStreamSupplier.java rename to quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncInputStreamSupplier.java index b1e21b1e7b1..5eb190eb1ad 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncAPIInputStreamSupplier.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/AsyncInputStreamSupplier.java @@ -19,13 +19,13 @@ import org.kie.kogito.quarkus.serverless.workflow.WorkflowOperationResource; -import io.quarkiverse.asyncapi.config.InputStreamSupplier; +import io.quarkiverse.asyncapi.generator.input.InputStreamSupplier; -class AsyncAPIInputStreamSupplier implements InputStreamSupplier { +class AsyncInputStreamSupplier implements InputStreamSupplier { private final WorkflowOperationResource resource; - public AsyncAPIInputStreamSupplier(WorkflowOperationResource resource) { + public AsyncInputStreamSupplier(WorkflowOperationResource resource) { this.resource = resource; } diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncAPISpecInputProvider.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncApiSpecInputProvider.java similarity index 52% rename from quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncAPISpecInputProvider.java rename to quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncApiSpecInputProvider.java index 20eb18918a6..2add1560b51 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncAPISpecInputProvider.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/asyncapi/WorkflowAsyncApiSpecInputProvider.java @@ -18,27 +18,31 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; import org.kie.kogito.quarkus.serverless.workflow.WorkflowCodeGenUtils; -import org.kie.kogito.serverless.workflow.operationid.WorkflowOperationIdFactoryProvider; -import io.quarkiverse.asyncapi.config.AsyncAPISpecInput; -import io.quarkiverse.asyncapi.config.AsyncAPISpecInputProvider; +import io.quarkiverse.asyncapi.generator.input.AsyncAPISpecInput; +import io.quarkiverse.asyncapi.generator.input.AsyncApiSpecInputProvider; +import io.quarkus.deployment.CodeGenContext; import io.serverlessworkflow.api.functions.FunctionDefinition.Type; -import io.smallrye.config.ConfigSourceContext; -public class WorkflowAsyncAPISpecInputProvider implements AsyncAPISpecInputProvider { +public class WorkflowAsyncApiSpecInputProvider implements AsyncApiSpecInputProvider { + + private static final String KOGITO_PACKAGE_PREFIX = "org.kie.kogito.asyncAPI"; @Override - public AsyncAPISpecInput read(ConfigSourceContext context) throws IOException { - try (Stream workflowFiles = Files.walk(Path.of(System.getProperty("user.dir")))) { - return new AsyncAPISpecInput(WorkflowCodeGenUtils - .operationResources(workflowFiles, f -> f.getType() == Type.ASYNCAPI, - Optional.ofNullable(context.getValue(WorkflowOperationIdFactoryProvider.PROPERTY_NAME).getValue())) - .collect(Collectors.toMap(resource -> resource.getOperationId().getFileName(), AsyncAPIInputStreamSupplier::new, (key1, key2) -> key1))); + public AsyncAPISpecInput read(CodeGenContext context) { + Path inputDir = context.inputDir(); + while (!Files.exists(inputDir)) { + inputDir = inputDir.getParent(); + } + try (Stream workflowFiles = Files.walk(inputDir)) { + return new AsyncAPISpecInput(WorkflowCodeGenUtils.operationResources(workflowFiles, f -> f.getType() == Type.ASYNCAPI, context) + .collect(Collectors.toMap(resource -> resource.getOperationId().getFileName(), AsyncInputStreamSupplier::new, (key1, key2) -> key1)), KOGITO_PACKAGE_PREFIX); + } catch (IOException io) { + throw new IllegalStateException(io); } } } diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableAsyncApiGeneratorStreamCodeGen.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableAsyncApiGeneratorStreamCodeGen.java new file mode 100644 index 00000000000..b3c76ffe20d --- /dev/null +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableAsyncApiGeneratorStreamCodeGen.java @@ -0,0 +1,28 @@ +/* + * Copyright 2023 Red Hat, Inc. and/or its affiliates. + * + * Licensed 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.quarkus.serverless.workflow.deployment.livereload; + +import io.quarkiverse.asyncapi.generator.input.AsyncApiGeneratorStreamCodeGen; + +/** + * Wrapper for {@link AsyncApiGeneratorStreamCodeGen} that implements the {@link LiveReloadableCodeGenProvider} Service Provider Interface. + */ +public class LiveReloadableAsyncApiGeneratorStreamCodeGen extends LiveReloadableCodeGenProviderBase { + + public LiveReloadableAsyncApiGeneratorStreamCodeGen() { + super(new AsyncApiGeneratorStreamCodeGen()); + } +} diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java index 68532057d95..c703de138dc 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java @@ -24,7 +24,6 @@ import org.kie.kogito.quarkus.serverless.workflow.WorkflowCodeGenUtils; import org.kie.kogito.quarkus.serverless.workflow.WorkflowOperationResource; -import org.kie.kogito.serverless.workflow.operationid.WorkflowOperationIdFactoryProvider; import org.kie.kogito.serverless.workflow.utils.OpenAPIWorkflowUtils; import io.quarkiverse.openapi.generator.deployment.codegen.OpenApiSpecInputProvider; @@ -42,9 +41,7 @@ public List read(CodeGenContext context) { inputDir = inputDir.getParent(); } try (Stream openApiFilesPaths = Files.walk(inputDir)) { - return WorkflowCodeGenUtils - .operationResources(openApiFilesPaths, OpenAPIWorkflowUtils::isOpenApiOperation, context.config().getOptionalValue(WorkflowOperationIdFactoryProvider.PROPERTY_NAME, String.class)) - .map(this::getSpecInput).collect(Collectors.toList()); + return WorkflowCodeGenUtils.operationResources(openApiFilesPaths, OpenAPIWorkflowUtils::isOpenApiOperation, context).map(this::getSpecInput).collect(Collectors.toList()); } catch (IOException io) { throw new IllegalStateException(io); } diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java index fa7abca73af..dfe9e4898dc 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java @@ -31,7 +31,6 @@ import org.kie.kogito.serverless.workflow.io.FileContentLoader; import org.kie.kogito.serverless.workflow.io.URIContentLoader; import org.kie.kogito.serverless.workflow.io.URIContentLoaderFactory; -import org.kie.kogito.serverless.workflow.operationid.WorkflowOperationIdFactoryProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,8 +65,7 @@ public boolean trigger(CodeGenContext context) throws CodeGenException { Path outputPath = context.workDir().resolve("proto_temp"); Files.createDirectories(outputPath); Collection protoFiles = - WorkflowCodeGenUtils.operationResources(rpcFilePaths, this::isRPC, context.config().getOptionalValue(WorkflowOperationIdFactoryProvider.PROPERTY_NAME, String.class)) - .map(r -> getPath(r, outputPath)).filter(Optional::isPresent).map(Optional::get) + WorkflowCodeGenUtils.operationResources(rpcFilePaths, this::isRPC, context).map(r -> getPath(r, outputPath)).filter(Optional::isPresent).map(Optional::get) .collect(Collectors.toList()); logger.debug("Collected proto paths are {}", protoFiles); if (protoFiles.isEmpty()) { diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.config.AsyncAPISpecInputProvider b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.generator.input.AsyncApiSpecInputProvider similarity index 75% rename from quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.config.AsyncAPISpecInputProvider rename to quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.generator.input.AsyncApiSpecInputProvider index 8fd5e949c9b..45cdf4ba110 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.config.AsyncAPISpecInputProvider +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.asyncapi.generator.input.AsyncApiSpecInputProvider @@ -1 +1 @@ -org.kie.kogito.quarkus.serverless.workflow.asyncapi.WorkflowAsyncAPISpecInputProvider \ No newline at end of file +org.kie.kogito.quarkus.serverless.workflow.asyncapi.WorkflowAsyncApiSpecInputProvider \ No newline at end of file diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider index 3287cfdc468..6bf1e19518e 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider @@ -1,2 +1,3 @@ +org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableAsyncApiGeneratorStreamCodeGen org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableOpenApiGeneratorStreamCodeGen org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableWorkflowRPCCodeGenProvider \ No newline at end of file diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/pom.xml b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/pom.xml index 9d7ff074e20..8c0fe4812e9 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/pom.xml +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/pom.xml @@ -43,15 +43,25 @@ io.grpc grpc-netty-shaded + ${version.io.grpc} runtime io.grpc grpc-protobuf + ${version.io.grpc} io.grpc grpc-stub + ${version.io.grpc} + + + + org.apache.tomcat + annotations-api + 6.0.53 + provided diff --git a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java index a9909433baf..7d8a4793aa3 100644 --- a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java +++ b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-extension-live-reload-test/src/test/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadProcessorTest.java @@ -28,6 +28,7 @@ import org.jboss.shrinkwrap.api.asset.StringAsset; import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.kie.kogito.test.utils.SocketUtils; @@ -162,6 +163,7 @@ void testGrpc() throws InterruptedException, IOException { } @Test + @Disabled("Disabled until https://issues.redhat.com/browse/KOGITO-9614 is resolved") void testAsyncApi() throws IOException { given() .contentType(ContentType.JSON)