diff --git a/openex-api/pom.xml b/openex-api/pom.xml
index 56492d2d1c..6fa6c13eba 100644
--- a/openex-api/pom.xml
+++ b/openex-api/pom.xml
@@ -53,6 +53,11 @@
openex-collector-users
3.5.0-SNAPSHOT
+
+ io.openex
+ openex-collector-caldera
+ 3.5.0-SNAPSHOT
+
diff --git a/openex-api/src/main/resources/application.properties b/openex-api/src/main/resources/application.properties
index 5abaf332cd..56a736d040 100644
--- a/openex-api/src/main/resources/application.properties
+++ b/openex-api/src/main/resources/application.properties
@@ -172,4 +172,10 @@ lade.password=
http.enable=true
# Collectors
+## Collector user
collector.users.enable=false
+
+## Collector Caldera
+collector.caldera.enable=false
+collector.caldera.url=http://localhost:8888
+collector.caldera.api-key=ChangeMe
diff --git a/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java b/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java
index d75c8bce15..5da2baf030 100644
--- a/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java
+++ b/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java
@@ -23,6 +23,10 @@ public Endpoint createEndpoint(@NotNull final Endpoint endpoint) {
return this.endpointRepository.save(endpoint);
}
+ public Iterable createEndpoints(@NotNull final List endpoints) {
+ return this.endpointRepository.saveAll(endpoints);
+ }
+
public Endpoint endpoint(@NotBlank final String endpointId) {
return this.endpointRepository.findById(endpointId).orElseThrow();
}
@@ -40,6 +44,11 @@ public Endpoint updateEndpoint(@NotNull final Endpoint endpoint) {
return this.endpointRepository.save(endpoint);
}
+ public Iterable updateEndpoints(@NotNull final List endpoints) {
+ endpoints.forEach((e) -> e.setUpdatedAt(now()));
+ return this.endpointRepository.saveAll(endpoints);
+ }
+
public void deleteEndpoint(@NotBlank final String endpointId) {
this.endpointRepository.deleteById(endpointId);
}
diff --git a/openex-model/src/main/java/io/openex/database/model/Endpoint.java b/openex-model/src/main/java/io/openex/database/model/Endpoint.java
index 9adec2cd70..2dee9d09ae 100644
--- a/openex-model/src/main/java/io/openex/database/model/Endpoint.java
+++ b/openex-model/src/main/java/io/openex/database/model/Endpoint.java
@@ -44,7 +44,7 @@ public enum OS_TYPE {
@JsonProperty("endpoint_last_seen")
private Instant lastSeen;
- @ElementCollection(fetch = FetchType.EAGER)
+ @ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "macadresses", joinColumns = @JoinColumn(name = "endpoint_id"))
@Column(name = "mac_adress")
@JsonProperty("endpoint_mac_adresses")