Index: main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/DefaultApogeeDAO.java =================================================================== --- main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/DefaultApogeeDAO.java (revision 17930) +++ main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/DefaultApogeeDAO.java (working copy) @@ -23,6 +23,9 @@ import java.util.Map; import org.apache.avalon.framework.component.Component; +import org.apache.avalon.framework.configuration.Configurable; +import org.apache.avalon.framework.configuration.Configuration; +import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.thread.ThreadSafe; import org.apache.commons.io.IOUtils; @@ -41,11 +44,21 @@ /** * Data access object to the remote DB Apogee */ -public class DefaultApogeeDAO extends AbstractDAO implements ThreadSafe, Component +public class DefaultApogeeDAO extends AbstractDAO implements ThreadSafe, Component, Configurable { /** Avalon ROLE */ public static final String ROLE = DefaultApogeeDAO.class.getName(); - + + /** The configured Data Source pool id */ + protected String _poolId; + + + @Override + public void configure(Configuration configuration) throws ConfigurationException + { + _poolId = configuration.getChild("pool-id").getValue(); + } + /** * Returns the list of valid programs * @@ -56,7 +69,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("Programs.searchPrograms", params); + return _getSqlMapClient(_poolId).queryForList("Programs.searchPrograms", params); } catch (SQLException e) { @@ -74,7 +87,7 @@ { try { - return (ApogeeProgramRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("Programs.getProgram", params); + return (ApogeeProgramRemoteItem) _getSqlMapClient(_poolId).queryForObject("Programs.getProgram", params); } catch (SQLException e) { @@ -94,7 +107,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("Programs.getEducationModality", params); + return _getSqlMapClient(_poolId).queryForList("Programs.getEducationModality", params); } catch (SQLException e) { @@ -113,7 +126,7 @@ { try { - Map<String, Object> results = (Map<String, Object>) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("Programs.getAddElements", params); + Map<String, Object> results = (Map<String, Object>) _getSqlMapClient(_poolId).queryForObject("Programs.getAddElements", params); // Get string from CLOB values Map<String, Object> addElements = null; @@ -145,7 +158,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("OrgUnits.getProgramOrgUnits", params); + return _getSqlMapClient(_poolId).queryForList("OrgUnits.getProgramOrgUnits", params); } catch (SQLException e) { @@ -163,7 +176,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("OrgUnits.getAssociatedEducationUnits", params); + return _getSqlMapClient(_poolId).queryForList("OrgUnits.getAssociatedEducationUnits", params); } catch (SQLException e) { @@ -181,7 +194,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("OrgUnits.searchOrgUnits", params); + return _getSqlMapClient(_poolId).queryForList("OrgUnits.searchOrgUnits", params); } catch (SQLException e) { @@ -198,7 +211,7 @@ { try { - return (ApogeeOrgUnitRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("OrgUnits.getRootOrgUnit", code); + return (ApogeeOrgUnitRemoteItem) _getSqlMapClient(_poolId).queryForObject("OrgUnits.getRootOrgUnit", code); } catch (SQLException e) { @@ -215,7 +228,7 @@ { try { - return (ApogeeOrgUnitRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("OrgUnits.getOrgUnitByCode", code); + return (ApogeeOrgUnitRemoteItem) _getSqlMapClient(_poolId).queryForObject("OrgUnits.getOrgUnitByCode", code); } catch (SQLException e) { @@ -233,7 +246,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("EducationalElements.searchEducationalElementsContainers", params); + return _getSqlMapClient(_poolId).queryForList("EducationalElements.searchEducationalElementsContainers", params); } catch (SQLException e) { @@ -251,7 +264,7 @@ { try { - return (ApogeeContainerRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("EducationalElements.getContainer", params); + return (ApogeeContainerRemoteItem) _getSqlMapClient(_poolId).queryForObject("EducationalElements.getContainer", params); } catch (SQLException e) { @@ -273,7 +286,7 @@ try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("Programs.searchSteps", params); + return _getSqlMapClient(_poolId).queryForList("Programs.searchSteps", params); } catch (SQLException e) { @@ -296,7 +309,7 @@ try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("Programs.getSteps", stepParams); + return _getSqlMapClient(_poolId).queryForList("Programs.getSteps", stepParams); } catch (SQLException e) { @@ -314,7 +327,7 @@ { try { - return (ApogeeSubProgramRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("Programs.getStep", params); + return (ApogeeSubProgramRemoteItem) _getSqlMapClient(_poolId).queryForObject("Programs.getStep", params); } catch (SQLException e) { @@ -332,7 +345,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("Programs.getStepElements", params); + return _getSqlMapClient(_poolId).queryForList("Programs.getStepElements", params); } catch (SQLException e) { @@ -350,7 +363,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("EducationalElements.searchEducationalElements", params); + return _getSqlMapClient(_poolId).queryForList("EducationalElements.searchEducationalElements", params); } catch (SQLException e) { @@ -371,7 +384,7 @@ try { - return (ApogeeCourseRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("EducationalElements.getEducationalElement", params); + return (ApogeeCourseRemoteItem) _getSqlMapClient(_poolId).queryForObject("EducationalElements.getEducationalElement", params); } catch (SQLException e) { @@ -390,7 +403,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("EducationalElements.hasChildren", elpCode); + return _getSqlMapClient(_poolId).queryForList("EducationalElements.hasChildren", elpCode); } catch (SQLException e) { @@ -407,7 +420,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("EducationalElements.searchCourseLists", params); + return _getSqlMapClient(_poolId).queryForList("EducationalElements.searchCourseLists", params); } catch (SQLException e) { @@ -425,7 +438,7 @@ { try { - return (ApogeeCourseListRemoteItem) _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForObject("EducationalElements.getCourseList", params); + return (ApogeeCourseListRemoteItem) _getSqlMapClient(_poolId).queryForObject("EducationalElements.getCourseList", params); } catch (SQLException e) { @@ -443,7 +456,7 @@ { try { - return _getSqlMapClient("odf.apogee.datasource.jdbc.pool").queryForList("EducationalElements.getCourseListChildren", lseCode); + return _getSqlMapClient(_poolId).queryForList("EducationalElements.getCourseListChildren", lseCode); } catch (SQLException e) { @@ -488,5 +501,4 @@ return transformedValues; } - } Index: main/plugin-odf-sync/plugin.xml =================================================================== --- main/plugin-odf-sync/plugin.xml (revision 17955) +++ main/plugin-odf-sync/plugin.xml (working copy) @@ -138,15 +138,17 @@ <components> <component role="org.ametys.plugins.odfsync.apogee.DefaultApogeeDAO" - class="org.ametys.plugins.odfsync.apogee.DefaultApogeeDAO"/> + class="org.ametys.plugins.odfsync.apogee.DefaultApogeeDAO"> + <pool-id>odf.apogee.datasource.jdbc.pool</pool-id> + </component> </components> <extensions> <extension point="org.ametys.runtime.plugins.core.sqlmap.SqlMapExtensionPoint" id="org.ametys.plugins.odfsync.apogee.DefaultApogeeDAO" - class="org.ametys.runtime.plugins.core.sqlmap.SelfSqlMapClientComponentProvider"> + class="org.ametys.runtime.plugins.core.sqlmap.SelfSqlMapClientComponentProvider"> <sqlMap datasource="odf.apogee.datasource.jdbc.pool" config="/WEB-INF/param/odf/apogee/programs.xml"/> - <sqlMap datasource="odf.apogee.datasource.jdbc.pool" config="/WEB-INF/param/odf/apogee/educationalElements.xml"/> + <sqlMap datasource="odf.apogee.datasource.jdbc.pool" config="/WEB-INF/param/odf/apogee/educationalElements.xml"/> <sqlMap datasource="odf.apogee.datasource.jdbc.pool" config="/WEB-INF/param/odf/apogee/orgUnits.xml"/> </extension>