@Override public void initialize() throws HyracksDataException { try { writer.open(); switch (message.getMessageType()) { case END: EndFeedMessage endFeedMessage = (EndFeedMessage) message; switch (endFeedMessage.getEndMessageType()) { case DISCONNECT_FEED: hanldeDisconnectFeedTypeMessage(endFeedMessage); break; case DISCONTINUE_SOURCE: handleDiscontinueFeedTypeMessage(endFeedMessage); break; } break; case PREPARE_STALL: { handlePrepareStallMessage((PrepareStallMessage) message); break; } case TERMINATE_FLOW: { FeedConnectionId connectionId = ((TerminateDataFlowMessage) message).getConnectionId(); handleTerminateFlowMessage(connectionId); break; } case COMMIT_ACK_RESPONSE: { handleFeedTupleCommitResponseMessage((FeedTupleCommitResponseMessage) message); break; } case THROTTLING_ENABLED: { handleThrottlingEnabledMessage((ThrottlingEnabledFeedMessage) message); break; } default: break; } } catch (Exception e) { throw new HyracksDataException(e); } finally { writer.close(); } }