From 0165fa3dd1f4150ede067b5ff660bc648b244bfa Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Mon, 12 Aug 2024 08:45:15 -0300 Subject: [PATCH 1/3] Work in progress --- .../InfinispanCorrelationService.java | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java new file mode 100644 index 00000000000..86572f294df --- /dev/null +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java @@ -0,0 +1,71 @@ +package org.kie.kogito.infinispan.correlation; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.infinispan.client.hotrod.DefaultTemplate; +import org.infinispan.client.hotrod.RemoteCache; +import org.infinispan.client.hotrod.RemoteCacheManager; +import org.kie.kogito.correlation.Correlation; +import org.kie.kogito.correlation.CorrelationEncoder; +import org.kie.kogito.correlation.CorrelationInstance; +import org.kie.kogito.correlation.CorrelationService; +import org.kie.kogito.event.correlation.MD5CorrelationEncoder; +import org.kie.kogito.internal.utils.ConversionUtils; +import org.kie.kogito.jackson.utils.ObjectMapperFactory; + +import java.util.Map; +import java.util.Optional; +import java.util.UUID; + +public class InfinispanCorrelationService implements CorrelationService { + + private static final String CORRELATIONS_CACHE_NAME = "correlations"; + private final RemoteCache cache; + private final CorrelationEncoder encoder; + private final ObjectMapper objectMapper; + + public InfinispanCorrelationService(RemoteCacheManager remoteCacheManager, String templateName) { + if (ConversionUtils.isEmpty(templateName)) { + this.cache = remoteCacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, DefaultTemplate.LOCAL); + } else { + this.cache = remoteCacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, templateName); + } + this.encoder = new MD5CorrelationEncoder(); + this.objectMapper = ObjectMapperFactory.get().copy(); + } + + @Override + public CorrelationInstance create(Correlation correlation, String correlatedId) { + String encodedCorrelationId = this.encoder.encode(correlation); + + String id = UUID.randomUUID().toString(); + Map object = Map.of( + "id", id, + "encodedCorrelationId", encodedCorrelationId, + "correlatedId", correlatedId, + "correlation", correlation); + + try { + String json = this.objectMapper.writeValueAsString(object); + this.cache.put(id, json); + return new CorrelationInstance(encodedCorrelationId, correlatedId, correlation); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + @Override + public Optional find(Correlation correlation) { + return Optional.empty(); + } + + @Override + public Optional findByCorrelatedId(String correlatedId) { + return Optional.empty(); + } + + @Override + public void delete(Correlation correlation) { + + } +} From 7e2b72ec51afbd975ff1d987dcec2a52e99d13e9 Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Tue, 13 Aug 2024 11:05:22 -0300 Subject: [PATCH 2/3] Add first implementation of infinispan correlation --- .../correlation/CorrelationRecord.java | 14 +++ .../InfinispanCorrelationRepository.java | 102 +++++++++++++++ .../InfinispanCorrelationService.java | 53 +++----- .../CorrelationRecordServiceIT.java | 116 ++++++++++++++++++ 4 files changed, 246 insertions(+), 39 deletions(-) create mode 100644 addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java create mode 100644 addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java create mode 100644 addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java new file mode 100644 index 00000000000..5af081a2275 --- /dev/null +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java @@ -0,0 +1,14 @@ +package org.kie.kogito.infinispan.correlation; + +public record CorrelationRecord(String encodedCorrelationId, String correlatedId, + String correlation) { + + @Override + public String toString() { + return "InfinispanCorrelation[" + + "encodedCorrelationId=" + encodedCorrelationId + ", " + + "correlatedId=" + correlatedId + ", " + + "correlation=" + correlation + ']'; + } + +} diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java new file mode 100644 index 00000000000..a567caa0d08 --- /dev/null +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java @@ -0,0 +1,102 @@ +package org.kie.kogito.infinispan.correlation; + +import java.io.UncheckedIOException; +import java.util.Optional; + +import org.infinispan.client.hotrod.DefaultTemplate; +import org.infinispan.client.hotrod.RemoteCache; +import org.infinispan.client.hotrod.RemoteCacheManager; +import org.kie.kogito.correlation.CompositeCorrelation; +import org.kie.kogito.correlation.Correlation; +import org.kie.kogito.correlation.CorrelationInstance; +import org.kie.kogito.correlation.SimpleCorrelation; +import org.kie.kogito.internal.utils.ConversionUtils; +import org.kie.kogito.jackson.utils.ObjectMapperFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; + +public class InfinispanCorrelationRepository { + + private static final Logger LOGGER = LoggerFactory.getLogger(InfinispanCorrelationRepository.class); + + private static final String ENCODED_CORRELATION_ID_FIELD = "encodedCorrelationId"; + private static final String CORRELATED_ID_FIELD = "correlatedId"; + private static final String CORRELATION_FIELD = "correlation"; + public static final String CORRELATIONS_CACHE_NAME = "correlations"; + + private final RemoteCache cache; + private final ObjectMapper objectMapper; + + public InfinispanCorrelationRepository( + RemoteCacheManager cacheManager, + String templateName) { + if (ConversionUtils.isEmpty(templateName)) { + this.cache = cacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, DefaultTemplate.LOCAL); + } else { + this.cache = cacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, templateName); + } + SimpleModule simpleModule = new SimpleModule(); + simpleModule.addAbstractTypeMapping(Correlation.class, SimpleCorrelation.class); + this.objectMapper = ObjectMapperFactory.get().copy().registerModule(simpleModule); + } + + public CorrelationInstance insert(String encodedCorrelationId, String correlatedId, Correlation correlation) { + CorrelationInstance correlationInstance = new CorrelationInstance(encodedCorrelationId, correlatedId, correlation); + + try { + String json = this.objectMapper.writeValueAsString(correlation); + CorrelationRecord correlationRecord = new CorrelationRecord( + encodedCorrelationId, correlatedId, json); + String value = this.objectMapper.writeValueAsString(correlationRecord); + this.cache.put(encodedCorrelationId, value); + return correlationInstance; + } catch (JsonProcessingException e) { + throw new UncheckedIOException(e); + } + } + + public CorrelationInstance findByEncodedCorrelationId(String encodedCorrelationId) { + String json = this.cache.get(encodedCorrelationId); + if (json == null) { + return null; + } + try { + CorrelationRecord correlation = this.objectMapper.readValue(json, CorrelationRecord.class); + CompositeCorrelation compositeCorrelation = this.objectMapper.readValue(correlation.correlation(), CompositeCorrelation.class); + return new CorrelationInstance( + correlation.encodedCorrelationId(), + correlation.correlatedId(), + compositeCorrelation); + } catch (JsonProcessingException e) { + throw new UncheckedIOException(e); + } + } + + public CorrelationInstance findByCorrelatedId(String correlatedId) { + + Optional first = this.cache.values().stream().filter(item -> item.contains("\"correlatedId\":\"%s\"".formatted(correlatedId))) + .findFirst(); + if (first.isEmpty()) { + return null; + } + + try { + CorrelationRecord correlationRecord = this.objectMapper.readValue(first.get(), CorrelationRecord.class); + CompositeCorrelation compositeCorrelation = this.objectMapper.readValue(correlationRecord.correlation(), CompositeCorrelation.class); + return new CorrelationInstance( + correlationRecord.encodedCorrelationId(), + correlationRecord.correlatedId(), + compositeCorrelation); + } catch (JsonProcessingException e) { + throw new UncheckedIOException(e); + } + } + + public void delete(String encodedCorrelationId) { + this.cache.remove(encodedCorrelationId); + } +} diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java index 86572f294df..9a024958197 100644 --- a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationService.java @@ -1,71 +1,46 @@ package org.kie.kogito.infinispan.correlation; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.infinispan.client.hotrod.DefaultTemplate; -import org.infinispan.client.hotrod.RemoteCache; -import org.infinispan.client.hotrod.RemoteCacheManager; +import java.util.Optional; + import org.kie.kogito.correlation.Correlation; import org.kie.kogito.correlation.CorrelationEncoder; import org.kie.kogito.correlation.CorrelationInstance; import org.kie.kogito.correlation.CorrelationService; import org.kie.kogito.event.correlation.MD5CorrelationEncoder; -import org.kie.kogito.internal.utils.ConversionUtils; -import org.kie.kogito.jackson.utils.ObjectMapperFactory; - -import java.util.Map; -import java.util.Optional; -import java.util.UUID; public class InfinispanCorrelationService implements CorrelationService { - private static final String CORRELATIONS_CACHE_NAME = "correlations"; - private final RemoteCache cache; private final CorrelationEncoder encoder; - private final ObjectMapper objectMapper; - public InfinispanCorrelationService(RemoteCacheManager remoteCacheManager, String templateName) { - if (ConversionUtils.isEmpty(templateName)) { - this.cache = remoteCacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, DefaultTemplate.LOCAL); - } else { - this.cache = remoteCacheManager.administration().getOrCreateCache(CORRELATIONS_CACHE_NAME, templateName); - } + private final InfinispanCorrelationRepository correlationRepository; + + public InfinispanCorrelationService(InfinispanCorrelationRepository correlationRepository) { + this.correlationRepository = correlationRepository; this.encoder = new MD5CorrelationEncoder(); - this.objectMapper = ObjectMapperFactory.get().copy(); + } @Override public CorrelationInstance create(Correlation correlation, String correlatedId) { String encodedCorrelationId = this.encoder.encode(correlation); - - String id = UUID.randomUUID().toString(); - Map object = Map.of( - "id", id, - "encodedCorrelationId", encodedCorrelationId, - "correlatedId", correlatedId, - "correlation", correlation); - - try { - String json = this.objectMapper.writeValueAsString(object); - this.cache.put(id, json); - return new CorrelationInstance(encodedCorrelationId, correlatedId, correlation); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } + return this.correlationRepository.insert( + encodedCorrelationId, correlatedId, correlation); } @Override public Optional find(Correlation correlation) { - return Optional.empty(); + String encodedCorrelationId = this.encoder.encode(correlation); + return Optional.ofNullable(this.correlationRepository.findByEncodedCorrelationId(encodedCorrelationId)); } @Override public Optional findByCorrelatedId(String correlatedId) { - return Optional.empty(); + return Optional.ofNullable(this.correlationRepository.findByCorrelatedId(correlatedId)); } @Override public void delete(Correlation correlation) { - + String encodedCorrelationId = this.encoder.encode(correlation); + this.correlationRepository.delete(encodedCorrelationId); } } diff --git a/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java b/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java new file mode 100644 index 00000000000..1ca5e399191 --- /dev/null +++ b/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java @@ -0,0 +1,116 @@ +package org.kie.kogito.infinispan.correlation; + +import java.util.Collections; +import java.util.Optional; + +import org.infinispan.client.hotrod.RemoteCacheManager; +import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.kie.kogito.correlation.CompositeCorrelation; +import org.kie.kogito.correlation.CorrelationInstance; +import org.kie.kogito.correlation.CorrelationService; +import org.kie.kogito.correlation.SimpleCorrelation; +import org.kie.kogito.testcontainers.KogitoInfinispanContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +@Testcontainers +class CorrelationRecordServiceIT { + + @Container + final static KogitoInfinispanContainer inifinispanContainer = new KogitoInfinispanContainer(); + private static RemoteCacheManager remoteCacheManager; + + @BeforeAll + static void setup() { + inifinispanContainer.start(); + ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); + configurationBuilder.addServer() + .host("127.0.0.1") + .port(inifinispanContainer.getMappedPort()); + remoteCacheManager = new RemoteCacheManager(configurationBuilder.build()); + } + + @AfterEach + void tearDown() { + remoteCacheManager.getCache(InfinispanCorrelationRepository.CORRELATIONS_CACHE_NAME) + .clear(); + } + + @Test + void shouldSaveGetCorrelationCorrectly() { + // arrange + InfinispanCorrelationRepository repository = new InfinispanCorrelationRepository(remoteCacheManager, null); + CorrelationService sut = new InfinispanCorrelationService(repository); + String correlatedId = "id"; + CompositeCorrelation correlation = new CompositeCorrelation(Collections.singleton(new SimpleCorrelation<>("city", "Rio de Janeiro"))); + + // act + sut.create(correlation, correlatedId); + + // assert + long quantity = remoteCacheManager.getCache(InfinispanCorrelationRepository.CORRELATIONS_CACHE_NAME) + .keySet() + .size(); + + remoteCacheManager.getCache(InfinispanCorrelationRepository.CORRELATIONS_CACHE_NAME) + .forEach((key, value) -> System.out.println(value)); + + assertThat(quantity).isPositive(); + } + + @Test + void shouldDeleteGetCorrelation() { + // arrange + String correlatedId = "id"; + CompositeCorrelation correlation = new CompositeCorrelation(Collections.singleton(new SimpleCorrelation<>("city", "São Paulo"))); + InfinispanCorrelationRepository repository = new InfinispanCorrelationRepository(remoteCacheManager, null); + CorrelationService sut = new InfinispanCorrelationService(repository); + sut.create(correlation, correlatedId); + + // act + sut.delete(correlation); + + // assert + assertThat(remoteCacheManager.getCache(InfinispanCorrelationRepository.CORRELATIONS_CACHE_NAME).size()).isZero(); + } + + @Test + void shouldFindByGetCorrelatedId() { + // arrange + String correlatedId = "id"; + InfinispanCorrelationRepository repository = new InfinispanCorrelationRepository(remoteCacheManager, null); + InfinispanCorrelationService sut = new InfinispanCorrelationService(repository); + CompositeCorrelation correlation = new CompositeCorrelation(Collections.singleton(new SimpleCorrelation<>("city", "São Paulo"))); + sut.create(correlation, correlatedId); + + // act + Optional byCorrelatedId = sut.findByCorrelatedId(correlatedId); + + // assert + assertThat(byCorrelatedId.isPresent()).isTrue(); + } + + @Test + void shouldFindByCorrelation() { + // arrange + CompositeCorrelation correlation = new CompositeCorrelation(Collections.singleton(new SimpleCorrelation<>("city", "Osasco"))); + String correlatedId = "id"; + InfinispanCorrelationRepository repository = new InfinispanCorrelationRepository(remoteCacheManager, null); + InfinispanCorrelationService sut = new InfinispanCorrelationService(repository); + sut.create(correlation, correlatedId); + + // act + Optional correlationInstance = sut.find(correlation); + + // assert + assertThat(correlationInstance.isPresent()).isTrue(); + + + } + +} \ No newline at end of file From 7f3d3e62cb9b8c5ead0af3f0d830784f73337f83 Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Wed, 14 Aug 2024 00:06:54 -0300 Subject: [PATCH 3/3] Add comments --- ...lationRecord.java => CorrelationType.java} | 6 ++--- .../InfinispanCorrelationRepository.java | 23 ++++++++----------- ...va => InfinispanCorrelationServiceIT.java} | 2 +- 3 files changed, 13 insertions(+), 18 deletions(-) rename addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/{CorrelationRecord.java => CorrelationType.java} (61%) rename addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/{CorrelationRecordServiceIT.java => InfinispanCorrelationServiceIT.java} (99%) diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationType.java similarity index 61% rename from addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java rename to addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationType.java index 5af081a2275..eed0b9057c7 100644 --- a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationRecord.java +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/CorrelationType.java @@ -1,11 +1,11 @@ package org.kie.kogito.infinispan.correlation; -public record CorrelationRecord(String encodedCorrelationId, String correlatedId, - String correlation) { +public record CorrelationType(String encodedCorrelationId, String correlatedId, + String correlation) { @Override public String toString() { - return "InfinispanCorrelation[" + + return "CorrelationType[" + "encodedCorrelationId=" + encodedCorrelationId + ", " + "correlatedId=" + correlatedId + ", " + "correlation=" + correlation + ']'; diff --git a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java index a567caa0d08..f4e544f3ffd 100644 --- a/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java +++ b/addons/common/persistence/infinispan/src/main/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationRepository.java @@ -12,8 +12,6 @@ import org.kie.kogito.correlation.SimpleCorrelation; import org.kie.kogito.internal.utils.ConversionUtils; import org.kie.kogito.jackson.utils.ObjectMapperFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -21,13 +19,9 @@ public class InfinispanCorrelationRepository { - private static final Logger LOGGER = LoggerFactory.getLogger(InfinispanCorrelationRepository.class); - - private static final String ENCODED_CORRELATION_ID_FIELD = "encodedCorrelationId"; - private static final String CORRELATED_ID_FIELD = "correlatedId"; - private static final String CORRELATION_FIELD = "correlation"; public static final String CORRELATIONS_CACHE_NAME = "correlations"; + // TODO: I would like to use private final RemoteCache cache; private final ObjectMapper objectMapper; @@ -48,10 +42,11 @@ public CorrelationInstance insert(String encodedCorrelationId, String correlated CorrelationInstance correlationInstance = new CorrelationInstance(encodedCorrelationId, correlatedId, correlation); try { +// TODO: I would like to remove 2 calls for writeValueAsString String json = this.objectMapper.writeValueAsString(correlation); - CorrelationRecord correlationRecord = new CorrelationRecord( + CorrelationType correlationType = new CorrelationType( encodedCorrelationId, correlatedId, json); - String value = this.objectMapper.writeValueAsString(correlationRecord); + String value = this.objectMapper.writeValueAsString(correlationType); this.cache.put(encodedCorrelationId, value); return correlationInstance; } catch (JsonProcessingException e) { @@ -65,7 +60,7 @@ public CorrelationInstance findByEncodedCorrelationId(String encodedCorrelationI return null; } try { - CorrelationRecord correlation = this.objectMapper.readValue(json, CorrelationRecord.class); + CorrelationType correlation = this.objectMapper.readValue(json, CorrelationType.class); CompositeCorrelation compositeCorrelation = this.objectMapper.readValue(correlation.correlation(), CompositeCorrelation.class); return new CorrelationInstance( correlation.encodedCorrelationId(), @@ -85,11 +80,11 @@ public CorrelationInstance findByCorrelatedId(String correlatedId) { } try { - CorrelationRecord correlationRecord = this.objectMapper.readValue(first.get(), CorrelationRecord.class); - CompositeCorrelation compositeCorrelation = this.objectMapper.readValue(correlationRecord.correlation(), CompositeCorrelation.class); + CorrelationType correlationType = this.objectMapper.readValue(first.get(), CorrelationType.class); + CompositeCorrelation compositeCorrelation = this.objectMapper.readValue(correlationType.correlation(), CompositeCorrelation.class); return new CorrelationInstance( - correlationRecord.encodedCorrelationId(), - correlationRecord.correlatedId(), + correlationType.encodedCorrelationId(), + correlationType.correlatedId(), compositeCorrelation); } catch (JsonProcessingException e) { throw new UncheckedIOException(e); diff --git a/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java b/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationServiceIT.java similarity index 99% rename from addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java rename to addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationServiceIT.java index 1ca5e399191..8be1d7b0a14 100644 --- a/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/CorrelationRecordServiceIT.java +++ b/addons/common/persistence/infinispan/src/test/java/org/kie/kogito/infinispan/correlation/InfinispanCorrelationServiceIT.java @@ -19,7 +19,7 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; @Testcontainers -class CorrelationRecordServiceIT { +class InfinispanCorrelationServiceIT { @Container final static KogitoInfinispanContainer inifinispanContainer = new KogitoInfinispanContainer();