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>