captive-validator/src/com/verisign/tat/dnssec/Util.java

110 lines
3.6 KiB
Java

/***************************** -*- Java -*- ********************************\
* *
* Copyright (c) 2009 VeriSign, Inc. All rights reserved. *
* *
* This software is provided solely in connection with the terms of the *
* license agreement. Any other use without the prior express written *
* permission of VeriSign is completely prohibited. The software and *
* documentation are "Commercial Items", as that term is defined in 48 *
* C.F.R. section 2.101, consisting of "Commercial Computer Software" and *
* "Commercial Computer Software Documentation" as such terms are defined *
* in 48 C.F.R. section 252.227-7014(a)(5) and 48 C.F.R. section *
* 252.227-7014(a)(1), and used in 48 C.F.R. section 12.212 and 48 C.F.R. *
* section 227.7202, as applicable. Pursuant to the above and other *
* relevant sections of the Code of Federal Regulations, as applicable, *
* VeriSign's publications, commercial computer software, and commercial *
* computer software documentation are distributed and licensed to United *
* States Government end users with only those rights as granted to all *
* other end users, according to the terms and conditions contained in the *
* license agreement(s) that accompany the products and software *
* documentation. *
* *
\***************************************************************************/
package com.verisign.tat.dnssec;
import org.xbill.DNS.Name;
import java.util.*;
/**
* Some basic utility functions.
*/
public class Util {
/**
* Convert a DNS name into a string suitable for use as a cache key.
*
* @param name The name to convert.
* @return A string representing the name. This isn't ever meant to be
* converted back into a DNS name.
*/
public static String nameToString(Name name) {
if (name.equals(Name.root)) {
return ".";
}
String n = name.toString().toLowerCase();
if (n.endsWith(".")) {
n = n.substring(0, n.length() - 1);
}
return n;
}
public static int parseInt(String s, int def) {
if (s == null) {
return def;
}
try {
return Integer.parseInt(s);
} catch (NumberFormatException e) {
return def;
}
}
public static long parseLong(String s, long def) {
if (s == null) {
return def;
}
try {
return Long.parseLong(s);
} catch (NumberFormatException e) {
return def;
}
}
public static List<ConfigEntry> parseConfigPrefix(Properties config,
String prefix) {
if (!prefix.endsWith(".")) {
prefix = prefix + ".";
}
List<ConfigEntry> res = new ArrayList<ConfigEntry>();
for (Map.Entry<Object, Object> entry : config.entrySet()) {
String key = (String) entry.getKey();
if (key.startsWith(prefix)) {
key = key.substring(prefix.length());
res.add(new ConfigEntry(key, (String) entry.getValue()));
}
}
return res;
}
public static class ConfigEntry {
public String key;
public String value;
public ConfigEntry(String key, String value) {
this.key = key;
this.value = value;
}
}
}