Example usage for com.liferay.portal.kernel.dao.db DB getDBType

List of usage examples for com.liferay.portal.kernel.dao.db DB getDBType

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.db DB getDBType.

Prototype

public DBType getDBType();

Source Link

Usage

From source file:com.liferay.journal.verify.JournalServiceVerifyProcess.java

License:Open Source License

protected void verifyOracleNewLine() throws Exception {
    try (LoggingTimer loggingTimer = new LoggingTimer()) {
        DB db = DBManagerUtil.getDB();

        if (db.getDBType() != DBType.ORACLE) {
            return;
        }// w  w w .  j  a v  a  2 s .com

        // This is a workaround for a limitation in Oracle sqlldr's
        // inability insert new line characters for long varchar columns.
        // See http://forums.liferay.com/index.php?showtopic=2761&hl=oracle
        // for more information. Check several articles because some
        // articles may not have new lines.

        boolean checkNewLine = false;

        List<JournalArticle> articles = _journalArticleLocalService.getArticles(DEFAULT_GROUP_ID, 0,
                NUM_OF_ARTICLES);

        for (JournalArticle article : articles) {
            String content = article.getContent();

            if ((content != null) && content.contains("\\n")) {
                articles = _journalArticleLocalService.getArticles(DEFAULT_GROUP_ID);

                for (int j = 0; j < articles.size(); j++) {
                    article = articles.get(j);

                    _journalArticleLocalService.checkNewLine(article.getGroupId(), article.getArticleId(),
                            article.getVersion());
                }

                checkNewLine = true;

                break;
            }
        }

        // Only process this once

        if (!checkNewLine) {
            if (_log.isInfoEnabled()) {
                _log.info("Do not fix oracle new line");
            }

            return;
        } else {
            if (_log.isInfoEnabled()) {
                _log.info("Fix oracle new line");
            }
        }
    }
}

From source file:com.liferay.message.boards.service.test.MBMessageServiceTest.java

License:Open Source License

@Test
public void testAddMessagesConcurrently() throws Exception {
    DoAsUserThread[] doAsUserThreads = new DoAsUserThread[_userIds.length];

    for (int i = 0; i < doAsUserThreads.length; i++) {
        String subject = "Test Message " + i;

        doAsUserThreads[i] = new AddMessageThread(_userIds[i], subject);
    }//from   www .j  a va 2  s  . c  o m

    try (CaptureAppender captureAppender1 = Log4JLoggerTestUtil
            .configureLog4JLogger(BasePersistenceImpl.class.getName(), Level.ERROR);
            CaptureAppender captureAppender2 = Log4JLoggerTestUtil
                    .configureLog4JLogger(DefaultTransactionExecutor.class.getName(), Level.ERROR);
            CaptureAppender captureAppender3 = Log4JLoggerTestUtil
                    .configureLog4JLogger(DoAsUserThread.class.getName(), Level.ERROR);
            CaptureAppender captureAppender4 = Log4JLoggerTestUtil
                    .configureLog4JLogger(JDBCExceptionReporter.class.getName(), Level.ERROR);
            CaptureAppender captureAppender5 = Log4JLoggerTestUtil
                    .configureLog4JLogger(SynchronousDestination.class.getName(), Level.ERROR);) {

        for (DoAsUserThread doAsUserThread : doAsUserThreads) {
            doAsUserThread.start();
        }

        for (DoAsUserThread doAsUserThread : doAsUserThreads) {
            doAsUserThread.join();
        }

        DB db = DBManagerUtil.getDB();

        if (db.getDBType() == DBType.HYPERSONIC) {
            for (LoggingEvent loggingEvent : captureAppender2.getLoggingEvents()) {

                String message = loggingEvent.getRenderedMessage();

                Assert.assertTrue(
                        message.startsWith("Application exception overridden by commit " + "exception"));
            }

            for (LoggingEvent loggingEvent : captureAppender5.getLoggingEvents()) {

                String message = loggingEvent.getRenderedMessage();

                Assert.assertTrue(message.startsWith("Unable to process message"));
            }
        } else if (db.getDBType() == DBType.SYBASE) {
            for (LoggingEvent loggingEvent : captureAppender1.getLoggingEvents()) {

                String message = loggingEvent.getRenderedMessage();

                Assert.assertTrue(message.startsWith("Caught unexpected exception"));
            }

            for (LoggingEvent loggingEvent : captureAppender3.getLoggingEvents()) {

                String message = loggingEvent.getRenderedMessage();

                StringBundler sb = new StringBundler(2);

                sb.append("com.liferay.portal.kernel.exception.");
                sb.append("SystemException:");

                Assert.assertTrue(message.startsWith(sb.toString()));
            }

            for (LoggingEvent loggingEvent : captureAppender4.getLoggingEvents()) {

                String message = loggingEvent.getRenderedMessage();

                Assert.assertTrue(message, message.contains("Your server command"));
                Assert.assertTrue(message,
                        message.contains("encountered a deadlock situation. Please re-run " + "your command."));
            }
        }
    }

    int successCount = 0;

    for (DoAsUserThread doAsUserThread : doAsUserThreads) {
        if (doAsUserThread.isSuccess()) {
            successCount++;
        }
    }

    Assert.assertTrue(
            "Only " + successCount + " out of " + _userIds.length + " threads added messages successfully",
            successCount == _userIds.length);
}