Skip to content

Commit 9ea39e4

Browse files
KOGITO-9737 - Automatically register process definitions using Data Index addon (#1871) (#1873)
- Fix to consider the case where the project has no procesess Co-authored-by: Walter Medvedeo <wmedvedeo@gmail.com>
1 parent c8ba9cd commit 9ea39e4

File tree

1 file changed

+14
-8
lines changed
  • data-index/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/src/main/java/org/kie/kogito/index/addon

1 file changed

+14
-8
lines changed

data-index/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/src/main/java/org/kie/kogito/index/addon/ProcessDefinitionRegister.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import javax.enterprise.context.ApplicationScoped;
2424
import javax.enterprise.event.Observes;
25+
import javax.enterprise.inject.Instance;
2526

2627
import org.eclipse.microprofile.config.inject.ConfigProperty;
2728
import org.kie.kogito.Application;
@@ -46,14 +47,19 @@ public class ProcessDefinitionRegister {
4647
@ConfigProperty(name = "kogito.service.url")
4748
Optional<String> kogitoServiceUrl;
4849

49-
void startup(@Observes StartupEvent event, Processes processes, Application app, DataIndexStorageService storage, KogitoRuntimeClient client) {
50-
processes.processIds().stream()
51-
.map(processes::processById)
52-
.map(mapProcessDefinition(app.config().addons().availableAddons(), kogitoServiceUrl.orElse(null), client))
53-
.forEach(process -> {
54-
LOGGER.debug("Registering process definition with id: {}", process.getId());
55-
storage.getProcessDefinitionsCache().put(process.getKey(), process);
56-
});
50+
void startup(@Observes StartupEvent event, Instance<Processes> processesInstance, Application app, DataIndexStorageService storage, KogitoRuntimeClient client) {
51+
if (processesInstance.isResolvable()) {
52+
Processes processes = processesInstance.get();
53+
processes.processIds().stream()
54+
.map(processes::processById)
55+
.map(mapProcessDefinition(app.config().addons().availableAddons(), kogitoServiceUrl.orElse(null), client))
56+
.forEach(process -> {
57+
LOGGER.debug("Registering process definition with id: {}", process.getId());
58+
storage.getProcessDefinitionsCache().put(process.getKey(), process);
59+
});
60+
} else {
61+
LOGGER.info("No process definitions to register.");
62+
}
5763
}
5864

5965
private Function<Process<?>, ProcessDefinition> mapProcessDefinition(Set<String> addons, String endpoint, KogitoRuntimeClient client) {

0 commit comments

Comments
 (0)