Should the ClockFactory debug statement not be this?

LOGGER.debug("Using {} for timestamps", result.getClass().getName());

I'm assuming that Loader.newCheckedInstanceOf returns an instance of the
2nd param if it can't instantiate the 1st param. (Away from PC).

Sent from my iPhone

On Tuesday, April 15, 2014, <[email protected]> wrote:

> Author: mattsicker
> Date: Tue Apr 15 05:55:06 2014
> New Revision: 1587433
>
> URL: http://svn.apache.org/r1587433
> Log:
> Use Loader.newCheckedInstanceOf
>
> Modified:
>
> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java
>
> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java
>
> Modified:
> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java
> URL:
> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java?rev=1587433&r1=1587432&r2=1587433&view=diff
>
> ==============================================================================
> ---
> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java
> (original)
> +++
> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java
> Tue Apr 15 05:55:06 2014
> @@ -75,7 +75,7 @@ public final class ClockFactory {
>              return CoarseCachedClock.instance();
>          }
>          try {
> -            final Clock result = (Clock)
> Class.forName(userRequest).newInstance();
> +            final Clock result = Loader.newCheckedInstanceOf(userRequest,
> Clock.class);
>              LOGGER.debug("Using {} for timestamps", userRequest);
>              return result;
>          } catch (final Exception e) {
>
> Modified:
> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java
> URL:
> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java?rev=1587433&r1=1587432&r2=1587433&view=diff
>
> ==============================================================================
> ---
> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java
> (original)
> +++
> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java
> Tue Apr 15 05:55:06 2014
> @@ -20,6 +20,7 @@ import java.io.FileWriter;
>  import java.io.IOException;
>
>  import com.lmax.disruptor.collections.Histogram;
> +import org.apache.logging.log4j.core.helpers.Loader;
>
>  public class PerfTest {
>
> @@ -66,8 +67,7 @@ public class PerfTest {
>
>      public void doMain(final String[] args) throws Exception {
>          final String runnerClass = args[0];
> -        final IPerfTestRunner runner = (IPerfTestRunner)
> Class.forName(runnerClass)
> -                .newInstance();
> +        final IPerfTestRunner runner =
> Loader.newCheckedInstanceOf(runnerClass, IPerfTestRunner.class);
>          final String name = args[1];
>          final String resultFile = args.length > 2 ? args[2] : null;
>          for (final String arg : args) {
> @@ -140,9 +140,12 @@ public class PerfTest {
>
>          if (file != null) {
>              final FileWriter writer = new FileWriter(file, true);
> -            writer.write(result);
> -            writer.write(System.getProperty("line.separator"));
> -            writer.close();
> +            try {
> +                writer.write(result);
> +                writer.write(System.getProperty("line.separator"));
> +            } finally {
> +                writer.close();
> +            }
>          }
>      }
>
>
>
>

Reply via email to