DescriptorUtils { public static final org.apache.nifi.components.PropertyDescriptor toComponentDescriptor( com.cloudera.cem.efm.model.extension.PropertyDescriptor descriptor) { Set<String> allowableValues = new HashSet<>(); if (null != descriptor.getAllowableValues()) descriptor.getAllowableValues().stream().map(e -> e.getValue()).forEach(allowableValues::add); org.apache.nifi.components.PropertyDescriptor desc = new org.apache.nifi.components.PropertyDescriptor.Builder() .defaultValue(descriptor.getDefaultValue()) .description(descriptor.getDescription()) .dynamic(descriptor.isDynamic()) .required(descriptor.getRequired()) .sensitive(descriptor.getSensitive()) .name(descriptor.getName()) .displayName(descriptor.getDisplayName()) .allowableValues(allowableValues.isEmpty() ? null : allowableValues).dynamic(descriptor.isDynamic()) .build(); return desc; }  static final org.apache.nifi.components.PropertyDescriptor toComponentDescriptor(
            com.cloudera.cem.efm.model.extension.PropertyDescriptor descriptor);  }
@Test public void testMapping() { PropertyDescriptor desc = TestPropertyValidationContext.createDescriptor("boolean", false, Arrays.asList("true", "false"), "false"); desc.setValidator("BOOLEAN_VALIDATOR"); desc.setDescription("oh description"); desc.setSensitive(false); org.apache.nifi.components.PropertyDescriptor otherDescriptor = DescriptorUtils.toComponentDescriptor(desc); assertEquals(desc.getAllowableValues().size(),otherDescriptor.getAllowableValues().size()); assertEquals(desc.getDefaultValue(),otherDescriptor.getDefaultValue()); assertEquals(desc.getDescription(),otherDescriptor.getDescription()); assertEquals(desc.getDisplayName(),otherDescriptor.getDisplayName()); assertEquals(desc.getName(),otherDescriptor.getName()); assertEquals(desc.getSensitive(),otherDescriptor.isSensitive()); assertEquals(desc.getRequired(),otherDescriptor.isRequired()); }
@Test public void testMappingSomeTrue() { PropertyDescriptor desc = TestPropertyValidationContext.createDescriptor("boolean", true, Arrays.asList("true", "false"), "false"); desc.setValidator("BOOLEAN_VALIDATOR"); desc.setDescription("oh description"); desc.setSensitive(true); org.apache.nifi.components.PropertyDescriptor otherDescriptor = DescriptorUtils.toComponentDescriptor(desc); assertEquals(desc.getAllowableValues().size(),otherDescriptor.getAllowableValues().size()); assertEquals(desc.getDefaultValue(),otherDescriptor.getDefaultValue()); assertEquals(desc.getDescription(),otherDescriptor.getDescription()); assertEquals(desc.getDisplayName(),otherDescriptor.getDisplayName()); assertEquals(desc.getName(),otherDescriptor.getName()); assertEquals(desc.getSensitive(),otherDescriptor.isSensitive()); assertEquals(desc.getRequired(),otherDescriptor.isRequired()); }
@Test public void testNoAllowables() { PropertyDescriptor desc = TestPropertyValidationContext.createDescriptor("boolean", true, Lists.newArrayList(), "false"); desc.setValidator("BOOLEAN_VALIDATOR"); desc.setDescription("oh description"); desc.setSensitive(true); org.apache.nifi.components.PropertyDescriptor otherDescriptor = DescriptorUtils.toComponentDescriptor(desc); assertEquals(desc.getDefaultValue(),otherDescriptor.getDefaultValue()); assertEquals(desc.getDescription(),otherDescriptor.getDescription()); assertEquals(desc.getDisplayName(),otherDescriptor.getDisplayName()); assertEquals(desc.getName(),otherDescriptor.getName()); assertEquals(desc.getSensitive(),otherDescriptor.isSensitive()); assertEquals(desc.getRequired(),otherDescriptor.isRequired()); }
@Test(expected = IllegalStateException.class) public void testNiFiDescriptorFailInvalidAllowable() { PropertyDescriptor desc = TestPropertyValidationContext.createDescriptor("boolean", true, Arrays.asList("true", "false"), "anotherValue"); desc.setValidator("BOOLEAN_VALIDATOR"); desc.setDescription("oh description"); desc.setSensitive(true); org.apache.nifi.components.PropertyDescriptor otherDescriptor = DescriptorUtils.toComponentDescriptor(desc); fail("Should not get here"); }