Example usage for org.apache.ibatis.session SqlSession rollback

List of usage examples for org.apache.ibatis.session SqlSession rollback

Introduction

In this page you can find the example usage for org.apache.ibatis.session SqlSession rollback.

Prototype

void rollback();

Source Link

Document

Discards pending batch statements and rolls database connection back.

Usage

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static boolean saveAnimeNotification(AnimeNotification notification) {
    SqlSession session = null;

    try {// w ww . ja v  a  2  s.c o  m
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        int rows = mapper.updateAnimeNotification(notification);
        if (rows == 0) {
            mapper.insertAnimeNotification(notification);
        }

        session.commit();

        notificationCache.put(notification.getFile().getFileId(), notification);
        return true;
    } catch (Exception e) {
        log.error("Error saving list item.", e);
        if (session != null) {
            session.rollback();
        }
        return false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static AnimeNotification getAnimeNotificationByFileId(int fileId) {
    AnimeNotification result = notificationCache.get(fileId);
    if (result != null) {
        return result;
    }/*from  w  ww. ja  v  a  2s . co  m*/

    SqlSession session = null;

    try {
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        result = mapper.selectAnimeNotificationByFileId(fileId);
        if (result != null) {
            notificationCache.put(fileId, result);
        }
        return result;
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting notification.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static List<AnimeNotification> getOutstandAnimeNotifications() {
    SqlSession session = null;

    try {/*w w  w  .  ja v  a  2s.  c  o  m*/
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        return mapper.selectWaitingAnimeNotification();
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting messages.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static List<AnimeStub> getAnimeWithWaitingNotification() {
    SqlSession session = null;

    try {/*  w  w  w.j av  a 2 s.  co m*/
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);
        List<AnimeStub> result = mapper.selectAnimeWithWaitingNotification();
        Collections.sort(result, UIUtils.LEXICAL_SORTER);
        return result;
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting messages.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static List<AnimeEpisode> getEpisodesForNotifications(int animeId) {
    SqlSession session = null;

    try {//  w  w w .ja va  2s  .  c om
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);
        List<AnimeEpisode> result = mapper.selectEpisodesForNotifications(animeId);
        Collections.sort(result, UIUtils.LEXICAL_SORTER);
        return result;
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting messages.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static List<AnimeNotification> getNotificationsForEpisode(int animeId) {
    SqlSession session = null;

    try {/* w  w w  .ja v  a 2 s  .  c  o m*/
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);
        List<AnimeNotification> result = mapper.selectNotificationsForEpisode(animeId);
        Collections.sort(result, UIUtils.LEXICAL_SORTER);
        return result;
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting messages.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static boolean markDownloadedEpisodesAsCompletedNotifications() {
    SqlSession session = null;

    try {//from w  w w .j  a  va2  s  .com
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        mapper.markDownloadedEpisodesAsCompleted();
        session.commit();
        notificationCache.getCache().removeAll();
        return true;
    } catch (Exception e) {
        log.error("Error saving list item.", e);
        if (session != null) {
            session.rollback();
        }
        return false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static boolean saveAnimeMessage(AnimeMessage msg) {
    SqlSession session = null;

    try {//from   w w  w.  j av a  2 s.  c  o  m
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        int rows = mapper.updateAnimeMessage(msg);
        if (rows == 0) {
            mapper.insertAnimeMessage(msg);
        }

        session.commit();
        return true;
    } catch (Exception e) {
        log.error("Error saving message.", e);
        if (session != null) {
            session.rollback();
        }
        return false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static AnimeMessage getAnimeMessageByMessageId(int msgId) {
    SqlSession session = null;

    try {//from w w  w .  j  av  a 2s  .  co  m
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        return mapper.selectAnimeMessageByMessageId(msgId);
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting message.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:net.landora.animeinfo.data.AnimeDBA.java

License:Open Source License

public static List<AnimeMessage> getOutstandAnimeMessages() {
    SqlSession session = null;

    try {// ww  w.j a  v  a 2 s.c o m
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        return mapper.selectWaitingAnimeMessage();
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting messages.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}