public MessageDVO createMessageDVO(AS2Message message, boolean isIncoming) throws AS2MessageException, DAOException { MessageDAO dao = createMessageDAO(); MessageDVO daoData = (MessageDVO) dao.createDVO(); daoData.setMessageId(message.getMessageID()); daoData.setMessageBox(isIncoming ? MessageDVO.MSGBOX_IN : MessageDVO.MSGBOX_OUT); daoData.setAs2From(message.getFromPartyID()); daoData.setAs2To(message.getToPartyID()); daoData.setTimeStamp(new Date()); daoData.setStatus(MessageDVO.STATUS_PENDING); daoData.setPrincipalId(principal == null ? "nobody" : principal.getName()); if (message.isDispositionNotification()) { DispositionNotification dn = message.getDispositionNotification(); daoData.setIsReceipt(true); daoData.setIsReceiptRequested(false); daoData.setMicValue(dn.getReceivedContentMIC()); daoData.setOriginalMessageId(dn.getOriginalMessageID()); } else { daoData.setIsReceipt(false); daoData.setIsReceiptRequested(message.isReceiptRequested()); daoData.setReceiptUrl(message.getHeader(AS2Header.RECEIPT_DELIVERY_OPTION)); } return daoData; }
public PartnershipDVO findPartnership(AS2Message message, boolean isIncoming) throws AS2Exception, DAOException { String fromParty, toParty; if (isIncoming) { fromParty = message.getToPartyID(); toParty = message.getFromPartyID(); } else { fromParty = message.getFromPartyID(); toParty = message.getToPartyID(); } try { return findPartnership(fromParty, toParty); } catch (Exception e) { throw new AS2Exception("No partnership for message: " + message, e); } }