package uk.nhs.kch.rassyeyanie.common.testing.unit; import ca.uhn.hl7v2.HL7Exception; import ca.uhn.hl7v2.model.AbstractMessage; import ca.uhn.hl7v2.parser.EncodingNotSupportedException; import ca.uhn.hl7v2.parser.PipeParser; import uk.nhs.kch.rassyeyanie.framework.Util; public class MessageResource { private final String originalMessageText; private PipeParser pipeParser; private AbstractMessage message; public MessageResource(String messageText) { this.originalMessageText = messageText; } public MessageResource init() throws EncodingNotSupportedException, HL7Exception { this.pipeParser = Util.createVersionedParser("2.4"); this.message = this.parseMessage(); return this; } public AbstractMessage getMessage() { return this.message; } public String getOriginalMessageText() { return this.originalMessageText; } public String getMessageText() throws HL7Exception { return this.message.encode(); } private AbstractMessage parseMessage() throws HL7Exception { return (AbstractMessage) this.pipeParser .parse(this.originalMessageText); } }