Skip to content
Snippets Groups Projects
Commit be4dae3f authored by srosse's avatar srosse
Browse files

no-jira: remove dependence to SpringDatasource (enable DataSource with JNDI)

parent 0280f7ad
No related branches found
No related tags found
No related merge requests found
...@@ -21,10 +21,11 @@ ...@@ -21,10 +21,11 @@
package org.olat.upgrade; package org.olat.upgrade;
import javax.sql.DataSource;
import org.olat.core.logging.OLog; import org.olat.core.logging.OLog;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
/** /**
...@@ -91,7 +92,7 @@ public abstract class OLATUpgrade { ...@@ -91,7 +92,7 @@ public abstract class OLATUpgrade {
* @param query * @param query
* @param dataSource * @param dataSource
*/ */
public void executePlainSQLDBStatement(String query, DriverManagerDataSource dataSource) { public void executePlainSQLDBStatement(String query, DataSource dataSource) {
JdbcTemplate template = new JdbcTemplate(dataSource); JdbcTemplate template = new JdbcTemplate(dataSource);
template.update(query); template.update(query);
} }
......
...@@ -5,6 +5,8 @@ import java.util.HashMap; ...@@ -5,6 +5,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.sql.DataSource;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
import org.olat.core.configuration.Initializable; import org.olat.core.configuration.Initializable;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
...@@ -15,7 +17,6 @@ import org.olat.core.util.event.FrameworkStartedEvent; ...@@ -15,7 +17,6 @@ import org.olat.core.util.event.FrameworkStartedEvent;
import org.olat.core.util.event.FrameworkStartupEventChannel; import org.olat.core.util.event.FrameworkStartupEventChannel;
import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.GenericEventListener;
import org.olat.core.util.xml.XStreamHelper; import org.olat.core.util.xml.XStreamHelper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
/** /**
* *
...@@ -39,7 +40,7 @@ public abstract class UpgradeManager extends BasicManager implements Initializab ...@@ -39,7 +40,7 @@ public abstract class UpgradeManager extends BasicManager implements Initializab
List<OLATUpgrade> upgrades; List<OLATUpgrade> upgrades;
Map<String, UpgradeHistoryData> upgradesHistories; Map<String, UpgradeHistoryData> upgradesHistories;
private UpgradesDefinitions upgradesDefinitions; private UpgradesDefinitions upgradesDefinitions;
protected DriverManagerDataSource dataSource; protected DataSource dataSource;
private boolean needsUpgrade = true; private boolean needsUpgrade = true;
private boolean autoUpgradeDatabase = true; private boolean autoUpgradeDatabase = true;
...@@ -47,11 +48,11 @@ public abstract class UpgradeManager extends BasicManager implements Initializab ...@@ -47,11 +48,11 @@ public abstract class UpgradeManager extends BasicManager implements Initializab
* [used by spring] * [used by spring]
* @param dataSource * @param dataSource
*/ */
public void setDataSource (DriverManagerDataSource dataSource) { public void setDataSource (DataSource dataSource) {
this.dataSource = dataSource; this.dataSource = dataSource;
} }
public DriverManagerDataSource getDataSource() { public DataSource getDataSource() {
return dataSource; return dataSource;
} }
......
...@@ -45,6 +45,8 @@ import org.springframework.core.io.Resource; ...@@ -45,6 +45,8 @@ import org.springframework.core.io.Resource;
*/ */
public class UpgradeManagerImpl extends UpgradeManager { public class UpgradeManagerImpl extends UpgradeManager {
private String dbVendor;
/** /**
* used by spring * used by spring
*/ */
...@@ -52,6 +54,14 @@ public class UpgradeManagerImpl extends UpgradeManager { ...@@ -52,6 +54,14 @@ public class UpgradeManagerImpl extends UpgradeManager {
// //
} }
/**
* [user by Spring]
* @param dbVendor
*/
public void setDbVendor(String dbVendor) {
this.dbVendor = dbVendor;
}
/** /**
* Execute the pre system init code of all upgrades in the order as they were configured * Execute the pre system init code of all upgrades in the order as they were configured
* in the configuration file * in the configuration file
...@@ -101,9 +111,9 @@ public class UpgradeManagerImpl extends UpgradeManager { ...@@ -101,9 +111,9 @@ public class UpgradeManagerImpl extends UpgradeManager {
public void runAlterDbStatements() { public void runAlterDbStatements() {
String dialect = ""; String dialect = "";
//only run upgrades on mysql or postgresql //only run upgrades on mysql or postgresql
if (dataSource.getUrl().contains("mysql")) dialect = "mysql"; if (dbVendor.contains("mysql")) dialect = "mysql";
else if (dataSource.getUrl().contains("postgresql")) dialect = "postgresql"; else if (dbVendor.contains("postgresql")) dialect = "postgresql";
else if (dataSource.getUrl().contains("hsqldb")) return; else if (dbVendor.contains("hsqldb")) return;
else return; else return;
Statement statement = null; Statement statement = null;
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<context:component-scan base-package="org.olat.upgrade" /> <context:component-scan base-package="org.olat.upgrade" />
<bean id="olatUpgradeManager.enabled" class="org.olat.upgrade.UpgradeManagerImpl" lazy-init="true" init-method="init" depends-on="folderModule"> <bean id="olatUpgradeManager.enabled" class="org.olat.upgrade.UpgradeManagerImpl" lazy-init="true" init-method="init" depends-on="folderModule">
<property name="dbVendor" value="${db.vendor}"/>
<property name="upgradesDefinitions" ref="olatupgrades"/> <property name="upgradesDefinitions" ref="olatupgrades"/>
<property name="dataSource" ref="${db.vendor}DataSource"/> <property name="dataSource" ref="${db.vendor}DataSource"/>
<property name="autoUpgradeDatabase" value="${auto.upgrade.database}" /> <property name="autoUpgradeDatabase" value="${auto.upgrade.database}" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment