Search in sources :

Example 1 with ScheduledStateLookup

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();
    }
}
Also used : StandardRootGroupPort(org.apache.nifi.remote.StandardRootGroupPort) LocalPort(org.apache.nifi.connectable.LocalPort) RemoteGroupPort(org.apache.nifi.remote.RemoteGroupPort) RootGroupPort(org.apache.nifi.remote.RootGroupPort) Port(org.apache.nifi.connectable.Port) ScheduledStateLookup(org.apache.nifi.controller.serialization.ScheduledStateLookup)

Aggregations

LocalPort (org.apache.nifi.connectable.LocalPort)1 Port (org.apache.nifi.connectable.Port)1 ScheduledStateLookup (org.apache.nifi.controller.serialization.ScheduledStateLookup)1 RemoteGroupPort (org.apache.nifi.remote.RemoteGroupPort)1 RootGroupPort (org.apache.nifi.remote.RootGroupPort)1 StandardRootGroupPort (org.apache.nifi.remote.StandardRootGroupPort)1