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:com.bibisco.manager.ProjectManager.java

License:GNU General Public License

public static void save(ProjectDTO pProjectDTO) {

    mLog.debug("Start save(ProjectDTO)");

    // validate preconditions
    Validate.notNull(pProjectDTO, "argument ProjectDTO cannot be null");

    // open session in bibisco db
    SqlSessionFactory lSqlSessionFactoryBibisco = SqlSessionFactoryManager.getInstance()
            .getSqlSessionFactoryBibisco();
    SqlSession lSqlSessionBibisco = lSqlSessionFactoryBibisco.openSession();

    // open session in project db
    SqlSessionFactory lSqlSessionFactoryProject = SqlSessionFactoryManager.getInstance()
            .getSqlSessionFactoryProject();
    SqlSession lSqlSessionProject = lSqlSessionFactoryProject.openSession();

    try {/*w ww .  ja  v a 2  s. com*/

        Projects lProjects = new Projects();
        lProjects.setIdProject(ContextManager.getInstance().getIdProject());
        lProjects.setName(pProjectDTO.getName());

        ProjectsMapper lProjectsMapper = lSqlSessionBibisco.getMapper(ProjectsMapper.class);
        lProjectsMapper.updateByPrimaryKey(lProjects);

        ProjectWithBLOBs lProjectWithBLOBs = new ProjectWithBLOBs();
        lProjectWithBLOBs.setIdProject(ContextManager.getInstance().getIdProject());
        lProjectWithBLOBs.setName(pProjectDTO.getName());

        ProjectMapper lProjectMapper = lSqlSessionProject.getMapper(ProjectMapper.class);
        lProjectMapper.updateByPrimaryKeySelective(lProjectWithBLOBs);

        lSqlSessionBibisco.commit();
        lSqlSessionProject.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSessionBibisco.rollback();
        lSqlSessionProject.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSessionBibisco.close();
        lSqlSessionProject.close();
    }

    mLog.debug("End save(ProjectDTO)");
}

From source file:com.bibisco.manager.ProjectManager.java

License:GNU General Public License

