wait until port is open in HttpClient junit tests

As a note, HttpServer tests have retries at the http level.

Hopefully this will resolve some timing issues and intermittent junits
failures in LF jenkins environment.

Issue-ID: POLICY-109
Change-Id: I44628b60d4912be5fc4639e0048791f5655bbd01
Signed-off-by: Jorge Hernandez <jh1730@att.com>
diff --git a/policy-endpoints/src/test/java/org/onap/policy/drools/http/server/test/HttpClientTest.java b/policy-endpoints/src/test/java/org/onap/policy/drools/http/server/test/HttpClientTest.java
index f7ef7bc..dd9a7c2 100644
--- a/policy-endpoints/src/test/java/org/onap/policy/drools/http/server/test/HttpClientTest.java
+++ b/policy-endpoints/src/test/java/org/onap/policy/drools/http/server/test/HttpClientTest.java
@@ -7,9 +7,9 @@
  * Licensed 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.
@@ -22,6 +22,7 @@
 
 import static org.junit.Assert.assertTrue;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Properties;
 
@@ -33,186 +34,170 @@
 import org.onap.policy.drools.http.client.HttpClient;
 import org.onap.policy.drools.http.server.HttpServletServer;
 import org.onap.policy.drools.properties.PolicyProperties;
+import org.onap.policy.drools.utils.NetworkUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class HttpClientTest {
-	
-	private static Logger logger = LoggerFactory.getLogger(HttpClientTest.class);
-	
-	@BeforeClass
-	public static void setUp() throws InterruptedException {
-		logger.info("-- setup() --");
-		
-		/* echo server */
-		
-		HttpServletServer echoServerNoAuth = HttpServletServer.factory.build("echo", "localhost", 6666, "/", false, true);
-		echoServerNoAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
-		echoServerNoAuth.waitedStart(5000);
-		
-		/* no auth echo server */
-		
-		HttpServletServer echoServerAuth = HttpServletServer.factory.build("echo", "localhost", 6667, "/", false, true);
-		echoServerAuth.setBasicAuthentication("x", "y", null);
-		echoServerAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
-		echoServerAuth.waitedStart(5000);
-	}
-	
-	@AfterClass
-	public static void tearDown() {
-		logger.info("-- tearDown() --");
-		
-		HttpServletServer.factory.destroy();
-		HttpClient.factory.destroy();
-	}
-	
-	@Test
-	public void testHttpNoAuthClient() throws Exception {		
-		logger.info("-- testHttpNoAuthClient() --");
 
-		HttpClient client = HttpClient.factory.build("testHttpNoAuthClient", false, false, 
-				                                     "localhost", 6666, "junit/echo", 
-				                                     null, null, true);
-		Response response = client.get("hello");
-		String body = HttpClient.getBody(response, String.class);
-		
-		assertTrue(response.getStatus() == 200);
-		assertTrue(body.equals("hello"));
-	}
-	
-	@Test
-	public void testHttpAuthClient() throws Exception {		
-		logger.info("-- testHttpAuthClient() --");
-		
-		HttpClient client = HttpClient.factory.build("testHttpAuthClient",false, false, 
-				                                     "localhost", 6667, "junit/echo", 
-				                                     "x", "y", true);
-		Response response = client.get("hello");
-		String body = HttpClient.getBody(response, String.class);
-		
-		assertTrue(response.getStatus() == 200);
-		assertTrue(body.equals("hello"));
-	}
-	
-	@Test
-	public void testHttpAuthClient401() throws Exception {		
-		logger.info("-- testHttpAuthClient401() --");
-		
-		HttpClient client = HttpClient.factory.build("testHttpAuthClient401",false, false, 
-				                                     "localhost", 6667, "junit/echo", 
-				                                     null, null, true);
-		Response response = client.get("hello");
-		assertTrue(response.getStatus() == 401);
-	}
-    
-    @Test
-    public void testHttpAuthClientProps() throws Exception {
-    	logger.info("-- testHttpAuthClientProps() --");
-		
-		Properties httpProperties = new Properties();
-		
-		httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES, "PAP,PDP");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, 
-			 "localhost");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, 
-			 "7777");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, 
-			 "testpap");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, 
-			 "alpha123");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX, 
-			RestMockHealthCheck.class.getName());
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_MANAGED_SUFFIX, 
-			 "true");
-		
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, 
-			 "localhost");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, 
-			 "7778");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, 
-			 "testpdp");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, 
-			 "alpha123");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX, 
-			 RestMockHealthCheck.class.getName());
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_MANAGED_SUFFIX, 
-			 "true");
-		
-		httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES, "PAP,PDP");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, 
-			 "localhost");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, 
-			 "7777");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_URL_SUFFIX, 
-			 "pap/test");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_HTTPS_SUFFIX, 
-			 "false");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, 
-			 "testpap");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, 
-			 "alpha123");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP" + PolicyProperties.PROPERTY_MANAGED_SUFFIX, 
-			 "true");
-		
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, 
-			 "localhost");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, 
-			 "7778");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_URL_SUFFIX, 
-			 "pdp");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_HTTPS_SUFFIX, 
-			 "false");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, 
-			 "testpdp");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, 
-			 "alpha123");
-		httpProperties.setProperty
-			(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP" + PolicyProperties.PROPERTY_MANAGED_SUFFIX, 
-			 "true");
-		
-		ArrayList<HttpServletServer> servers = HttpServletServer.factory.build(httpProperties);
-		assertTrue(servers.size() == 2);
-		
-		ArrayList<HttpClient> clients = HttpClient.factory.build(httpProperties);
-		assertTrue(clients.size() == 2);
-		
-		for (HttpServletServer server: servers) {
-			server.waitedStart(5000);
-		}
-		
-		HttpClient clientPAP = HttpClient.factory.get("PAP");
-		Response response = clientPAP.get();
-		assertTrue(response.getStatus() == 200);
+  private static Logger logger = LoggerFactory.getLogger(HttpClientTest.class);
 
