From 928d54a5f6896eabd6c814c0d78c0047d0fd5bee Mon Sep 17 00:00:00 2001
From: Gabriel Landais <glandais@kereval.com>
Date: Fri, 2 Mar 2012 16:40:12 +0000
Subject: [PATCH] Better message filtering

git-svn-id: https://scm.gforge.inria.fr/authscm/ycadoret/svn/gazelle/Maven/gazelle-proxy/trunk@26636 356b4b1a-1d2b-0410-8bf1-ffa24008f01e
---
 .../net/ihe/gazelle/proxy/ws/ProxyForTM.java    | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
index c89f7920..4a3d2f64 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
@@ -54,14 +54,14 @@ public class ProxyForTM implements IProxyForTM {
 			List<Integer> ids = step.getReceiverIds();
 			List<Configuration> stepConfigurations = new ArrayList<Configuration>();
 			if (ids != null) {
-				stepConfigurations = getStepConfigurations(configurations, ids);
+				stepConfigurations = getStepConfigurations(configurations, ids, true);
 			}
 			step.setReceivers(stepConfigurations);
 
 			ids = step.getSenderIds();
 			stepConfigurations = new ArrayList<Configuration>();
 			if (ids != null) {
-				stepConfigurations = getStepConfigurations(configurations, ids);
+				stepConfigurations = getStepConfigurations(configurations, ids, false);
 			}
 			step.setSenders(stepConfigurations);
 		}
@@ -77,12 +77,19 @@ public class ProxyForTM implements IProxyForTM {
 
 	}
 
-	private List<Configuration> getStepConfigurations(List<Configuration> configurations, List<Integer> ids) {
+	private List<Configuration> getStepConfigurations(List<Configuration> configurations, List<Integer> ids,
+			boolean receiver) {
 		List<Configuration> stepConfigurations = new ArrayList<Configuration>();
 		for (Integer id : ids) {
 			Configuration stepConfiguration = getConfigurationByTmId(id, configurations);
-			if (stepConfiguration != null && stepConfiguration.getProxyPort() > 0) {
-				stepConfigurations.add(stepConfiguration);
+			if (stepConfiguration != null) {
+				if (receiver) {
+					if (stepConfiguration.getProxyPort() > 0) {
+						stepConfigurations.add(stepConfiguration);
+					}
+				} else {
+					stepConfigurations.add(stepConfiguration);
+				}
 			}
 		}
 		return stepConfigurations;
-- 
GitLab