Matt Burgess created NIFI-9311:
----------------------------------
Summary: Cannot remove scripted properties in
InvokeScriptedProcessor
Key: NIFI-9311
URL: https://issues.apache.org/jira/browse/NIFI-9311
Project: Apache NiFi
Issue Type: Bug
Components: Extensions
Reporter: Matt Burgess
If scripted properties are removed from a script in InvokeScriptedProcessor,
they do not become unsupported properties when the script is reloaded. For
example, load the following script:
{{class GroovyProcessor implements Processor {
def ComponentLog log
def REL_SUCCESS = new Relationship.Builder().name("success")
.description("FlowFiles that were successfully processed").build()
@Override
Set<Relationship> getRelationships() {
return [REL_SUCCESS] as Set
}
def PASS = new PropertyDescriptor.Builder().name('Password')
.required(true).sensitive(true).addValidator(Validator.VALID).build()
def NS_USER = new PropertyDescriptor.Builder().name('NS Username')
.required(true).sensitive(false).addValidator(Validator.VALID).build()
@Override
List<PropertyDescriptor> getPropertyDescriptors() {
return [NS_USER, PASS] as List
}
@Override
PropertyDescriptor getPropertyDescriptor(String name) {
switch(name){
case 'Password': return PASS
case 'NS Username': return NS_USER
default: return null
}
}
@Override
void onTrigger(ProcessContext context, ProcessSessionFactory sessionFactory)
throws ProcessException {
try {
def session = sessionFactory.createSession()
def flowFile = session.get()
if(!flowFile) return
def pass = context.getProperty(PASS).getValue()
// do something with pass
session.transfer(flowFile,REL_SUCCESS)
session.commit()
}
catch (e) {
throw new ProcessException(e)
}
}
@Override
void initialize(ProcessorInitializationContext context) {
log = context.getLogger()
}
@Override
Collection<ValidationResult> validate(ValidationContext context) { return
null }
@Override
void onPropertyModified(PropertyDescriptor descriptor, String oldValue,
String newValue) { }
@Override
String getIdentifier() { return null }
}
processor = new GroovyProcessor()}}
Then go back into the configuration dialog and remove one of the properties,
then click Apply. The removed property should now be an unsupported property or
at the least a dynamic property (not required).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)