Merge remote-tracking branch 'origin/feature/RefactoringGestioneColli' into feature/RefactoringGestioneColli
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-11-06 17:54:09 +01:00
45 changed files with 207 additions and 212 deletions

View File

@@ -3,7 +3,7 @@ package it.integry.ems._context;
import it.integry.annotations.PostContextConstruct; import it.integry.annotations.PostContextConstruct;
import it.integry.common.var.EmsDBConst; import it.integry.common.var.EmsDBConst;
import it.integry.ems.expansion.RunnableArgsThrowable; import it.integry.ems.expansion.RunnableArgsThrowable;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController; import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool; import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
@@ -83,9 +83,9 @@ public class EmsCoreDBLoader {
private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) throws Exception { private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
ArrayList<Callable<Void>> futureTasks = new ArrayList<>(); ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
for (AvailableConnectionsModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)) { for (AvailableConnectionModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)) {
AtomicReference<AvailableConnectionsModel> modelAtomicReference = new AtomicReference<>(model); AtomicReference<AvailableConnectionModel> modelAtomicReference = new AtomicReference<>(model);
futureTasks.add(() -> { futureTasks.add(() -> {
try { try {

View File

@@ -1,6 +1,6 @@
package it.integry.ems.datasource; package it.integry.ems.datasource;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.config.EmsRestConstants; import it.integry.ems_model.config.EmsRestConstants;
@@ -13,13 +13,13 @@ import java.util.HashMap;
public class DataSource extends BasicDataSource { public class DataSource extends BasicDataSource {
private AvailableConnectionsModel connectionModel; private AvailableConnectionModel connectionModel;
/** /**
* Instanzia un nuovo datasource. * Instanzia un nuovo datasource.
* *
* @deprecated Il datasource non deve essere istanziato direttamente ma bisogna utilizzare il metodo * @deprecated Il datasource non deve essere istanziato direttamente ma bisogna utilizzare il metodo
* {@link it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool#getConnection(AvailableConnectionsModel)} per ottenere una connessione. * {@link it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool#getConnection(AvailableConnectionModel)} per ottenere una connessione.
*/ */
@Deprecated @Deprecated
public DataSource() { public DataSource() {
@@ -62,12 +62,12 @@ public class DataSource extends BasicDataSource {
} }
public synchronized void initialize(String profileDB) throws Exception { public synchronized void initialize(String profileDB) throws Exception {
AvailableConnectionsModel connectionsModel = SettingsModel.getInstance().findConnectionModel(profileDB); AvailableConnectionModel connectionsModel = SettingsModel.getInstance().findConnectionModel(profileDB);
initialize(connectionsModel); initialize(connectionsModel);
} }
public synchronized void initialize(AvailableConnectionsModel connectionModel) throws Exception { public synchronized void initialize(AvailableConnectionModel connectionModel) throws Exception {
if (connectionModel == null) { if (connectionModel == null) {
throw new Exception("Configurazione DB non trovata"); throw new Exception("Configurazione DB non trovata");
} }

View File

@@ -3,7 +3,7 @@ package it.integry.ems.dynamic_cache;
import it.integry.ems.expansion.RunnableArgsWithReturn; import it.integry.ems.expansion.RunnableArgsWithReturn;
import it.integry.ems.expansion.RunnableWithReturn; import it.integry.ems.expansion.RunnableWithReturn;
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.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -51,11 +51,11 @@ public class DynamicCacheService {
List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList()); List<String> finalDbNames = dbNames.stream().map(String::toLowerCase).collect(Collectors.toList());
RunnableWithReturn<Object> internalRefreshAction = () -> { RunnableWithReturn<Object> internalRefreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections() Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream() .stream()
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase())) .filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName)); .collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, T> cachedDataByDB = new HashMap<>(); final HashMap<String, T> cachedDataByDB = new HashMap<>();
@@ -83,11 +83,11 @@ public class DynamicCacheService {
RunnableWithReturn<Object> refreshAction = () -> { RunnableWithReturn<Object> refreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections() Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream() .stream()
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase())) .filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName)); .collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, List<? extends EntityBase>> cachedEntitiesByDB = new HashMap<>(); final HashMap<String, List<? extends EntityBase>> cachedEntitiesByDB = new HashMap<>();
@@ -138,11 +138,11 @@ public class DynamicCacheService {
RunnableWithReturn<Object> refreshAction = () -> { RunnableWithReturn<Object> refreshAction = () -> {
Map<String, List<AvailableConnectionsModel>> databases = settingsModel.getAvailableConnections() Map<String, List<AvailableConnectionModel>> databases = settingsModel.getAvailableConnections()
.stream() .stream()
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.filter(x -> finalDbNames.contains(x.getDbName().toLowerCase())) .filter(x -> finalDbNames.contains(x.getDbName().toLowerCase()))
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName)); .collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
final HashMap<String, List<?>> cacheQueryByDB = new HashMap<>(); final HashMap<String, List<?>> cacheQueryByDB = new HashMap<>();

View File

@@ -6,7 +6,7 @@ import it.integry.annotations.PostContextConstruct;
import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager; import it.integry.ems.entity_logger.db_schema_manager.component.SQLServerDBSchemaManager;
import it.integry.ems.entity_logger.db_schema_manager.dto.*; import it.integry.ems.entity_logger.db_schema_manager.dto.*;
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.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController; import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -57,7 +57,7 @@ public class EntityLoggerComponent {
private void syncDBScheme() throws Exception { private void syncDBScheme() throws Exception {
AvailableConnectionsModel connectionsModel = settingsModel.getDefaultConnectionModel(); AvailableConnectionModel connectionsModel = settingsModel.getDefaultConnectionModel();
if (connectionsModel == null) { if (connectionsModel == null) {
throw new Exception("Impossibile ricavare la default connection"); throw new Exception("Impossibile ricavare la default connection");
@@ -107,7 +107,7 @@ public class EntityLoggerComponent {
} }
if (settingsModel.getAvailableConnections().stream().noneMatch(x -> x.getDbName().equalsIgnoreCase(destDBName))) { if (settingsModel.getAvailableConnections().stream().noneMatch(x -> x.getDbName().equalsIgnoreCase(destDBName))) {
settingsModel.addAvailableConnection(new AvailableConnectionsModel() settingsModel.addAvailableConnection(new AvailableConnectionModel()
.setInternalDb(false) .setInternalDb(false)
.setHost(dbHost) .setHost(dbHost)
.setUsername(dbUsername) .setUsername(dbUsername)
@@ -210,12 +210,12 @@ public class EntityLoggerComponent {
return; return;
try { try {
List<AvailableConnectionsModel> connectionsModels = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); List<AvailableConnectionModel> connectionsModels = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
String historyProfileDB = settingsController.getHistoryProfileDb(); String historyProfileDB = settingsController.getHistoryProfileDb();
try (MultiDBTransactionManager historyMultiDB = new MultiDBTransactionManager(historyProfileDB)) { try (MultiDBTransactionManager historyMultiDB = new MultiDBTransactionManager(historyProfileDB)) {
for (AvailableConnectionsModel sourceConnectionModel : connectionsModels) { for (AvailableConnectionModel sourceConnectionModel : connectionsModels) {
String sql = "SELECT * FROM stb_log_entity_setup" + String sql = "SELECT * FROM stb_log_entity_setup" +
" WHERE entity_name <> " + UtilityDB.valueToString(StbLogEntitySetup.ENTITY); " WHERE entity_name <> " + UtilityDB.valueToString(StbLogEntitySetup.ENTITY);

View File

@@ -8,7 +8,7 @@ import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.response.EsitoType; import it.integry.ems.response.EsitoType;
import it.integry.ems.response.ServiceRestResponse; import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.HttpRestWrapper; import it.integry.ems.service.HttpRestWrapper;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -60,11 +60,11 @@ public class LicenseComponent {
if (!canStart) if (!canStart)
return; return;
List<AvailableConnectionsModel> availableConnectionsModels = settingsModel.getAvailableConnections(true); List<AvailableConnectionModel> availableConnectionModels = settingsModel.getAvailableConnections(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionsModel model : availableConnectionsModels) { for (AvailableConnectionModel model : availableConnectionModels) {
multiDBTransactionManager.addConnection(model); multiDBTransactionManager.addConnection(model);
} }

View File

@@ -2,7 +2,7 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration; import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface; import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.utility.UtilityDB; import it.integry.ems_model.utility.UtilityDB;
@@ -14,7 +14,7 @@ public class Migration_20210721093948 extends BaseMigration implements Migration
@Override @Override
public void up() throws Exception { public void up() throws Exception {
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel(); AvailableConnectionModel historyDBModel = settingsController.getHistoryDbConnectionModel();
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName())) if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
return; return;

View File

@@ -2,7 +2,7 @@ package it.integry.ems.migration.model;
import it.integry.ems.migration._base.BaseMigration; import it.integry.ems.migration._base.BaseMigration;
import it.integry.ems.migration._base.MigrationModelInterface; import it.integry.ems.migration._base.MigrationModelInterface;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems_model.utility.UtilityDB; import it.integry.ems_model.utility.UtilityDB;
@@ -14,7 +14,7 @@ public class Migration_20210924152555 extends BaseMigration implements Migration
@Override @Override
public void up() throws Exception { public void up() throws Exception {
AvailableConnectionsModel historyDBModel = settingsController.getHistoryDbConnectionModel(); AvailableConnectionModel historyDBModel = settingsController.getHistoryDbConnectionModel();
if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName())) if (!settingsModel.getDefaultProfile().equalsIgnoreCase(connection.getProfileName()))
return; return;

View File

@@ -6,7 +6,7 @@ import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.migration.dto.MigrationStatusDTO; import it.integry.ems.migration.dto.MigrationStatusDTO;
import it.integry.ems.migration.dto.MigrationStatusEnum; import it.integry.ems.migration.dto.MigrationStatusEnum;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -46,14 +46,14 @@ public class MigrationSetupService {
final List<MigrationStatusDTO> migrationStatuses = new ArrayList<>(); final List<MigrationStatusDTO> migrationStatuses = new ArrayList<>();
final List<AvailableConnectionsModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel availableConnectionsModel : databases) { for (AvailableConnectionModel availableConnectionModel : databases) {
if (IntegryCustomer.getFromDB(IntegryCustomerDB.parse(availableConnectionsModel.getDbName())) == IntegryCustomer.Integry && if (IntegryCustomer.getFromDB(IntegryCustomerDB.parse(availableConnectionModel.getDbName())) == IntegryCustomer.Integry &&
UtilityDebug.isDebugExecution()) UtilityDebug.isDebugExecution())
continue; continue;
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(availableConnectionsModel)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(availableConnectionModel)) {
List<StbMigrationStatus> stbMigrationStatuses = retrieveStatuses(multiDBTransactionManager); List<StbMigrationStatus> stbMigrationStatuses = retrieveStatuses(multiDBTransactionManager);
if (stbMigrationStatuses == null) { if (stbMigrationStatuses == null) {
@@ -88,7 +88,7 @@ public class MigrationSetupService {
migrationStatuses.add(new MigrationStatusDTO() migrationStatuses.add(new MigrationStatusDTO()
.setStatus(status) .setStatus(status)
.setMigrationCode(migrationCode) .setMigrationCode(migrationCode)
.setProfileDb(availableConnectionsModel.getProfileName()) .setProfileDb(availableConnectionModel.getProfileName())
.setErrorMessage(errorMessage)); .setErrorMessage(errorMessage));
} }
@@ -132,11 +132,11 @@ public class MigrationSetupService {
public void executeAll() throws Exception { public void executeAll() throws Exception {
for (AvailableConnectionsModel availableConnectionsModel : settingsModel.getAvailableConnections(true)) { for (AvailableConnectionModel availableConnectionModel : settingsModel.getAvailableConnections(true)) {
if (multiDBTransactionManager.getActiveConnections().stream() if (multiDBTransactionManager.getActiveConnections().stream()
.noneMatch(connection -> .noneMatch(connection ->
connection.getDbName().equalsIgnoreCase(availableConnectionsModel.getDbName()))) { connection.getDbName().equalsIgnoreCase(availableConnectionModel.getDbName()))) {
multiDBTransactionManager.addConnection(availableConnectionsModel); multiDBTransactionManager.addConnection(availableConnectionModel);
} }
} }

View File

@@ -5,7 +5,7 @@ import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum;
import it.integry.ems.schedule.new_cron_job.dto.operations.OperationField; import it.integry.ems.schedule.new_cron_job.dto.operations.OperationField;
import it.integry.ems.schedule.new_cron_job.dto.operations.OperationFieldDTO; import it.integry.ems.schedule.new_cron_job.dto.operations.OperationFieldDTO;
import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO; import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems_model.utility.UtilityString; import it.integry.ems_model.utility.UtilityString;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -46,7 +46,7 @@ public class AutomatedOperationService {
if (x.getName().equalsIgnoreCase("profiledb")) { if (x.getName().equalsIgnoreCase("profiledb")) {
List<String> profiles = Stream.of(settingsModel.getAvailableConnections()) List<String> profiles = Stream.of(settingsModel.getAvailableConnections())
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.sorted() .sorted()
.toList(); .toList();

View File

@@ -7,7 +7,7 @@ import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum; import it.integry.ems.schedule.new_cron_job.dto.AutomatedOperationTypeEnum;
import it.integry.ems.schedule.new_cron_job.dto.operations.ServiceCallAutomatedOperationDTO; import it.integry.ems.schedule.new_cron_job.dto.operations.ServiceCallAutomatedOperationDTO;
import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO; import it.integry.ems.schedule.new_cron_job.dto.operations.base_classes.BaseAutomatedOperationDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -272,7 +272,7 @@ public class DefaultAutomatedOperationHandlerComponent {
settingsModel.getAvailableConnections().stream() settingsModel.getAvailableConnections().stream()
.filter(x -> x.getInternalDb() && x.getProfileName().equalsIgnoreCase(x.getDbName())) .filter(x -> x.getInternalDb() && x.getProfileName().equalsIgnoreCase(x.getDbName()))
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.forEach(profileDb -> { .forEach(profileDb -> {
try { try {
final String operationName = "Remove FPX invio files (" + profileDb + ")"; final String operationName = "Remove FPX invio files (" + profileDb + ")";

View File

@@ -1,6 +1,6 @@
package it.integry.ems.service; package it.integry.ems.service;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -34,10 +34,10 @@ public class CleanDirectoryComponent {
public void cleanDirectory() throws Exception { public void cleanDirectory() throws Exception {
if (!UtilityDebug.isDebugExecution()) { if (!UtilityDebug.isDebugExecution()) {
List<AvailableConnectionsModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); List<AvailableConnectionModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : databases) { for (AvailableConnectionModel connectionModel : databases) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionModel, false)) {

View File

@@ -6,7 +6,7 @@ import it.integry.ems.dynamic_cache.DynamicCacheService;
import it.integry.ems.json.ResponseJSONObjectMapper; import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.looper.service.LooperService; import it.integry.ems.looper.service.LooperService;
import it.integry.ems.service.dto.EntityToLogDTO; import it.integry.ems.service.dto.EntityToLogDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController; import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -66,7 +66,7 @@ public class EntityLoggerNewService {
private void initSetup() { private void initSetup() {
List<String> dbNames = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true) List<String> dbNames = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true)
.stream() .stream()
.map(AvailableConnectionsModel::getDbName) .map(AvailableConnectionModel::getDbName)
.collect(Collectors.toList());; .collect(Collectors.toList());;
dynamicCacheService.addEntity(DynamicCacheService.Keys.ENTITY_LOGGER_SETUP, 5, StbLogEntitySetup.class, dbNames); dynamicCacheService.addEntity(DynamicCacheService.Keys.ENTITY_LOGGER_SETUP, 5, StbLogEntitySetup.class, dbNames);

View File

@@ -2,7 +2,7 @@ package it.integry.ems.service.production;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import it.integry.ems.service.dto.production.MRPDailyConsumiDTO; import it.integry.ems.service.dto.production.MRPDailyConsumiDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.service.SetupGest;
@@ -41,9 +41,9 @@ public class MrpConsumiHandlerService {
@Scheduled(fixedDelay = 1, timeUnit = TimeUnit.MINUTES, initialDelay = 60, zone = "Europe/Rome") @Scheduled(fixedDelay = 1, timeUnit = TimeUnit.MINUTES, initialDelay = 60, zone = "Europe/Rome")
private void updateData() { private void updateData() {
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = mrpSetupHandlerService.isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = mrpSetupHandlerService.isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -2,7 +2,7 @@ package it.integry.ems.service.production;
import it.integry.ems.service.dto.production.MRPDailySetupGruppiDTO; import it.integry.ems.service.dto.production.MRPDailySetupGruppiDTO;
import it.integry.ems.service.dto.production.MRPDailySetupSottogruppiDTO; import it.integry.ems.service.dto.production.MRPDailySetupSottogruppiDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -52,9 +52,9 @@ public class MrpSetupHandlerService {
"WHERE cod_opz = 'WG125'\n" + "WHERE cod_opz = 'WG125'\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -78,9 +78,9 @@ public class MrpSetupHandlerService {
private void updateData() { private void updateData() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -4,7 +4,7 @@ import com.annimon.stream.Stream;
import it.integry.ems.service.dto.production.AvailableClassMercDTO; import it.integry.ems.service.dto.production.AvailableClassMercDTO;
import it.integry.ems.service.dto.production.OrdineInevasoGroupMercDTO; import it.integry.ems.service.dto.production.OrdineInevasoGroupMercDTO;
import it.integry.ems.service.dto.production.OrdineLavorazioneDTO; import it.integry.ems.service.dto.production.OrdineLavorazioneDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -54,9 +54,9 @@ public class ProductionOrderDataHandlerService {
"WHERE cod_opz IN ('WG069', 'WG135')\n" + "WHERE cod_opz IN ('WG069', 'WG135')\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
executionPermission.remove(connectionsModel.getDbName()); executionPermission.remove(connectionsModel.getDbName());
@@ -75,9 +75,9 @@ public class ProductionOrderDataHandlerService {
public void updateInternalCache() throws Exception { public void updateInternalCache() throws Exception {
boolean onlyInevasi = true; boolean onlyInevasi = true;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false); boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false);
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -8,7 +8,7 @@ import it.integry.security.utility.CryptoUtils;
import java.io.IOException; import java.io.IOException;
import java.util.Objects; import java.util.Objects;
public class AvailableConnectionsModel { public class AvailableConnectionModel {
private String profileName; private String profileName;
@@ -24,7 +24,7 @@ public class AvailableConnectionsModel {
return profileName; return profileName;
} }
public AvailableConnectionsModel setProfileName(String profileName) { public AvailableConnectionModel setProfileName(String profileName) {
this.profileName = profileName; this.profileName = profileName;
return this; return this;
} }
@@ -33,7 +33,7 @@ public class AvailableConnectionsModel {
return connectionType; return connectionType;
} }
public AvailableConnectionsModel setConnectionType(EmsRestConstants.DB_TYPE connectionType) { public AvailableConnectionModel setConnectionType(EmsRestConstants.DB_TYPE connectionType) {
this.connectionType = connectionType; this.connectionType = connectionType;
return this; return this;
} }
@@ -42,7 +42,7 @@ public class AvailableConnectionsModel {
return dbName; return dbName;
} }
public AvailableConnectionsModel setDbName(String dbName) { public AvailableConnectionModel setDbName(String dbName) {
this.dbName = dbName; this.dbName = dbName;
return this; return this;
} }
@@ -51,7 +51,7 @@ public class AvailableConnectionsModel {
return username; return username;
} }
public AvailableConnectionsModel setUsername(String username) { public AvailableConnectionModel setUsername(String username) {
this.username = username; this.username = username;
return this; return this;
} }
@@ -60,7 +60,7 @@ public class AvailableConnectionsModel {
return password; return password;
} }
public AvailableConnectionsModel setPassword(String password) { public AvailableConnectionModel setPassword(String password) {
this.password = password; this.password = password;
return this; return this;
} }
@@ -75,7 +75,7 @@ public class AvailableConnectionsModel {
return host; return host;
} }
public AvailableConnectionsModel setHost(String host) { public AvailableConnectionModel setHost(String host) {
this.host = host; this.host = host;
return this; return this;
} }
@@ -84,7 +84,7 @@ public class AvailableConnectionsModel {
return encryptedDbPsw != null ? encryptedDbPsw : true; return encryptedDbPsw != null ? encryptedDbPsw : true;
} }
public AvailableConnectionsModel setEncryptedDbPsw(Boolean encryptedDbPsw) { public AvailableConnectionModel setEncryptedDbPsw(Boolean encryptedDbPsw) {
this.encryptedDbPsw = encryptedDbPsw; this.encryptedDbPsw = encryptedDbPsw;
return this; return this;
} }
@@ -93,7 +93,7 @@ public class AvailableConnectionsModel {
return isInternalDb; return isInternalDb;
} }
public AvailableConnectionsModel setInternalDb(Boolean internalDb) { public AvailableConnectionModel setInternalDb(Boolean internalDb) {
isInternalDb = internalDb; isInternalDb = internalDb;
return this; return this;
} }
@@ -149,7 +149,7 @@ public class AvailableConnectionsModel {
public boolean equals(Object o) { public boolean equals(Object o) {
//if (this == o) return true; //if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; if (o == null || getClass() != o.getClass()) return false;
AvailableConnectionsModel that = (AvailableConnectionsModel) o; AvailableConnectionModel that = (AvailableConnectionModel) o;
return Objects.equals(getProfileName(), that.getProfileName()) && return Objects.equals(getProfileName(), that.getProfileName()) &&
getConnectionType() == that.getConnectionType() && getConnectionType() == that.getConnectionType() &&
Objects.equals(getDbName(), that.getDbName()) && Objects.equals(getDbName(), that.getDbName()) &&

View File

@@ -41,7 +41,7 @@ public class SettingsModel implements InitializingBean {
private final ObservableField<String> systemPassword = new ObservableField<>("?MF!jbI+&OkA"); private final ObservableField<String> systemPassword = new ObservableField<>("?MF!jbI+&OkA");
private final ObservableArrayList<AvailableConnectionsModel> availableConnections = new ObservableArrayList<>(); private final ObservableArrayList<AvailableConnectionModel> availableConnections = new ObservableArrayList<>();
private MailConfigurationModel defaultMailConfiguration = new MailConfigurationModel(); private MailConfigurationModel defaultMailConfiguration = new MailConfigurationModel();
@@ -109,31 +109,31 @@ public class SettingsModel implements InitializingBean {
return this; return this;
} }
public List<AvailableConnectionsModel> getAvailableConnections() { public List<AvailableConnectionModel> getAvailableConnections() {
return getAvailableConnections(false); return getAvailableConnections(false);
} }
public List<AvailableConnectionsModel> getAvailableConnections(boolean onlyInternal) { public List<AvailableConnectionModel> getAvailableConnections(boolean onlyInternal) {
return availableConnections.get().stream() return availableConnections.get().stream()
.filter(x -> !onlyInternal || x.getInternalDb()) .filter(x -> !onlyInternal || x.getInternalDb())
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
public List<AvailableConnectionsModel> getAvailableConnectionsWithoutDuplicatedProfiles(boolean onlyInternal) { public List<AvailableConnectionModel> getAvailableConnectionsWithoutDuplicatedProfiles(boolean onlyInternal) {
Map<String, List<AvailableConnectionsModel>> databases = getAvailableConnections(onlyInternal) Map<String, List<AvailableConnectionModel>> databases = getAvailableConnections(onlyInternal)
.stream() .stream()
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName)); .collect(Collectors.groupingBy(AvailableConnectionModel::getDbName));
return databases.keySet().stream() return databases.keySet().stream()
.map(key -> databases.get(key).get(0)) .map(key -> databases.get(key).get(0))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
public void addAvailableConnection(AvailableConnectionsModel availableConnectionsModel) { public void addAvailableConnection(AvailableConnectionModel availableConnectionModel) {
availableConnections.add(availableConnectionsModel); availableConnections.add(availableConnectionModel);
} }
public void setAvailableConnections(ArrayList<AvailableConnectionsModel> availableConnections) { public void setAvailableConnections(ArrayList<AvailableConnectionModel> availableConnections) {
this.availableConnections.set(availableConnections); this.availableConnections.set(availableConnections);
} }
@@ -182,12 +182,12 @@ public class SettingsModel implements InitializingBean {
} }
@JsonIgnore @JsonIgnore
public AvailableConnectionsModel getDefaultConnectionModel() { public AvailableConnectionModel getDefaultConnectionModel() {
if (this.getAvailableConnections() == null || this.getAvailableConnections().isEmpty() || UtilityString.isNullOrEmpty(this.getDefaultProfile())) if (this.getAvailableConnections() == null || this.getAvailableConnections().isEmpty() || UtilityString.isNullOrEmpty(this.getDefaultProfile()))
return null; return null;
Optional<AvailableConnectionsModel> optConn = this.getAvailableConnections().stream() Optional<AvailableConnectionModel> optConn = this.getAvailableConnections().stream()
.filter(x -> x.getProfileName().equalsIgnoreCase(this.getDefaultProfile())) .filter(x -> x.getProfileName().equalsIgnoreCase(this.getDefaultProfile()))
.findFirst(); .findFirst();
@@ -197,7 +197,7 @@ public class SettingsModel implements InitializingBean {
public String getProfileDbFromDbName(String dbName) { public String getProfileDbFromDbName(String dbName) {
String profileDb = this.getAvailableConnections().stream() String profileDb = this.getAvailableConnections().stream()
.filter(x -> x.getDbName().equalsIgnoreCase(dbName)) .filter(x -> x.getDbName().equalsIgnoreCase(dbName))
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.findFirst() .findFirst()
.orElse(null); .orElse(null);
@@ -207,7 +207,7 @@ public class SettingsModel implements InitializingBean {
public String getDbNameFromProfileDb(String profileDb) { public String getDbNameFromProfileDb(String profileDb) {
String dbName = this.getAvailableConnections().stream() String dbName = this.getAvailableConnections().stream()
.filter(x -> x.getProfileName().equalsIgnoreCase(profileDb)) .filter(x -> x.getProfileName().equalsIgnoreCase(profileDb))
.map(AvailableConnectionsModel::getDbName) .map(AvailableConnectionModel::getDbName)
.findFirst() .findFirst()
.orElse(null); .orElse(null);
@@ -215,7 +215,7 @@ public class SettingsModel implements InitializingBean {
} }
public AvailableConnectionsModel findConnectionModel(String profileName) { public AvailableConnectionModel findConnectionModel(String profileName) {
return getAvailableConnections().stream() return getAvailableConnections().stream()
.filter(x -> x.getProfileName().equalsIgnoreCase(profileName)) .filter(x -> x.getProfileName().equalsIgnoreCase(profileName))
.findFirst() .findFirst()
@@ -262,13 +262,13 @@ public class SettingsModel implements InitializingBean {
availableConnections.add(this.getDefaultProfile()); availableConnections.add(this.getDefaultProfile());
} }
List<AvailableConnectionsModel> availableConnectionsModels = this.getAvailableConnections() List<AvailableConnectionModel> availableConnectionModels = this.getAvailableConnections()
.stream() .stream()
.filter(availableConnectionsModel -> .filter(availableConnectionsModel ->
availableConnections.stream().anyMatch(s -> s.equalsIgnoreCase(availableConnectionsModel.getProfileName()))) availableConnections.stream().anyMatch(s -> s.equalsIgnoreCase(availableConnectionsModel.getProfileName())))
.collect(Collectors.toList()); .collect(Collectors.toList());
this.setAvailableConnections(new ArrayList<>(availableConnectionsModels)); this.setAvailableConnections(new ArrayList<>(availableConnectionModels));
} }
} catch (Exception ex) { } catch (Exception ex) {

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import it.integry.ems.expansion.ObservableArrayList; import it.integry.ems.expansion.ObservableArrayList;
import it.integry.ems.expansion.ObservableField; import it.integry.ems.expansion.ObservableField;
import it.integry.ems.properties.EmsProperties; import it.integry.ems.properties.EmsProperties;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
import it.integry.ems.watching.FileWatcher; import it.integry.ems.watching.FileWatcher;
@@ -152,7 +152,7 @@ public class SettingsController implements IFileWatcherEvents {
} }
public String getHistoryProfileDb() throws Exception { public String getHistoryProfileDb() throws Exception {
AvailableConnectionsModel connectionsModel = settingsModel.getDefaultConnectionModel(); AvailableConnectionModel connectionsModel = settingsModel.getDefaultConnectionModel();
if (connectionsModel == null) { if (connectionsModel == null) {
throw new Exception("Impossibile ricavare la default connection"); throw new Exception("Impossibile ricavare la default connection");
@@ -168,8 +168,8 @@ public class SettingsController implements IFileWatcherEvents {
} }
public AvailableConnectionsModel getHistoryDbConnectionModel() { public AvailableConnectionModel getHistoryDbConnectionModel() {
AvailableConnectionsModel connectionsModel = settingsModel.getDefaultConnectionModel(); AvailableConnectionModel connectionsModel = settingsModel.getDefaultConnectionModel();
if (connectionsModel == null) { if (connectionsModel == null) {
return null; return null;
@@ -177,7 +177,7 @@ public class SettingsController implements IFileWatcherEvents {
String profileName = connectionsModel.getDbName() + "_history"; String profileName = connectionsModel.getDbName() + "_history";
Optional<AvailableConnectionsModel> opt = settingsModel.getAvailableConnections().stream() Optional<AvailableConnectionModel> opt = settingsModel.getAvailableConnections().stream()
.filter(x -> x.getProfileName().equalsIgnoreCase(profileName)) .filter(x -> x.getProfileName().equalsIgnoreCase(profileName))
.findFirst(); .findFirst();

View File

@@ -1,7 +1,7 @@
package it.integry.ems.settings; package it.integry.ems.settings;
import it.integry.ems.properties.EmsProperties; import it.integry.ems.properties.EmsProperties;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.LoggerConfigurationModel; import it.integry.ems.settings.Model.LoggerConfigurationModel;
import it.integry.ems.settings.Model.MailConfigurationModel; import it.integry.ems.settings.Model.MailConfigurationModel;
import it.integry.ems_model.config.EmsRestConstants; import it.integry.ems_model.config.EmsRestConstants;
@@ -39,9 +39,9 @@ class SettingsConverter {
} }
public ArrayList<AvailableConnectionsModel> getConvertedAvailableConnections() throws Exception { public ArrayList<AvailableConnectionModel> getConvertedAvailableConnections() throws Exception {
ArrayList<AvailableConnectionsModel> connectionList = new ArrayList<AvailableConnectionsModel>(); ArrayList<AvailableConnectionModel> connectionList = new ArrayList<AvailableConnectionModel>();
File connectionFile = new File(emsProperties.getGlobalConnectionIniPath()); File connectionFile = new File(emsProperties.getGlobalConnectionIniPath());
@@ -53,7 +53,7 @@ class SettingsConverter {
// Print the content on the console // Print the content on the console
if (strLine.startsWith("CONNECT_STRING")) { if (strLine.startsWith("CONNECT_STRING")) {
AvailableConnectionsModel model = new AvailableConnectionsModel(); AvailableConnectionModel model = new AvailableConnectionModel();
String[] splittedLine = strLine.split("="); String[] splittedLine = strLine.split("=");
@@ -82,7 +82,7 @@ class SettingsConverter {
String dbType = typeDBFullString.split("=")[1]; String dbType = typeDBFullString.split("=")[1];
for (AvailableConnectionsModel model : connectionList) { for (AvailableConnectionModel model : connectionList) {
if (model.getProfileName().equalsIgnoreCase(dbName)) { if (model.getProfileName().equalsIgnoreCase(dbName)) {
model.setConnectionType(EmsRestConstants.DB_TYPE.fromString(dbType)); model.setConnectionType(EmsRestConstants.DB_TYPE.fromString(dbType));
} }
@@ -98,7 +98,7 @@ class SettingsConverter {
String dbEncryptedPsw = typeDBFullString.split("=")[1]; String dbEncryptedPsw = typeDBFullString.split("=")[1];
for (AvailableConnectionsModel model : connectionList) { for (AvailableConnectionModel model : connectionList) {
if (model.getProfileName().equalsIgnoreCase(dbName)) { if (model.getProfileName().equalsIgnoreCase(dbName)) {
model.setEncryptedDbPsw(dbEncryptedPsw.equalsIgnoreCase("S")); model.setEncryptedDbPsw(dbEncryptedPsw.equalsIgnoreCase("S"));
} }

View File

@@ -3,7 +3,7 @@ package it.integry.ems.sync;
import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement; import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement;
import it.integry.ems.json.ResponseJSONObjectMapper; import it.integry.ems.json.ResponseJSONObjectMapper;
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.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController; import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
@@ -63,11 +63,11 @@ public class AsyncManager {
} }
String finalHistoryProfileDb = historyProfileDb; String finalHistoryProfileDb = historyProfileDb;
List<AvailableConnectionsModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); List<AvailableConnectionModel> databases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
cachedSetup.clear(); cachedSetup.clear();
for (AvailableConnectionsModel connectionModel : databases) { for (AvailableConnectionModel connectionModel : databases) {
try { try {
cacheSetup(connectionModel); cacheSetup(connectionModel);
} catch (Exception ex) { } catch (Exception ex) {
@@ -76,7 +76,7 @@ public class AsyncManager {
} }
} }
private void cacheSetup(AvailableConnectionsModel connectionsModel) throws Exception { private void cacheSetup(AvailableConnectionModel connectionsModel) throws Exception {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
String sql = "SELECT * FROM " + StbPublicationsDetail.ENTITY + " WHERE active = 1"; String sql = "SELECT * FROM " + StbPublicationsDetail.ENTITY + " WHERE active = 1";
@@ -168,7 +168,7 @@ public class AsyncManager {
List<String> dbNamesToConnect = toBeSavedQueue.stream().map(Map.Entry::getKey).distinct().collect(Collectors.toList()); List<String> dbNamesToConnect = toBeSavedQueue.stream().map(Map.Entry::getKey).distinct().collect(Collectors.toList());
final List<AvailableConnectionsModel> databaseConnections = settingsModel.getAvailableConnections().stream() final List<AvailableConnectionModel> databaseConnections = settingsModel.getAvailableConnections().stream()
.filter(x -> dbNamesToConnect.stream().anyMatch(y -> x.getDbName().equalsIgnoreCase(y))) .filter(x -> dbNamesToConnect.stream().anyMatch(y -> x.getDbName().equalsIgnoreCase(y)))
.collect(Collectors.toList()); .collect(Collectors.toList());
@@ -180,7 +180,7 @@ public class AsyncManager {
final Map.Entry<String, StbTransactionLog> finalItemToSave = itemToSave; final Map.Entry<String, StbTransactionLog> finalItemToSave = itemToSave;
final StbTransactionLog stbTransactionLog = finalItemToSave.getValue(); final StbTransactionLog stbTransactionLog = finalItemToSave.getValue();
AvailableConnectionsModel connectionModel = databaseConnections.stream() AvailableConnectionModel connectionModel = databaseConnections.stream()
.filter(x -> x.getDbName().equalsIgnoreCase(finalItemToSave.getKey())) .filter(x -> x.getDbName().equalsIgnoreCase(finalItemToSave.getKey()))
.findFirst() .findFirst()
.orElse(null); .orElse(null);

View File

@@ -1,7 +1,7 @@
package it.integry.ems.sync.MultiDBTransaction; package it.integry.ems.sync.MultiDBTransaction;
import it.integry.ems.datasource.DataSource; import it.integry.ems.datasource.DataSource;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@@ -62,10 +62,10 @@ public class BasicConnectionPool {
} }
private void initializeConnections() { private void initializeConnections() {
final List<AvailableConnectionsModel> availableConnections = final List<AvailableConnectionModel> availableConnections =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(false); settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(false);
for (AvailableConnectionsModel model : availableConnections) { for (AvailableConnectionModel model : availableConnections) {
try { try {
registerDataSourceIfNotExists(model); registerDataSourceIfNotExists(model);
@@ -75,13 +75,13 @@ public class BasicConnectionPool {
} }
} }
private DataSource createNewDataSource(AvailableConnectionsModel connectionModel) throws Exception { private DataSource createNewDataSource(AvailableConnectionModel connectionModel) throws Exception {
DataSource ds = new DataSource(); DataSource ds = new DataSource();
ds.initialize(connectionModel); ds.initialize(connectionModel);
return ds; return ds;
} }
public Connection getConnection(AvailableConnectionsModel connectionsModel) throws SQLException { public Connection getConnection(AvailableConnectionModel connectionsModel) throws SQLException {
if (connectionsModel == null) { if (connectionsModel == null) {
return null; return null;
} }
@@ -109,7 +109,7 @@ public class BasicConnectionPool {
} }
private void registerDataSourceIfNotExists(AvailableConnectionsModel connectionModel) throws Exception { private void registerDataSourceIfNotExists(AvailableConnectionModel connectionModel) throws Exception {
String dbName = connectionModel.getDbName(); String dbName = connectionModel.getDbName();
if (!registeredDatasources.containsKey(dbName)) { if (!registeredDatasources.containsKey(dbName)) {
registeredDatasources.put(dbName, createNewDataSource(connectionModel)); registeredDatasources.put(dbName, createNewDataSource(connectionModel));

View File

@@ -7,7 +7,7 @@ import it.integry.ems.exception.PrimaryDatabaseNotPresentException;
import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.migration._base.IntegryCustomerDB; import it.integry.ems.migration._base.IntegryCustomerDB;
import it.integry.ems.properties.EmsProperties; import it.integry.ems.properties.EmsProperties;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@@ -74,11 +74,11 @@ public class MultiDBTransactionManager implements AutoCloseable {
this.setPrimaryDB(profileDb); this.setPrimaryDB(profileDb);
} }
public MultiDBTransactionManager(AvailableConnectionsModel connectionsModel) throws Exception { public MultiDBTransactionManager(AvailableConnectionModel connectionsModel) throws Exception {
this(connectionsModel, true); this(connectionsModel, true);
} }
public MultiDBTransactionManager(AvailableConnectionsModel connectionsModel, boolean enableLog) throws Exception { public MultiDBTransactionManager(AvailableConnectionModel connectionsModel, boolean enableLog) throws Exception {
this(); this();
this.enableLog = enableLog; this.enableLog = enableLog;
this.setPrimaryDB(connectionsModel); this.setPrimaryDB(connectionsModel);
@@ -113,12 +113,12 @@ public class MultiDBTransactionManager implements AutoCloseable {
public void addConnection(String profileName) throws SQLException { public void addConnection(String profileName) throws SQLException {
AvailableConnectionsModel availableConnectionsModel = settingsModel.findConnectionModel(profileName); AvailableConnectionModel availableConnectionModel = settingsModel.findConnectionModel(profileName);
this.addConnection(availableConnectionsModel); this.addConnection(availableConnectionModel);
} }
public void addConnection(AvailableConnectionsModel availableConnectionsModel) throws SQLException { public void addConnection(AvailableConnectionModel availableConnectionModel) throws SQLException {
Connection connection = connectionPool.getConnection(availableConnectionsModel); Connection connection = connectionPool.getConnection(availableConnectionModel);
this.addConnection(connection); this.addConnection(connection);
} }
@@ -285,11 +285,11 @@ public class MultiDBTransactionManager implements AutoCloseable {
throw new Exception(String.format("Configurazione DB non trovata o dati mancanti (%s)", profileDb)); throw new Exception(String.format("Configurazione DB non trovata o dati mancanti (%s)", profileDb));
} }
AvailableConnectionsModel connectionModel = settingsModel.findConnectionModel(profileDb); AvailableConnectionModel connectionModel = settingsModel.findConnectionModel(profileDb);
setPrimaryDB(connectionModel); setPrimaryDB(connectionModel);
} }
public void setPrimaryDB(AvailableConnectionsModel connectionModel) throws Exception { public void setPrimaryDB(AvailableConnectionModel connectionModel) throws Exception {
this.close(); this.close();
if (connectionModel == null) { if (connectionModel == null) {

View File

@@ -6,7 +6,7 @@ import it.integry.ems.dynamic_cache.DynamicCacheService;
import it.integry.ems.exception.SyncException; import it.integry.ems.exception.SyncException;
import it.integry.ems.json.ResponseJSONObjectMapper; import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.service.MailService; import it.integry.ems.service.MailService;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -57,8 +57,8 @@ public class SyncManager {
@PostContextConstruct @PostContextConstruct
public void init() { public void init() {
List<String> dbNames = settingsModel.getAvailableConnections().stream() List<String> dbNames = settingsModel.getAvailableConnections().stream()
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.map(AvailableConnectionsModel::getDbName) .map(AvailableConnectionModel::getDbName)
.distinct() .distinct()
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@@ -7,7 +7,7 @@ import it.integry.common.var.EmsDBConst;
import it.integry.ems._context.EmsCoreContext; import it.integry.ems._context.EmsCoreContext;
import it.integry.ems.exception.SystemNotInitializedException; import it.integry.ems.exception.SystemNotInitializedException;
import it.integry.ems.migration.MigrationComponent; import it.integry.ems.migration.MigrationComponent;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems_model.utility.UtilityHashMap; import it.integry.ems_model.utility.UtilityHashMap;
import it.integry.ems_model.utility.UtilityString; import it.integry.ems_model.utility.UtilityString;
@@ -67,7 +67,7 @@ public class SystemRequisiteCheckInterceptor extends HandlerInterceptorAdapter {
String[] foundProfile = UtilityHashMap.getValueIfExists(request.getParameterMap(), CommonConstants.PROFILE_DB); String[] foundProfile = UtilityHashMap.getValueIfExists(request.getParameterMap(), CommonConstants.PROFILE_DB);
if (foundProfile != null && foundProfile.length > 0 && !UtilityString.isNullOrEmpty(foundProfile[0])) { if (foundProfile != null && foundProfile.length > 0 && !UtilityString.isNullOrEmpty(foundProfile[0])) {
Optional<AvailableConnectionsModel> optConn = Stream.of(settingsModel.getAvailableConnections()) Optional<AvailableConnectionModel> optConn = Stream.of(settingsModel.getAvailableConnections())
.filter(x -> x.getProfileName().equalsIgnoreCase(foundProfile[0])) .filter(x -> x.getProfileName().equalsIgnoreCase(foundProfile[0]))
.findFirst(); .findFirst();

View File

@@ -2,7 +2,7 @@ package it.integry.ems.user.service;
import it.integry.annotations.PostContextConstruct; import it.integry.annotations.PostContextConstruct;
import it.integry.ems.model.IntegryApplicationEnum; import it.integry.ems.model.IntegryApplicationEnum;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -54,11 +54,11 @@ public class UserCacheService {
private void internalCacheUpdate(boolean forceStart) { private void internalCacheUpdate(boolean forceStart) {
if (!forceStart && !canStart) return; if (!forceStart && !canStart) return;
List<AvailableConnectionsModel> availableConnectionsModels = List<AvailableConnectionModel> availableConnectionModels =
settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionsModel model : availableConnectionsModels) { for (AvailableConnectionModel model : availableConnectionModels) {
try { try {
multiDBTransactionManager.addConnection(model); multiDBTransactionManager.addConnection(model);
} catch (Exception ex) { } catch (Exception ex) {

View File

@@ -6,7 +6,7 @@ import it.integry.ems.json.ResponseJSONObjectMapper;
import it.integry.ems.response.EsitoType; import it.integry.ems.response.EsitoType;
import it.integry.ems.response.ServiceRestResponse; import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.HttpRestWrapper; import it.integry.ems.service.HttpRestWrapper;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.entity.WtbNotification; import it.integry.ems_model.entity.WtbNotification;
@@ -41,13 +41,13 @@ public class NotificationSenderComponent {
private void sendNotifications() { private void sendNotifications() {
MultiDBTransactionManager multiDBTransactionManager = null; MultiDBTransactionManager multiDBTransactionManager = null;
List<AvailableConnectionsModel> connectionsModels = settingsModel.getAvailableConnections(); List<AvailableConnectionModel> connectionsModels = settingsModel.getAvailableConnections();
connectionsModels = Stream.of(connectionsModels) connectionsModels = Stream.of(connectionsModels)
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.toList(); .toList();
for (AvailableConnectionsModel availableConnectionsModel : connectionsModels) { for (AvailableConnectionModel availableConnectionModel : connectionsModels) {
try { try {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
@@ -67,7 +67,7 @@ public class NotificationSenderComponent {
UtilityDate.formatDate(minsAfterNow, CommonConstants.DATETIME_FORMAT_YMD) UtilityDate.formatDate(minsAfterNow, CommonConstants.DATETIME_FORMAT_YMD)
); );
multiDBTransactionManager = new MultiDBTransactionManager(availableConnectionsModel.getProfileName()); multiDBTransactionManager = new MultiDBTransactionManager(availableConnectionModel.getProfileName());
List<HashMap<String, Object>> results = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql); List<HashMap<String, Object>> results = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
multiDBTransactionManager.close(); multiDBTransactionManager.close();
@@ -78,7 +78,7 @@ public class NotificationSenderComponent {
StringBuilder jsonResponse = new StringBuilder(); StringBuilder jsonResponse = new StringBuilder();
int status = HttpRestWrapper.callGenericGet( int status = HttpRestWrapper.callGenericGet(
"http://localhost:" + UtilityServer.getLocalServerPort() + "/ems-api/notification/send/" + id + "?profileDb=" + availableConnectionsModel.getProfileName(), "http://localhost:" + UtilityServer.getLocalServerPort() + "/ems-api/notification/send/" + id + "?profileDb=" + availableConnectionModel.getProfileName(),
null, null,
null, null,
jsonResponse, jsonResponse,

View File

@@ -2,7 +2,7 @@ package it.integry.security.cache;
import it.integry.annotations.PostContextAutowired; import it.integry.annotations.PostContextAutowired;
import it.integry.annotations.PostContextConstruct; import it.integry.annotations.PostContextConstruct;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -57,11 +57,11 @@ public class JwtTokenCacheComponent implements ApplicationListener {
private void updateCacheScheduled() { private void updateCacheScheduled() {
if (!canStart || !settingsModel.isEnableTokenCaching()) return; if (!canStart || !settingsModel.isEnableTokenCaching()) return;
List<AvailableConnectionsModel> availableConnectionsModels = settingsModel.getAvailableConnections(true); List<AvailableConnectionModel> availableConnectionModels = settingsModel.getAvailableConnections(true);
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager()) {
for (AvailableConnectionsModel model : availableConnectionsModels) { for (AvailableConnectionModel model : availableConnectionModels) {
multiDBTransactionManager.addConnection(model); multiDBTransactionManager.addConnection(model);
} }

View File

@@ -1,6 +1,6 @@
package it.integry.security.service; package it.integry.security.service;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -32,9 +32,9 @@ public class DeviceInternalService {
"WHERE stb_auth_tokens.device_id IS NULL"; "WHERE stb_auth_tokens.device_id IS NULL";
try { try {
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for(AvailableConnectionsModel availableConnection : availableConnections) { for (AvailableConnectionModel availableConnection : availableConnections) {
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(availableConnection)) { try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(availableConnection)) {
UtilityDB.executeStatement(mdb.getPrimaryConnection(), cleanQuery); UtilityDB.executeStatement(mdb.getPrimaryConnection(), cleanQuery);
} }

View File

@@ -19,7 +19,7 @@ import it.integry.ems.report.dto.PairsDTO;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService; import it.integry.ems.service.MailService;
import it.integry.ems.service.ReportProcessor; import it.integry.ems.service.ReportProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool; import it.integry.ems.sync.MultiDBTransaction.BasicConnectionPool;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
@@ -1291,7 +1291,7 @@ public class SteUPService {
public void allineamentoStrutturaDb(String profileDb) throws Exception { public void allineamentoStrutturaDb(String profileDb) throws Exception {
AvailableConnectionsModel connectionsModel = settingsModel.getDefaultConnectionModel(); AvailableConnectionModel connectionsModel = settingsModel.getDefaultConnectionModel();
if (connectionsModel == null) { if (connectionsModel == null) {
throw new Exception("Impossibile ricavare la default connection"); throw new Exception("Impossibile ricavare la default connection");

View File

@@ -5,7 +5,7 @@ import it.integry.ems.contabil.dto.AutofatturaDTO;
import it.integry.ems.rules.businessLogic.AccountingBusinessLogic; import it.integry.ems.rules.businessLogic.AccountingBusinessLogic;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService; import it.integry.ems.service.MailService;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -439,7 +439,7 @@ public class AutofatturaService {
} }
public void chkAutofattura() throws Exception { public void chkAutofattura() throws Exception {
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnections(true); List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnections(true);
if (UtilityDebug.isIntegryServer()) { if (UtilityDebug.isIntegryServer()) {
availableConnections = availableConnections.stream().filter(x -> availableConnections = availableConnections.stream().filter(x ->
@@ -447,7 +447,7 @@ public class AutofatturaService {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
for (AvailableConnectionsModel model : availableConnections) { for (AvailableConnectionModel model : availableConnections) {
try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(model)) { try (MultiDBTransactionManager mdb = new MultiDBTransactionManager(model)) {
Connection conn = mdb.getPrimaryConnection(); Connection conn = mdb.getPrimaryConnection();

View File

@@ -26,7 +26,7 @@ import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService; import it.integry.ems.service.MailService;
import it.integry.ems.service.PrinterService; import it.integry.ems.service.PrinterService;
import it.integry.ems.service.ReportProcessor; import it.integry.ems.service.ReportProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -1225,7 +1225,7 @@ public class DocumentService {
} }
public void chkInvioFE() throws Exception { public void chkInvioFE() throws Exception {
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnections(true); List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnections(true);
if (UtilityDebug.isIntegryServer()) { if (UtilityDebug.isIntegryServer()) {
availableConnections = availableConnections.stream().filter(x -> availableConnections = availableConnections.stream().filter(x ->
@@ -1233,7 +1233,7 @@ public class DocumentService {
.collect(java.util.stream.Collectors.toList()); .collect(java.util.stream.Collectors.toList());
} }
for (AvailableConnectionsModel model : availableConnections) { for (AvailableConnectionModel model : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager1 = new MultiDBTransactionManager(model)) { try (MultiDBTransactionManager multiDBTransactionManager1 = new MultiDBTransactionManager(model)) {
Connection conn = multiDBTransactionManager1.getPrimaryConnection(); Connection conn = multiDBTransactionManager1.getPrimaryConnection();

View File

@@ -1,10 +1,8 @@
package it.integry.ems.logistic.missioni.magazzino_automatico.service; package it.integry.ems.logistic.missioni.magazzino_automatico.service;
import groovy.lang.Tuple3; import groovy.lang.Tuple3;
import it.integry.annotations.CustomerService;
import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.logistic.missioni.magazzino_automatico.dto.EuroforkLuPositionDTO; import it.integry.ems.logistic.missioni.magazzino_automatico.dto.EuroforkLuPositionDTO;
import it.integry.ems.migration._base.IntegryCustomer;
import it.integry.ems.retail.wms.Utility.WMSUtility; import it.integry.ems.retail.wms.Utility.WMSUtility;
import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO; import it.integry.ems.retail.wms.generic.dto.MvwSitArtUdcDetInventarioDTO;
import it.integry.ems.retail.wms.generic.service.WMSGiacenzaULService; import it.integry.ems.retail.wms.generic.service.WMSGiacenzaULService;
@@ -30,7 +28,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@CustomerService(IntegryCustomer.Biolevante) //@CustomerService(IntegryCustomer.Biolevante)
public class EuroforkDataSyncronizerService { public class EuroforkDataSyncronizerService {
private final Logger logger = LogManager.getLogger(); private final Logger logger = LogManager.getLogger();
@@ -74,7 +72,7 @@ public class EuroforkDataSyncronizerService {
try (MultiDBTransactionManager mdbEurofork = new MultiDBTransactionManager("EUROFORK"); try (MultiDBTransactionManager mdbEurofork = new MultiDBTransactionManager("EUROFORK");
MultiDBTransactionManager mdbInternal = new MultiDBTransactionManager("BIOLEVANTE")) { MultiDBTransactionManager mdbInternal = new MultiDBTransactionManager("BIOLEVANTE")) {
boolean resetAllPositions = false; boolean resetAllPositions = true;
if (resetAllPositions) { if (resetAllPositions) {
resetAllPositions(mdbInternal); resetAllPositions(mdbInternal);
} }

View File

@@ -6,7 +6,6 @@ import it.integry.ems.Import.dto.AnomalieDTO;
import it.integry.ems.Import.dto.ImportRequestDTO; import it.integry.ems.Import.dto.ImportRequestDTO;
import it.integry.ems.file_formatter.csv.CsvMapper; import it.integry.ems.file_formatter.csv.CsvMapper;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.base.EntityBase; import it.integry.ems_model.base.EntityBase;
@@ -14,21 +13,19 @@ import it.integry.ems_model.config.EmsRestConstants;
import it.integry.ems_model.db.ResultSetMapper; import it.integry.ems_model.db.ResultSetMapper;
import it.integry.ems_model.entity.AtbListData; import it.integry.ems_model.entity.AtbListData;
import it.integry.ems_model.entity.MtbLisaData; import it.integry.ems_model.entity.MtbLisaData;
import it.integry.ems_model.entity.MtbLisvData;
import it.integry.ems_model.entity.VtbListData;
import it.integry.ems_model.service.SetupGest; import it.integry.ems_model.service.SetupGest;
import it.integry.ems_model.types.OperationType; import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.utility.*; import it.integry.ems_model.utility.Query;
import it.integry.ems_model.utility.UtilityDB;
import it.integry.ems_model.utility.UtilityLocalDate;
import it.integry.ems_model.utility.UtilityString;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -2,7 +2,7 @@ package it.integry.ems.product.service;
import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -53,9 +53,9 @@ public class ContrattiDiAcquistoHandlerService {
"WHERE cod_opz = 'WG098'\n" + "WHERE cod_opz = 'WG098'\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -74,9 +74,9 @@ public class ContrattiDiAcquistoHandlerService {
private void updateProgContrattoA() { private void updateProgContrattoA() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false); boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false);
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -2,7 +2,7 @@ package it.integry.ems.product.service;
import it.integry.ems.javabeans.RequestDataDTO; import it.integry.ems.javabeans.RequestDataDTO;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -52,9 +52,9 @@ public class ContrattiDiVenditaHandlerService {
"WHERE cod_opz = 'WG097'\n" + "WHERE cod_opz = 'WG097'\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -73,9 +73,9 @@ public class ContrattiDiVenditaHandlerService {
private void updateProgContrattoV() throws Exception { private void updateProgContrattoV() throws Exception {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false); boolean isEnabled = executionPermission.getOrDefault(connectionModel.getDbName(), false);
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -32,7 +32,7 @@ import it.integry.ems.rules.businessLogic.LoadColliService;
import it.integry.ems.rules.completing.OrderRules; import it.integry.ems.rules.completing.OrderRules;
import it.integry.ems.service.EmsServices; import it.integry.ems.service.EmsServices;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -2447,9 +2447,9 @@ public class PvmService {
whereCond = Query.format("mtb_invent.cod_mdep = %s AND wtb_users.user_name = %s", userSession.getDefaultDepo().getCodMdep(), userSession.getCurrentUser().getUsername()); whereCond = Query.format("mtb_invent.cod_mdep = %s AND wtb_users.user_name = %s", userSession.getDefaultDepo().getCodMdep(), userSession.getCurrentUser().getUsername());
} else { } else {
profiles = Stream.of(settingsModel.getAvailableConnections()) profiles = Stream.of(settingsModel.getAvailableConnections())
.filter(AvailableConnectionsModel::getInternalDb) .filter(AvailableConnectionModel::getInternalDb)
.distinctBy(AvailableConnectionsModel::getDbName) .distinctBy(AvailableConnectionModel::getDbName)
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.toList(); .toList();
List<String> depositi = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), Query.format("SELECT wtb_depo.cod_mdep\n" + List<String> depositi = UtilityDB.executeSimpleQueryOnlyFirstColumn(multiDBTransactionManager.getPrimaryConnection(), Query.format("SELECT wtb_depo.cod_mdep\n" +
"FROM mtb_depo\n" + "FROM mtb_depo\n" +

View File

@@ -2,7 +2,7 @@ package it.integry.ems.retail.service;
import it.integry.common.var.CommonConstants; import it.integry.common.var.CommonConstants;
import it.integry.ems.retail.dto.GrigliaAcquistoDTO; import it.integry.ems.retail.dto.GrigliaAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -54,9 +54,9 @@ public class GrigliaAcquistoHandlerService {
"WHERE cod_opz IN ('AG018', 'AG019')\n" + "WHERE cod_opz IN ('AG018', 'AG019')\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -103,9 +103,9 @@ public class GrigliaAcquistoHandlerService {
public void internalCache() { public void internalCache() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -1,7 +1,7 @@
package it.integry.ems.retail.service; package it.integry.ems.retail.service;
import it.integry.ems.retail.dto.ListiniOrdiniAcquistoDTO; import it.integry.ems.retail.dto.ListiniOrdiniAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -47,9 +47,9 @@ public class ListiniAcquistoHandlerService {
"WHERE cod_opz = 'WG008'\n" + "WHERE cod_opz = 'WG008'\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -72,9 +72,9 @@ public class ListiniAcquistoHandlerService {
public void updateData() { public void updateData() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -1,7 +1,7 @@
package it.integry.ems.retail.wms.ordini_acquisto.service; package it.integry.ems.retail.wms.ordini_acquisto.service;
import it.integry.ems.retail.wms.ordini_acquisto.dto.BarcodeOrdiniAcquistoDTO; import it.integry.ems.retail.wms.ordini_acquisto.dto.BarcodeOrdiniAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -47,9 +47,9 @@ public class WMSBarcodeOrdiniAcquistoHandlerService {
"WHERE cod_opz = 'WG008'\n" + "WHERE cod_opz = 'WG008'\n" +
" AND flag_abil <> 'N'"; " AND flag_abil <> 'N'";
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql); boolean isEnabled = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
@@ -72,10 +72,10 @@ public class WMSBarcodeOrdiniAcquistoHandlerService {
public void internalCache() { public void internalCache() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -2,7 +2,7 @@ package it.integry.ems.retail.wms.ordini_acquisto.service;
import com.annimon.stream.Stream; import com.annimon.stream.Stream;
import it.integry.ems.retail.wms.ordini_acquisto.dto.MerceOrdiniAcquistoDTO; import it.integry.ems.retail.wms.ordini_acquisto.dto.MerceOrdiniAcquistoDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityDebug; import it.integry.ems.utility.UtilityDebug;
@@ -42,9 +42,9 @@ public class WMSMerceOrdiniAcquistoHandlerService {
if (!canBeExecuted) return; if (!canBeExecuted) return;
try { try {
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionsModel : availableConnections) { for (AvailableConnectionModel connectionsModel : availableConnections) {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(connectionsModel, false)) {
HashMap<String, String> setupSection = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A"); HashMap<String, String> setupSection = setupGest.getSetupSection(multiDBTransactionManager.getPrimaryConnection(), "PVM", "ORDINI_A");
@@ -68,9 +68,9 @@ public class WMSMerceOrdiniAcquistoHandlerService {
public void internalCache() { public void internalCache() {
if (!canBeExecuted) return; if (!canBeExecuted) return;
final List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
for (AvailableConnectionsModel connectionModel : availableConnections) { for (AvailableConnectionModel connectionModel : availableConnections) {
boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName()); boolean isEnabled = isGestioneAbilitata(connectionModel.getDbName());
if (!isEnabled) continue; if (!isEnabled) continue;

View File

@@ -9,7 +9,7 @@ import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseTableView;
import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseView; import it.integry.ems.entity_logger.db_schema_manager.dto.DatabaseView;
import it.integry.ems.export.base.EntityExporterUtility; import it.integry.ems.export.base.EntityExporterUtility;
import it.integry.ems.export.enums.EntityExportType; import it.integry.ems.export.enums.EntityExportType;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.system.Import.AnagraficaImporter; import it.integry.ems.system.Import.AnagraficaImporter;
@@ -51,7 +51,7 @@ public class EmsSystemContext {
@Scheduled(cron = "0 0 0 * * *", zone = "Europe/Rome") @Scheduled(cron = "0 0 0 * * *", zone = "Europe/Rome")
private void cleanTempTablesAndViews() throws Exception { private void cleanTempTablesAndViews() throws Exception {
final List<AvailableConnectionsModel> availableDatabases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); final List<AvailableConnectionModel> availableDatabases = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
Pattern pattern1 = Pattern.compile("(t[0-9])\\w+", Pattern.CASE_INSENSITIVE); Pattern pattern1 = Pattern.compile("(t[0-9])\\w+", Pattern.CASE_INSENSITIVE);
Pattern pattern2 = Pattern.compile("(m[0-9])\\w+", Pattern.CASE_INSENSITIVE); Pattern pattern2 = Pattern.compile("(m[0-9])\\w+", Pattern.CASE_INSENSITIVE);
@@ -63,7 +63,7 @@ public class EmsSystemContext {
ArrayList<Callable<Void>> futureTasks = new ArrayList<>(); ArrayList<Callable<Void>> futureTasks = new ArrayList<>();
for (final AvailableConnectionsModel availableDatabase : availableDatabases) { for (final AvailableConnectionModel availableDatabase : availableDatabases) {
futureTasks.add(() -> { futureTasks.add(() -> {
try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(availableDatabase)) { try (MultiDBTransactionManager multiDBTransactionManager = new MultiDBTransactionManager(availableDatabase)) {

View File

@@ -4,7 +4,7 @@ import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.AziendaService; import it.integry.ems.service.AziendaService;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.dto.UpdatePvmEndpointRequestDTO; import it.integry.ems.service.dto.UpdatePvmEndpointRequestDTO;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
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.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems_model.entity.Azienda; import it.integry.ems_model.entity.Azienda;
@@ -62,11 +62,11 @@ public class AziendaController {
throw new IllegalArgumentException("Endpoint cannot be null or empty"); throw new IllegalArgumentException("Endpoint cannot be null or empty");
} }
List<AvailableConnectionsModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true); List<AvailableConnectionModel> availableConnections = settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true);
Exception firstException = null; Exception firstException = null;
for (AvailableConnectionsModel availableConnection : availableConnections) { for (AvailableConnectionModel availableConnection : availableConnections) {
StbGestSetup stbGestSetup = new StbGestSetup() StbGestSetup stbGestSetup = new StbGestSetup()
.setGestName("DATI_AZIENDA") .setGestName("DATI_AZIENDA")
.setSection("URL") .setSection("URL")

View File

@@ -22,7 +22,7 @@ import it.integry.ems.service.*;
import it.integry.ems.service.dto.CustomEmailDTO; import it.integry.ems.service.dto.CustomEmailDTO;
import it.integry.ems.service.dto.TicketNotificationMailTemplateDataDTO; import it.integry.ems.service.dto.TicketNotificationMailTemplateDataDTO;
import it.integry.ems.service.exception.EmptyReportException; import it.integry.ems.service.exception.EmptyReportException;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.status.ServiceChecker; import it.integry.ems.status.ServiceChecker;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
@@ -483,16 +483,16 @@ public class SystemController {
ServiceRestResponse response; ServiceRestResponse response;
try { try {
List<String> profiles = Stream.of(settingsModel.getAvailableConnections()) List<String> profiles = Stream.of(settingsModel.getAvailableConnections())
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.toList(); .toList();
List<String> profilesWhereUserFound = new ArrayList<String>(); List<String> profilesWhereUserFound = new ArrayList<String>();
if (!UtilityString.isNullOrEmpty(username) && !UtilityString.isNullOrEmpty(password)) { if (!UtilityString.isNullOrEmpty(username) && !UtilityString.isNullOrEmpty(password)) {
for (AvailableConnectionsModel availableConnectionsModel : settingsModel.getAvailableConnections()) { for (AvailableConnectionModel availableConnectionModel : settingsModel.getAvailableConnections()) {
if (availableConnectionsModel.getInternalDb()) { if (availableConnectionModel.getInternalDb()) {
HashMap<String, Object> tmpUserData = systemService.getUserdata(username, password, null, availableConnectionsModel); HashMap<String, Object> tmpUserData = systemService.getUserdata(username, password, null, availableConnectionModel);
if (tmpUserData != null) profilesWhereUserFound.add(availableConnectionsModel.getProfileName()); if (tmpUserData != null) profilesWhereUserFound.add(availableConnectionModel.getProfileName());
} }
} }
} else { } else {
@@ -1457,7 +1457,7 @@ public class SystemController {
try { try {
Optional<String> optProfile = Stream.of(settingsModel.getAvailableConnections()) Optional<String> optProfile = Stream.of(settingsModel.getAvailableConnections())
.filter(x -> x.getDbName().equalsIgnoreCase(dbName)) .filter(x -> x.getDbName().equalsIgnoreCase(dbName))
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.findFirst(); .findFirst();
if (optProfile.isPresent()) return ServiceRestResponse.createPositiveResponse(optProfile.get()); if (optProfile.isPresent()) return ServiceRestResponse.createPositiveResponse(optProfile.get());

View File

@@ -1,7 +1,7 @@
package it.integry.ems.system.exchange.controller; package it.integry.ems.system.exchange.controller;
import it.integry.ems.response.ServiceRestResponse; import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.system.exchange.dto.ExchangeUpdateRowsOrderRequestDTO; import it.integry.ems.system.exchange.dto.ExchangeUpdateRowsOrderRequestDTO;
import it.integry.ems.system.exchange.service.structure.ExchangeConfigService; import it.integry.ems.system.exchange.service.structure.ExchangeConfigService;
@@ -33,7 +33,7 @@ public class ExchangeConfigController {
return ServiceRestResponse.createPositiveResponse(settingsModel.getAvailableConnections().stream() return ServiceRestResponse.createPositiveResponse(settingsModel.getAvailableConnections().stream()
.filter(x -> x.getInternalDb() || !onlyInternal) .filter(x -> x.getInternalDb() || !onlyInternal)
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.collect(Collectors.toList())); .collect(Collectors.toList()));
} }

View File

@@ -20,7 +20,7 @@ import it.integry.ems.response.FileItem;
import it.integry.ems.response.ServiceRestResponse; import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.EntityProcessor; import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.MailService; import it.integry.ems.service.MailService;
import it.integry.ems.settings.Model.AvailableConnectionsModel; import it.integry.ems.settings.Model.AvailableConnectionModel;
import it.integry.ems.settings.Model.SettingsModel; import it.integry.ems.settings.Model.SettingsModel;
import it.integry.ems.settings.SettingsController; import it.integry.ems.settings.SettingsController;
import it.integry.ems.sync.MultiDBTransaction.Connection; import it.integry.ems.sync.MultiDBTransaction.Connection;
@@ -171,7 +171,7 @@ public class SystemService {
return new ServiceRestResponse(EsitoType.OK, nodeList); return new ServiceRestResponse(EsitoType.OK, nodeList);
} }
public HashMap<String, Object> getUserdata(String userName, String password, String md5User, AvailableConnectionsModel connectionModel) throws Exception { public HashMap<String, Object> getUserdata(String userName, String password, String md5User, AvailableConnectionModel connectionModel) throws Exception {
String whereCond; String whereCond;
if (userName != null && !UtilityString.isNullOrEmpty(userName.trim())) { if (userName != null && !UtilityString.isNullOrEmpty(userName.trim())) {
String pswLower = password != null ? password.toLowerCase() : null; String pswLower = password != null ? password.toLowerCase() : null;
@@ -321,14 +321,14 @@ public class SystemService {
// SELEZIONE CICLICA IN TUTTI I DB SPECIFICATI // SELEZIONE CICLICA IN TUTTI I DB SPECIFICATI
profiles = Stream.of(settingsModel.getAvailableConnections(true)) profiles = Stream.of(settingsModel.getAvailableConnections(true))
.filter(x -> x.getProfileName().equalsIgnoreCase(x.getDbName())) .filter(x -> x.getProfileName().equalsIgnoreCase(x.getDbName()))
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.toList(); .toList();
} }
if (profiles.isEmpty()) { if (profiles.isEmpty()) {
profiles = Stream.of(settingsModel.getAvailableConnections(true)) profiles = Stream.of(settingsModel.getAvailableConnections(true))
.distinctBy(AvailableConnectionsModel::getDbName) .distinctBy(AvailableConnectionModel::getDbName)
.map(AvailableConnectionsModel::getProfileName) .map(AvailableConnectionModel::getProfileName)
.toList(); .toList();
} }