From b71b397e95e56b53d4104780f8db53507bc2813a Mon Sep 17 00:00:00 2001
From: Gwenaelle Abeille <gwenaelle.abeille@synchrotron-soleil.fr>
Date: Mon, 12 Apr 2021 16:59:04 +0000
Subject: [PATCH] fix update of user/pwd that is no more working with new pool
 hikaricp

---
 .../spring/dao/ClasspathDAOBeansLoader.java   | 115 ++++++------------
 1 file changed, 40 insertions(+), 75 deletions(-)

diff --git a/src/main/java/fr/soleil/archiving/snap/api/persistence/spring/dao/ClasspathDAOBeansLoader.java b/src/main/java/fr/soleil/archiving/snap/api/persistence/spring/dao/ClasspathDAOBeansLoader.java
index dc81e5f..367fc6d 100644
--- a/src/main/java/fr/soleil/archiving/snap/api/persistence/spring/dao/ClasspathDAOBeansLoader.java
+++ b/src/main/java/fr/soleil/archiving/snap/api/persistence/spring/dao/ClasspathDAOBeansLoader.java
@@ -1,37 +1,5 @@
-/*	Synchrotron Soleil 
- *  
- *   File          :  ClasspathDAOBeansLoader.java
- *  
- *   Project       :  javaapi
- *  
- *   Description   :  
- *  
- *   Author        :  CLAISSE
- *  
- *   Original      :  6 avr. 07 
- *  
- *   Revision:  					Author:  
- *   Date: 							State:  
- *  
- *   Log: ClasspathDAOBeansLoader.java,v 
- *
- */
-/*
- * Created on 6 avr. 07
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
 package fr.soleil.archiving.snap.api.persistence.spring.dao;
 
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import com.zaxxer.hikari.HikariDataSource;
-
 import fr.soleil.archiving.snap.api.persistence.spring.dto.Im1Val;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.Im2Val;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.ScNum1Val;
@@ -40,12 +8,17 @@ import fr.soleil.archiving.snap.api.persistence.spring.dto.ScStr1Val;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.ScStr2Val;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.Sp1Val;
 import fr.soleil.archiving.snap.api.persistence.spring.dto.Sp2Val;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class ClasspathDAOBeansLoader implements DAOBeansLoader {
-	final static XLogger logger = XLoggerFactory.getXLogger(ClasspathDAOBeansLoader.class);
+    final static XLogger logger = XLoggerFactory.getXLogger(ClasspathDAOBeansLoader.class);
     private static final String DEFAULT_BEANS_FILE_NAME = "beans.xml";
     private final String resourceName;
-	private final ApplicationContext applicationContext;
+    private final ApplicationContext applicationContext;
 
     private ValDAO<ScNum1Val> scNum1ValDAO;
     private ValDAO<ScNum2Val> scNum2ValDAO;
@@ -56,38 +29,30 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
     private ValDAO<Im1Val> im1ValDAO;
     private ValDAO<Im2Val> im2ValDAO;
 
-	public ClasspathDAOBeansLoader(String _resourceName, String userName, String password) {
-    	logger.entry(_resourceName,userName,password);
-		boolean defaultResource = _resourceName == null || _resourceName.trim().length() == 0;
-		this.resourceName = defaultResource ? DEFAULT_BEANS_FILE_NAME : _resourceName;
-		logger.info("configure hibernate resource: " + resourceName);
-
-		applicationContext = new ClassPathXmlApplicationContext(this.resourceName);
-
-		if (applicationContext.getBean("dataSource") instanceof HikariDataSource) {
-			HikariDataSource datasource = (HikariDataSource) applicationContext.getBean("dataSource");
-			logger.info("Hibernate dataSource url: " + datasource.getJdbcUrl());
-		    logger.info("configure dataSource userName from device: " + userName);
-		    logger.info("configure dataSource password from device: " + password);
-		    datasource.setUsername(userName);
-		    datasource.setPassword(password);
-		}
-		this.instantiateBeans(applicationContext);
-		logger.exit();
+    public ClasspathDAOBeansLoader(String _resourceName, String userName, String password) {
+        logger.entry(_resourceName, userName, password);
+        boolean defaultResource = _resourceName == null || _resourceName.trim().length() == 0;
+        this.resourceName = defaultResource ? DEFAULT_BEANS_FILE_NAME : _resourceName;
+        logger.info("configure hibernate resource: " + resourceName);
+        System.setProperty("user", userName);
+        System.setProperty("password", password);
+        applicationContext = new ClassPathXmlApplicationContext(this.resourceName);
+        instantiateBeans(applicationContext);
+        logger.exit();
     }
 
     @SuppressWarnings("unchecked")
     private void instantiateBeans(BeanFactory ctx) {
-    	logger.entry(ctx);
-		scNum1ValDAO = (ValDAO<ScNum1Val>) ctx.getBean("scNum1ValDAO");
-		scNum2ValDAO = (ValDAO<ScNum2Val>) ctx.getBean("scNum2ValDAO");
-		scStr1ValDAO = (ValDAO<ScStr1Val>) ctx.getBean("scStr1ValDAO");
-		scStr2ValDAO = (ValDAO<ScStr2Val>) ctx.getBean("scStr2ValDAO");
-		sp1ValDAO = (ValDAO<Sp1Val>) ctx.getBean("sp1ValDAO");
-		sp2ValDAO = (ValDAO<Sp2Val>) ctx.getBean("sp2ValDAO");
-		im1ValDAO = (ValDAO<Im1Val>) ctx.getBean("im1ValDAO");
-		im2ValDAO = (ValDAO<Im2Val>) ctx.getBean("im2ValDAO");
-		logger.exit();
+        logger.entry(ctx);
+        scNum1ValDAO = (ValDAO<ScNum1Val>) ctx.getBean("scNum1ValDAO");
+        scNum2ValDAO = (ValDAO<ScNum2Val>) ctx.getBean("scNum2ValDAO");
+        scStr1ValDAO = (ValDAO<ScStr1Val>) ctx.getBean("scStr1ValDAO");
+        scStr2ValDAO = (ValDAO<ScStr2Val>) ctx.getBean("scStr2ValDAO");
+        sp1ValDAO = (ValDAO<Sp1Val>) ctx.getBean("sp1ValDAO");
+        sp2ValDAO = (ValDAO<Sp2Val>) ctx.getBean("sp2ValDAO");
+        im1ValDAO = (ValDAO<Im1Val>) ctx.getBean("im1ValDAO");
+        im2ValDAO = (ValDAO<Im2Val>) ctx.getBean("im2ValDAO");
+        logger.exit();
     }
 
     /**
@@ -95,7 +60,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<Im1Val> getIm1ValDAO() {
-	return this.im1ValDAO;
+        return this.im1ValDAO;
     }
 
     /**
@@ -103,7 +68,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<Im2Val> getIm2ValDAO() {
-	return this.im2ValDAO;
+        return this.im2ValDAO;
     }
 
     /**
@@ -111,7 +76,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<ScNum1Val> getScNum1ValDAO() {
-	return this.scNum1ValDAO;
+        return this.scNum1ValDAO;
     }
 
     /**
@@ -119,7 +84,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<ScNum2Val> getScNum2ValDAO() {
-	return this.scNum2ValDAO;
+        return this.scNum2ValDAO;
     }
 
     /**
@@ -127,7 +92,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<ScStr1Val> getScStr1ValDAO() {
-	return this.scStr1ValDAO;
+        return this.scStr1ValDAO;
     }
 
     /**
@@ -135,7 +100,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<ScStr2Val> getScStr2ValDAO() {
-	return this.scStr2ValDAO;
+        return this.scStr2ValDAO;
     }
 
     /**
@@ -143,7 +108,7 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<Sp1Val> getSp1ValDAO() {
-	return this.sp1ValDAO;
+        return this.sp1ValDAO;
     }
 
     /**
@@ -151,16 +116,16 @@ public class ClasspathDAOBeansLoader implements DAOBeansLoader {
      */
     @Override
     public ValDAO<Sp2Val> getSp2ValDAO() {
-	return this.sp2ValDAO;
+        return this.sp2ValDAO;
     }
 
     @Override
     public String getResourceName() {
-	return this.resourceName;
+        return this.resourceName;
     }
 
-	@Override
-	public ApplicationContext getApplicationContext() {
-		return applicationContext;
-	}
+    @Override
+    public ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
 }
-- 
GitLab