Search in sources :

Example 1 with SwitchYardMessage

use of org.switchyard.common.camel.SwitchYardMessage in project quickstarts by jboss-switchyard.

the class GreetingServiceRoute method configure.

@Override
public void configure() throws Exception {
    JaxbDataFormat jxb = new JaxbDataFormat(JAXBContext.newInstance("org.switchyard.quickstarts.camel.jaxb"));
    from("switchyard://GreetingService").convertBodyTo(String.class).unmarshal(jxb).process(new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            GreetingRequest rq = exchange.getIn().getBody(GreetingRequest.class);
            GreetingResponse rp = new GreetingResponse("Ola " + rq.getName() + "!");
            SwitchYardMessage out = new SwitchYardMessage();
            out.setBody(rp);
            exchange.setOut(out);
        }
    }).marshal(jxb).convertBodyTo(String.class);
}
Also used : Exchange(org.apache.camel.Exchange) Processor(org.apache.camel.Processor) SwitchYardMessage(org.switchyard.common.camel.SwitchYardMessage) JaxbDataFormat(org.apache.camel.converter.jaxb.JaxbDataFormat)

Example 2 with SwitchYardMessage

use of org.switchyard.common.camel.SwitchYardMessage in project quickstarts by jboss-switchyard.

the class CamelServiceRoute method configure.

/**
 * The Camel route is configured via this method.  The from endpoint is required to be a SwitchYard service.
 */
public void configure() {
    DataFormat hl7 = new HL7DataFormat();
    from("switchyard://HL7Route").unmarshal(hl7).process(new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            String body = exchange.getIn().getBody(String.class);
            PipeParser pipeParser = new PipeParser();
            try {
                // Parse the HL7 message
                ca.uhn.hl7v2.model.Message message = pipeParser.parse(body);
                if (message instanceof QRY_A19) {
                    // Print out some details from the QRD
                    QRD qrd = (QRD) message.get("QRD");
                    System.out.println("Query Date/Time : " + qrd.getQueryDateTime().getTimeOfAnEvent().getValue());
                    System.out.println("Query Format Code : " + qrd.getQueryFormatCode().getValue());
                    System.out.println("Query Priority : " + qrd.getQueryPriority().getValue());
                    System.out.println("Query ID : " + qrd.getQueryID().getValue());
                    System.out.println("Deferred Response Type : " + qrd.getDeferredResponseType().getValue());
                    System.out.println("Deferred Response Date/Time : " + qrd.getDeferredResponseDateTime().getTimeOfAnEvent().getValue());
                    System.out.println("Quantity Limited Request : " + qrd.getQuantityLimitedRequest().getQuantity().getValue());
                    System.out.println("Query Results Level : " + qrd.getQueryResultsLevel().getValue());
                    qrd.getQueryID();
                }
            } catch (Exception e) {
                throw e;
            }
            SwitchYardMessage out = new SwitchYardMessage();
            out.setBody(body);
            exchange.setOut(out);
        }
    });
}
Also used : QRD(ca.uhn.hl7v2.model.v24.segment.QRD) Processor(org.apache.camel.Processor) PipeParser(ca.uhn.hl7v2.parser.PipeParser) SwitchYardMessage(org.switchyard.common.camel.SwitchYardMessage) HL7DataFormat(org.apache.camel.component.hl7.HL7DataFormat) SwitchYardMessage(org.switchyard.common.camel.SwitchYardMessage) Exchange(org.apache.camel.Exchange) DataFormat(org.apache.camel.spi.DataFormat) HL7DataFormat(org.apache.camel.component.hl7.HL7DataFormat) QRY_A19(ca.uhn.hl7v2.model.v24.message.QRY_A19)

Aggregations

Exchange (org.apache.camel.Exchange)2 Processor (org.apache.camel.Processor)2 SwitchYardMessage (org.switchyard.common.camel.SwitchYardMessage)2 QRY_A19 (ca.uhn.hl7v2.model.v24.message.QRY_A19)1 QRD (ca.uhn.hl7v2.model.v24.segment.QRD)1 PipeParser (ca.uhn.hl7v2.parser.PipeParser)1 HL7DataFormat (org.apache.camel.component.hl7.HL7DataFormat)1 JaxbDataFormat (org.apache.camel.converter.jaxb.JaxbDataFormat)1 DataFormat (org.apache.camel.spi.DataFormat)1