Search in sources :

Example 1 with LookupCacheEntity

use of org.graylog2.contentpacks.model.entities.LookupCacheEntity in project graylog2-server by Graylog2.

the class LookupCacheFacade method findExisting.

private Optional<NativeEntity<CacheDto>> findExisting(EntityV1 entity, Map<String, ValueReference> parameters) {
    final LookupCacheEntity cacheEntity = objectMapper.convertValue(entity.data(), LookupCacheEntity.class);
    final String name = cacheEntity.name().asString(parameters);
    final Optional<CacheDto> existingCache = cacheService.get(name);
    return existingCache.map(cache -> NativeEntity.create(entity.id(), cache.id(), TYPE_V1, cache.title(), cache));
}
Also used : LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) CacheDto(org.graylog2.lookup.dto.CacheDto)

Example 2 with LookupCacheEntity

use of org.graylog2.contentpacks.model.entities.LookupCacheEntity in project graylog2-server by Graylog2.

the class LookupCacheFacade method decode.

private NativeEntity<CacheDto> decode(EntityV1 entity, Map<String, ValueReference> parameters) {
    final LookupCacheEntity lookupCacheEntity = objectMapper.convertValue(entity.data(), LookupCacheEntity.class);
    final LookupCacheConfiguration configuration = objectMapper.convertValue(toValueMap(lookupCacheEntity.configuration(), parameters), LookupCacheConfiguration.class);
    final CacheDto cacheDto = CacheDto.builder().name(lookupCacheEntity.name().asString(parameters)).title(lookupCacheEntity.title().asString(parameters)).description(lookupCacheEntity.description().asString(parameters)).config(configuration).build();
    final CacheDto savedCacheDto = cacheService.save(cacheDto);
    return NativeEntity.create(entity.id(), savedCacheDto.id(), TYPE_V1, savedCacheDto.title(), savedCacheDto);
}
Also used : LookupCacheConfiguration(org.graylog2.plugin.lookup.LookupCacheConfiguration) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) CacheDto(org.graylog2.lookup.dto.CacheDto)

Example 3 with LookupCacheEntity

use of org.graylog2.contentpacks.model.entities.LookupCacheEntity in project graylog2-server by Graylog2.

the class LookupCacheFacadeTest method collectEntity.

@Test
@MongoDBFixtures("LookupCacheFacadeTest.json")
public void collectEntity() {
    final EntityDescriptor descriptor = EntityDescriptor.create("5adf24b24b900a0fdb4e52dd", ModelTypes.LOOKUP_CACHE_V1);
    final EntityDescriptorIds entityDescriptorIds = EntityDescriptorIds.of(descriptor);
    final Optional<Entity> collectedEntity = facade.exportEntity(descriptor, entityDescriptorIds);
    assertThat(collectedEntity).isPresent().containsInstanceOf(EntityV1.class);
    final EntityV1 entity = (EntityV1) collectedEntity.orElseThrow(AssertionError::new);
    assertThat(entity.id()).isEqualTo(ModelId.of(entityDescriptorIds.get(descriptor).orElse(null)));
    assertThat(entity.type()).isEqualTo(ModelTypes.LOOKUP_CACHE_V1);
    final LookupCacheEntity lookupCacheEntity = objectMapper.convertValue(entity.data(), LookupCacheEntity.class);
    assertThat(lookupCacheEntity.name()).isEqualTo(ValueReference.of("no-op-cache"));
    assertThat(lookupCacheEntity.title()).isEqualTo(ValueReference.of("No-op cache"));
    assertThat(lookupCacheEntity.description()).isEqualTo(ValueReference.of("No-op cache"));
}
Also used : EntityV1(org.graylog2.contentpacks.model.entities.EntityV1) EntityDescriptor(org.graylog2.contentpacks.model.entities.EntityDescriptor) NativeEntityDescriptor(org.graylog2.contentpacks.model.entities.NativeEntityDescriptor) NativeEntity(org.graylog2.contentpacks.model.entities.NativeEntity) Entity(org.graylog2.contentpacks.model.entities.Entity) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) EntityDescriptorIds(org.graylog2.contentpacks.EntityDescriptorIds) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) MongoDBFixtures(org.graylog.testing.mongodb.MongoDBFixtures) Test(org.junit.Test)

Example 4 with LookupCacheEntity

use of org.graylog2.contentpacks.model.entities.LookupCacheEntity in project graylog2-server by Graylog2.

the class LookupCacheFacadeTest method exportNativeEntity.

