Code Review
/
dmaap
/
datarouter.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Removing code smells
[dmaap/datarouter.git]
/
datarouter-node
/
src
/
main
/
java
/
org
/
onap
/
dmaap
/
datarouter
/
node
/
IsFrom.java
diff --git
a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java
b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java
index
7e3b4bf
..
91622b3
100644
(file)
--- a/
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java
+++ b/
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java
@@
-24,61
+24,82
@@
package org.onap.dmaap.datarouter.node;
package org.onap.dmaap.datarouter.node;
-import java.util.*;
-import java.net.*;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Arrays;
/**
/**
- * Determine if an IP address is from a machine
+ * Determine if an IP address is from a machine
.
*/
public class IsFrom {
*/
public class IsFrom {
+
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(IsFrom.class);
private long nextcheck;
private String[] ips;
private String fqdn;
/**
private long nextcheck;
private String[] ips;
private String fqdn;
/**
- * C
onfigure the JVM DNS cache to have a 10 second TTL. This needs to be called very very early or it won't have any effect
.
+ * C
reate an IsFrom for the specified fully qualified domain name
.
*/
*/
- public
static void setDNSCache(
) {
-
java.security.Security.setProperty("networkaddress.cache.ttl", "10")
;
+ public
IsFrom(String fqdn
) {
+
this.fqdn = fqdn
;
}
/**
}
/**
- * Create an IsFrom for the specified fully qualified domain name.
+ * Configure the JVM DNS cache to have a 10 second TTL. This needs to be called very very early or it won't have
+ * any effect.
*/
*/
- public
IsFrom(String fqdn
) {
-
this.fqdn = fqdn
;
+ public
static void setDNSCache(
) {
+
java.security.Security.setProperty("networkaddress.cache.ttl", "10")
;
}
/**
}
/**
- * Check if an IP address matches. If it has been more than
- * 10 seconds since DNS was last checked for changes to the
- * IP address(es) of this FQDN, check again. Then check
- * if the specified IP address belongs to the FQDN.
+ * Check if an IP address matches. If it has been more than 10 seconds since DNS was last checked for changes to
+ * the IP address(es) of this FQDN, check again. Then check if the specified IP address belongs to the FQDN.
*/
public synchronized boolean isFrom(String ip) {
long now = System.currentTimeMillis();
if (now > nextcheck) {
nextcheck = now + 10000;
*/
public synchronized boolean isFrom(String ip) {
long now = System.currentTimeMillis();
if (now > nextcheck) {
nextcheck = now + 10000;
-
Vector<String> v = new Vector<String
>();
+
ArrayList<String> hostAddrArray = new ArrayList<
>();
try {
InetAddress[] addrs = InetAddress.getAllByName(fqdn);
try {
InetAddress[] addrs = InetAddress.getAllByName(fqdn);
- for (InetAddress a : addrs) {
-
v.add(a
.getHostAddress());
+ for (InetAddress a
ddr
: addrs) {
+
hostAddrArray.add(addr
.getHostAddress());
}
}
- } catch (Exception e) {
+ } catch (UnknownHostException e) {
+ logger.error("IsFrom: UnknownHostEx: " + e.toString(), e);
}
}
- ips = v.toArray(new String[v.size()]);
+ ips = hostAddrArray.toArray(new String[0]);
+ logger.debug("IsFrom: DNS ENTRIES FOR FQDN " + fqdn + " : " + Arrays.toString(ips));
}
}
- for (String s : ips) {
- if (s.equals(ip)) {
- return (true);
+ for (String ipAddr : ips) {
+ if (ipAddr.equals(ip)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ synchronized boolean isReachable(String ip) {
+ try {
+ if (InetAddress.getByName(ip).isReachable(1000)) {
+ return true;
}
}
+ } catch (UnknownHostException e) {
+ logger.error("IsFrom: UnknownHostEx: " + e.toString(), e);
+ } catch (IOException e) {
+ logger.error("IsFrom: Failed to parse IP : " + ip + " : " + e.toString(), e);
}
}
- return
(false)
;
+ return
false
;
}
/**
}
/**
- * Return the fully qualified domain name
+ * Return the fully qualified domain name
.
*/
public String toString() {
return (fqdn);
*/
public String toString() {
return (fqdn);