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 AnimeFile getGenericAnimeFile(AnimeEpisode episode) {
    SqlSession session = null;

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

        return mapper.selectGenericFile(episode);
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting file.", 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<AnimeNameLookup> searchAnimeNames(String name) {
    SqlSession session = null;

    try {//  ww  w  .  j a va2  s .c  om
        session = AnimeDataManager.getInstance().openSession();
        AnimeNameLookupMapper mapper = session.getMapper(AnimeNameLookupMapper.class);

        return mapper.searchNames(name.replaceAll(Pattern.quote("%") + "|" + Pattern.quote("_"), "\\$1"));
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting anime name.", 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<AnimeNameLookup> findAnimeNames(String name) {
    SqlSession session = null;

    try {/*from  w w w .j a va 2  s. c om*/
        session = AnimeDataManager.getInstance().openSession();
        AnimeNameLookupMapper mapper = session.getMapper(AnimeNameLookupMapper.class);

        List<AnimeNameLookup> lookups = mapper.selectNames(name);
        if (!lookups.isEmpty()) {
            return lookups;
        } else {
            return mapper.selectNamesFull(name);
        }
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting anime name.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

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

License:Open Source License

public static AnimeEpisode findCachedED2K(String ed2k, long size) {
    SqlSession session = null;

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

        return mapper.findCachedED2K(ed2k, size);
    } catch (Exception e) {
        session.rollback();
        log.error("Error getting anime name.", e);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

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

License:Open Source License

public static void addCachedED2K(String ed2k, long size, int episodeId) {
    if (size == 0) {
        return;/*from www  . j  av a  2 s. c  om*/
    }

    SqlSession session = null;

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

        mapper.addCachedED2K(ed2k, size, episodeId);

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

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

License:Open Source License

public static void addCachedED2KFileFailure(String ed2k, long size) {
    if (size == 0) {
        return;/* w w w.  j av  a2 s  .  c  om*/
    }

    SqlSession session = null;

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

        mapper.addCachedED2KFileFailure(ed2k, size);

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

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

License:Open Source License

public static boolean checkForCachedED2KFileFailure(String ed2k, long size) {
    if (size == 0) {
        return false;
    }/*from w  ww.  j  a v a  2s .c o  m*/

    SqlSession session = null;

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

        Calendar cal = Calendar.getInstance();
        cal.add(ED2K_FILE_CACHE_AGE_UNITS, -ED2K_FILE_CACHE_AGE);
        mapper.clearOldCachedED2KFileFailure(Collections.singletonMap("date", cal));

        int entries = mapper.findCachedED2KFileFailure(ed2k, size);

        session.commit();

        return entries > 0;

    } catch (Exception e) {
        session.rollback();
        log.error("Error checking for ed2k failure.", e);
        return false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

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

License:Open Source License

public static void saveListItem(AnimeListItem list) {
    SqlSession session = null;

    try {/*from   w ww .  ja va2s  .c om*/
        session = AnimeDataManager.getInstance().openSession();
        AnimeMapper mapper = session.getMapper(AnimeMapper.class);

        int rows = mapper.updateListItem(list);
        if (rows == 0) {
            mapper.insertListItem(list);
        }

        session.commit();

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

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

License:Open Source License

public static void deleteListItem(AnimeListItem list) {
    SqlSession session = null;

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

        mapper.deleteListItem(list);

        session.commit();

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

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

License:Open Source License

public static AnimeListItem getAnimeListByFileId(int fileId) {
    AnimeListItem result = myListCache.get(fileId);
    if (result != null) {
        return result;
    }/*from   w  w  w.j a va 2s . c o  m*/

    SqlSession session = null;

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

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