Files
i2p.i2p/apps/routerconsole/java/src/edu/internet2/ndt/NDTUtils.java
zzz 6f7881c7ea Web100 Network Diagnostic Tool (NDT) Java Applet
Version 3.7.0.2 (May 20, 2015)
From: https://github.com/ndt-project/ndt/releases
Unmodified, as baseline for future merges.
Will not compile, changes adapted from BiglyBT to follow.
Copyright 2003 University of Chicago.
3-clause license with requirement that:
  Modified copies and works based on the Software must carry prominent
  notices stating that you changed specified portions of the Software.
See LICENSE.txt and licenses/LICENSE-NDT.txt
2018-11-13 16:58:05 +00:00

151 lines
3.9 KiB
Java

package edu.internet2.ndt;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ResourceBundle;
/**
* Class that defines utility methods used by the NDT code
*/
public class NDTUtils {
/**
* Utility method to print double value up to the hundredth place.
*
* @param paramDblToFormat
* Double numbers to format
* @return String value of double number
*/
public static String prtdbl(double paramDblToFormat) {
String str = null;
int i;
if (paramDblToFormat == 0) {
return ("0");
}
str = Double.toString(paramDblToFormat);
i = str.indexOf(".");
i = i + 3;
if (i > str.length()) {
i = i - 1;
}
if (i > str.length()) {
i = i - 1;
}
return (str.substring(0, i));
} // prtdbl() method ends
/**
* Utility method to print Text values for data speed related keys.
*
* @param paramIntVal
* integer parameter for which we find text value
* @return String Textual name for input parameter
*/
public static String prttxt(int paramIntVal, ResourceBundle paramResBundObj) {
String strNameTxt = null;
switch (paramIntVal) {
case (NDTConstants.DATA_RATE_SYSTEM_FAULT):
strNameTxt = paramResBundObj
.getString(NDTConstants.SYSTEM_FAULT_STR);
break;
case NDTConstants.DATA_RATE_RTT:
strNameTxt = paramResBundObj.getString(NDTConstants.RTT_STR);
break;
case NDTConstants.DATA_RATE_DIAL_UP:
strNameTxt = paramResBundObj.getString(NDTConstants.DIALUP_STR);
break;
case NDTConstants.DATA_RATE_T1:
strNameTxt = NDTConstants.T1_STR;
break;
case NDTConstants.DATA_RATE_ETHERNET:
strNameTxt = NDTConstants.ETHERNET_STR;
break;
case NDTConstants.DATA_RATE_T3:
strNameTxt = NDTConstants.T3_STR;
break;
case NDTConstants.DATA_RATE_FAST_ETHERNET:
strNameTxt = NDTConstants.FAST_ETHERNET;
break;
case NDTConstants.DATA_RATE_OC_12:
strNameTxt = NDTConstants.OC_12_STR;
break;
case NDTConstants.DATA_RATE_GIGABIT_ETHERNET:
strNameTxt = NDTConstants.GIGABIT_ETHERNET_STR;
break;
case NDTConstants.DATA_RATE_OC_48:
strNameTxt = NDTConstants.OC_48_STR;
break;
case NDTConstants.DATA_RATE_10G_ETHERNET:
strNameTxt = NDTConstants.TENGIGABIT_ETHERNET_STR;
break;
} // end switch
return (strNameTxt);
} // prttxt() method ends
/**
* Utility method to check if the given string is empty ("") or null.
*
* @param str
* String to check
* @return true is the given string is empty; otherwise false
*/
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
} // isEmpty() method ends
/**
* Utility method to check if the given string is not empty ("") or null.
*
* @param str
* String to check
* @return true is the given string is not empty; otherwise false
*/
public static boolean isNotEmpty(String str) {
return !isEmpty(str);
} // isNotEmpty() method ends
/**
* Utility method to create mailTo link
*
* @param name
* user identifier
* @param host
* fully qualified domain name
* @param subject
* email subject
* @param body
* email body
* @return created mailTo link with the encoded parameters
*/
public static String mailTo(final String name, final String host,
final String subject, final String body) {
return String.format(
"mailto:%s@%s?subject=%s&body=%s",
new Object[]{
urlEncode(name), urlEncode(host),
urlEncode(subject), urlEncode(body)
}
);
} // mailTo() method ends
/**
* Utility method to encode the given string using UTF-8 encoding
*
* @param str
* String to encode
* @return encoded string with replacing '+' to '%20'
*/
public static String urlEncode(String str) {
try {
return URLEncoder.encode(str, "utf-8").replace("+", "%20");
} catch (UnsupportedEncodingException e) {
throw new IllegalArgumentException(e);
}
} // urlEncode() method ends
}