Fix checkstyle in utils 75/60375/1
authorPamela Dragosh <pdragosh@research.att.com>
Mon, 13 Aug 2018 18:39:43 +0000 (14:39 -0400)
committerPamela Dragosh <pdragosh@research.att.com>
Mon, 13 Aug 2018 18:39:50 +0000 (14:39 -0400)
Cleared all the checkstyle in these 2 submodules.

Issue-ID: POLICY-881
Change-Id: I248e1894aebf549d5a4f8669a6466ec227d40b55
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
28 files changed:
utils-test/src/main/java/org/onap/policy/common/utils/test/ConstructionError.java
utils-test/src/main/java/org/onap/policy/common/utils/test/ErrorsTester.java
utils-test/src/main/java/org/onap/policy/common/utils/test/ExceptionsTester.java
utils-test/src/main/java/org/onap/policy/common/utils/test/ThrowablesTester.java
utils-test/src/main/java/org/onap/policy/common/utils/test/log/logback/ExtractAppender.java
utils-test/src/main/java/org/onap/policy/common/utils/time/TestTime.java
utils-test/src/main/java/org/onap/policy/common/utils/time/TestTimeMulti.java
utils-test/src/test/java/org/onap/policy/common/utils/time/TestTimeMultiTest.java
utils-test/src/test/java/org/onap/policy/common/utils/time/TestTimeTest.java
utils-test/src/test/resources/logback-test.xml
utils/src/main/java/org/onap/policy/common/utils/network/NetworkUtil.java
utils/src/main/java/org/onap/policy/common/utils/properties/PropertyConfiguration.java
utils/src/main/java/org/onap/policy/common/utils/properties/SpecProperties.java
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyAccessException.java
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationException.java
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyException.java
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidException.java
utils/src/main/java/org/onap/policy/common/utils/properties/exception/PropertyMissingException.java
utils/src/main/java/org/onap/policy/common/utils/time/CurrentTime.java
utils/src/test/java/org/onap/policy/common/utils/properties/PropertyConfigurationTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/SpecPropertiesTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/BasicPropertyExceptionTester.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAccessExceptionTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyAnnotationExceptionTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyExceptionTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyInvalidExceptionTest.java
utils/src/test/java/org/onap/policy/common/utils/properties/exception/PropertyMissingExceptionTest.java
utils/src/test/java/org/onap/policy/common/utils/time/CurrentTimeTest.java

index 0ae4fb9..d343857 100644 (file)
@@ -24,35 +24,41 @@ package org.onap.policy.common.utils.test;
  * An error that occurred while trying to construct an object for a junit test.
  */
 public class ConstructionError extends AssertionError {
-       private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-       /**
-        *
-        */
-       public ConstructionError() {
-               super();
-       }
+    /**
+     * Constructor.
+     */
+    public ConstructionError() {
+        super();
+    }
 
-       /**
-        * @param message denotes the error message
-        */
-       public ConstructionError(final String message) {
-               super(message);
-       }
+    /**
+     * Constructor.
+     * 
+     * @param message denotes the error message
+     */
+    public ConstructionError(final String message) {
+        super(message);
+    }
 
-       /**
-        * @param cause denotes the cause of the error
-        */
-       public ConstructionError(final Throwable cause) {
-               super(cause);
-       }
+    /**
+     * Constructor.
+     * 
+     * @param cause denotes the cause of the error
+     */
+    public ConstructionError(final Throwable cause) {
+        super(cause);
+    }
 
-       /**
-        * @param message denotes the error message
-        * @param cause denotes the cause of the error
-        */
-       public ConstructionError(final String message, final Throwable cause) {
-               super(message, cause);
-       }
+    /**
+     * Constructor.
+     * 
+     * @param message denotes the error message
+     * @param cause denotes the cause of the error
+     */
+    public ConstructionError(final String message, final Throwable cause) {
+        super(message, cause);
+    }
 
 }
index e63b073..ab876b6 100644 (file)
@@ -26,23 +26,23 @@ package org.onap.policy.common.utils.test;
  */
 public class ErrorsTester extends ThrowablesTester {
 
-       /**
-        * Runs tests, on an Error subclass, for all of the standard
-        * constructors.If the Error subclass does not support a given
-        * type of constructor, then it skips that test.
-        * Does <i>not</i> throw an exception if no standard constructors
-        * are found.
-        *
-        * @param claz subclass to be tested
-        * @param <T> this needs to be declared
-        *
-        * @return the number of constructors that were found/tested
-        * @throws ConstructionError
-        *             if the Error subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public <T extends Error> int testAllError(final Class<T> claz) {
-               return testAllThrowable(claz);
-       }
+    /**
+     * Runs tests, on an Error subclass, for all of the standard
+     * constructors.If the Error subclass does not support a given
+     * type of constructor, then it skips that test.
+     * Does <i>not</i> throw an exception if no standard constructors
+     * are found.
+     *
+     * @param claz subclass to be tested
+     * @param <T> this needs to be declared
+     *
+     * @return the number of constructors that were found/tested
+     * @throws ConstructionError
+     *             if the Error subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public <T extends Error> int testAllError(final Class<T> claz) {
+        return testAllThrowable(claz);
+    }
 }
index 7208748..f457dd2 100644 (file)
@@ -32,176 +32,176 @@ import java.lang.reflect.Constructor;
  */
 public class ExceptionsTester extends ThrowablesTester {
 
-       /**
-        * Runs tests, on an Exception subclass, for all of the standard
-        * constructors. If the Exception subclass does not support a given
-        * type of constructor, then it skips that test.
-        *
-        * @param claz subclass to be tested
-        * @param <T> Type of the class
-        *
-        * @return the number of constructors that were found/tested
-        * @throws ConstructionError
-        *             if the Exception subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public <T extends Exception> int test(final Class<T> claz) {
-               int ncons = testAllException(claz);
-
-               assertTrue(ncons > 0);
-
-               return ncons;
-       }
-
-       /**
-        * Runs tests, on an Exception subclass, for all of the standard
-        * constructors. If the Exception subclass does not support a given
-        * type of constructor, then it skips that test. Does <i>not</i> throw
-        * an exception if no standard constructors are found.
-        *
-        * @param claz subclass to be tested
-        * @param <T> type of the class
-        *
-        * @return the number of constructors that were found/tested
-        * @throws ConstructionError
-        *             if the Exception subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public <T extends Exception> int testAllException(final Class<T> claz) {
-               int ncons = 0;
-
-               ncons += testAllThrowable(claz);
-               ncons += testException(claz);
-               ncons += testStringException(claz);
-               ncons += testStringExceptionBooleanBoolean(claz);
-
-               return ncons;
-       }
-
-       /**
-        * Tests exceptions created via the constructor that takes just an
-        * Exception. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the cause's message</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * </ul>
-        *
-        * If the Exception subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz subclass to be tested
-        * @param <T> Type of the class
-        *
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Exception subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public <T extends Exception> int testException(final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "exception",
-                               Exception.class);
-
-               if (cons == null) {
-                       return 0;
-               }
-
-               Exception cause = new Exception(EXPECTED_EXCEPTION_MSG);
-               T ex = newInstance(cons, cause);
-
-               assertNotNull(ex.toString());
-               assertEquals(ex.getMessage(), ex.getMessage());
-               assertEquals(cause, ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests exceptions created via the constructor that takes a String
-        * and an Exception. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to
-        * the constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * </ul>
-        *
-        * If the Exception subclass does not support this type of
-        * constructor, then this method simply returns.
-        *
-        * @param claz subclass to be tested
-        * @param <T> Type of the class
-        *
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Exception subclass cannot be constructed
-        */
-       public <T extends Exception> int testStringException(
-                                                final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "string-exception",
-                               String.class, Exception.class);
-               if (cons == null) {
-                       return 0;
-               }
-
-               Exception cause = new Exception(EXPECTED_EXCEPTION_MSG);
-               T ex = newInstance(cons, "world", cause);
-
-               assertNotNull(ex.toString());
-               assertEquals("world", ex.getMessage());
-               assertEquals(cause, ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests exceptions created via the constructor that takes a String, an
-        * Exception, and two booleans. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions can be added, if enabled</li>
-        * <li>the stack trace can be added, if enabled</li>
-        * </ul>
-        *
-        * If the Exception subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz subclass to be tested
-        * @param <T> Type of the class
-        *
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Exception subclass cannot be constructed
-        */
-       public <T extends Exception> int testStringExceptionBooleanBoolean(
-                                                 final Class<T> claz) {
-
-               Constructor<T> cons = getConstructor(claz,
-                "string-exception-flags", String.class, Exception.class,
-                                            Boolean.TYPE, Boolean.TYPE);
-
-               if (cons == null) {
-                       return 0;
-               }
-
-               // test each combination of "message" and "cause"
-               testMessageCauseCombos(cons);
-
-               // test each combination of the boolean flags
-               testFlagCombos(cons);
-
-               return 1;
-       }
+    /**
+     * Runs tests, on an Exception subclass, for all of the standard
+     * constructors. If the Exception subclass does not support a given
+     * type of constructor, then it skips that test.
+     *
+     * @param claz subclass to be tested
+     * @param <T> Type of the class
+     *
+     * @return the number of constructors that were found/tested
+     * @throws ConstructionError
+     *             if the Exception subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public <T extends Exception> int test(final Class<T> claz) {
+        int ncons = testAllException(claz);
+
+        assertTrue(ncons > 0);
+
+        return ncons;
+    }
+
+    /**
+     * Runs tests, on an Exception subclass, for all of the standard
+     * constructors. If the Exception subclass does not support a given
+     * type of constructor, then it skips that test. Does <i>not</i> throw
+     * an exception if no standard constructors are found.
+     *
+     * @param claz subclass to be tested
+     * @param <T> type of the class
+     *
+     * @return the number of constructors that were found/tested
+     * @throws ConstructionError
+     *             if the Exception subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public <T extends Exception> int testAllException(final Class<T> claz) {
+        int ncons = 0;
+
+        ncons += testAllThrowable(claz);
+        ncons += testException(claz);
+        ncons += testStringException(claz);
+        ncons += testStringExceptionBooleanBoolean(claz);
+
+        return ncons;
+    }
+
+    /**
+     * Tests exceptions created via the constructor that takes just an
+     * Exception. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the cause's message</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * </ul>
+     *
+     * <p>If the Exception subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz subclass to be tested
+     * @param <T> Type of the class
+     *
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Exception subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public <T extends Exception> int testException(final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "exception",
+                        Exception.class);
+
+        if (cons == null) {
+            return 0;
+        }
+
+        Exception cause = new Exception(EXPECTED_EXCEPTION_MSG);
+        T ex = newInstance(cons, cause);
+
+        assertNotNull(ex.toString());
+        assertEquals(ex.getMessage(), ex.getMessage());
+        assertEquals(cause, ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests exceptions created via the constructor that takes a String
+     * and an Exception. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to
+     * the constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * </ul>
+     *
+     * <p>If the Exception subclass does not support this type of
+     * constructor, then this method simply returns.
+     *
+     * @param claz subclass to be tested
+     * @param <T> Type of the class
+     *
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Exception subclass cannot be constructed
+     */
+    public <T extends Exception> int testStringException(
+                    final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "string-exception",
+                        String.class, Exception.class);
+        if (cons == null) {
+            return 0;
+        }
+
+        Exception cause = new Exception(EXPECTED_EXCEPTION_MSG);
+        T ex = newInstance(cons, "world", cause);
+
+        assertNotNull(ex.toString());
+        assertEquals("world", ex.getMessage());
+        assertEquals(cause, ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests exceptions created via the constructor that takes a String, an
+     * Exception, and two booleans. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions can be added, if enabled</li>
+     * <li>the stack trace can be added, if enabled</li>
+     * </ul>
+     *
+     * <p>If the Exception subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz subclass to be tested
+     * @param <T> Type of the class
+     *
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Exception subclass cannot be constructed
+     */
+    public <T extends Exception> int testStringExceptionBooleanBoolean(
+                    final Class<T> claz) {
+
+        Constructor<T> cons = getConstructor(claz,
+                        "string-exception-flags", String.class, Exception.class,
+                        Boolean.TYPE, Boolean.TYPE);
+
+        if (cons == null) {
+            return 0;
+        }
+
+        // test each combination of "message" and "cause"
+        testMessageCauseCombos(cons);
+
+        // test each combination of the boolean flags
+        testFlagCombos(cons);
+
+        return 1;
+    }
 }
index c77b781..0fba944 100644 (file)
@@ -37,529 +37,529 @@ import org.slf4j.LoggerFactory;
  */
 public class ThrowablesTester {
 
-       private static Logger logger =
-                          LoggerFactory.getLogger(ThrowablesTester.class);
-
-       public static final String EXPECTED_EXCEPTION_MSG = 
-                                           "expected exception";
-       private static final String EXPECTED_SUPPRESSED_EXCEPTION_MSG =
-                                           "expected suppressed exception";
-
-       /**
-        * Passed as a "cause" to constructors.
-        */
-       public static final Exception CAUSE =
-                                      new Exception(EXPECTED_EXCEPTION_MSG);
-
-       /**
-        * Passed to new objects via the <i>addSuppressed()</i> method..
-        */
-       public static final Throwable SUPPRESSED =
-                            new Throwable(EXPECTED_SUPPRESSED_EXCEPTION_MSG);
-
-       /**
-        * Runs tests, on an Throwable subclass, for all of the
-        * standard constructors. If the Throwable subclass does
-        * not support a given type of constructor, then it skips
-        * that test. Does <i>not</i> throw an exception if no
-        * standard constructors are found.
-        *
-        * @param claz subclass to be tested
-        * @param <T> To be defined
-        * @return the number of constructors that were found/tested
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int testAllThrowable(
-                                                  final Class<T> claz) {
-               int ncons = 0;
-
-               ncons += testDefault(claz);
-               ncons += testString(claz);
-               ncons += testThrowable(claz);
-               ncons += testStringThrowable(claz);
-               ncons += testStringThrowableBooleanBoolean(claz);
-
-               return ncons;
-       }
-
-       /**
-        * Tests Throwable objects created via the default constructor. Verifies
-        * that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns null</li>
-        * <li><i>getCause()</i> returns null</li>
-        * </ul>
-        *
-        * If the Throwable subclass does not support this type of
-        * constructor, then this method simply returns.
-        *
-        * @param claz subclass to be tested
-        * @param <T> to be defined
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int testDefault(
-                                                  final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "default");
-               if (cons == null) {
-                       return 0;
-               }
-
-               T ex = newInstance(cons);
-
-               assertNotNull(ex.toString());
-               assertNull(ex.getMessage());
-               assertNull(ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests Throwable objects created via the constructor that takes just a
-        * String. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns null</li>
-        * </ul>
-        *
-        * If the Throwable subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz
-        *            subclass to be tested
-        * @param <T> to be defined
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int testString(final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "string",
-                                                        String.class);
-               if (cons == null) {
-                       return 0;
-               }
-
-               T ex = newInstance(cons, "hello");
-
-               assertNotNull(ex.toString());
-               assertEquals("hello", ex.getMessage());
-               assertNull(ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests Throwable objects created via the constructor that takes just a
-        * Throwable. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the cause's message</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * </ul>
-        *
-        * If the Throwable subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz
-        *            subclass to be tested
-        * @param <T> to be defined
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int testThrowable(
-                                                   final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "throwable",
-                                                        Throwable.class);
-               if (cons == null) {
-                       return 0;
-               }
-
-               T ex = newInstance(cons, CAUSE);
-
-               assertEquals(ex.getMessage(), ex.getMessage());
-               assertNotNull(ex.toString());
-               assertEquals(CAUSE, ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests Throwable objects created via the constructor that takes
-        * a String and a Throwable. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * </ul>
-        *
-        * If the Throwable subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz subclass to be tested
-        * @param <T> to be defined
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int testStringThrowable(
-                                                  final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz, "string-throwable",
-                                          String.class, Throwable.class);
-               if (cons == null) {
-                       return 0;
-               }
-
-               T ex = newInstance(cons, "world", CAUSE);
-
-               assertNotNull(ex.toString());
-               assertEquals("world", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               return 1;
-       }
-
-       /**
-        * Tests Throwable objects created via the constructor that takes
-        * a String, a Throwable, and two booleans. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions can be added, if enabled</li>
-        * <li>the stack trace can be added, if enabled</li>
-        * </ul>
-        *
-        * If the Throwable subclass does not support this type of constructor,
-        * then this method simply returns.
-        *
-        * @param claz
-        *            subclass to be tested
-        * @param <T> to be defined
-        * @return {@code 1}, if the subclass supports this type of constructor,
-        *         {@code 0} otherwise
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> int
-                             testStringThrowableBooleanBoolean(
-                                                  final Class<T> claz) {
-               Constructor<T> cons = getConstructor(claz,
-                                             "string-throwable-flags",
-                                              String.class, Throwable.class,
-                                              Boolean.TYPE, Boolean.TYPE);
-               if (cons == null) {
-                       return 0;
-               }
-
-               // test each combination of "message" and "cause"
-               testMessageCauseCombos(cons);
-
-               // test each combination of the boolean flags
-               testSuppressStack(cons);
-               testSuppressNoStack(cons);
-               testNoSuppressStack(cons);
-               testNoSuppressNoStack(cons);
-
-               return 1;
-       }
-
-       /**
-        * Tests each combination of values for the "message" and the "cause"
-        * when using the constructor that takes a String,
-        * a Throwable/Exception, and two booleans. Verifies that expected
-        * values are returned
-        * <ul>
-        * <i>toString()</i>,
-        * <i>getMessage()</i>, and <i>getCause()</i>.
-        * </ul>
-        *
-        * @param cons
-        *            constructor to be invoked
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testMessageCauseCombos(
-                                             final Constructor<T> cons) {
-               T ex;
-
-               ex = newInstance(cons, null, null, true, true);
-               assertNotNull(ex.toString());
-               assertNull(ex.getMessage());
-               assertNull(ex.getCause());
-
-               ex = newInstance(cons, "abc", null, true, true);
-               assertNotNull(ex.toString());
-               assertEquals("abc", ex.getMessage());
-               assertNull(ex.getCause());
-
-               ex = newInstance(cons, null, CAUSE, true, true);
-               assertNotNull(ex.toString());
-               assertNull(ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               ex = newInstance(cons, "xyz", CAUSE, true, true);
-               assertNotNull(ex.toString());
-               assertEquals("xyz", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-       }
-
-       /**
-        * Tests each combination of values for the "message" and the
-        * "cause" when using the constructor that takes a String,
-        * a Throwable/Exception, and two booleans. Verifies that
-        * expected values are returned by
-        * <ul>
-        * <i>toString()</i>,
-        * <i>getMessage()</i>, and <i>getCause()</i>.
-        * </ul>
-        *
-        * @param cons
-        *            constructor to be invoked
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testFlagCombos(
-                                       final Constructor<T> cons) {
-               testSuppressStack(cons);
-               testSuppressNoStack(cons);
-               testNoSuppressStack(cons);
-               testNoSuppressNoStack(cons);
-       }
-
-       /**
-        * Tests Throwable objects constructed with
-        * {@code enableSuppression=true} and
-        * {@code writableStackTrace=true}. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions are added</li>
-        * <li>the stack trace is added</li>
-        * </ul>
-        *
-        * @param cons
-        *            the throwable's class constructor
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testSuppressStack(
-                                             final Constructor<T> cons) {
-               T ex = newInstance(cons, "yes,yes", CAUSE, true, true);
-
-               ex.addSuppressed(SUPPRESSED);
-
-               assertNotNull(ex.toString());
-               assertEquals("yes,yes", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               assertEquals(1, ex.getSuppressed().length);
-               assertEquals(SUPPRESSED, ex.getSuppressed()[0]);
-
-               assertTrue(ex.getStackTrace().length > 0);
-       }
-
-       /**
-        * Tests Throwable objects constructed with
-        * {@code enableSuppression=true} and
-        * {@code writableStackTrace=false}. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions are added</li>
-        * <li>the stack trace is <i>not</i> added</li>
-        * </ul>
-        *
-        * @param cons
-        *            the throwable's class constructor
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testSuppressNoStack(
-                                            final Constructor<T> cons) {
-               T ex = newInstance(cons, "yes,no", CAUSE, true, false);
-
-               ex.addSuppressed(SUPPRESSED);
-
-               assertNotNull(ex.toString());
-               assertEquals("yes,no", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               assertEquals(1, ex.getSuppressed().length);
-               assertEquals(SUPPRESSED, ex.getSuppressed()[0]);
-
-               assertEquals(0, ex.getStackTrace().length);
-       }
-
-       /**
-        * Tests Throwable objects constructed with
-        * {@code enableSuppression=false} and
-        * {@code writableStackTrace=true}. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions are <i>not</i> added</li>
-        * <li>the stack trace is added</li>
-        * </ul>
-        *
-        * @param cons
-        *            the throwable's class constructor
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testNoSuppressStack(
-                                            final Constructor<T> cons) {
-               T ex = newInstance(cons, "no,yes", CAUSE, false, true);
-
-               ex.addSuppressed(SUPPRESSED);
-
-               assertNotNull(ex.toString());
-               assertEquals("no,yes", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               assertEquals(0, ex.getSuppressed().length);
-
-               assertTrue(ex.getStackTrace().length > 0);
-       }
-
-       /**
-        * Tests Throwable objects constructed with
-        * {@code enableSuppression=false} and
-        * {@code writableStackTrace=false}. Verifies that:
-        * <ul>
-        * <li><i>toString()</i> returns a non-null value</li>
-        * <li><i>getMessage()</i> returns the original message passed to the
-        * constructor</li>
-        * <li><i>getCause()</i> returns the original cause passed to the
-        * constructor</li>
-        * <li>suppressed exceptions are <i>not</i> added</li>
-        * <li>the stack trace is <i>not</i> added</li>
-        * </ul>
-        * @param cons
-        *            the throwable's class constructor
-        * @param <T> to be defined
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        * @throws AssertionError
-        *             if the constructed objects fail to pass various tests
-        */
-       public final <T extends Throwable> void testNoSuppressNoStack(
-                                            final Constructor<T> cons) {
-               T ex = newInstance(cons, "no,no", CAUSE, false, false);
-
-               ex.addSuppressed(SUPPRESSED);
-
-               assertNotNull(ex.toString());
-               assertEquals("no,no", ex.getMessage());
-               assertEquals(CAUSE, ex.getCause());
-
-               assertEquals(0, ex.getSuppressed().length);
-               assertEquals(0, ex.getStackTrace().length);
-       }
-
-       /**
-        * Attempts to get a constructor for objects of a given type.
-        *
-        * @param claz
-        *            class of objects whose constructor is to be gotten
-        * @param <T> to be defined
-        * @param testType
-        *            type of test being run
-        * @param argTypes
-        *            argument types to be passed to the constructor
-        * @return the desired constructor, or {@code null} if the desired
-        *         constructor is not available
-        */
-       protected <T extends Throwable> Constructor<T> getConstructor(
-                              final Class<T> claz,
-                                  final String testType,
-                                                final Class<?>... argTypes) {
-
-               try {
-                       return claz.getConstructor(argTypes);
-
-               } catch (NoSuchMethodException | SecurityException e) {
-                       // this constructor is not defined so nothing to test
-                       logger.debug("skipped test, no constructor for: "
-                                          + claz + " due to: " + e);
-                       return null;
-               }
-       }
-
-       /**
-        * Creates a new instance of an Throwable subclass.
-        *
-        * @param cons
-        *            subclass constructor
-        * @param <T> to be defined
-        * @param args
-        *            arguments to be passed to the constructor
-        * @return a new instance of the Throwable subclass
-        * @throws ConstructionError
-        *             if the Throwable subclass cannot be constructed
-        */
-       protected <T extends Throwable> T newInstance(
-                                         final Constructor<T> cons,
-                                            final Object... args) {
-               try {
-                       return cons.newInstance(args);
-
-               } catch (InstantiationException | IllegalAccessException
-                               | IllegalArgumentException
-                               | InvocationTargetException e) {
-
-                       throw new ConstructionError(e);
-               }
-
-       }
+    private static Logger logger =
+                    LoggerFactory.getLogger(ThrowablesTester.class);
+
+    public static final String EXPECTED_EXCEPTION_MSG = 
+                    "expected exception";
+    private static final String EXPECTED_SUPPRESSED_EXCEPTION_MSG =
+                    "expected suppressed exception";
+
+    /**
+     * Passed as a "cause" to constructors.
+     */
+    public static final Exception CAUSE =
+                    new Exception(EXPECTED_EXCEPTION_MSG);
+
+    /**
+     * Passed to new objects via the <i>addSuppressed()</i> method..
+     */
+    public static final Throwable SUPPRESSED =
+                    new Throwable(EXPECTED_SUPPRESSED_EXCEPTION_MSG);
+
+    /**
+     * Runs tests, on an Throwable subclass, for all of the
+     * standard constructors. If the Throwable subclass does
+     * not support a given type of constructor, then it skips
+     * that test. Does <i>not</i> throw an exception if no
+     * standard constructors are found.
+     *
+     * @param claz subclass to be tested
+     * @param <T> To be defined
+     * @return the number of constructors that were found/tested
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int testAllThrowable(
+                    final Class<T> claz) {
+        int ncons = 0;
+
+        ncons += testDefault(claz);
+        ncons += testString(claz);
+        ncons += testThrowable(claz);
+        ncons += testStringThrowable(claz);
+        ncons += testStringThrowableBooleanBoolean(claz);
+
+        return ncons;
+    }
+
+    /**
+     * Tests Throwable objects created via the default constructor. Verifies
+     * that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns null</li>
+     * <li><i>getCause()</i> returns null</li>
+     * </ul>
+     *
+     * <p>If the Throwable subclass does not support this type of
+     * constructor, then this method simply returns.
+     *
+     * @param claz subclass to be tested
+     * @param <T> to be defined
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int testDefault(
+                    final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "default");
+        if (cons == null) {
+            return 0;
+        }
+
+        T ex = newInstance(cons);
+
+        assertNotNull(ex.toString());
+        assertNull(ex.getMessage());
+        assertNull(ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests Throwable objects created via the constructor that takes just a
+     * String. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns null</li>
+     * </ul>
+     *
+     * <p>If the Throwable subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz
+     *            subclass to be tested
+     * @param <T> to be defined
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int testString(final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "string",
+                        String.class);
+        if (cons == null) {
+            return 0;
+        }
+
+        T ex = newInstance(cons, "hello");
+
+        assertNotNull(ex.toString());
+        assertEquals("hello", ex.getMessage());
+        assertNull(ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests Throwable objects created via the constructor that takes just a
+     * Throwable. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the cause's message</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * </ul>
+     *
+     * <p>If the Throwable subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz
+     *            subclass to be tested
+     * @param <T> to be defined
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int testThrowable(
+                    final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "throwable",
+                        Throwable.class);
+        if (cons == null) {
+            return 0;
+        }
+
+        T ex = newInstance(cons, CAUSE);
+
+        assertEquals(ex.getMessage(), ex.getMessage());
+        assertNotNull(ex.toString());
+        assertEquals(CAUSE, ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests Throwable objects created via the constructor that takes
+     * a String and a Throwable. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * </ul>
+     *
+     * <p>If the Throwable subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz subclass to be tested
+     * @param <T> to be defined
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int testStringThrowable(
+                    final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz, "string-throwable",
+                        String.class, Throwable.class);
+        if (cons == null) {
+            return 0;
+        }
+
+        T ex = newInstance(cons, "world", CAUSE);
+
+        assertNotNull(ex.toString());
+        assertEquals("world", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        return 1;
+    }
+
+    /**
+     * Tests Throwable objects created via the constructor that takes
+     * a String, a Throwable, and two booleans. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions can be added, if enabled</li>
+     * <li>the stack trace can be added, if enabled</li>
+     * </ul>
+     *
+     * <p>If the Throwable subclass does not support this type of constructor,
+     * then this method simply returns.
+     *
+     * @param claz
+     *            subclass to be tested
+     * @param <T> to be defined
+     * @return {@code 1}, if the subclass supports this type of constructor,
+     *         {@code 0} otherwise
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> int
+        testStringThrowableBooleanBoolean(
+                    final Class<T> claz) {
+        Constructor<T> cons = getConstructor(claz,
+                        "string-throwable-flags",
+                        String.class, Throwable.class,
+                        Boolean.TYPE, Boolean.TYPE);
+        if (cons == null) {
+            return 0;
+        }
+
+        // test each combination of "message" and "cause"
+        testMessageCauseCombos(cons);
+
+        // test each combination of the boolean flags
+        testSuppressStack(cons);
+        testSuppressNoStack(cons);
+        testNoSuppressStack(cons);
+        testNoSuppressNoStack(cons);
+
+        return 1;
+    }
+
+    /**
+     * Tests each combination of values for the "message" and the "cause"
+     * when using the constructor that takes a String,
+     * a Throwable/Exception, and two booleans. Verifies that expected
+     * values are returned
+     * <ul>
+     * <i>toString()</i>,
+     * <i>getMessage()</i>, and <i>getCause()</i>.
+     * </ul>
+     *
+     * @param cons
+     *            constructor to be invoked
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testMessageCauseCombos(
+                    final Constructor<T> cons) {
+        T ex;
+
+        ex = newInstance(cons, null, null, true, true);
+        assertNotNull(ex.toString());
+        assertNull(ex.getMessage());
+        assertNull(ex.getCause());
+
+        ex = newInstance(cons, "abc", null, true, true);
+        assertNotNull(ex.toString());
+        assertEquals("abc", ex.getMessage());
+        assertNull(ex.getCause());
+
+        ex = newInstance(cons, null, CAUSE, true, true);
+        assertNotNull(ex.toString());
+        assertNull(ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        ex = newInstance(cons, "xyz", CAUSE, true, true);
+        assertNotNull(ex.toString());
+        assertEquals("xyz", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+    }
+
+    /**
+     * Tests each combination of values for the "message" and the
+     * "cause" when using the constructor that takes a String,
+     * a Throwable/Exception, and two booleans. Verifies that
+     * expected values are returned by
+     * <ul>
+     * <i>toString()</i>,
+     * <i>getMessage()</i>, and <i>getCause()</i>.
+     * </ul>
+     *
+     * @param cons
+     *            constructor to be invoked
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testFlagCombos(
+                    final Constructor<T> cons) {
+        testSuppressStack(cons);
+        testSuppressNoStack(cons);
+        testNoSuppressStack(cons);
+        testNoSuppressNoStack(cons);
+    }
+
+    /**
+     * Tests Throwable objects constructed with
+     * {@code enableSuppression=true} and
+     * {@code writableStackTrace=true}. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions are added</li>
+     * <li>the stack trace is added</li>
+     * </ul>
+     *
+     * @param cons
+     *            the throwable's class constructor
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testSuppressStack(
+                    final Constructor<T> cons) {
+        T ex = newInstance(cons, "yes,yes", CAUSE, true, true);
+
+        ex.addSuppressed(SUPPRESSED);
+
+        assertNotNull(ex.toString());
+        assertEquals("yes,yes", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        assertEquals(1, ex.getSuppressed().length);
+        assertEquals(SUPPRESSED, ex.getSuppressed()[0]);
+
+        assertTrue(ex.getStackTrace().length > 0);
+    }
+
+    /**
+     * Tests Throwable objects constructed with
+     * {@code enableSuppression=true} and
+     * {@code writableStackTrace=false}. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions are added</li>
+     * <li>the stack trace is <i>not</i> added</li>
+     * </ul>
+     *
+     * @param cons
+     *            the throwable's class constructor
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testSuppressNoStack(
+                    final Constructor<T> cons) {
+        T ex = newInstance(cons, "yes,no", CAUSE, true, false);
+
+        ex.addSuppressed(SUPPRESSED);
+
+        assertNotNull(ex.toString());
+        assertEquals("yes,no", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        assertEquals(1, ex.getSuppressed().length);
+        assertEquals(SUPPRESSED, ex.getSuppressed()[0]);
+
+        assertEquals(0, ex.getStackTrace().length);
+    }
+
+    /**
+     * Tests Throwable objects constructed with
+     * {@code enableSuppression=false} and
+     * {@code writableStackTrace=true}. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions are <i>not</i> added</li>
+     * <li>the stack trace is added</li>
+     * </ul>
+     *
+     * @param cons
+     *            the throwable's class constructor
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testNoSuppressStack(
+                    final Constructor<T> cons) {
+        T ex = newInstance(cons, "no,yes", CAUSE, false, true);
+
+        ex.addSuppressed(SUPPRESSED);
+
+        assertNotNull(ex.toString());
+        assertEquals("no,yes", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        assertEquals(0, ex.getSuppressed().length);
+
+        assertTrue(ex.getStackTrace().length > 0);
+    }
+
+    /**
+     * Tests Throwable objects constructed with
+     * {@code enableSuppression=false} and
+     * {@code writableStackTrace=false}. Verifies that:
+     * <ul>
+     * <li><i>toString()</i> returns a non-null value</li>
+     * <li><i>getMessage()</i> returns the original message passed to the
+     * constructor</li>
+     * <li><i>getCause()</i> returns the original cause passed to the
+     * constructor</li>
+     * <li>suppressed exceptions are <i>not</i> added</li>
+     * <li>the stack trace is <i>not</i> added</li>
+     * </ul>
+     * @param cons
+     *            the throwable's class constructor
+     * @param <T> to be defined
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     * @throws AssertionError
+     *             if the constructed objects fail to pass various tests
+     */
+    public final <T extends Throwable> void testNoSuppressNoStack(
+                    final Constructor<T> cons) {
+        T ex = newInstance(cons, "no,no", CAUSE, false, false);
+
+        ex.addSuppressed(SUPPRESSED);
+
+        assertNotNull(ex.toString());
+        assertEquals("no,no", ex.getMessage());
+        assertEquals(CAUSE, ex.getCause());
+
+        assertEquals(0, ex.getSuppressed().length);
+        assertEquals(0, ex.getStackTrace().length);
+    }
+
+    /**
+     * Attempts to get a constructor for objects of a given type.
+     *
+     * @param claz
+     *            class of objects whose constructor is to be gotten
+     * @param <T> to be defined
+     * @param testType
+     *            type of test being run
+     * @param argTypes
+     *            argument types to be passed to the constructor
+     * @return the desired constructor, or {@code null} if the desired
+     *         constructor is not available
+     */
+    protected <T extends Throwable> Constructor<T> getConstructor(
+                    final Class<T> claz,
+                    final String testType,
+                    final Class<?>... argTypes) {
+
+        try {
+            return claz.getConstructor(argTypes);
+
+        } catch (NoSuchMethodException | SecurityException e) {
+            // this constructor is not defined so nothing to test
+            logger.debug("skipped test, no constructor for: "
+                            + claz + " due to: " + e);
+            return null;
+        }
+    }
+
+    /**
+     * Creates a new instance of an Throwable subclass.
+     *
+     * @param cons
+     *            subclass constructor
+     * @param <T> to be defined
+     * @param args
+     *            arguments to be passed to the constructor
+     * @return a new instance of the Throwable subclass
+     * @throws ConstructionError
+     *             if the Throwable subclass cannot be constructed
+     */
+    protected <T extends Throwable> T newInstance(
+                    final Constructor<T> cons,
+                    final Object... args) {
+        try {
+            return cons.newInstance(args);
+
+        } catch (InstantiationException | IllegalAccessException
+                        | IllegalArgumentException
+                        | InvocationTargetException e) {
+
+            throw new ConstructionError(e);
+        }
+
+    }
 }
index 14bceb4..5ccb13e 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.policy.common.utils.test.log.logback;
 
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.core.AppenderBase;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -28,9 +30,6 @@ import java.util.Queue;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.AppenderBase;
-
 /**
  * This is an appender that is intended for use by JUnit tests that wish to
  * capture logged messages. The appender takes an optional list of regular
@@ -46,147 +45,147 @@ import ch.qos.logback.core.AppenderBase;
  */
 public class ExtractAppender extends AppenderBase<ILoggingEvent> {
 
-       /**
-        * Extracted text is placed here.
-        */
-       private final Queue<String> extracted;
-
-       /**
-        * Regular expressions/Patterns to be used to extract text. Uses a
-        * LinkedHashMap so that order is preserved.
-        */
-       private final LinkedHashMap<String, Pattern> patterns;
-
-       /**
-        * Records every message that is logged.
-        */
-       public ExtractAppender() {
-               this(new LinkedList<>());
-       }
-
-       /**
-        * Records portions of messages that match one of the regular
-        * expressions.
-        *
-        * @param regex
-        *            regular expression (i.e., {@link Pattern}) to match
-        */
-       public ExtractAppender(final String... regex) {
-               this(new LinkedList<>(), regex);
-       }
-
-       /**
-        * Rather than allocating an internal queue to store matched messages,
-        * messages are recorded in the specified target queue using the
-        * {@link Queue#offer(Object)} method. Note: whenever the queue is used,
-        * it will be synchronized to prevent simultaneous accesses.
-        *
-        * @param target - queue into which the matched text should be placed
-        * @param regex regular expression (i.e., {@link Pattern}) to match
-        */
-       public ExtractAppender(final Queue<String> target,
-                                                       final String... regex) {
-               extracted = target;
-               patterns = new LinkedHashMap<>(regex.length);
-
-               for (String re : regex) {
-                       patterns.put(re, Pattern.compile(re));
-               }
-       }
-
-       /*
-        * (non-Javadoc)
-        *
-        * @see ch.qos.logback.core.AppenderBase#append(Object)
-        */
-       @Override
-       protected void append(final ILoggingEvent event) {
-
-               String msg = event.getMessage();
-
-               synchronized (patterns) {
-                       if (patterns.isEmpty()) {
-                               addExtraction(msg);
-                               return;
-                       }
-
-                       for (Pattern p : patterns.values()) {
-                               Matcher m = p.matcher(msg);
-
-                               if (m.find()) {
-                                       addGroupMatch(m);
-                                       break;
-                               }
-                       }
-               }
-       }
-
-       /**
-        * Adds the first match group to {@link #extracted}.
-        *
-        * @param mat the matcher containing the groups
-        *
-        */
-       private void addGroupMatch(final Matcher mat) {
-               int ngroups = mat.groupCount();
-
-               for (int x = 1; x <= ngroups; ++x) {
-                       String txt = mat.group(x);
-
-                       if (txt != null) {
-                               addExtraction(txt);
-                               return;
-                       }
-               }
-
-               addExtraction(mat.group());
-       }
-
-       /**
-        * Adds an item to {@link #extracted}, in a thread-safe manner.
-        * It uses the queue's <i>offer()</i> method so that the queue
-        * can discard the item if it so chooses, without generating
-        * an exception.
-        *
-        * @param txt
-        *            text to be added
-        */
-       private void addExtraction(final String txt) {
-               synchronized (extracted) {
-                       extracted.offer(txt);
-               }
-       }
-
-       /**
-        * Gets the text that has been extracted.
-        *
-        * @return a copy of the text that has been extracted
-        */
-       public List<String> getExtracted() {
-               synchronized (extracted) {
-                       return new ArrayList<>(extracted);
-               }
-       }
-
-       /**
-        * Clears the list of extracted text.
-        */
-       public void clearExtractions() {
-               synchronized (extracted) {
-                       extracted.clear();
-               }
-       }
-
-       /**
-        * Adds a pattern to be matched by this appender.
-        *
-        * @param regex
-        *            regular expression (i.e., {@link Pattern}) to match
-        */
-       public void setPattern(final String regex) {
-               synchronized (patterns) {
-                       patterns.put(regex, Pattern.compile(regex));
-               }
-       }
+    /**
+     * Extracted text is placed here.
+     */
+    private final Queue<String> extracted;
+
+    /**
+     * Regular expressions/Patterns to be used to extract text. Uses a
+     * LinkedHashMap so that order is preserved.
+     */
+    private final LinkedHashMap<String, Pattern> patterns;
+
+    /**
+     * Records every message that is logged.
+     */
+    public ExtractAppender() {
+        this(new LinkedList<>());
+    }
+
+    /**
+     * Records portions of messages that match one of the regular
+     * expressions.
+     *
+     * @param regex
+     *            regular expression (i.e., {@link Pattern}) to match
+     */
+    public ExtractAppender(final String... regex) {
+        this(new LinkedList<>(), regex);
+    }
+
+    /**
+     * Rather than allocating an internal queue to store matched messages,
+     * messages are recorded in the specified target queue using the
+     * {@link Queue#offer(Object)} method. Note: whenever the queue is used,
+     * it will be synchronized to prevent simultaneous accesses.
+     *
+     * @param target - queue into which the matched text should be placed
+     * @param regex regular expression (i.e., {@link Pattern}) to match
+     */
+    public ExtractAppender(final Queue<String> target,
+                    final String... regex) {
+        extracted = target;
+        patterns = new LinkedHashMap<>(regex.length);
+
+        for (String re : regex) {
+            patterns.put(re, Pattern.compile(re));
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see ch.qos.logback.core.AppenderBase#append(Object)
+     */
+    @Override
+    protected void append(final ILoggingEvent event) {
+
+        String msg = event.getMessage();
+
+        synchronized (patterns) {
+            if (patterns.isEmpty()) {
+                addExtraction(msg);
+                return;
+            }
+
+            for (Pattern p : patterns.values()) {
+                Matcher matcher = p.matcher(msg);
+
+                if (matcher.find()) {
+                    addGroupMatch(matcher);
+                    break;
+                }
+            }
+        }
+    }
+
+    /**
+     * Adds the first match group to {@link #extracted}.
+     *
+     * @param mat the matcher containing the groups
+     *
+     */
+    private void addGroupMatch(final Matcher mat) {
+        int ngroups = mat.groupCount();
+
+        for (int x = 1; x <= ngroups; ++x) {
+            String txt = mat.group(x);
+
+            if (txt != null) {
+                addExtraction(txt);
+                return;
+            }
+        }
+
+        addExtraction(mat.group());
+    }
+
+    /**
+     * Adds an item to {@link #extracted}, in a thread-safe manner.
+     * It uses the queue's <i>offer()</i> method so that the queue
+     * can discard the item if it so chooses, without generating
+     * an exception.
+     *
+     * @param txt
+     *            text to be added
+     */
+    private void addExtraction(final String txt) {
+        synchronized (extracted) {
+            extracted.offer(txt);
+        }
+    }
+
+    /**
+     * Gets the text that has been extracted.
+     *
+     * @return a copy of the text that has been extracted
+     */
+    public List<String> getExtracted() {
+        synchronized (extracted) {
+            return new ArrayList<>(extracted);
+        }
+    }
+
+    /**
+     * Clears the list of extracted text.
+     */
+    public void clearExtractions() {
+        synchronized (extracted) {
+            extracted.clear();
+        }
+    }
+
+    /**
+     * Adds a pattern to be matched by this appender.
+     *
+     * @param regex
+     *            regular expression (i.e., {@link Pattern}) to match
+     */
+    public void setPattern(final String regex) {
+        synchronized (patterns) {
+            patterns.put(regex, Pattern.compile(regex));
+        }
+    }
 
 }
index 3dfed4b..414c18b 100644 (file)
@@ -36,7 +36,8 @@ public class TestTime extends CurrentTime {
     private AtomicLong tcur = new AtomicLong(System.currentTimeMillis());
 
     /**
-     * 
+     *  Constructor.
+     *  
      */
     public TestTime() {
         super();
index 7a8277c..2782eb7 100644 (file)
@@ -56,6 +56,7 @@ public class TestTimeMulti extends CurrentTime {
     private final Object locker = new Object();
 
     /**
+     * Constructor.
      * 
      * @param nthreads number of threads that will be sleeping simultaneously
      */
@@ -122,7 +123,7 @@ public class TestTimeMulti extends CurrentTime {
      */
     private void wakeThreads() {
         Info info = queue.poll();
-        if(info == null) {
+        if (info == null) {
             return;
         }
 
@@ -157,6 +158,8 @@ public class TestTimeMulti extends CurrentTime {
         private final CountDownLatch latch = new CountDownLatch(1);
 
         /**
+         * Constructor.
+         * 
          * @param awakenAtMs time, in milliseconds, at which the associated thread should
          *        awaken
          */
@@ -179,20 +182,20 @@ public class TestTimeMulti extends CurrentTime {
          * Blocks the current thread until awakened (i.e., until its latch is
          * decremented).
          * 
-         * @throws InterruptedException
+         * @throws InterruptedException can be interrupted
          */
         public void await() throws InterruptedException {
             latch.await();
         }
 
         @Override
-        public int compareTo(Info o) {
-            int diff = Long.compare(awakenAtMs, o.awakenAtMs);
+        public int compareTo(Info object) {
+            int diff = Long.compare(awakenAtMs, object.awakenAtMs);
 
             // this assumes that Object.toString() is unique for each Info object
-            if (diff == 0)
-                diff = this.toString().compareTo(o.toString());
-
+            if (diff == 0) {
+                diff = this.toString().compareTo(object.toString());
+            }
             return diff;
         }
 
index 206ab5f..311e276 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.common.utils.time;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Semaphore;
@@ -29,7 +30,7 @@ import java.util.concurrent.TimeUnit;
 import org.junit.Test;
 
 /**
- * 
+ * Class to test TestTimeMulti.
  */
 public class TestTimeMultiTest {
 
@@ -46,7 +47,7 @@ public class TestTimeMultiTest {
         ttm = new TestTimeMulti(NTHREADS);
         done = new Semaphore(0);
 
-        long tbeg = ttm.getMillis();
+        final long tbeg = ttm.getMillis();
 
         // create threads
         List<MyThread> threads = new ArrayList<>(NTHREADS);
index 1208665..3e7897e 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.common.utils.time;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 
 public class TestTimeTest {
@@ -31,7 +32,7 @@ public class TestTimeTest {
         TestTime tm = new TestTime();
         TestTime tm2 = new TestTime();
 
-        long treal = System.currentTimeMillis();
+        final long treal = System.currentTimeMillis();
 
         long tcur = tm.getMillis();
         assertEquals(tcur, tm.getDate().getTime());
index c99cd4a..a5d46f8 100644 (file)
 
 <configuration>
 
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-               <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-                       <Pattern>
-                               %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
-                       </Pattern>
-               </encoder>
      </appender>
-       
      <root level="debug">
-               <appender-ref ref="STDOUT" />
      </root>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+  <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+   <Pattern>
+    %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
+   </Pattern>
+  </encoder>
+ </appender>
+
+ <root level="debug">
+  <appender-ref ref="STDOUT" />
+ </root>
 
 </configuration>
index c9afa19..ae70ba4 100644 (file)
@@ -30,14 +30,14 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Network Utilities
+ * Network Utilities.
  */
 public class NetworkUtil {
 
     public static final Logger logger = LoggerFactory.getLogger(NetworkUtil.class.getName());
 
     /**
-     * IPv4 Wildcard IP address
+     * IPv4 Wildcard IP address.
      */
     public static final String IPv4_WILDCARD_ADDRESS = "0.0.0.0";
 
@@ -73,7 +73,7 @@ public class NetworkUtil {
     }
 
     /**
-     * gets host name
+     * Gets host name.
      *
      * @return host name
      */
@@ -95,7 +95,7 @@ public class NetworkUtil {
     }
 
     /**
-     * gets host's IP
+     * Gets host's IP.
      *
      * @return host IP
      */
index e72ebab..653fe48 100644 (file)
@@ -41,8 +41,8 @@ import org.onap.policy.common.utils.properties.exception.PropertyMissingExceptio
  * subclass. The values of the fields are set via <i>setXxx()</i> methods. As a result, if
  * a field is annotated and there is no corresponding <i>setXxx()</i> method, then an
  * exception will be thrown.
- * <p>
- * It is possible that an invalid <i>defaultValue</i> is specified via the
+ * 
+ * <p>It is possible that an invalid <i>defaultValue</i> is specified via the
  * {@link Property} annotation. This could remain undetected until an optional property is
  * left out of the {@link Properties}. Consequently, this class will always validate a
  * {@link Property}'s default value, if the <i>defaultValue</i> is not empty or if
@@ -119,23 +119,6 @@ public class PropertyConfiguration {
         throw new PropertyAccessException(prop.name(), field.getName(), "unsupported field type");
     }
 
-    /**
-     * @param field field whose value is to be set
-     * @param prop property of interest
-     * @return the method to be used to set the field's value
-     * @throws PropertyAccessException if a "set" method cannot be identified
-     */
-    private Method getSetter(Field field, Property prop) throws PropertyAccessException {
-        String nm = "set" + StringUtils.capitalize(field.getName());
-
-        try {
-            return this.getClass().getMethod(nm, field.getType());
-
-        } catch (NoSuchMethodException | SecurityException e) {
-            throw new PropertyAccessException(prop.name(), nm, e);
-        }
-    }
-
     /**
      * Sets a field's value from a particular property.
      * 
@@ -166,6 +149,25 @@ public class PropertyConfiguration {
         }
     }
 
+    /**
+     * Get the setter.
+     * 
+     * @param field field whose value is to be set
+     * @param prop property of interest
+     * @return the method to be used to set the field's value
+     * @throws PropertyAccessException if a "set" method cannot be identified
+     */
+    private Method getSetter(Field field, Property prop) throws PropertyAccessException {
+        String nm = "set" + StringUtils.capitalize(field.getName());
+
+        try {
+            return this.getClass().getMethod(nm, field.getType());
+
+        } catch (NoSuchMethodException | SecurityException e) {
+            throw new PropertyAccessException(prop.name(), nm, e);
+        }
+    }
+
     /**
      * Gets a property value, coercing it to the field's type.
      * 
index 0f416c3..17009a8 100644 (file)
@@ -39,6 +39,7 @@ public class SpecProperties extends Properties {
     private final String specPrefix;
 
     /**
+     * Constructor.
      * 
      * @param prefix the property name prefix that appears before any specialization, may
      *        be ""
@@ -50,6 +51,7 @@ public class SpecProperties extends Properties {
     }
 
     /**
+     * Constructor.
      * 
      * @param prefix the property name prefix that appears before any specialization, may
      *        be ""
index 568a8a7..b416cd0 100644 (file)
@@ -28,6 +28,7 @@ public class PropertyAccessException extends PropertyException {
     private static final long serialVersionUID = 1L;
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -37,6 +38,7 @@ public class PropertyAccessException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -47,6 +49,7 @@ public class PropertyAccessException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -57,6 +60,7 @@ public class PropertyAccessException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
index 2803ddf..f068e15 100644 (file)
@@ -27,6 +27,7 @@ public class PropertyAnnotationException extends PropertyException {
     private static final long serialVersionUID = 1L;
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -36,6 +37,7 @@ public class PropertyAnnotationException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -46,6 +48,7 @@ public class PropertyAnnotationException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -56,6 +59,7 @@ public class PropertyAnnotationException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
index 8df4fb8..44edd42 100644 (file)
@@ -37,6 +37,7 @@ public class PropertyException extends Exception {
     private final String fieldName;
 
     /**
+     * Constructor.
      * 
      * @param propName name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -49,6 +50,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -62,6 +64,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -75,6 +78,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -89,6 +93,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Get the property name.
      * 
      * @return name of the property for which the exception was thrown, or {@code null} if
      *         no name was provided
@@ -98,6 +103,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Get the field name.
      * 
      * @return name of the field for which the exception was thrown, or {@code null} if no
      *         field was provided
@@ -107,6 +113,8 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Make the message.
+     * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
      * @param message error message, never {@code null}
@@ -117,6 +125,7 @@ public class PropertyException extends Exception {
     }
 
     /**
+     * Make the message.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
index da1b6ae..aad4431 100644 (file)
@@ -28,6 +28,7 @@ public class PropertyInvalidException extends PropertyException {
     private static final long serialVersionUID = 1L;
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -37,6 +38,7 @@ public class PropertyInvalidException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -47,6 +49,7 @@ public class PropertyInvalidException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
@@ -57,6 +60,7 @@ public class PropertyInvalidException extends PropertyException {
     }
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
index de542e6..ccbe5f9 100644 (file)
@@ -27,6 +27,7 @@ public class PropertyMissingException extends PropertyException {
     private static final long serialVersionUID = 1L;
 
     /**
+     * Constructor.
      * 
      * @param propnm name of the property causing the exception, or {@code null}
      * @param fieldName name of the field causing the exception, or {@code null}
index cab469e..857b69b 100644 (file)
@@ -29,6 +29,7 @@ import java.util.Date;
 public class CurrentTime {
 
     /**
+     * Constructor.
      * 
      */
     public CurrentTime() {
@@ -36,6 +37,8 @@ public class CurrentTime {
     }
 
     /**
+     * Get the millisecond time.
+     * 
      * @return the current time, in milliseconds
      */
     public long getMillis() {
@@ -43,6 +46,8 @@ public class CurrentTime {
     }
 
     /**
+     * Get the current date.
+     * 
      * @return the current Date
      */
     public Date getDate() {
@@ -53,7 +58,7 @@ public class CurrentTime {
      * Sleeps for a period of time.
      * 
      * @param sleepMs amount of time to sleep, in milliseconds
-     * @throws InterruptedException
+     * @throws InterruptedException can be interrupted
      */
     public void sleep(long sleepMs) throws InterruptedException {
         Thread.sleep(sleepMs);
index 121ae38..dbe04ae 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.common.utils.properties;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
+
 import java.lang.reflect.Field;
 import java.util.Properties;
 import org.junit.Before;
@@ -32,7 +33,7 @@ import org.onap.policy.common.utils.properties.exception.PropertyInvalidExceptio
 import org.onap.policy.common.utils.properties.exception.PropertyMissingException;
 
 /**
- * 
+ * Test class for PropertyConfiguration.
  */
 public class PropertyConfigurationTest {
 
@@ -100,7 +101,7 @@ public class PropertyConfigurationTest {
             public void setGrandparentValue(boolean grandparentValue) {
                 this.grandparentValue = grandparentValue;
             }
-        };
+        }
 
         /*
          * Implements the extra interface, too.
@@ -114,7 +115,7 @@ public class PropertyConfigurationTest {
             public void setParentValue(long parentValue) {
                 this.parentValue = parentValue;
             }
-        };
+        }
 
         class Config extends ParentConfig {
 
@@ -125,10 +126,10 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
 
-        Config cfg = new Config();
+        final Config cfg = new Config();
 
         // try one set of values
         props.setProperty(THE_VALUE, STRING_VALUE);
@@ -162,7 +163,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
 
         Config cfg = new Config();
@@ -195,7 +196,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         Config cfg = new Config(props);
@@ -219,7 +220,7 @@ public class PropertyConfigurationTest {
             public void setValue(Exception value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         new Config(props);
@@ -235,7 +236,7 @@ public class PropertyConfigurationTest {
             public Config(Properties props) throws PropertyException {
                 super(props);
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         new Config(props);
@@ -262,7 +263,7 @@ public class PropertyConfigurationTest {
             protected Object getValue(Field field, Properties props, Property prop) throws PropertyException {
                 return Boolean.TRUE;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -279,7 +280,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 throw new IllegalArgumentException("expected exception");
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         new Config(props);
@@ -410,7 +411,7 @@ public class PropertyConfigurationTest {
             public void setPrimLongValue(long primLongValue) {
                 this.primLongValue = primLongValue;
             }
-        };
+        }
 
         props.setProperty("string", "a string");
         props.setProperty("boolean.true", "true");
@@ -451,7 +452,7 @@ public class PropertyConfigurationTest {
             public void setValue(Exception value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         new Config(props);
@@ -489,7 +490,7 @@ public class PropertyConfigurationTest {
             public void setProtectedString(String protectedString) {
                 this.protectedString = protectedString;
             }
-        };
+        }
 
         props.setProperty("public", "a public string");
         props.setProperty("private", "a private string");
@@ -519,7 +520,7 @@ public class PropertyConfigurationTest {
             public Config(Properties props) throws PropertyException {
                 super(props);
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         new Config(props);
@@ -562,7 +563,7 @@ public class PropertyConfigurationTest {
             public void setValue(Boolean value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "true");
         new Config(props);
@@ -583,7 +584,7 @@ public class PropertyConfigurationTest {
             public void setValue(Boolean value) {
                 this.value = value;
             }
-        };
+        }
 
         // property not defined
         Config cfg = new Config(props);
@@ -615,7 +616,7 @@ public class PropertyConfigurationTest {
             public void setValue(Boolean value) {
                 this.value = value;
             }
-        };
+        }
 
         // property not defined
         Config cfg = new Config(props);
@@ -647,7 +648,7 @@ public class PropertyConfigurationTest {
             public void setValue(Integer value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "200");
         Config cfg = new Config(props);
@@ -670,7 +671,7 @@ public class PropertyConfigurationTest {
             public void setValue(Integer value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "200");
         new Config(props);
@@ -691,7 +692,7 @@ public class PropertyConfigurationTest {
             public void setValue(Integer value) {
                 this.value = value;
             }
-        };
+        }
 
         // property not defined
         Config cfg = new Config(props);
@@ -718,7 +719,7 @@ public class PropertyConfigurationTest {
             public void setValue(Long value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "20000");
         Config cfg = new Config(props);
@@ -741,7 +742,7 @@ public class PropertyConfigurationTest {
             public void setValue(Long value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "20000");
         new Config(props);
@@ -762,7 +763,7 @@ public class PropertyConfigurationTest {
             public void setValue(Long value) {
                 this.value = value;
             }
-        };
+        }
 
         // property not defined
         Config cfg = new Config(props);
@@ -797,7 +798,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, STRING_VALUE);
         Config cfg = new Config(props);
@@ -820,7 +821,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         props.setProperty(THE_VALUE, "");
         Config cfg = new Config(props);
@@ -843,7 +844,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -865,7 +866,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -887,7 +888,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -907,7 +908,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -926,7 +927,7 @@ public class PropertyConfigurationTest {
             protected String getRawPropertyValue(Properties props, String propnm) {
                 return STRING_VALUE;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -1005,7 +1006,7 @@ public class PropertyConfigurationTest {
             public void setValue(long value) {
                 this.value = value;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -1027,7 +1028,7 @@ public class PropertyConfigurationTest {
             public void setValue(long value) {
                 this.value = value;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -1047,7 +1048,7 @@ public class PropertyConfigurationTest {
             public void setValue(long value) {
                 this.value = value;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -1067,7 +1068,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         // missing property - should default to ""
         Config cfg = new Config(props);
@@ -1099,7 +1100,7 @@ public class PropertyConfigurationTest {
             public void setValue(long value) {
                 this.value = value;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -1119,7 +1120,7 @@ public class PropertyConfigurationTest {
             public void setValue(String value) {
                 this.value = value;
             }
-        };
+        }
 
         Config cfg = new Config(props);
 
@@ -1141,7 +1142,7 @@ public class PropertyConfigurationTest {
             public void setValue(long value) {
                 this.value = value;
             }
-        };
+        }
 
         new Config(props);
     }
@@ -1169,7 +1170,7 @@ public class PropertyConfigurationTest {
         public void setValue(String value) {
             this.value = value;
         }
-    };
+    }
 
     /**
      * Config with a Boolean value having no qualifiers.
@@ -1186,7 +1187,7 @@ public class PropertyConfigurationTest {
         public void setValue(Boolean value) {
             this.value = value;
         }
-    };
+    }
 
     /**
      * Config with an int value having no qualifiers.
@@ -1203,7 +1204,7 @@ public class PropertyConfigurationTest {
         public void setValue(int value) {
             this.value = value;
         }
-    };
+    }
 
     /**
      * Config with a long value having no qualifiers.
@@ -1220,7 +1221,7 @@ public class PropertyConfigurationTest {
         public void setValue(long value) {
             this.value = value;
         }
-    };
+    }
 
     /**
      * A config whose field is "static".
@@ -1238,7 +1239,7 @@ public class PropertyConfigurationTest {
         public static void setValue(String value) {
             StaticPropConfig.value = value;
         }
-    };
+    }
 
     /**
      * A config whose method is "static".
@@ -1256,7 +1257,7 @@ public class PropertyConfigurationTest {
         public static void setValue(String value) {
             
         }
-    };
+    }
 
     /**
      * This is just used as a mix-in to ensure that the configuration ignores interfaces.
index 01f096d..0e4216c 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.common.utils.properties;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
+
 import java.util.Properties;
 import org.junit.Before;
 import org.junit.Test;
@@ -78,6 +79,9 @@ public class SpecPropertiesTest {
     private Properties supportingProps;
     private SpecProperties props;
 
+    /**
+     * Set up the tests.
+     */
     @Before
     public void setUp() {
         supportingProps = new Properties();
index 1e5fcfc..c972e64 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.policy.common.utils.properties.exception;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
+
 import org.hamcrest.CoreMatchers;
 
 /**
index 304df9d..57581d9 100644 (file)
@@ -23,12 +23,14 @@ package org.onap.policy.common.utils.properties.exception;
 import org.junit.Test;
 
 /**
- * 
+ * Test class for PropertyAccessException.
  */
 public class PropertyAccessExceptionTest extends BasicPropertyExceptionTester {
 
     /**
-     * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String)}.
+     * Test method for 
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException
+     * (java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyAccessExceptionStringField() {
@@ -39,7 +41,9 @@ public class PropertyAccessExceptionTest extends BasicPropertyExceptionTester {
     }
 
     /**
-     * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.String)}.
+     * Test method for 
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException
+     * (java.lang.String, java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyAccessExceptionStringFieldString() {
@@ -47,7 +51,9 @@ public class PropertyAccessExceptionTest extends BasicPropertyExceptionTester {
     }
 
     /**
-     * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * Test method for 
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException
+     * (java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyAccessExceptionStringFieldThrowable() {
@@ -55,7 +61,9 @@ public class PropertyAccessExceptionTest extends BasicPropertyExceptionTester {
     }
 
     /**
-     * Test method for {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * Test method for 
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyAccessException#PropertyAccessException
+     * (java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyAccessExceptionStringFieldStringThrowable() {
index 2c03308..934ca02 100644 (file)
@@ -23,13 +23,14 @@ package org.onap.policy.common.utils.properties.exception;
 import org.junit.Test;
 
 /**
- * 
+ *  Test class for PropertyAnnotationException.
  */
 public class PropertyAnnotationExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringField() {
@@ -41,7 +42,8 @@ public class PropertyAnnotationExceptionTest extends BasicPropertyExceptionTeste
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringFieldString() {
@@ -50,7 +52,8 @@ public class PropertyAnnotationExceptionTest extends BasicPropertyExceptionTeste
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldThrowable() {
@@ -59,7 +62,8 @@ public class PropertyAnnotationExceptionTest extends BasicPropertyExceptionTeste
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldStringThrowable() {
index 18186ba..a0d4645 100644 (file)
@@ -23,13 +23,14 @@ package org.onap.policy.common.utils.properties.exception;
 import org.junit.Test;
 
 /**
- * 
+ * Test class for PropertyException.
  */
 public class PropertyExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringField() {
@@ -41,7 +42,8 @@ public class PropertyExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringFieldString() {
@@ -50,7 +52,8 @@ public class PropertyExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldThrowable() {
@@ -59,7 +62,8 @@ public class PropertyExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldStringThrowable() {
index f83b7ed..ce7be10 100644 (file)
@@ -23,13 +23,14 @@ package org.onap.policy.common.utils.properties.exception;
 import org.junit.Test;
 
 /**
- * 
+ * Test class for PropertyInvalidException.
  */
 public class PropertyInvalidExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringField() {
@@ -41,7 +42,8 @@ public class PropertyInvalidExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringFieldString() {
@@ -50,7 +52,8 @@ public class PropertyInvalidExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldThrowable() {
@@ -59,7 +62,8 @@ public class PropertyInvalidExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable)}.
      */
     @Test
     public void testPropertyExceptionStringFieldStringThrowable() {
index f99ddd9..320a0c2 100644 (file)
@@ -23,13 +23,14 @@ package org.onap.policy.common.utils.properties.exception;
 import org.junit.Test;
 
 /**
- * 
+ * Test class for PropertyMissingException.
  */
 public class PropertyMissingExceptionTest extends BasicPropertyExceptionTester {
 
     /**
      * Test method for
-     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException(java.lang.String, java.lang.String)}.
+     * {@link org.onap.policy.common.utils.properties.exception.PropertyException#PropertyException
+     * (java.lang.String, java.lang.String)}.
      */
     @Test
     public void testPropertyExceptionStringField() {
index 694a3d2..499372a 100644 (file)
@@ -21,6 +21,7 @@
 package org.onap.policy.common.utils.time;
 
 import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 
 public class CurrentTimeTest {