package org.peerbox.watchservice.states; import org.hive2hive.core.exceptions.NoPeerConnectionException; import org.hive2hive.core.exceptions.NoSessionException; import org.hive2hive.processframework.exceptions.InvalidProcessStateException; import org.peerbox.app.manager.file.IFileManager; import org.peerbox.watchservice.IAction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class EstablishedState extends AbstractActionState{ private static final Logger logger = LoggerFactory.getLogger(EstablishedState.class); public EstablishedState(IAction action) { super(action, StateType.ESTABLISHED); } @Override public ExecutionHandle execute(IFileManager fileManager) throws NoSessionException, NoPeerConnectionException, InvalidProcessStateException { logger.trace("Execute in the ESTABLISHED state: {}", action.getFile().getPath()); return null; } @Override public AbstractActionState changeStateOnLocalCreate() { logStateTransition(getStateType(), EventType.LOCAL_CREATE, StateType.ESTABLISHED); return this; } @Override public AbstractActionState changeStateOnRemoteCreate() { logStateTransition(getStateType(), EventType.REMOTE_CREATE, StateType.REMOTE_UPDATE); return new RemoteUpdateState(action); } }