public SubjectMessage createSubjectMessage( String sHead, String sBody, Long nID_subject, String sMail, String sContacts, String sData, Long nID_subjectMessageType) { SubjectContact subjectContact = null; Subject subject = new Subject(); if (sMail != null && !sMail.isEmpty()) { if (nID_subject != null) subjectContact = syncMail(sMail, nID_subject); if (nID_subject == null) subjectContact = syncMail(sMail, subject); } SubjectMessage message = new SubjectMessage(); message.setHead(sHead); message.setBody(sBody == null ? "" : sBody); message.setId_subject( (nID_subject == null) ? ((subject.getId() == null) ? 0 : subject.getId()) : nID_subject); message.setoMail((subjectContact == null) ? null : subjectContact); // message.setMail((sMail == null) ? "" : sMail); message.setContacts((sContacts == null) ? "" : sContacts); message.setData((sData == null) ? "" : sData); message.setDate(new DateTime()); if (nID_subjectMessageType != null) { SubjectMessageType subjectMessageType = subjectMessageTypeDao.findByIdExpected(nID_subjectMessageType); message.setSubjectMessageType(subjectMessageType); } return message; }
// при параметре nID_Subject == null private SubjectContact syncMail(String sMail, Subject oSubject) { SubjectContact res = null; SubjectHuman oSubjectHuman = subjectHumanDao.getSubjectHuman(SubjectHumanIdType.Email, sMail); Subject subject = (oSubjectHuman != null) ? oSubjectHuman.getoSubject() : null; if (subject != null) { oSubject.setId(subject.getId()); oSubject.setsID(subject.getsID()); oSubject.setsLabel(subject.getsLabel()); oSubject.setsLabelShort(subject.getsLabelShort()); res = subjectContactDao.findByExpected("sValue", sMail); if (res != null) { res.setSubject(subject); res.setsDate(); subjectContactDao.saveOrUpdate(res); } } return res; }