Added HL7 Commit Acknowledgement Exceptions

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/dda3a043
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/dda3a043
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/dda3a043

Branch: refs/heads/master
Commit: dda3a043db9e211eac6617bcc3f09bf4ed319b63
Parents: 93c4fe3
Author: Quinn Stevenson <qu...@pronoia-solutions.com>
Authored: Tue Jan 5 15:28:47 2016 -0700
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Jan 6 17:48:00 2016 +0100

----------------------------------------------------------------------
 ...MllpCommitErrorAcknowledgementException.java | 38 ++++++++++++++++++++
 ...llpCommitRejectAcknowledgementException.java | 38 ++++++++++++++++++++
 .../component/mllp/MllpTcpClientProducer.java   | 11 +++---
 3 files changed, 83 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/dda3a043/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
new file mode 100644
index 0000000..1269c56
--- /dev/null
+++ 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitErrorAcknowledgementException.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mllp;
+
+/**
+ * Raised when a MLLP Producer receives a HL7 Commit Error Acknowledgement
+ */
+public class MllpCommitErrorAcknowledgementException extends 
MllpAcknowledgementException {
+    public MllpCommitErrorAcknowledgementException(String message) {
+        super(message);
+    }
+
+    public MllpCommitErrorAcknowledgementException(String message, byte[] 
mllpPayload) {
+        super(message, mllpPayload);
+    }
+
+    public MllpCommitErrorAcknowledgementException(String message, Throwable 
cause) {
+        super(message, cause);
+    }
+
+    public MllpCommitErrorAcknowledgementException(String message, byte[] 
mllpPayload, Throwable cause) {
+        super(message, mllpPayload, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/dda3a043/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
new file mode 100644
index 0000000..99043a9
--- /dev/null
+++ 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpCommitRejectAcknowledgementException.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mllp;
+
+/**
+ * Raised when a MLLP Producer receives a HL7 Commit Reject Acknowledgement
+ */
+public class MllpCommitRejectAcknowledgementException extends 
MllpAcknowledgementException {
+    public MllpCommitRejectAcknowledgementException(String message) {
+        super(message);
+    }
+
+    public MllpCommitRejectAcknowledgementException(String message, byte[] 
mllpPayload) {
+        super(message, mllpPayload);
+    }
+
+    public MllpCommitRejectAcknowledgementException(String message, Throwable 
cause) {
+        super(message, cause);
+    }
+
+    public MllpCommitRejectAcknowledgementException(String message, byte[] 
mllpPayload, Throwable cause) {
+        super(message, mllpPayload, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/dda3a043/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
index 8a8e3a4..f95899f 100644
--- 
a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
+++ 
b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpClientProducer.java
@@ -149,7 +149,7 @@ public class MllpTcpClientProducer extends DefaultProducer {
                             String acknowledgemenTypeString;
                             switch (acknowledgementBytes[i + 6]) {
                             case bA:
-                                // We have an AA - make sure that's the end of 
the field
+                                // We have an AA or CA- make sure that's the 
end of the field
                                 if (fieldDelim != acknowledgementBytes[i + 7]) 
{
                                     exchange.setException(new 
MllpInvalidAcknowledgementException(new String(acknowledgementBytes)));
                                 }
@@ -160,20 +160,23 @@ public class MllpTcpClientProducer extends 
DefaultProducer {
                                 }
                                 break;
                             case bE:
-                                // We have an AE
-                                exchange.setException(new 
MllpApplicationErrorAcknowledgementException(new String(acknowledgementBytes)));
+                                // We have an AE or CE
                                 if (bA == acknowledgementBytes[i + 5]) {
                                     
message.setHeader(MLLP_ACKNOWLEDGEMENT_TYPE, "AE");
+                                    exchange.setException(new 
MllpApplicationErrorAcknowledgementException(new String(acknowledgementBytes)));
                                 } else {
                                     
message.setHeader(MLLP_ACKNOWLEDGEMENT_TYPE, "CE");
+                                    exchange.setException(new 
MllpCommitErrorAcknowledgementException(new String(acknowledgementBytes)));
                                 }
                                 break;
                             case bR:
-                                exchange.setException(new 
MllpApplicationRejectAcknowledgementException(new 
String(acknowledgementBytes)));
+                                // We have an AR or CR
                                 if (bA == acknowledgementBytes[i + 5]) {
                                     
message.setHeader(MLLP_ACKNOWLEDGEMENT_TYPE, "AR");
+                                    exchange.setException(new 
MllpApplicationRejectAcknowledgementException(new 
String(acknowledgementBytes)));
                                 } else {
                                     
message.setHeader(MLLP_ACKNOWLEDGEMENT_TYPE, "CR");
+                                    exchange.setException(new 
MllpCommitRejectAcknowledgementException(new String(acknowledgementBytes)));
                                 }
                                 break;
                             default:

Reply via email to