private Map<String, Object> toStringRecord(Object o, String entityName) { Map<String, Object> words = new HashMap<>(); PersistenceUnit pu = UPA.getPersistenceUnit(); Record r = (o instanceof Record) ? ((Record) o) : pu.getEntity(entityName).getBuilder().objectToRecord(o, true); if (r != null) { for (Map.Entry<String, Object> entry : r.entrySet()) { String k = entry.getKey(); Object v = entry.getValue(); if (v != null) { Entity ve = pu.findEntity(v.getClass()); if (ve != null) { Object mv = ve.getBuilder().getMainValue(v); String v2 = String.valueOf(mv); if (!StringUtils.isEmpty(v2)) { words.put(k, (v2)); } } else if (v instanceof String) { if (!StringUtils.isEmpty(v.toString())) { words.put(k, (v)); } } else { words.put(k, (v)); } } } } return words; }
public void startExec() { VrApp.getBean(VrNotificationSession.class).clear(CorePlugin.SEND_EXTERNAL_MAIL_QUEUE); SendExternalMailConfig c = new SendExternalMailConfig(); c.setEmailType((RecipientType) getModel().getEmailType().getValue()); Object value = getModel().getMailboxMessageFormat().getValue(); if (value instanceof NamedId) { value = UPA.getPersistenceUnit().findById(MailboxMessageFormat.class, ((NamedId) value).getId()); } MailboxMessageFormat mailboxMessageFormat = (MailboxMessageFormat) value; c.setTemplateId(mailboxMessageFormat == null ? null : mailboxMessageFormat.getId()); // core.runThread(new Runnable() { // @Override // public void run() { try { ArticlesItem obj = (ArticlesItem) VrApp.getBean(ObjCtrl.class).getCurrentEntityObject(); mailbox.sendExternalMail(obj, VrUtils.formatJSONObject(c)); } catch (Exception e) { FacesUtils.addErrorMessage(e.getMessage()); e.printStackTrace(); } // } // }); }