Repository: camel Updated Branches: refs/heads/master 4f8bf48e7 -> 6482bf78b
CAMEL-7403: hl7 improvements. Thanks to Christian Ohr for the patch. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cf432211 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cf432211 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cf432211 Branch: refs/heads/master Commit: cf432211608731e4d2b7d17f2426b084dbf4becc Parents: 4f8bf48 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Aug 25 08:30:56 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Aug 25 08:30:56 2014 +0200 ---------------------------------------------------------------------- .../camel/component/hl7/HL7DataFormat.java | 25 ++++++++++++++++++-- .../hl7/ValidationContextPredicate.java | 5 ++++ 2 files changed, 28 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/cf432211/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java index 949aaed..f3d16c7 100644 --- a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java +++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java @@ -21,6 +21,8 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; +import ca.uhn.hl7v2.DefaultHapiContext; +import ca.uhn.hl7v2.HapiContext; import ca.uhn.hl7v2.model.Message; import ca.uhn.hl7v2.parser.GenericParser; import ca.uhn.hl7v2.parser.Parser; @@ -82,7 +84,8 @@ public class HL7DataFormat implements DataFormat { private static final Map<String, String> HEADER_MAP = new HashMap<String, String>(); - private Parser parser = new GenericParser(); + private HapiContext hapiContext = new DefaultHapiContext(); + private Parser parser = hapiContext.getGenericParser(); static { HEADER_MAP.put(HL7_SENDING_APPLICATION, "MSH-3"); @@ -117,20 +120,38 @@ public class HL7DataFormat implements DataFormat { return message; } + /** + * @deprecated configure validation by means of {@link ca.uhn.hl7v2.HapiContext} + */ public boolean isValidate() { - return !(parser.getValidationContext() instanceof NoValidation); + return (parser.getValidationContext() != null && !(parser.getValidationContext() instanceof NoValidation)); } + /** + * @deprecated configure validation by means of {@link ca.uhn.hl7v2.HapiContext} + */ public void setValidate(boolean validate) { if (!validate) { parser.setValidationContext(new NoValidation()); } } + public HapiContext getHapiContext() { + return hapiContext; + } + + public void setHapiContext(HapiContext context) { + this.hapiContext = context; + this.parser = context.getGenericParser(); + } + public Parser getParser() { return parser; } + /** + * @deprecated configure the parser by means of {@link ca.uhn.hl7v2.HapiContext} + */ public void setParser(Parser parser) { this.parser = parser; } http://git-wip-us.apache.org/repos/asf/camel/blob/cf432211/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/ValidationContextPredicate.java ---------------------------------------------------------------------- diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/ValidationContextPredicate.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/ValidationContextPredicate.java index fb99497..6138377 100644 --- a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/ValidationContextPredicate.java +++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/ValidationContextPredicate.java @@ -17,6 +17,7 @@ package org.apache.camel.component.hl7; import ca.uhn.hl7v2.HL7Exception; +import ca.uhn.hl7v2.HapiContext; import ca.uhn.hl7v2.model.Message; import ca.uhn.hl7v2.validation.MessageValidator; import ca.uhn.hl7v2.validation.ValidationContext; @@ -32,6 +33,10 @@ public class ValidationContextPredicate implements Predicate { private Expression validatorExpression; + public ValidationContextPredicate(HapiContext hapiContext) { + this(hapiContext.getValidationContext()); + } + public ValidationContextPredicate(ValidationContext validationContext) { this(ExpressionBuilder.constantExpression(validationContext)); }