package com.quickblox.q_municate_db.managers; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.stmt.DeleteBuilder; import com.j256.ormlite.stmt.PreparedQuery; import com.j256.ormlite.stmt.QueryBuilder; import com.quickblox.q_municate_db.managers.base.BaseManager; import com.quickblox.q_municate_db.models.Dialog; import com.quickblox.q_municate_db.utils.ErrorUtils; import java.sql.SQLException; import java.util.List; public class DialogDataManager extends BaseManager<Dialog> { private static final String TAG = DialogDataManager.class.getSimpleName(); public DialogDataManager(Dao<Dialog, Long> dialogDao) { super(dialogDao, DialogDataManager.class.getSimpleName()); } public Dialog getByDialogId(String dialogId) { Dialog dialog = null; try { QueryBuilder<Dialog, Long> queryBuilder = dao.queryBuilder(); queryBuilder.where().eq(Dialog.Column.ID, dialogId); PreparedQuery<Dialog> preparedQuery = queryBuilder.prepare(); dialog = dao.queryForFirst(preparedQuery); } catch (SQLException e) { ErrorUtils.logError(e); } return dialog; } public Dialog getByRoomJid(String roomJid) { Dialog dialog = null; try { QueryBuilder<Dialog, Long> queryBuilder = dao.queryBuilder(); queryBuilder.where().eq(Dialog.Column.ROOM_JID, roomJid); PreparedQuery<Dialog> preparedQuery = queryBuilder.prepare(); dialog = dao.queryForFirst(preparedQuery); } catch (SQLException e) { ErrorUtils.logError(e); } return dialog; } public void deleteById(String dialogId) { try { DeleteBuilder<Dialog, Long> deleteBuilder = dao.deleteBuilder(); deleteBuilder.where().eq(Dialog.Column.ID, dialogId); deleteBuilder.delete(); } catch (SQLException e) { ErrorUtils.logError(e); } notifyObservers(OBSERVE_KEY); } public List<Dialog> getAllSorted() { return super.getAllSorted(Dialog.Column.MODIFIED_DATE_LOCAL, false); } }