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));
     }

Reply via email to