mirror of https://github.com/apache/nifi.git
NIFI-4816: Allow name to be updated for ReportingTasks
This closes #2452 Signed-off-by: Scott Aslan <scottyaslan@gmail.com>
This commit is contained in:
parent
54b1659704
commit
b4b970b876
|
@ -52,4 +52,10 @@ public interface ConfigurationContext extends PropertyContext {
|
|||
* period
|
||||
*/
|
||||
Long getSchedulingPeriod(TimeUnit timeUnit);
|
||||
|
||||
/**
|
||||
* Returns the component's (ControllerService, ReportingTask, e.g.) name
|
||||
* @return the String name of this component
|
||||
*/
|
||||
String getName();
|
||||
}
|
||||
|
|
|
@ -18,7 +18,9 @@ package org.apache.nifi.reporting;
|
|||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.nifi.annotation.lifecycle.OnScheduled;
|
||||
import org.apache.nifi.components.AbstractConfigurableComponent;
|
||||
import org.apache.nifi.controller.ConfigurationContext;
|
||||
import org.apache.nifi.controller.ControllerServiceLookup;
|
||||
import org.apache.nifi.controller.NodeTypeProvider;
|
||||
import org.apache.nifi.logging.ComponentLog;
|
||||
|
@ -75,6 +77,15 @@ public abstract class AbstractReportingTask extends AbstractConfigurableComponen
|
|||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets various component information using the given context
|
||||
* @param context the context to use for this reporting task
|
||||
*/
|
||||
@OnScheduled
|
||||
public void setComponentInfo(ConfigurationContext context) {
|
||||
this.name = context.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param timeUnit of scheduling period
|
||||
* @return the amount of times that elapses between the moment that this
|
||||
|
|
|
@ -97,4 +97,9 @@ public class MockConfigurationContext implements ConfigurationContext {
|
|||
public Long getSchedulingPeriod(final TimeUnit timeUnit) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,4 +100,9 @@ public class StandardConfigurationContext implements ConfigurationContext {
|
|||
public Long getSchedulingPeriod(final TimeUnit timeUnit) {
|
||||
return schedulingNanos == null ? null : timeUnit.convert(schedulingNanos, TimeUnit.NANOSECONDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return component.getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,4 +50,9 @@ public class MockConfigurationContext implements ConfigurationContext {
|
|||
public Long getSchedulingPeriod(final TimeUnit timeUnit) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue