Search in sources :

Example 16 with DefinedFieldEntity

use of com.synopsys.integration.alert.database.configuration.DefinedFieldEntity in project hub-alert by blackducksoftware.

the class DefaultConfigurationModelConfigurationAccessor method createConfiguration.

private ConfigurationModel createConfiguration(String descriptorKey, ConfigContextEnum context, Collection<ConfigurationFieldModel> configuredFields) {
    Long descriptorId = getDescriptorIdOrThrowException(descriptorKey);
    Long configContextId = getConfigContextIdOrThrowException(context);
    OffsetDateTime currentTime = DateUtils.createCurrentDateTimestamp();
    DescriptorConfigEntity descriptorConfigToSave = new DescriptorConfigEntity(descriptorId, configContextId, currentTime, currentTime);
    DescriptorConfigEntity savedDescriptorConfig = descriptorConfigsRepository.save(descriptorConfigToSave);
    ConfigurationModelMutable createdConfig = createEmptyConfigModel(descriptorId, savedDescriptorConfig.getId(), savedDescriptorConfig.getCreatedAt(), savedDescriptorConfig.getLastUpdated(), context);
    if (configuredFields != null && !configuredFields.isEmpty()) {
        List<FieldValueEntity> fieldValuesToSave = new ArrayList<>(configuredFields.size());
        for (ConfigurationFieldModel configuredField : configuredFields) {
            String fieldKey = configuredField.getFieldKey();
            if (configuredField.isSet()) {
                DefinedFieldEntity associatedField = definedFieldRepository.findFirstByKey(fieldKey).orElseThrow(() -> new AlertRuntimeException(String.format("FATAL: Field with key '%s' did not exist", fieldKey)));
                for (String value : configuredField.getFieldValues()) {
                    FieldValueEntity newFieldValueEntity = new FieldValueEntity(createdConfig.getConfigurationId(), associatedField.getId(), encrypt(value, configuredField.isSensitive()));
                    fieldValuesToSave.add(newFieldValueEntity);
                }
            }
            createdConfig.put(configuredField);
        }
        fieldValueRepository.saveAll(fieldValuesToSave);
    }
    return createdConfig;
}
Also used : ConfigurationModelMutable(com.synopsys.integration.alert.common.persistence.model.mutable.ConfigurationModelMutable) ConfigurationFieldModel(com.synopsys.integration.alert.common.persistence.model.ConfigurationFieldModel) OffsetDateTime(java.time.OffsetDateTime) DescriptorConfigEntity(com.synopsys.integration.alert.database.configuration.DescriptorConfigEntity) ArrayList(java.util.ArrayList) DefinedFieldEntity(com.synopsys.integration.alert.database.configuration.DefinedFieldEntity) AlertRuntimeException(com.synopsys.integration.alert.api.common.model.exception.AlertRuntimeException) FieldValueEntity(com.synopsys.integration.alert.database.configuration.FieldValueEntity)

Example 17 with DefinedFieldEntity

use of com.synopsys.integration.alert.database.configuration.DefinedFieldEntity in project hub-alert by blackducksoftware.

the class FieldValueRepositoryTestIT method findByConfigIdTest.

