1 /***************************** -*- Java -*- ********************************\
3 * Copyright (c) 2009 VeriSign, Inc. All rights reserved. *
5 * This software is provided solely in connection with the terms of the *
6 * license agreement. Any other use without the prior express written *
7 * permission of VeriSign is completely prohibited. The software and *
8 * documentation are "Commercial Items", as that term is defined in 48 *
9 * C.F.R. section 2.101, consisting of "Commercial Computer Software" and *
10 * "Commercial Computer Software Documentation" as such terms are defined *
11 * in 48 C.F.R. section 252.227-7014(a)(5) and 48 C.F.R. section *
12 * 252.227-7014(a)(1), and used in 48 C.F.R. section 12.212 and 48 C.F.R. *
13 * section 227.7202, as applicable. Pursuant to the above and other *
14 * relevant sections of the Code of Federal Regulations, as applicable, *
15 * VeriSign's publications, commercial computer software, and commercial *
16 * computer software documentation are distributed and licensed to United *
17 * States Government end users with only those rights as granted to all *
18 * other end users, according to the terms and conditions contained in the *
19 * license agreement(s) that accompany the products and software *
22 \***************************************************************************/
24 package com.verisign.tat.dnssec;
26 import org.xbill.DNS.Name;
32 * Some basic utility functions.
36 * Convert a DNS name into a string suitable for use as a cache key.
38 * @param name The name to convert.
39 * @return A string representing the name. This isn't ever meant to be
40 * converted back into a DNS name.
42 public static String nameToString(Name name) {
43 if (name.equals(Name.root)) {
47 String n = name.toString().toLowerCase();
49 if (n.endsWith(".")) {
50 n = n.substring(0, n.length() - 1);
56 public static int parseInt(String s, int def) {
62 return Integer.parseInt(s);
63 } catch (NumberFormatException e) {
68 public static long parseLong(String s, long def) {
74 return Long.parseLong(s);
75 } catch (NumberFormatException e) {
80 public static List<ConfigEntry> parseConfigPrefix(Properties config,
82 if (!prefix.endsWith(".")) {
83 prefix = prefix + ".";
86 List<ConfigEntry> res = new ArrayList<ConfigEntry>();
88 for (Map.Entry<Object, Object> entry : config.entrySet()) {
89 String key = (String) entry.getKey();
91 if (key.startsWith(prefix)) {
92 key = key.substring(prefix.length());
93 res.add(new ConfigEntry(key, (String) entry.getValue()));
100 public static class ConfigEntry {
104 public ConfigEntry(String key, String value) {