Sfoglia il codice sorgente

fix: handle null User before MailEngine sends the mail

fix/NullPointer-Exceptions
Gabriele Zigurella 2 anni fa
parent
commit
854ce645c2
  1. 72
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/MailUtil.java

72
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/MailUtil.java

@ -161,37 +161,43 @@ public class MailUtil {
intPraticaId = parereGeologo.getIntPraticaId();
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId);
User tecnicoIstruttore = recuperaTecnicoIstruttore(intPratica);
_log.info("email tecnico istruttore=" + tecnicoIstruttore.getEmailAddress());
String[] to = { tecnicoIstruttore.getEmailAddress() };
String[] cc = new String[0];
String[] ccn = new String[0];
// recupero dati
String tipoPratica = StringPool.BLANK;
if (AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId())) {
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01");
} else if (AzioniPraticheUtil.isAutorizzazione(intPratica.getIntPraticaId())) {
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02");
if(tecnicoIstruttore != null){
_log.info("email tecnico istruttore=" + tecnicoIstruttore.getEmailAddress());
String[] to = { tecnicoIstruttore.getEmailAddress() };
String[] cc = new String[0];
String[] ccn = new String[0];
// recupero dati
String tipoPratica = StringPool.BLANK;
if (AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId())) {
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01");
} else if (AzioniPraticheUtil.isAutorizzazione(intPratica.getIntPraticaId())) {
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02");
}
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(),
territorio.getCodiceProvincia());
JSONObject templateVariables = JSONFactoryUtil.createJSONObject();
templateVariables.put("receiver", tecnicoIstruttore.getFullName());
templateVariables.put("tipoPratica", tipoPratica);
templateVariables.put("tipoOggetto", "Risposta a Richiesta Parere Geologo");
templateVariables
.put("dataInvio",
FastDateFormatFactoryUtil.getSimpleDateFormat("dd/MM/yyyy HH:mm").format(
parereGeologo.getDtCompilazione() != null ? parereGeologo.getDtCompilazione()
: new Date()));
templateVariables.put("praticaNum", intPratica.getNumeroProgetto());
templateVariables.put("provincia", provincia.getProvincia());
templateVariables.put("comune", comune.getDenominazione());
String className = ParereGeologo.class.getName();
long classPk = parereGeologoId;
MailManagerUtil.sendMailByTemplatName(className, classPk, "NOTIFICA-BO", to, cc, ccn, templateVariables,
null, serviceContext);
} else {
_log.warn("invioNotificaIstruttoreByGeologo - Tecnico istruttore mancante per pratica id="
+ intPraticaId);
}
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(),
territorio.getCodiceProvincia());
JSONObject templateVariables = JSONFactoryUtil.createJSONObject();
templateVariables.put("receiver", tecnicoIstruttore.getFullName());
templateVariables.put("tipoPratica", tipoPratica);
templateVariables.put("tipoOggetto", "Risposta a Richiesta Parere Geologo");
templateVariables
.put("dataInvio",
FastDateFormatFactoryUtil.getSimpleDateFormat("dd/MM/yyyy HH:mm").format(
parereGeologo.getDtCompilazione() != null ? parereGeologo.getDtCompilazione()
: new Date()));
templateVariables.put("praticaNum", intPratica.getNumeroProgetto());
templateVariables.put("provincia", provincia.getProvincia());
templateVariables.put("comune", comune.getDenominazione());
String className = ParereGeologo.class.getName();
long classPk = parereGeologoId;
MailManagerUtil.sendMailByTemplatName(className, classPk, "NOTIFICA-BO", to, cc, ccn, templateVariables,
null, serviceContext);
} catch (Exception e) {
_log.error("invioNotificaIstruttoreByGeologo - Errore invio mail al tecnico istruttore per pratica id="
+ intPraticaId, e);
@ -248,8 +254,10 @@ public class MailUtil {
User istruttoreUser = null;
if (Validator.isNotNull(statusByUserId) && intPratica.getStatus() != WorkflowConstants.STATUS_DRAFT) {
istruttoreUser = UserLocalServiceUtil.getUser(statusByUserId);
_log.info("istruttore pratica id=" + intPratica.getIntPraticaId() + ":" + istruttoreUser.getScreenName()
+ " " + istruttoreUser.getEmailAddress());
if(istruttoreUser != null){
_log.info("istruttore pratica id=" + intPratica.getIntPraticaId() + ":" + istruttoreUser.getScreenName()
+ " " + istruttoreUser.getEmailAddress());
}
}
return istruttoreUser;
}

Caricamento…
Annulla
Salva