36 lines
1.0 KiB
Java
36 lines
1.0 KiB
Java
|
package org.mercury_im.messenger.data.mapping;
|
||
|
|
||
|
import org.mercury_im.messenger.data.model.DirectChatModel;
|
||
|
import org.mercury_im.messenger.entity.chat.DirectChat;
|
||
|
import org.mercury_im.messenger.entity.chat.IDirectChat;
|
||
|
import org.mercury_im.messenger.entity.contact.Peer;
|
||
|
|
||
|
import javax.inject.Inject;
|
||
|
|
||
|
public class DirectChatMapping implements Mapping<DirectChat, DirectChatModel> {
|
||
|
|
||
|
@Inject
|
||
|
AccountMapping accountMapping;
|
||
|
|
||
|
@Inject
|
||
|
PeerMapping peerMapping;
|
||
|
|
||
|
@Override
|
||
|
public DirectChatModel entityToData(DirectChat entity) {
|
||
|
DirectChatModel model = new DirectChatModel();
|
||
|
model.setPeer(peerMapping.entityToData(entity.getPeer()));
|
||
|
//TODO: set iD
|
||
|
return model;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public DirectChat dataToEntity(DirectChatModel data) {
|
||
|
IDirectChat entity = new IDirectChat();
|
||
|
entity.setId(data.getId());
|
||
|
Peer peer = peerMapping.dataToEntity(data.getPeer());
|
||
|
entity.setPeer(peer);
|
||
|
entity.setAccount(peer.getAccount());
|
||
|
return entity;
|
||
|
}
|
||
|
}
|