-		HttpClient clientPDP = HttpClient.factory.get("PDP");
-		Response response2 = clientPDP.get("test");
-		assertTrue(response2.getStatus() == 500);	
+  @BeforeClass
+  public static void setUp() throws InterruptedException, IOException {
+    logger.info("-- setup() --");
+
+    /* echo server */
+
+    final HttpServletServer echoServerNoAuth =
+        HttpServletServer.factory.build("echo", "localhost", 6666, "/", false, true);
+    echoServerNoAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
+    echoServerNoAuth.waitedStart(5000);
+
+    if (!NetworkUtil.isTcpPortOpen("localhost", echoServerNoAuth.getPort(), 5, 10000L))
+      throw new IllegalStateException("cannot connect to port " + echoServerNoAuth.getPort());
+
+    /* no auth echo server */
+
+    final HttpServletServer echoServerAuth =
+        HttpServletServer.factory.build("echo", "localhost", 6667, "/", false, true);
+    echoServerAuth.setBasicAuthentication("x", "y", null);
+    echoServerAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
+    echoServerAuth.waitedStart(5000);
+
+    if (!NetworkUtil.isTcpPortOpen("localhost", echoServerAuth.getPort(), 5, 10000L))
+      throw new IllegalStateException("cannot connect to port " + echoServerAuth.getPort());
+  }
+
+  @AfterClass
+  public static void tearDown() {
+    logger.info("-- tearDown() --");
+
+    HttpServletServer.factory.destroy();
+    HttpClient.factory.destroy();
+  }
+
+  @Test
+  public void testHttpNoAuthClient() throws Exception {
+    logger.info("-- testHttpNoAuthClient() --");
+
+    final HttpClient client = HttpClient.factory.build("testHttpNoAuthClient", false, false,
+        "localhost", 6666, "junit/echo", null, null, true);
+    final Response response = client.get("hello");
+    final String body = HttpClient.getBody(response, String.class);
+
+    assertTrue(response.getStatus() == 200);
+    assertTrue(body.equals("hello"));
+  }
+
+  @Test
+  public void testHttpAuthClient() throws Exception {
+    logger.info("-- testHttpAuthClient() --");
+
+    final HttpClient client = HttpClient.factory.build("testHttpAuthClient", false, false,
+        "localhost", 6667, "junit/echo", "x", "y", true);
+    final Response response = client.get("hello");
+    final String body = HttpClient.getBody(response, String.class);
+
+    assertTrue(response.getStatus() == 200);
+    assertTrue(body.equals("hello"));
+  }
+
+  @Test
+  public void testHttpAuthClient401() throws Exception {
+    logger.info("-- testHttpAuthClient401() --");
+
+    final HttpClient client = HttpClient.factory.build("testHttpAuthClient401", false, false,
+        "localhost", 6667, "junit/echo", null, null, true);
+    final Response response = client.get("hello");
+    assertTrue(response.getStatus() == 401);
+  }
+
+  @Test
+  public void testHttpAuthClientProps() throws Exception {
+    logger.info("-- testHttpAuthClientProps() --");
+
+    final Properties httpProperties = new Properties();
+
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES, "PAP,PDP");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, "localhost");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, "7777");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, "testpap");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, "alpha123");
+    httpProperties.setProperty(
+        PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PAP"
+            + PolicyProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX,
+        RestMockHealthCheck.class.getName());
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_MANAGED_SUFFIX, "true");
+
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, "localhost");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, "7778");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, "testpdp");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, "alpha123");
+    httpProperties.setProperty(
+        PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + "PDP"
+            + PolicyProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX,
+        RestMockHealthCheck.class.getName());
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_MANAGED_SUFFIX, "true");
+
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES, "PAP,PDP");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, "localhost");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, "7777");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_URL_SUFFIX, "pap/test");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_HTTPS_SUFFIX, "false");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, "testpap");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, "alpha123");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PAP"
+        + PolicyProperties.PROPERTY_MANAGED_SUFFIX, "true");
+
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_HOST_SUFFIX, "localhost");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, "7778");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_URL_SUFFIX, "pdp");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_HTTPS_SUFFIX, "false");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX, "testpdp");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX, "alpha123");
+    httpProperties.setProperty(PolicyProperties.PROPERTY_HTTP_CLIENT_SERVICES + "." + "PDP"
+        + PolicyProperties.PROPERTY_MANAGED_SUFFIX, "true");
+
+    final ArrayList<HttpServletServer> servers = HttpServletServer.factory.build(httpProperties);
+    assertTrue(servers.size() == 2);
+
+    final ArrayList<HttpClient> clients = HttpClient.factory.build(httpProperties);
+    assertTrue(clients.size() == 2);
+
+    for (final HttpServletServer server : servers) {
+      server.waitedStart(10000);
     }
 