@Test
public void exportNativeEntity() {
    final CacheDto cacheDto = CacheDto.builder().id("1234567890").name("cache-name").title("Cache Title").description("Cache Description").config(new FallbackCacheConfig()).build();
    final EntityDescriptor descriptor = EntityDescriptor.create(cacheDto.id(), ModelTypes.LOOKUP_CACHE_V1);
    final EntityDescriptorIds entityDescriptorIds = EntityDescriptorIds.of(descriptor);
    final Entity entity = facade.exportNativeEntity(cacheDto, entityDescriptorIds);
    assertThat(entity).isInstanceOf(EntityV1.class);
    assertThat(entity.id()).isEqualTo(ModelId.of(entityDescriptorIds.get(descriptor).orElse(null)));
    assertThat(entity.type()).isEqualTo(ModelTypes.LOOKUP_CACHE_V1);
    final EntityV1 entityV1 = (EntityV1) entity;
    final LookupCacheEntity lookupCacheEntity = objectMapper.convertValue(entityV1.data(), LookupCacheEntity.class);
    assertThat(lookupCacheEntity.name()).isEqualTo(ValueReference.of("cache-name"));
    assertThat(lookupCacheEntity.title()).isEqualTo(ValueReference.of("Cache Title"));
    assertThat(lookupCacheEntity.description()).isEqualTo(ValueReference.of("Cache Description"));
    assertThat(lookupCacheEntity.configuration()).containsEntry("type", ValueReference.of("FallbackCacheConfig"));
}
Also used : EntityV1(org.graylog2.contentpacks.model.entities.EntityV1) EntityDescriptor(org.graylog2.contentpacks.model.entities.EntityDescriptor) NativeEntityDescriptor(org.graylog2.contentpacks.model.entities.NativeEntityDescriptor) NativeEntity(org.graylog2.contentpacks.model.entities.NativeEntity) Entity(org.graylog2.contentpacks.model.entities.Entity) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) EntityDescriptorIds(org.graylog2.contentpacks.EntityDescriptorIds) CacheDto(org.graylog2.lookup.dto.CacheDto) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) FallbackCacheConfig(org.graylog2.plugin.lookup.FallbackCacheConfig) Test(org.junit.Test)

Example 5 with LookupCacheEntity

use of org.graylog2.contentpacks.model.entities.LookupCacheEntity in project graylog2-server by Graylog2.

the class LookupCacheFacadeTest method exportEntity.

@Test
@MongoDBFixtures("LookupCacheFacadeTest.json")
public void exportEntity() {
    final EntityDescriptor descriptor = EntityDescriptor.create("5adf24b24b900a0fdb4e52dd", ModelTypes.LOOKUP_CACHE_V1);
    final EntityDescriptorIds entityDescriptorIds = EntityDescriptorIds.of(descriptor);
    final Entity entity = facade.exportEntity(descriptor, entityDescriptorIds).orElseThrow(AssertionError::new);
    assertThat(entity).isInstanceOf(EntityV1.class);
    assertThat(entity.id()).isEqualTo(ModelId.of(entityDescriptorIds.get(descriptor).orElse(null)));
    assertThat(entity.type()).isEqualTo(ModelTypes.LOOKUP_CACHE_V1);
    final EntityV1 entityV1 = (EntityV1) entity;
    final LookupCacheEntity lookupCacheEntity = objectMapper.convertValue(entityV1.data(), LookupCacheEntity.class);
    assertThat(lookupCacheEntity.name()).isEqualTo(ValueReference.of("no-op-cache"));
    assertThat(lookupCacheEntity.title()).isEqualTo(ValueReference.of("No-op cache"));
    assertThat(lookupCacheEntity.description()).isEqualTo(ValueReference.of("No-op cache"));
    assertThat(lookupCacheEntity.configuration()).containsEntry("type", ValueReference.of("none"));
}
Also used : EntityV1(org.graylog2.contentpacks.model.entities.EntityV1) EntityDescriptor(org.graylog2.contentpacks.model.entities.EntityDescriptor) NativeEntityDescriptor(org.graylog2.contentpacks.model.entities.NativeEntityDescriptor) NativeEntity(org.graylog2.contentpacks.model.entities.NativeEntity) Entity(org.graylog2.contentpacks.model.entities.Entity) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) EntityDescriptorIds(org.graylog2.contentpacks.EntityDescriptorIds) LookupCacheEntity(org.graylog2.contentpacks.model.entities.LookupCacheEntity) MongoDBFixtures(org.graylog.testing.mongodb.MongoDBFixtures) Test(org.junit.Test)

Aggregations

LookupCacheEntity (org.graylog2.contentpacks.model.entities.LookupCacheEntity)6 EntityDescriptorIds (org.graylog2.contentpacks.EntityDescriptorIds)3 Entity (org.graylog2.contentpacks.model.entities.Entity)3 EntityDescriptor (org.graylog2.contentpacks.model.entities.EntityDescriptor)3 EntityV1 (org.graylog2.contentpacks.model.entities.EntityV1)3 NativeEntity (org.graylog2.contentpacks.model.entities.NativeEntity)3 NativeEntityDescriptor (org.graylog2.contentpacks.model.entities.NativeEntityDescriptor)3 CacheDto (org.graylog2.lookup.dto.CacheDto)3 Test (org.junit.Test)3 MongoDBFixtures (org.graylog.testing.mongodb.MongoDBFixtures)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Constraint (org.graylog2.contentpacks.model.constraints.Constraint)1 PluginVersionConstraint (org.graylog2.contentpacks.model.constraints.PluginVersionConstraint)1 FallbackCacheConfig (org.graylog2.plugin.lookup.FallbackCacheConfig)1 LookupCacheConfiguration (org.graylog2.plugin.lookup.LookupCacheConfiguration)1