From 4bf01e75021b1593844c91c552416629ece4b76f Mon Sep 17 00:00:00 2001
From: Guillaume Thomazon <gtn@kereval.com>
Date: Wed, 10 Apr 2013 10:11:12 +0000
Subject: [PATCH] Add stop all channels

git-svn-id: https://scm.gforge.inria.fr/authscm/ycadoret/svn/gazelle/Maven/gazelle-proxy/trunk@35077 356b4b1a-1d2b-0410-8bf1-ffa24008f01e
---
 .../proxy/action/ChannelManagerBean.java        | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/ChannelManagerBean.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/ChannelManagerBean.java
index b22cb519..96c8c1fc 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/ChannelManagerBean.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/ChannelManagerBean.java
@@ -22,6 +22,7 @@ import java.util.List;
 import net.ihe.gazelle.proxy.netty.ChannelType;
 import net.ihe.gazelle.proxy.netty.ConnectionConfig;
 import net.ihe.gazelle.proxy.netty.ConnectionConfigSimple;
+import net.ihe.gazelle.proxy.netty.Proxy;
 
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.jboss.seam.ScopeType;
@@ -139,4 +140,20 @@ public class ChannelManagerBean implements Serializable {
 		stopChannel(channelToStop);
 	}
 
+	public void stopAllChannels() {
+		List<Proxy<?, ?>> lp = proxyBean.getListOfProxies();
+		int size = lp.size();
+		if (size > 0) {
+			for (int i = 0; i < size; i++) {
+				int port = lp.get(0).getProxyProviderPort();
+				stopChannel(port);
+			}
+			FacesMessages.instance().add(StatusMessage.Severity.INFO, "All channels are now closed !");
+		} else {
+			FacesMessages.instance().add(StatusMessage.Severity.ERROR,
+					"Failed to stop channel : none proxy channel open !");
+		}
+
+	}
+
 }
-- 
GitLab