public static int deleteProjectsEntriesOnBibiscoDB() {

    int lIntResult = 0;

    mLog.debug("Start importProjectsFromProjectsDirectory()");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryBibisco();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {/*from w ww  . j  ava 2 s.  com*/

        // delete entry on bibisco db
        ProjectsMapper lProjectsMapper = lSqlSession.getMapper(ProjectsMapper.class);
        lIntResult = lProjectsMapper.deleteByExample(new ProjectsExample());

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End importProjectsFromProjectsDirectory()");

    return lIntResult;
}

From source file:com.bibisco.manager.ProjectManager.java

License:GNU General Public License

private static void checkProjectVersionAndUpdateIfNecessary(String pStrIdProject) {

    mLog.debug("Start checkProjectVersionAndUpdateIfNecessary(String)");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryProject();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {//from   w w  w .j ava2 s  .  c o m
        ProjectMapper lProjectMapper = lSqlSession.getMapper(ProjectMapper.class);
        String lStrBibiscoVersion = lProjectMapper.getProjectVersion(pStrIdProject);

        // update version if necessary
        if (VersionManager.compare(lStrBibiscoVersion, "1.1.0") == -1) {
            update_to_1_1_0(lSqlSession, lProjectMapper);
        }
        if (VersionManager.compare(lStrBibiscoVersion, "1.1.2") == -1) {
            update_to_1_1_2(lSqlSession, lProjectMapper);
        }
        if (VersionManager.compare(lStrBibiscoVersion, "1.2.0") == -1) {
            update_to_1_2_0(lSqlSession, lProjectMapper);
        }

        // update project version
        ProjectWithBLOBs lProjectWithBLOBs = new ProjectWithBLOBs();
        lProjectWithBLOBs.setIdProject(pStrIdProject);
        lProjectWithBLOBs.setBibiscoVersion(VersionManager.getInstance().getVersion());
        lProjectMapper.updateByPrimaryKeySelective(lProjectWithBLOBs);

        lSqlSession.commit();

    } catch (Throwable t) {
        lSqlSession.rollback();
        mLog.error(t);
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End checkProjectVersionAndUpdateIfNecessary(String)");
}

From source file:com.bibisco.manager.PropertiesManager.java

License:GNU General Public License

public void updateProperties(Map<String, String> pMapProperties) {

    mLog.debug("Start updateProperties(Map<String, String>)");

    Validate.notEmpty(pMapProperties, "Properties map cannot be empty");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryBibisco();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();

    try {//from  ww w . ja  v  a 2  s .c om

        PropertiesMapper lPropertiesMapper = lSqlSession.getMapper(PropertiesMapper.class);
        for (String lStrProperty : pMapProperties.keySet()) {
            Properties lProperties = new Properties();
            lProperties.setProperty(lStrProperty);
            lProperties.setValue(pMapProperties.get(lStrProperty));
            lPropertiesMapper.updateByPrimaryKey(lProperties);
            mMapProperties.put(lStrProperty, pMapProperties.get(lStrProperty));
        }

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End updateProperties()");
}

From source file:com.bibisco.manager.PropertiesManager.java

License:GNU General Public License

public void updateProperty(String pStrProperty, String pStrValue) {

    mLog.debug("Start updateProperty(", pStrProperty, ",", pStrValue, ")");

    Validate.notEmpty(pStrProperty, "Property cannot be empty");
    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryBibisco();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {/*  w  w  w .  ja va 2  s .  co m*/

        PropertiesMapper lPropertiesMapper = lSqlSession.getMapper(PropertiesMapper.class);
        Properties lProperties = new Properties();
        lProperties.setProperty(pStrProperty);
        lProperties.setValue(pStrValue);
        lPropertiesMapper.updateByPrimaryKey(lProperties);
        mMapProperties.put(pStrProperty, pStrValue);

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End updateProperty(", pStrProperty, ",", pStrValue, ")");
}

From source file:com.bibisco.manager.RichTextEditorSettingsManager.java

License:GNU General Public License

public static void save(RichTextEditorSettings pRichTextEditorSettings) {

    mLog.debug("Start save()");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryBibisco();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {//from w  w  w.  ja  v a 2 s  .co m
        PropertiesMapper lPropertiesMapper = lSqlSession.getMapper(PropertiesMapper.class);

        // font
        Properties lProperties = new Properties();
        lProperties.setProperty("font");
        lProperties.setValue(pRichTextEditorSettings.getFont());
        lPropertiesMapper.updateByPrimaryKey(lProperties);

        // font size
        lProperties = new Properties();
        lProperties.setProperty("font-size");
        lProperties.setValue(pRichTextEditorSettings.getSize());
        lPropertiesMapper.updateByPrimaryKey(lProperties);

        // spell check enabled
        lProperties = new Properties();
        lProperties.setProperty("spellCheckEnabled");
        lProperties.setValue(String.valueOf(pRichTextEditorSettings.isSpellCheckEnabled()));
        lPropertiesMapper.updateByPrimaryKey(lProperties);

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End save()");
}

From source file:com.bibisco.manager.SceneManager.java

License:GNU General Public License

public static SceneRevisionDTO createRevisionFromScratch(Integer pIntIdScene) {

    SceneRevisionDTO lSceneRevisionDTO = null;

    mLog.debug("Start createRevisionFromScratch(" + pIntIdScene, ")");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryProject();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {//  w w  w. j a  v a 2s  . co  m

        SceneRevisionsMapper lSceneRevisionsMapper = lSqlSession.getMapper(SceneRevisionsMapper.class);

        // deselect all revisions
        deselectAllRevisions(lSqlSession, pIntIdScene);

        // get actual max revision number
        Integer lIntMaxRevisionNumber = lSceneRevisionsMapper.selectNextRevisionNumber(pIntIdScene)
                .getRevisionNumber();

        // insert new scene revision
        SceneRevisions lSceneRevisions = new SceneRevisions();
        lSceneRevisions.setIdScene(pIntIdScene);
        lSceneRevisions.setRevisionNumber(lIntMaxRevisionNumber + 1);
        lSceneRevisions.setSelected("Y");
        lSceneRevisions.setWords(0);
        lSceneRevisions.setCharacters(0);
        lSceneRevisionsMapper.insert(lSceneRevisions);

        // reload scene with new revision
        lSceneRevisionDTO = load(lSqlSession, pIntIdScene);

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End createRevisionFromScratch(" + pIntIdScene, ")");

    return lSceneRevisionDTO;
}

From source file:com.bibisco.manager.SceneManager.java

License:GNU General Public License

public static SceneRevisionDTO createRevisionFromActual(Integer pIntIdScene) {

    SceneRevisionDTO lSceneRevisionDTO = null;

    mLog.debug("Start createRevisionFromActual(" + pIntIdScene, ")");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryProject();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {//  ww w.  jav  a2  s. c o m

        SceneRevisionsMapper lSceneRevisionsMapper = lSqlSession.getMapper(SceneRevisionsMapper.class);

        // get actual revision
        SceneRevisions lSceneRevisionsActual = lSceneRevisionsMapper.getSelectedByIdScene(pIntIdScene);

        // deselect all revisions
        deselectAllRevisions(lSqlSession, pIntIdScene);

        // get actual max revision number
        Integer lIntMaxRevisionNumber = lSceneRevisionsMapper.selectNextRevisionNumber(pIntIdScene)
                .getRevisionNumber();

        // insert new scene revision
        lSceneRevisionsActual.setIdSceneRevision(null);
        lSceneRevisionsActual.setRevisionNumber(lIntMaxRevisionNumber + 1);
        lSceneRevisionsActual.setSelected("Y");
        lSceneRevisionsMapper.insert(lSceneRevisionsActual);

        // reload scene with new revision
        lSceneRevisionDTO = load(lSqlSession, pIntIdScene);

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End createRevisionFromActual(" + pIntIdScene, ")");

    return lSceneRevisionDTO;
}

From source file:com.bibisco.manager.SceneManager.java

License:GNU General Public License

public static SceneRevisionDTO deleteActualRevision(Integer pIntIdScene) {

    SceneRevisionDTO lSceneRevisionDTO = null;

    mLog.debug("Start deleteActualRevision(" + pIntIdScene, ")");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryProject();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {// w ww . ja  v  a2  s  .co  m

        // load scene revision
        SceneRevisionsMapper lSceneRevisionsMapper = lSqlSession.getMapper(SceneRevisionsMapper.class);
        SceneRevisions lSceneRevisionsSelected = lSceneRevisionsMapper.getSelectedByIdScene(pIntIdScene);

        // get position of revision to delete
        Integer lIntPositionRevisionToDelete = lSceneRevisionsSelected.getRevisionNumber();

        // delete actual revision
        lSceneRevisionsMapper.deleteByPrimaryKey(lSceneRevisionsSelected.getIdSceneRevision());

        // shift down the revision number 
        lSceneRevisionsMapper.shiftDown(lIntPositionRevisionToDelete);

        // get actual max revision number
        Integer lIntMaxRevisionNumber = lSceneRevisionsMapper.selectNextRevisionNumber(pIntIdScene)
                .getRevisionNumber();

        // select revision with max revision number
        SceneRevisions lSceneRevisions = new SceneRevisions();
        lSceneRevisions.setSelected("Y");

        SceneRevisionsExample lSceneRevisionsExample = new SceneRevisionsExample();
        lSceneRevisionsExample.createCriteria().andIdSceneEqualTo(pIntIdScene)
                .andRevisionNumberEqualTo(lIntMaxRevisionNumber);

        lSceneRevisionsMapper.updateByExampleSelective(lSceneRevisions, lSceneRevisionsExample);

        // reload scene with new revision
        lSceneRevisionDTO = load(lSqlSession, pIntIdScene);

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End deleteActualRevision(" + pIntIdScene, ")");

    return lSceneRevisionDTO;
}

From source file:com.bibisco.manager.SceneManager.java

License:GNU General Public License

public static void delete(Integer pIntIdScene) {

    mLog.debug("Start delete(Integer)");

    SqlSessionFactory lSqlSessionFactory = SqlSessionFactoryManager.getInstance().getSqlSessionFactoryProject();
    SqlSession lSqlSession = lSqlSessionFactory.openSession();
    try {//from  w  w  w.  ja  va 2 s  . co m

        // load scene
        ScenesMapper lScenesMapper = lSqlSession.getMapper(ScenesMapper.class);
        Scenes lScenes = lScenesMapper.selectByPrimaryKey(pIntIdScene.longValue());

        // load all scene revisions
        SceneRevisionsExample lSceneRevisionsExample = new SceneRevisionsExample();
        lSceneRevisionsExample.createCriteria().andIdSceneEqualTo(lScenes.getIdScene().intValue());
        SceneRevisionsMapper lSceneRevisionsMapper = lSqlSession.getMapper(SceneRevisionsMapper.class);
        List<SceneRevisions> lListSceneRevisions = lSceneRevisionsMapper
                .selectByExample(lSceneRevisionsExample);

        // delete all scene revision characters and all scene revision strands
        SceneRevisionCharactersMapper lSceneRevisionCharactersMapper = lSqlSession
                .getMapper(SceneRevisionCharactersMapper.class);
        SceneRevisionStrandsMapper lSceneRevisionStrandsMapper = lSqlSession
                .getMapper(SceneRevisionStrandsMapper.class);
        for (SceneRevisions lSceneRevisions : lListSceneRevisions) {
            SceneRevisionCharactersExample lSceneRevisionCharactersExample = new SceneRevisionCharactersExample();
            lSceneRevisionCharactersExample.createCriteria()
                    .andIdSceneRevisionEqualTo(lSceneRevisions.getIdSceneRevision().intValue());
            lSceneRevisionCharactersMapper.deleteByExample(lSceneRevisionCharactersExample);

            SceneRevisionStrandsExample lSceneRevisionStrandsExample = new SceneRevisionStrandsExample();
            lSceneRevisionStrandsExample.createCriteria()
                    .andIdSceneRevisionEqualTo(lSceneRevisions.getIdSceneRevision().intValue());
            lSceneRevisionStrandsMapper.deleteByExample(lSceneRevisionStrandsExample);
        }

        // delete all scene revisions
        lSceneRevisionsMapper.deleteByExample(lSceneRevisionsExample);

        // delete scene
        lScenesMapper.deleteByPrimaryKey(lScenes.getIdScene());

        // shift down scenes
        lScenesMapper.shiftDown(lScenes.getPosition(), Integer.MAX_VALUE, lScenes.getIdChapter());

        lSqlSession.commit();

    } catch (Throwable t) {
        mLog.error(t);
        lSqlSession.rollback();
        throw new BibiscoException(t, BibiscoException.SQL_EXCEPTION);
    } finally {
        lSqlSession.close();
    }

    mLog.debug("End delete(Integer)");

}