io.camunda.exporter.utils.ProcessCacheUtil Maven / Gradle / Ivy
/*
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
* one or more contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright ownership.
* Licensed under the Camunda License 1.0. You may not use this file
* except in compliance with the Camunda License 1.0.
*/
package io.camunda.exporter.utils;
import io.camunda.exporter.cache.ExporterEntityCache;
import io.camunda.exporter.cache.process.CachedProcessEntity;
import java.util.Optional;
public final class ProcessCacheUtil {
private ProcessCacheUtil() {
// utility class
}
/**
* Returns callActivityId from process cache by the index in call activities list sorted
* lexicographically.
*
* @param processCache
* @param processDefinitionKey
* @param callActivityIndex
* @return
*/
public static Optional getCallActivityId(
final ExporterEntityCache processCache,
final Long processDefinitionKey,
final Integer callActivityIndex) {
if (processDefinitionKey == null) {
return Optional.empty();
}
final var cachedProcess = processCache.get(processDefinitionKey);
if (cachedProcess.isEmpty()
|| cachedProcess.get().callElementIds() == null
|| callActivityIndex == null) {
return Optional.empty();
}
return Optional.of(cachedProcess.get().callElementIds().get(callActivityIndex));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy