/**
* Copyright (C) 2009-2012 Barchart, Inc. <http://www.barchart.com/>
*
* All rights reserved. Licensed under the OSI BSD License.
*
* http://www.opensource.org/licenses/bsd-license.php
*/
package demo;
import java.io.File;
import java.net.InetSocketAddress;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestHelp {
private static Logger log = LoggerFactory.getLogger(TestHelp.class);
public static String getProperty(final String name) {
final String value = System.getProperty(name);
if (value == null) {
log.error("property '{}' not defined; terminating", name);
System.exit(1);
}
return value;
}
private static final AtomicInteger portCounter = new AtomicInteger(12345);
public static InetSocketAddress getLocalSocketAddress() {
final InetSocketAddress address = new InetSocketAddress("localhost",
portCounter.getAndIncrement());
log.info("\n\t### allocated address={} ###", address);
return address;
}
static int[] randomIntArray(final int length, final int range) {
final int[] array = new int[length];
final Random generator = new Random();
// for each item in the list
for (int i = 0; i < array.length; i++) {
// create a new random number and populate the
// current location in the list with it
array[i] = generator.nextInt(range);
}
return array;
}
public static void logClassPath() {
final String classPath = System.getProperty("java.class.path");
final String[] entries = classPath.split(File.pathSeparator);
final StringBuilder text = new StringBuilder(1024);
for (final String item : entries) {
text.append("\n\t");
text.append(item);
}
log.info("\n\t[java.class.path]{}", text);
}
public static void logLibraryPath() {
final String classPath = System.getProperty("java.library.path");
final String[] entries = classPath.split(File.pathSeparator);
final StringBuilder text = new StringBuilder(1024);
for (final String item : entries) {
text.append("\n\t");
text.append(item);
}
log.info("\n\t[java.library.path]{}", text);
}
public static void logOsArch() {
final StringBuilder text = new StringBuilder(1024);
text.append("\n\t");
text.append(System.getProperty("os.name"));
text.append("\n\t");
text.append(System.getProperty("os.arch"));
log.info("\n\t[os/arch]{}", text);
}
public static String randomString() {
return "" + System.currentTimeMillis();
}
public static String randomSuffix(final String name) {
return name + "-" + System.currentTimeMillis();
}
}