private void _reloadSQLTransformer() { if (_transformedSqls == null) { _transformedSqls = new ConcurrentHashMap<String, String>(); } else { _transformedSqls.clear(); } _vendorDB2 = false; _vendorDerby = false; _vendorFirebird = false; // _vendorHypersonic = false; _vendorInformix = false; _vendorIngres = false; _vendorInterbase = false; _vendorMySQL = false; _vendorOracle = false; _vendorPostgreSQL = false; _vendorSQLServer = false; _vendorSybase = false; DB db = DBFactoryUtil.getDB(); String dbType = db.getType(); _db = db; if (dbType.equals(DB.TYPE_DB2)) { _vendorDB2 = true; } else if (dbType.equals(DB.TYPE_DERBY)) { _vendorDerby = true; } else if (dbType.equals(DB.TYPE_FIREBIRD)) { _vendorFirebird = true; } else if (dbType.equals(DB.TYPE_HYPERSONIC)) { // _vendorHypersonic = true; } else if (dbType.equals(DB.TYPE_INFORMIX)) { _vendorInformix = true; } else if (dbType.equals(DB.TYPE_INGRES)) { _vendorIngres = true; } else if (dbType.equals(DB.TYPE_INTERBASE)) { _vendorInterbase = true; } else if (dbType.equals(DB.TYPE_MYSQL)) { _vendorMySQL = true; } else if (db.getType().equals(DB.TYPE_ORACLE)) { _vendorOracle = true; } else if (dbType.equals(DB.TYPE_POSTGRESQL)) { _vendorPostgreSQL = true; } else if (dbType.equals(DB.TYPE_SQLSERVER)) { _vendorSQLServer = true; } else if (dbType.equals(DB.TYPE_SYBASE)) { _vendorSybase = true; } }
protected void verifyOracleNewLine() throws Exception { DB db = DBFactoryUtil.getDB(); String dbType = db.getType(); if (!dbType.equals(DB.TYPE_ORACLE)) { return; } // 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 = JournalArticleLocalServiceUtil.getArticles(DEFAULT_GROUP_ID, 0, NUM_OF_ARTICLES); for (JournalArticle article : articles) { String content = article.getContent(); if ((content != null) && content.contains("\\n")) { articles = JournalArticleLocalServiceUtil.getArticles(DEFAULT_GROUP_ID); for (int j = 0; j < articles.size(); j++) { article = articles.get(j); JournalArticleLocalServiceUtil.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"); } } }
protected Scheduler initializeScheduler(String propertiesPrefix, boolean useQuartzCluster) throws Exception { StdSchedulerFactory schedulerFactory = new StdSchedulerFactory(); Properties properties = _props.getProperties(propertiesPrefix, true); if (useQuartzCluster) { DB db = DBFactoryUtil.getDB(); String dbType = db.getType(); if (dbType.equals(DB.TYPE_SQLSERVER)) { String lockHandlerClassName = properties.getProperty("org.quartz.jobStore.lockHandler.class"); if (Validator.isNull(lockHandlerClassName)) { properties.setProperty( "org.quartz.jobStore.lockHandler.class", UpdateLockRowSemaphore.class.getName()); } } if (GetterUtil.getBoolean(_props.get(PropsKeys.CLUSTER_LINK_ENABLED))) { if (dbType.equals(DB.TYPE_HYPERSONIC)) { _log.error("Unable to cluster scheduler on Hypersonic"); } else { properties.put("org.quartz.jobStore.isClustered", Boolean.TRUE.toString()); } } } schedulerFactory.initialize(properties); return schedulerFactory.getScheduler(); }