@Test
public void findByConfigIdTest() {
    RegisteredDescriptorEntity descriptorEntity = new RegisteredDescriptorEntity(DESCRIPTOR_NAME, 1L);
    RegisteredDescriptorEntity savedDescriptorEntity = registeredDescriptorRepository.save(descriptorEntity);
    DefinedFieldEntity definedFieldEntity1 = new DefinedFieldEntity("fieldKey1", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity2 = new DefinedFieldEntity("fieldKey2", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity3 = new DefinedFieldEntity("fieldKey3", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity4 = new DefinedFieldEntity("fieldKey4", Boolean.FALSE);
    DefinedFieldEntity savedEntity1 = definedFieldRepository.save(definedFieldEntity1);
    DefinedFieldEntity savedEntity2 = definedFieldRepository.save(definedFieldEntity2);
    DefinedFieldEntity savedEntity3 = definedFieldRepository.save(definedFieldEntity3);
    DefinedFieldEntity savedEntity4 = definedFieldRepository.save(definedFieldEntity4);
    assertEquals(4, definedFieldRepository.findAll().size());
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity1.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity2.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity3.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity4.getId()));
    ConfigContextEntity configContextEntity = new ConfigContextEntity(CONTEXT_NAME);
    ConfigContextEntity savedContextEntity = configContextRepository.save(configContextEntity);
    OffsetDateTime currentTime = DateUtils.createCurrentDateTimestamp();
    DescriptorConfigEntity descriptorConfigEntity1 = new DescriptorConfigEntity(savedDescriptorEntity.getId(), savedContextEntity.getId(), currentTime, currentTime);
    DescriptorConfigEntity descriptorConfigEntity2 = new DescriptorConfigEntity(savedDescriptorEntity.getId(), savedContextEntity.getId(), currentTime, currentTime);
    descriptorConfigRepository.save(descriptorConfigEntity1);
    descriptorConfigRepository.save(descriptorConfigEntity2);
    assertEquals(2, descriptorConfigRepository.findAll().size());
    FieldValueEntity fieldValueEntity1 = new FieldValueEntity(descriptorConfigEntity1.getId(), savedEntity1.getId(), "value1");
    FieldValueEntity fieldValueEntity2 = new FieldValueEntity(descriptorConfigEntity1.getId(), savedEntity2.getId(), "value2");
    FieldValueEntity fieldValueEntity3 = new FieldValueEntity(descriptorConfigEntity2.getId(), savedEntity3.getId(), "value3");
    FieldValueEntity fieldValueEntity4 = new FieldValueEntity(descriptorConfigEntity2.getId(), savedEntity4.getId(), "value4");
    fieldValueRepository.save(fieldValueEntity1);
    fieldValueRepository.save(fieldValueEntity2);
    fieldValueRepository.save(fieldValueEntity3);
    fieldValueRepository.save(fieldValueEntity4);
    assertEquals(4, fieldValueRepository.findAll().size());
    List<FieldValueEntity> fieldValueEntityList1 = fieldValueRepository.findByConfigId(descriptorConfigEntity1.getId());
    assertEquals(2, fieldValueEntityList1.size());
    List<FieldValueEntity> fieldValueEntityList2 = fieldValueRepository.findByConfigId(descriptorConfigEntity2.getId());
    assertEquals(2, fieldValueEntityList2.size());
}
Also used : OffsetDateTime(java.time.OffsetDateTime) DescriptorFieldRelation(com.synopsys.integration.alert.database.configuration.DescriptorFieldRelation) DescriptorConfigEntity(com.synopsys.integration.alert.database.configuration.DescriptorConfigEntity) RegisteredDescriptorEntity(com.synopsys.integration.alert.database.configuration.RegisteredDescriptorEntity) DefinedFieldEntity(com.synopsys.integration.alert.database.configuration.DefinedFieldEntity) ConfigContextEntity(com.synopsys.integration.alert.database.configuration.ConfigContextEntity) FieldValueEntity(com.synopsys.integration.alert.database.configuration.FieldValueEntity) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Example 18 with DefinedFieldEntity

use of com.synopsys.integration.alert.database.configuration.DefinedFieldEntity in project hub-alert by blackducksoftware.

the class FieldValueRepositoryTestIT method onDeleteCascadeTest.

@Test
public void onDeleteCascadeTest() {
    RegisteredDescriptorEntity descriptorEntity = new RegisteredDescriptorEntity(DESCRIPTOR_NAME, 1L);
    RegisteredDescriptorEntity savedDescriptorEntity = registeredDescriptorRepository.save(descriptorEntity);
    DefinedFieldEntity definedFieldEntity1 = new DefinedFieldEntity("fieldKey1", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity2 = new DefinedFieldEntity("fieldKey2", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity3 = new DefinedFieldEntity("fieldKey3", Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity4 = new DefinedFieldEntity("fieldKey4", Boolean.FALSE);
    DefinedFieldEntity savedEntity1 = definedFieldRepository.save(definedFieldEntity1);
    DefinedFieldEntity savedEntity2 = definedFieldRepository.save(definedFieldEntity2);
    DefinedFieldEntity savedEntity3 = definedFieldRepository.save(definedFieldEntity3);
    DefinedFieldEntity savedEntity4 = definedFieldRepository.save(definedFieldEntity4);
    assertEquals(4, definedFieldRepository.findAll().size());
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity1.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity2.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity3.getId()));
    descriptorFieldRepository.save(new DescriptorFieldRelation(descriptorEntity.getId(), savedEntity4.getId()));
    ConfigContextEntity configContextEntity = new ConfigContextEntity(CONTEXT_NAME);
    ConfigContextEntity savedContextEntity = configContextRepository.save(configContextEntity);
    OffsetDateTime currentTime = DateUtils.createCurrentDateTimestamp();
    DescriptorConfigEntity descriptorConfigEntity1 = new DescriptorConfigEntity(savedDescriptorEntity.getId(), savedContextEntity.getId(), currentTime, currentTime);
    DescriptorConfigEntity descriptorConfigEntity2 = new DescriptorConfigEntity(savedDescriptorEntity.getId(), savedContextEntity.getId(), currentTime, currentTime);
    DescriptorConfigEntity descriptorConfigEntity3 = new DescriptorConfigEntity(savedDescriptorEntity.getId(), savedContextEntity.getId(), currentTime, currentTime);
    descriptorConfigRepository.save(descriptorConfigEntity1);
    descriptorConfigRepository.save(descriptorConfigEntity2);
    descriptorConfigRepository.save(descriptorConfigEntity3);
    assertEquals(3, descriptorConfigRepository.findAll().size());
    FieldValueEntity fieldValueEntity1 = new FieldValueEntity(descriptorConfigEntity1.getId(), savedEntity1.getId(), "value1");
    FieldValueEntity fieldValueEntity2 = new FieldValueEntity(descriptorConfigEntity1.getId(), savedEntity2.getId(), "value2");
    FieldValueEntity fieldValueEntity3 = new FieldValueEntity(descriptorConfigEntity2.getId(), savedEntity3.getId(), "value3");
    FieldValueEntity fieldValueEntity4 = new FieldValueEntity(descriptorConfigEntity3.getId(), savedEntity4.getId(), "value4");
    fieldValueRepository.save(fieldValueEntity1);
    fieldValueRepository.save(fieldValueEntity2);
    fieldValueRepository.save(fieldValueEntity3);
    fieldValueRepository.save(fieldValueEntity4);
    assertEquals(4, fieldValueRepository.findAll().size());
    // Delete a configuration (deletes 1 & 2)
    descriptorConfigRepository.deleteById(descriptorConfigEntity1.getId());
    descriptorConfigRepository.flush();
    assertEquals(2, fieldValueRepository.findAll().size());
    // Delete a descriptor field (deletes 3)
    definedFieldRepository.deleteById(savedEntity3.getId());
    definedFieldRepository.flush();
    assertEquals(1, fieldValueRepository.findAll().size());
    // Delete a descriptor (deletes 4)
    registeredDescriptorRepository.deleteById(savedDescriptorEntity.getId());
    registeredDescriptorRepository.flush();
    assertEquals(0, fieldValueRepository.findAll().size());
}
Also used : OffsetDateTime(java.time.OffsetDateTime) DescriptorFieldRelation(com.synopsys.integration.alert.database.configuration.DescriptorFieldRelation) DescriptorConfigEntity(com.synopsys.integration.alert.database.configuration.DescriptorConfigEntity) RegisteredDescriptorEntity(com.synopsys.integration.alert.database.configuration.RegisteredDescriptorEntity) DefinedFieldEntity(com.synopsys.integration.alert.database.configuration.DefinedFieldEntity) ConfigContextEntity(com.synopsys.integration.alert.database.configuration.ConfigContextEntity) FieldValueEntity(com.synopsys.integration.alert.database.configuration.FieldValueEntity) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Example 19 with DefinedFieldEntity

use of com.synopsys.integration.alert.database.configuration.DefinedFieldEntity in project hub-alert by blackducksoftware.

the class DefinedFieldRepositoryTestIT method findFirstByKeyTest.

@Test
public void findFirstByKeyTest() {
    DefinedFieldEntity definedFieldEntity1 = new DefinedFieldEntity(FIELD_KEY_1, Boolean.FALSE);
    DefinedFieldEntity definedFieldEntity2 = new DefinedFieldEntity(FIELD_KEY_2, Boolean.TRUE);
    definedFieldRepository.save(definedFieldEntity1);
    definedFieldRepository.save(definedFieldEntity2);
    assertEquals(2, definedFieldRepository.findAll().size());
    Optional<DefinedFieldEntity> descriptorFieldEntityOptional = definedFieldRepository.findFirstByKey(FIELD_KEY_1);
    assertTrue(descriptorFieldEntityOptional.isPresent());
    DefinedFieldEntity definedFieldEntity = descriptorFieldEntityOptional.get();
    assertEquals(definedFieldEntity.getKey(), definedFieldEntity1.getKey());
    assertEquals(definedFieldEntity.getSensitive(), definedFieldEntity1.getSensitive());
}
Also used : DefinedFieldEntity(com.synopsys.integration.alert.database.configuration.DefinedFieldEntity) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Example 20 with DefinedFieldEntity

use of com.synopsys.integration.alert.database.configuration.DefinedFieldEntity in project hub-alert by blackducksoftware.

the class DefinedFieldRepositoryTestIT method onDeleteCascadeTest.

@Test
public void onDeleteCascadeTest() {
    final String descriptorName = "test descriptor";
    RegisteredDescriptorEntity registeredDescriptorEntity = new RegisteredDescriptorEntity(descriptorName, 1L);
    RegisteredDescriptorEntity savedRegisteredDescriptorEntity = registeredDescriptorRepository.save(registeredDescriptorEntity);
    assertEquals(1, registeredDescriptorRepository.findAll().size());
    DefinedFieldEntity definedFieldEntity = new DefinedFieldEntity(FIELD_KEY_1, Boolean.FALSE);
    DefinedFieldEntity savedDefinedFieldEntity = definedFieldRepository.save(definedFieldEntity);
    assertEquals(1, definedFieldRepository.findAll().size());
    DescriptorFieldRelation descriptorFieldRelation = new DescriptorFieldRelation(savedRegisteredDescriptorEntity.getId(), savedDefinedFieldEntity.getId());
    descriptorFieldRepository.save(descriptorFieldRelation);
    assertEquals(1, descriptorFieldRepository.findAll().size());
    definedFieldRepository.deleteById(savedDefinedFieldEntity.getId());
    definedFieldRepository.flush();
    assertEquals(0, descriptorFieldRepository.findAll().size());
}
Also used : DescriptorFieldRelation(com.synopsys.integration.alert.database.configuration.DescriptorFieldRelation) RegisteredDescriptorEntity(com.synopsys.integration.alert.database.configuration.RegisteredDescriptorEntity) DefinedFieldEntity(com.synopsys.integration.alert.database.configuration.DefinedFieldEntity) AlertIntegrationTest(com.synopsys.integration.alert.util.AlertIntegrationTest) Test(org.junit.jupiter.api.Test)

Aggregations

DefinedFieldEntity (com.synopsys.integration.alert.database.configuration.DefinedFieldEntity)20 Test (org.junit.jupiter.api.Test)17 ConfigContextEntity (com.synopsys.integration.alert.database.configuration.ConfigContextEntity)14 RegisteredDescriptorEntity (com.synopsys.integration.alert.database.configuration.RegisteredDescriptorEntity)11 DescriptorConfigEntity (com.synopsys.integration.alert.database.configuration.DescriptorConfigEntity)10 FieldValueEntity (com.synopsys.integration.alert.database.configuration.FieldValueEntity)10 AlertIntegrationTest (com.synopsys.integration.alert.util.AlertIntegrationTest)8 ConfigurationModel (com.synopsys.integration.alert.common.persistence.model.ConfigurationModel)7 DescriptorFieldRelation (com.synopsys.integration.alert.database.configuration.DescriptorFieldRelation)6 ConfigurationFieldModel (com.synopsys.integration.alert.common.persistence.model.ConfigurationFieldModel)4 DescriptorKey (com.synopsys.integration.alert.descriptor.api.model.DescriptorKey)4 ConfigContextEnum (com.synopsys.integration.alert.common.enumeration.ConfigContextEnum)3 FieldContextRelation (com.synopsys.integration.alert.database.configuration.FieldContextRelation)3 OffsetDateTime (java.time.OffsetDateTime)3 ArrayList (java.util.ArrayList)3 AlertRuntimeException (com.synopsys.integration.alert.api.common.model.exception.AlertRuntimeException)2 DefinedFieldModel (com.synopsys.integration.alert.common.persistence.model.DefinedFieldModel)2 ConfigurationModelMutable (com.synopsys.integration.alert.common.persistence.model.mutable.ConfigurationModelMutable)2 EncryptionUtility (com.synopsys.integration.alert.common.security.EncryptionUtility)2 ConfigContextRepository (com.synopsys.integration.alert.database.configuration.repository.ConfigContextRepository)2