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(); intPraticaId = parereGeologo.getIntPraticaId();
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId);
User tecnicoIstruttore = recuperaTecnicoIstruttore(intPratica); User tecnicoIstruttore = recuperaTecnicoIstruttore(intPratica);
_log.info("email tecnico istruttore=" + tecnicoIstruttore.getEmailAddress()); if(tecnicoIstruttore != null){
String[] to = { tecnicoIstruttore.getEmailAddress() }; _log.info("email tecnico istruttore=" + tecnicoIstruttore.getEmailAddress());
String[] cc = new String[0];
String[] ccn = new String[0]; String[] to = { tecnicoIstruttore.getEmailAddress() };
// recupero dati String[] cc = new String[0];
String tipoPratica = StringPool.BLANK; String[] ccn = new String[0];
if (AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId())) { // recupero dati
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01"); String tipoPratica = StringPool.BLANK;
} else if (AzioniPraticheUtil.isAutorizzazione(intPratica.getIntPraticaId())) { if (AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId())) {
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02"); 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) { } catch (Exception e) {
_log.error("invioNotificaIstruttoreByGeologo - Errore invio mail al tecnico istruttore per pratica id=" _log.error("invioNotificaIstruttoreByGeologo - Errore invio mail al tecnico istruttore per pratica id="
+ intPraticaId, e); + intPraticaId, e);
@ -248,8 +254,10 @@ public class MailUtil {
User istruttoreUser = null; User istruttoreUser = null;
if (Validator.isNotNull(statusByUserId) && intPratica.getStatus() != WorkflowConstants.STATUS_DRAFT) { if (Validator.isNotNull(statusByUserId) && intPratica.getStatus() != WorkflowConstants.STATUS_DRAFT) {
istruttoreUser = UserLocalServiceUtil.getUser(statusByUserId); istruttoreUser = UserLocalServiceUtil.getUser(statusByUserId);
_log.info("istruttore pratica id=" + intPratica.getIntPraticaId() + ":" + istruttoreUser.getScreenName() if(istruttoreUser != null){
+ " " + istruttoreUser.getEmailAddress()); _log.info("istruttore pratica id=" + intPratica.getIntPraticaId() + ":" + istruttoreUser.getScreenName()
+ " " + istruttoreUser.getEmailAddress());
}
} }
return istruttoreUser; return istruttoreUser;
} }

Caricamento…
Annulla
Salva