diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/internal/JettyJerseyServer.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/internal/JettyJerseyServer.java
index 0aaf1cc..78661a4 100644
--- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/internal/JettyJerseyServer.java
+++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/server/internal/JettyJerseyServer.java
@@ -22,6 +22,7 @@
 
 import io.swagger.jersey.config.JerseyJaxrsConfig;
 import java.util.HashMap;
+import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.glassfish.jersey.server.ServerProperties;
 import org.onap.policy.common.utils.network.NetworkUtil;
@@ -119,7 +120,7 @@
         ServletHolder swaggerServlet = context.addServlet(JerseyJaxrsConfig.class, "/");
 
         String hostname = this.connector.getHost();
-        if (hostname == null || hostname.isEmpty() || hostname.equals(NetworkUtil.IPv4_WILDCARD_ADDRESS)) {
+        if (StringUtils.isBlank(hostname) || hostname.equals(NetworkUtil.IPV4_WILDCARD_ADDRESS)) {
             hostname = NetworkUtil.getHostname();
         }
 
diff --git a/utils/src/main/java/org/onap/policy/common/utils/network/NetworkUtil.java b/utils/src/main/java/org/onap/policy/common/utils/network/NetworkUtil.java
index 6014b58..1436262 100644
--- a/utils/src/main/java/org/onap/policy/common/utils/network/NetworkUtil.java
+++ b/utils/src/main/java/org/onap/policy/common/utils/network/NetworkUtil.java
@@ -42,7 +42,7 @@
     /**
      * IPv4 Wildcard IP address.
      */
-    public static final String IPv4_WILDCARD_ADDRESS = "0.0.0.0";
+    public static final String IPV4_WILDCARD_ADDRESS = "0.0.0.0";
 
 
     /**
diff --git a/utils/src/test/java/org/onap/policy/common/utils/network/NetworkUtilTest.java b/utils/src/test/java/org/onap/policy/common/utils/network/NetworkUtilTest.java
index c29da2c..a0b8353 100644
--- a/utils/src/test/java/org/onap/policy/common/utils/network/NetworkUtilTest.java
+++ b/utils/src/test/java/org/onap/policy/common/utils/network/NetworkUtilTest.java
@@ -42,7 +42,7 @@
 
     @Test
     public void test() throws InterruptedException, IOException {
-        assertNotNull(NetworkUtil.IPv4_WILDCARD_ADDRESS);
+        assertNotNull(NetworkUtil.IPV4_WILDCARD_ADDRESS);
         assertFalse(NetworkUtil.isTcpPortOpen(LOCALHOST, NetworkUtil.allocPort(), 1, 5));
         assertNotNull(NetworkUtil.getHostname());
         assertNotNull(NetworkUtil.getHostIp());
