Finish Hotfix-2
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package it.integry.common.var;
|
||||
|
||||
import it.integry.ems._context.ApplicationContextProvider;
|
||||
import it.integry.ems.settings.Model.SettingsModel;
|
||||
import it.integry.ems_model.entity.Azienda;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -12,8 +14,17 @@ public class EmsDBConst {
|
||||
private HashMap<String, Const> datiAziendaBindingTable = new HashMap<String, Const>() {{
|
||||
}};
|
||||
|
||||
public Const getConsts(String profileDb) {
|
||||
String aziendaUp = profileDb.toUpperCase();
|
||||
public Const getConstsByProfile(String profileDb) {
|
||||
profileDb = profileDb.toUpperCase();
|
||||
|
||||
final SettingsModel settingsModel = ApplicationContextProvider.getApplicationContext().getBean(SettingsModel.class);
|
||||
final String dbName = settingsModel.getDbNameFromProfileDb(profileDb);
|
||||
|
||||
return getConsts(dbName);
|
||||
}
|
||||
|
||||
public Const getConsts(String dbName) {
|
||||
String aziendaUp = dbName.toUpperCase();
|
||||
|
||||
if (!datiAziendaBindingTable.containsKey(aziendaUp)) {
|
||||
datiAziendaBindingTable.put(aziendaUp, new Const());
|
||||
|
||||
@@ -25,8 +25,6 @@ import java.sql.DriverManager;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.reflections.scanners.Scanners.TypesAnnotated;
|
||||
@@ -104,7 +102,7 @@ public class EmsCoreContext {
|
||||
|
||||
private void onPostDBLoaded(MultiDBTransactionManager multiDBTransactionManager, Runnable onDone) throws InterruptedException {
|
||||
|
||||
final ExecutorService executorService = Executors.newSingleThreadExecutor();
|
||||
// final ExecutorService executorService = Executors.newSingleThreadExecutor();
|
||||
|
||||
new Thread(() -> {
|
||||
try {
|
||||
|
||||
@@ -95,11 +95,9 @@ public class EmsCoreDBLoader {
|
||||
// return exists;
|
||||
// }
|
||||
|
||||
private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) {
|
||||
private void discoverAllConnections(MultiDBTransactionManager multiDBTransactionManager) throws Exception {
|
||||
|
||||
for (AvailableConnectionsModel model : settingsModel.getAvailableConnections()) {
|
||||
if (!model.getInternalDb())
|
||||
continue;
|
||||
for (AvailableConnectionsModel model : settingsModel.getAvailableConnectionsWithoutDuplicatedProfiles(true, settingsController.getHistoryProfileDb())) {
|
||||
|
||||
try {
|
||||
final DataSource ds = connectionPool.getConnection(model.getProfileName());
|
||||
@@ -120,29 +118,27 @@ public class EmsCoreDBLoader {
|
||||
for (final AdvancedDataSource advancedDataSource : multiDBTransactionManager.getActiveConnections()) {
|
||||
try {
|
||||
Connection conn = advancedDataSource.getConnection();
|
||||
if (advancedDataSource.isInternalDb()) {
|
||||
Azienda azienda = Azienda.getDefaultAzienda(conn);
|
||||
Azienda azienda = Azienda.getDefaultAzienda(conn);
|
||||
|
||||
if (azienda != null) {
|
||||
String applicationDbName = azienda.getApplicationName();
|
||||
String nomeAzienda = azienda.getNomeDitta();
|
||||
if (azienda != null) {
|
||||
String applicationDbName = azienda.getApplicationName();
|
||||
String nomeAzienda = azienda.getNomeDitta();
|
||||
|
||||
if (UtilityString.isNullOrEmpty(applicationDbName)) {
|
||||
throw new Exception("Impostare il campo \"Application Name\"");
|
||||
}
|
||||
|
||||
HashMap<String, String> gestSetupValues =
|
||||
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
||||
|
||||
|
||||
emsDBConst.getConsts(advancedDataSource.getDataSource().getProfile())
|
||||
.setApplicationDbName(applicationDbName)
|
||||
.setNomeAzienda(nomeAzienda)
|
||||
.setAzienda(azienda)
|
||||
.setGestSetupDatiAzienda(gestSetupValues);
|
||||
} else {
|
||||
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
||||
if (UtilityString.isNullOrEmpty(applicationDbName)) {
|
||||
throw new Exception("Impostare il campo \"Application Name\"");
|
||||
}
|
||||
|
||||
HashMap<String, String> gestSetupValues =
|
||||
setupGest.getSetupSection(conn, "DATI_AZIENDA", "FATTURAZIONE_ELETTRONICA");
|
||||
|
||||
|
||||
emsDBConst.getConsts(advancedDataSource.getDataSource().getDbName())
|
||||
.setApplicationDbName(applicationDbName)
|
||||
.setNomeAzienda(nomeAzienda)
|
||||
.setAzienda(azienda)
|
||||
.setGestSetupDatiAzienda(gestSetupValues);
|
||||
} else {
|
||||
throw new Exception("Non è stato possibile leggere i dati dalla tabella azienda");
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
|
||||
@@ -348,7 +348,7 @@ public class MailService {
|
||||
.append("<br /><br /></p>");
|
||||
|
||||
|
||||
String nomeAzienda = emsDBConst.getConsts(multiDBTransactionManager.getPrimaryDatasource().getProfile())
|
||||
String nomeAzienda = emsDBConst.getConstsByProfile(multiDBTransactionManager.getPrimaryDatasource().getProfile())
|
||||
.getNomeAzienda();
|
||||
|
||||
subject = String.format("[%s] %s", nomeAzienda, subject);
|
||||
@@ -402,7 +402,7 @@ public class MailService {
|
||||
.append(".<br /><br /></p>");
|
||||
|
||||
|
||||
String nomeAzienda = emsDBConst.getConsts(multiDBTransactionManager.getPrimaryDatasource().getProfile())
|
||||
String nomeAzienda = emsDBConst.getConstsByProfile(multiDBTransactionManager.getPrimaryDatasource().getProfile())
|
||||
.getNomeAzienda();
|
||||
|
||||
String subject = String.format("[%s] Errore durante operazione di %s su %s", nomeAzienda, action, InetAddress.getLocalHost().getHostName());
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -106,6 +107,18 @@ public class SettingsModel implements InitializingBean {
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<AvailableConnectionsModel> getAvailableConnectionsWithoutDuplicatedProfiles(boolean onlyInternal, String historyProfileDb) {
|
||||
Map<String, List<AvailableConnectionsModel>> databases = getAvailableConnections(onlyInternal)
|
||||
.stream()
|
||||
.filter(AvailableConnectionsModel::getInternalDb)
|
||||
.filter(x -> !historyProfileDb.equalsIgnoreCase(x.getProfileName()))
|
||||
.collect(Collectors.groupingBy(AvailableConnectionsModel::getDbName));
|
||||
|
||||
return databases.keySet().stream()
|
||||
.map(key -> databases.get(key).get(0))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void addAvailableConnection(AvailableConnectionsModel availableConnectionsModel) {
|
||||
availableConnections.add(availableConnectionsModel);
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ public class SyncManager {
|
||||
}
|
||||
|
||||
public String getDistributoreProfileDb(String profileDb) {
|
||||
return emsDBConst.getConsts(profileDb)
|
||||
return emsDBConst.getConstsByProfile(profileDb)
|
||||
.getAzienda().getDbDistributore();
|
||||
}
|
||||
|
||||
|
||||
@@ -75,10 +75,10 @@ public class SystemRequisiteCheckInterceptor extends HandlerInterceptorAdapter {
|
||||
|
||||
if (foundName != null) {
|
||||
|
||||
if (emsDBConst.getConsts(foundName).getApplicationDbName() == null) {
|
||||
if (emsDBConst.getConstsByProfile(foundName).getApplicationDbName() == null) {
|
||||
throw new SystemNotInitializedException(553, "Application Name not initialized");
|
||||
}
|
||||
if (emsDBConst.getConsts(foundName).getNomeAzienda() == null) {
|
||||
if (emsDBConst.getConstsByProfile(foundName).getNomeAzienda() == null) {
|
||||
throw new SystemNotInitializedException(554, "Nome azienda not initialized");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
|
||||
|
||||
public void setApplicationNameDB(String profileDb) {
|
||||
EmsDBConst emsDBConst = ApplicationContextProvider.getApplicationContext().getBean(EmsDBConst.class);
|
||||
this.setApplicationName(emsDBConst.getConsts(profileDb).getApplicationDbName());
|
||||
this.setApplicationName(emsDBConst.getConstsByProfile(profileDb).getApplicationDbName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -61,7 +61,7 @@ public class DigitalInvoiceManager {
|
||||
|
||||
if(!UtilityString.isNullOrEmpty(requestDataDTO.getProfileDB())) {
|
||||
|
||||
EmsDBConst.Const aziendaVars = emsDBConst.getConsts(requestDataDTO.getProfileDB());
|
||||
EmsDBConst.Const aziendaVars = emsDBConst.getConstsByProfile(requestDataDTO.getProfileDB());
|
||||
partitaIva = aziendaVars.getAzienda().getPartIva();
|
||||
codFiscale = UtilityString.isNull(aziendaVars.getAzienda().getCodFiscale(), aziendaVars.getAzienda().getPartIva());
|
||||
|
||||
@@ -89,19 +89,19 @@ public class DigitalInvoiceManager {
|
||||
}
|
||||
|
||||
public String getEmailNotification() {
|
||||
return emsDBConst.getConsts(requestDataDTO.getProfileDB())
|
||||
return emsDBConst.getConstsByProfile(requestDataDTO.getProfileDB())
|
||||
.getGestSetupDatiAzienda()
|
||||
.get("EMAIL_NOTIFICATION");
|
||||
}
|
||||
|
||||
public String getEmailForLog() {
|
||||
return emsDBConst.getConsts(requestDataDTO.getProfileDB())
|
||||
return emsDBConst.getConstsByProfile(requestDataDTO.getProfileDB())
|
||||
.getGestSetupDatiAzienda()
|
||||
.get("EMAIL_FOR_LOG");
|
||||
}
|
||||
|
||||
public boolean isInivoRiepilogo() {
|
||||
return emsDBConst.getConsts(requestDataDTO.getProfileDB())
|
||||
return emsDBConst.getConstsByProfile(requestDataDTO.getProfileDB())
|
||||
.getGestSetupDatiAzienda()
|
||||
.get("INVIO_RIEPILOGO")
|
||||
.equalsIgnoreCase("S");
|
||||
|
||||
Reference in New Issue
Block a user