2019-11-23 21:16:03 +01:00
|
|
|
package org.mercury_im.messenger.data.mapping;
|
|
|
|
|
|
|
|
import org.mercury_im.messenger.data.model.DirectChatModel;
|
|
|
|
import org.mercury_im.messenger.entity.chat.DirectChat;
|
2019-12-01 21:16:01 +01:00
|
|
|
import org.mercury_im.messenger.entity.chat.IDirectChat;
|
2019-11-23 21:16:03 +01:00
|
|
|
import org.mercury_im.messenger.entity.contact.Peer;
|
|
|
|
|
|
|
|
import javax.inject.Inject;
|
|
|
|
|
2019-12-07 02:04:31 +01:00
|
|
|
public class DirectChatMapping extends AbstractMapping<DirectChat, DirectChatModel> {
|
2019-11-23 21:16:03 +01:00
|
|
|
|
2019-12-01 19:56:13 +01:00
|
|
|
private final PeerMapping peerMapping;
|
2019-11-23 21:16:03 +01:00
|
|
|
|
|
|
|
@Inject
|
2019-12-01 21:16:01 +01:00
|
|
|
public DirectChatMapping(PeerMapping peerMapping) {
|
2019-12-01 19:56:13 +01:00
|
|
|
this.peerMapping = peerMapping;
|
|
|
|
}
|
2019-11-23 21:16:03 +01:00
|
|
|
|
|
|
|
@Override
|
2019-12-07 02:04:31 +01:00
|
|
|
public DirectChat newEntity(DirectChatModel model) {
|
|
|
|
return new IDirectChat();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public DirectChatModel newModel(DirectChat entity) {
|
|
|
|
return new DirectChatModel();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public DirectChatModel mapToModel(DirectChat entity, DirectChatModel model) {
|
2019-12-21 16:30:14 +01:00
|
|
|
model.setId(entity.getId());
|
2019-12-07 02:04:31 +01:00
|
|
|
model.setPeer(peerMapping.toModel(entity.getPeer(), model.getPeer()));
|
2019-11-23 21:16:03 +01:00
|
|
|
return model;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2019-12-07 02:04:31 +01:00
|
|
|
public DirectChat mapToEntity(DirectChatModel model, DirectChat entity) {
|
2019-11-25 15:17:49 +01:00
|
|
|
entity.setId(model.getId());
|
2019-12-07 02:04:31 +01:00
|
|
|
Peer peer = peerMapping.toEntity(model.getPeer(), entity.getPeer());
|
2019-11-23 21:16:03 +01:00
|
|
|
entity.setPeer(peer);
|
|
|
|
entity.setAccount(peer.getAccount());
|
|
|
|
return entity;
|
|
|
|
}
|
|
|
|
}
|