use of org.apache.nifi.controller.serialization.ScheduledStateLookup in project nifi by apache.
the class FlowController method serialize.
/**
* Serializes the current state of the controller to the given OutputStream
*
* @param serializer serializer
* @param os stream
* @throws FlowSerializationException if serialization of the flow fails for
* any reason
*/
public void serialize(final FlowSerializer serializer, final OutputStream os) throws FlowSerializationException {
readLock.lock();
try {
final ScheduledStateLookup scheduledStateLookup = new ScheduledStateLookup() {
@Override
public ScheduledState getScheduledState(final ProcessorNode procNode) {
if (startConnectablesAfterInitialization.contains(procNode)) {
return ScheduledState.RUNNING;
}
return procNode.getScheduledState();
}
@Override
public ScheduledState getScheduledState(final Port port) {
if (startConnectablesAfterInitialization.contains(port)) {
return ScheduledState.RUNNING;
}
if (startRemoteGroupPortsAfterInitialization.contains(port)) {
return ScheduledState.RUNNING;
}
return port.getScheduledState();
}
};
serializer.serialize(this, os, scheduledStateLookup);
} finally {
readLock.unlock();
}
}
Aggregations