+    final HttpClient clientPAP = HttpClient.factory.get("PAP");
+    final Response response = clientPAP.get();
+    assertTrue(response.getStatus() == 200);
+
+    final HttpClient clientPDP = HttpClient.factory.get("PDP");
+    final Response response2 = clientPDP.get("test");
+    assertTrue(response2.getStatus() == 500);
+  }
+
 
 }
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/NetworkUtil.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/NetworkUtil.java
index f6c837f..bd5b8aa 100644
--- a/policy-utils/src/main/java/org/onap/policy/drools/utils/NetworkUtil.java
+++ b/policy-utils/src/main/java/org/onap/policy/drools/utils/NetworkUtil.java
@@ -7,9 +7,9 @@
  * Licensed 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.
@@ -20,16 +20,51 @@
 
 package org.onap.policy.drools.utils;
 
+import java.io.IOException;
+import java.net.ConnectException;
+import java.net.Socket;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /**
  * Network Utilities
  */
 public class NetworkUtil {
-	
-	/**
-	 * IPv4 Wildcard IP address
-	 */
-	public static final String IPv4_WILDCARD_ADDRESS = "0.0.0.0";
-	
-	/* Other methods will be added as needed */
+
+  public static final Logger logger = LoggerFactory.getLogger(NetworkUtil.class.getName());
+
+  /**
+   * IPv4 Wildcard IP address
+   */
+  public static final String IPv4_WILDCARD_ADDRESS = "0.0.0.0";
+
+
+  /**
+   * try to connect to $host:$port $retries times while we are getting connection failures.
+   *
+   * @param host host
+   * @param port port
+   * @param retries number of attempts
+   * @return true is port is open, false otherwise
+   * @throws InterruptedException if execution has been interrupted
+   */
+  public static boolean isTcpPortOpen(String host, int port, int retries, long interval)
+      throws InterruptedException, IOException {
+    int retry = 0;
+    while (retry < retries) {
+      try (Socket s = new Socket(host, port)) {
+        logger.debug("{}:{} connected - retries={} interval={}", host, port, retries, interval);
+        return true;
+      } catch (final ConnectException e) {
+        retry++;
+        logger.trace("{}:{} connected - retries={} interval={}", host, port, retries, interval, e);
+        Thread.sleep(interval);
+      }
+    }
+
+    logger.warn("{}:{} closed = retries={} interval={}", host, port, retries, interval);
+    return false;
+  }
 
 }