Package in.partake.model.daofacade

Source Code of in.partake.model.daofacade.MessageDAOFacade

package in.partake.model.daofacade;

import in.partake.base.TimeUtil;
import in.partake.model.EventMessageEx;
import in.partake.model.IPartakeDAOs;
import in.partake.model.UserEx;
import in.partake.model.UserMessageEx;
import in.partake.model.dao.DAOException;
import in.partake.model.dao.PartakeConnection;
import in.partake.model.dto.Event;
import in.partake.model.dto.EventMessage;
import in.partake.model.dto.Message;
import in.partake.model.dto.MessageEnvelope;
import in.partake.model.dto.TwitterMessage;
import in.partake.model.dto.User;
import in.partake.model.dto.UserReceivedMessage;
import in.partake.model.dto.auxiliary.MessageDelivery;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class MessageDAOFacade {

    public static UserMessageEx findUserReceivedMessage(PartakeConnection con, IPartakeDAOs daos, UUID messageId) throws DAOException {
        UserReceivedMessage receivedMessage = daos.getUserReceivedMessageAccess().find(con, messageId);
        if (receivedMessage == null)
            return null;

        UserEx sender = UserDAOFacade.getUserEx(con, daos, receivedMessage.getSenderId());
        if (sender == null)
            return null;

        Event event = daos.getEventAccess().find(con, receivedMessage.getEventId());
        if (event == null)
            return null;

        Message message = daos.getMessageAccess().find(con, UUID.fromString(receivedMessage.getMessageId()));
        if (message == null)
            return null;

        return new UserMessageEx(receivedMessage, sender, event, message);
    }

    public static List<UserMessageEx> findUserMessageExByReceiverId(PartakeConnection con, IPartakeDAOs daos, String userId, int offset, int limit) throws DAOException {
        List<UserReceivedMessage> userMessages = daos.getUserReceivedMessageAccess().findByReceiverId(con, userId, offset, limit);
        List<UserMessageEx> userMessageExs = new ArrayList<UserMessageEx>();
        for (UserReceivedMessage userMessage : userMessages) {
            if (userMessage == null)
                continue;

            UserEx sender = UserDAOFacade.getUserEx(con, daos, userMessage.getSenderId());
            if (sender == null)
                continue;

            Event event = daos.getEventAccess().find(con, userMessage.getEventId());
            if (event == null)
                return null;


            Message message = daos.getMessageAccess().find(con, UUID.fromString(userMessage.getMessageId()));
            if (message == null)
                continue;

            UserMessageEx messageEx = new UserMessageEx(userMessage, sender, event, message);
            userMessageExs.add(messageEx);
        }

        return userMessageExs;
    }

    public static List<EventMessageEx> findEventMessageExs(PartakeConnection con, IPartakeDAOs daos, String eventId, int offset, int limit) throws DAOException {
        List<EventMessage> messages = daos.getEventMessageAccess().findByEventId(con, eventId, 0, 100);
        List<EventMessageEx> messageExs = new ArrayList<EventMessageEx>();
        for (EventMessage eventMessage : messages) {
            if (eventMessage == null)
                continue;

            UserEx sender = UserDAOFacade.getUserEx(con, daos, eventMessage.getSenderId());
            if (sender == null)
                continue;

            Message message = daos.getMessageAccess().find(con, UUID.fromString(eventMessage.getMessageId()));
            if (message == null)
                continue;

            EventMessageEx ex = new EventMessageEx(eventMessage, sender, message);
            messageExs.add(ex);
        }

        return messageExs;
    }



    public static void tweetMessageImpl(PartakeConnection con, IPartakeDAOs daos, User user, String messageStr) throws DAOException {
        String twitterMessageId = daos.getTwitterMessageAccess().getFreshId(con);
        TwitterMessage message = new TwitterMessage(twitterMessageId, user.getId(), messageStr, MessageDelivery.INQUEUE, TimeUtil.getCurrentDateTime(), null);
        daos.getTwitterMessageAccess().put(con, message);

        String envelopeId = daos.getMessageEnvelopeAccess().getFreshId(con);
        MessageEnvelope envelope = MessageEnvelope.createForTwitterMessage(envelopeId, twitterMessageId, null);
        daos.getMessageEnvelopeAccess().put(con, envelope);
    }

}
TOP

Related Classes of in.partake.model.daofacade.MessageDAOFacade

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.