Finish Hotfix-1
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit is unstable
This commit is contained in:
@@ -1,13 +1,12 @@
|
|||||||
package it.integry.security.cache;
|
package it.integry.security.cache;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
|
||||||
import io.jsonwebtoken.io.Decoders;
|
import io.jsonwebtoken.io.Decoders;
|
||||||
import io.jsonwebtoken.security.Keys;
|
import io.jsonwebtoken.security.Keys;
|
||||||
import it.integry.annotations.PostContextConstruct;
|
import it.integry.annotations.PostContextConstruct;
|
||||||
import it.integry.ems.datasource.DataSource;
|
|
||||||
import it.integry.ems.looper.service.LooperService;
|
import it.integry.ems.looper.service.LooperService;
|
||||||
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
import it.integry.ems.settings.Model.AvailableConnectionsModel;
|
||||||
import it.integry.ems.settings.Model.SettingsModel;
|
import it.integry.ems.settings.Model.SettingsModel;
|
||||||
|
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||||
import it.integry.ems.utility.UtilityDebug;
|
import it.integry.ems.utility.UtilityDebug;
|
||||||
import it.integry.ems_model.entity.Azienda;
|
import it.integry.ems_model.entity.Azienda;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
@@ -16,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.crypto.SecretKey;
|
import javax.crypto.SecretKey;
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -44,27 +42,16 @@ public class SecretKeyCacheComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateInternalCache() {
|
private void updateInternalCache() {
|
||||||
List<AvailableConnectionsModel> availableConnectionsModels = Stream.of(settingsModel.getAvailableConnections())
|
List<AvailableConnectionsModel> availableConnectionsModels = settingsModel.getAvailableConnections(true);
|
||||||
.filter(AvailableConnectionsModel::getInternalDb)
|
|
||||||
.toList();
|
|
||||||
|
|
||||||
for (AvailableConnectionsModel model : availableConnectionsModels) {
|
for (AvailableConnectionsModel model : availableConnectionsModels) {
|
||||||
DataSource ds = new DataSource();
|
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(model)) {
|
||||||
|
|
||||||
try {
|
Azienda azienda = Azienda.getDefaultAzienda(multiDBTransactionManager.getPrimaryConnection());
|
||||||
ds.initialize(model.getProfileName());
|
|
||||||
|
|
||||||
Azienda azienda = Azienda.getDefaultAzienda(ds.getConnection());
|
|
||||||
internalCache.put(model.getDbName().toLowerCase(), Keys.hmacShaKeyFor(Decoders.BASE64.decode(azienda.getJwtSecretKey())));
|
internalCache.put(model.getDbName().toLowerCase(), Keys.hmacShaKeyFor(Decoders.BASE64.decode(azienda.getJwtSecretKey())));
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.info(String.format("Cannot find %s database", model.getDbName()), ex);
|
logger.info(String.format("Cannot find %s database", model.getDbName()), ex);
|
||||||
} finally {
|
|
||||||
try {
|
|
||||||
ds.forceClose();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
logger.error(SecretKeyCacheComponent.class.getSimpleName(), e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user