Search in sources :

Example 11 with AllowableValue

use of org.apache.nifi.components.AllowableValue in project nifi by apache.

the class DtoFactory method createPropertyDescriptorDto.

/**
 * Creates a PropertyDesriptorDTO from the specified PropertyDesriptor.
 *
 * @param propertyDescriptor descriptor
 * @param groupId the Identifier of the Process Group that the component belongs to
 * @return dto
 */
public PropertyDescriptorDTO createPropertyDescriptorDto(final PropertyDescriptor propertyDescriptor, final String groupId) {
    if (propertyDescriptor == null) {
        return null;
    }
    final PropertyDescriptorDTO dto = new PropertyDescriptorDTO();
    dto.setName(propertyDescriptor.getName());
    dto.setDisplayName(propertyDescriptor.getDisplayName());
    dto.setRequired(propertyDescriptor.isRequired());
    dto.setSensitive(propertyDescriptor.isSensitive());
    dto.setDynamic(propertyDescriptor.isDynamic());
    dto.setDescription(propertyDescriptor.getDescription());
    dto.setDefaultValue(propertyDescriptor.getDefaultValue());
    dto.setSupportsEl(propertyDescriptor.isExpressionLanguageSupported());
    // set the identifies controller service is applicable
    if (propertyDescriptor.getControllerServiceDefinition() != null) {
        final Class serviceClass = propertyDescriptor.getControllerServiceDefinition();
        final Bundle serviceBundle = ExtensionManager.getBundle(serviceClass.getClassLoader());
        dto.setIdentifiesControllerService(serviceClass.getName());
        dto.setIdentifiesControllerServiceBundle(createBundleDto(serviceBundle.getBundleDetails().getCoordinate()));
    }
    final Class<? extends ControllerService> serviceDefinition = propertyDescriptor.getControllerServiceDefinition();
    if (propertyDescriptor.getAllowableValues() == null) {
        if (serviceDefinition == null) {
            dto.setAllowableValues(null);
        } else {
            final List<AllowableValueEntity> allowableValues = new ArrayList<>();
            final List<String> controllerServiceIdentifiers = new ArrayList<>(controllerServiceProvider.getControllerServiceIdentifiers(serviceDefinition, groupId));
            Collections.sort(controllerServiceIdentifiers, Collator.getInstance(Locale.US));
            for (final String serviceIdentifier : controllerServiceIdentifiers) {
                final ControllerServiceNode service = controllerServiceProvider.getControllerServiceNode(serviceIdentifier);
                final boolean isServiceAuthorized = service.isAuthorized(authorizer, RequestAction.READ, NiFiUserUtils.getNiFiUser());
                final String displayName = isServiceAuthorized ? service.getName() : serviceIdentifier;
                final AllowableValueDTO allowableValue = new AllowableValueDTO();
                allowableValue.setDisplayName(displayName);
                allowableValue.setValue(serviceIdentifier);
                allowableValues.add(entityFactory.createAllowableValueEntity(allowableValue, isServiceAuthorized));
            }
            dto.setAllowableValues(allowableValues);
        }
    } else {
        final List<AllowableValueEntity> allowableValues = new ArrayList<>();
        for (final AllowableValue allowableValue : propertyDescriptor.getAllowableValues()) {
            final AllowableValueDTO allowableValueDto = new AllowableValueDTO();
            allowableValueDto.setDisplayName(allowableValue.getDisplayName());
            allowableValueDto.setValue(allowableValue.getValue());
            allowableValueDto.setDescription(allowableValue.getDescription());
            allowableValues.add(entityFactory.createAllowableValueEntity(allowableValueDto, true));
        }
        dto.setAllowableValues(allowableValues);
    }
    return dto;
}
Also used : Bundle(org.apache.nifi.bundle.Bundle) ArrayList(java.util.ArrayList) ControllerServiceNode(org.apache.nifi.controller.service.ControllerServiceNode) AllowableValue(org.apache.nifi.components.AllowableValue) AllowableValueEntity(org.apache.nifi.web.api.entity.AllowableValueEntity)

Example 12 with AllowableValue

use of org.apache.nifi.components.AllowableValue in project nifi by apache.

the class TestCreateHadoopSequenceFile method validateAllowableValuesForCompressionType.

@Test
public void validateAllowableValuesForCompressionType() {
    PropertyDescriptor pd = CreateHadoopSequenceFile.COMPRESSION_TYPE;
    List<AllowableValue> allowableValues = pd.getAllowableValues();
    assertEquals("NONE", allowableValues.get(0).getValue());
    assertEquals("RECORD", allowableValues.get(1).getValue());
    assertEquals("BLOCK", allowableValues.get(2).getValue());
}
Also used : PropertyDescriptor(org.apache.nifi.components.PropertyDescriptor) AllowableValue(org.apache.nifi.components.AllowableValue) Test(org.junit.Test)

Aggregations

AllowableValue (org.apache.nifi.components.AllowableValue)12 ArrayList (java.util.ArrayList)7 HashSet (java.util.HashSet)4 Test (org.junit.Test)4 PropertyDescriptor (org.apache.nifi.components.PropertyDescriptor)2 ClientConfiguration (com.amazonaws.ClientConfiguration)1 AWSCredentialsProvider (com.amazonaws.auth.AWSCredentialsProvider)1 DefaultAWSCredentialsProviderChain (com.amazonaws.auth.DefaultAWSCredentialsProviderChain)1 AmazonS3Client (com.amazonaws.services.s3.AmazonS3Client)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 ScriptEngineFactory (javax.script.ScriptEngineFactory)1 ScriptEngineManager (javax.script.ScriptEngineManager)1 Bundle (org.apache.nifi.bundle.Bundle)1 ControllerService (org.apache.nifi.controller.ControllerService)1 ControllerServiceNode (org.apache.nifi.controller.service.ControllerServiceNode)1 ProcessContext (org.apache.nifi.processor.ProcessContext)1 EncryptionMethod (org.apache.nifi.security.util.EncryptionMethod)1 KeyDerivationFunction (org.apache.nifi.security.util.KeyDerivationFunction)1