You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Gary Gregory <ga...@gmail.com> on 2014/10/05 02:06:43 UTC

Fwd: [3/3] git commit: Add more type safety.

-1. This is backwards:

-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Font;
+import java.awt.*;

We do _not_ want * imports for normal imports, only for special cases like
static imports of JUnit Assert methods.

Gary

---------- Forwarded message ----------
From: <ma...@apache.org>
Date: Sat, Oct 4, 2014 at 7:55 PM
Subject: [3/3] git commit: Add more type safety.
To: commits@logging.apache.org


Add more type safety.


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit:
http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/85f586c9
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/85f586c9
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/85f586c9

Branch: refs/heads/master
Commit: 85f586c99514cf5bc73586d2d078fe0237581ad7
Parents: 16045e6
Author: Matt Sicker <ma...@apache.org>
Authored: Sat Oct 4 18:55:28 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Sat Oct 4 18:55:28 2014 -0500

----------------------------------------------------------------------
 .../apache/logging/log4j/jmx/gui/ClientGui.java | 22 +++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85f586c9/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
----------------------------------------------------------------------
diff --git
a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
index 0215fb5..b36cc67 100644
---
a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
+++
b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
@@ -16,17 +16,14 @@
  */
 package org.apache.logging.log4j.jmx.gui;

-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Font;
+import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.HashMap;
 import java.util.Map;
-
+import java.util.Properties;
 import javax.management.InstanceNotFoundException;
 import javax.management.JMException;
 import javax.management.ListenerNotFoundException;
@@ -177,7 +174,12 @@ public class ClientGui extends JPanel implements
NotificationListener {

     private void handleNotificationInAwtEventThread(final Notification
notif, final Object paramObject) {
         if
(StatusLoggerAdminMBean.NOTIF_TYPE_MESSAGE.equals(notif.getType())) {
-            final JTextArea text = statusLogTextAreaMap.get(paramObject);
+            if (!(paramObject instanceof ObjectName)) {
+                handle("Invalid notification object type", new
ClassCastException(paramObject.getClass().getName()));
+                return;
+            }
+            final ObjectName param = (ObjectName) paramObject;
+            final JTextArea text = statusLogTextAreaMap.get(param);
             if (text != null) {
                 text.append(notif.getMessage() + '\n');
             }
@@ -258,10 +260,10 @@ public class ClientGui extends JPanel implements
NotificationListener {
             serviceUrl = "service:jmx:rmi:///jndi/rmi://" + args[0] +
"/jmxrmi";
         }
         final JMXServiceURL url = new JMXServiceURL(serviceUrl);
-        final Map<String, String> paramMap = new HashMap<String, String>();
-        for (final Object objKey : System.getProperties().keySet()) {
-            final String key = (String) objKey;
-            paramMap.put(key, System.getProperties().getProperty(key));
+        final Properties props = System.getProperties();
+        final Map<String, String> paramMap = new HashMap<String,
String>(props.size());
+        for (final String key : props.stringPropertyNames()) {
+            paramMap.put(key, props.getProperty(key));
         }
         final JMXConnector connector = JMXConnectorFactory.connect(url,
paramMap);
         final Client client = new Client(connector);




-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: [3/3] git commit: Add more type safety.

Posted by Gary Gregory <ga...@gmail.com>.
YW!

G

On Sat, Oct 4, 2014 at 8:23 PM, Matt Sicker <bo...@gmail.com> wrote:

> My IDE settings must be messed up. Let me look into this. Thanks for
> noticing, though!
>
> On 4 October 2014 19:06, Gary Gregory <ga...@gmail.com> wrote:
>
>> -1. This is backwards:
>>
>> -import java.awt.BorderLayout;
>> -import java.awt.Color;
>> -import java.awt.Component;
>> -import java.awt.Font;
>> +import java.awt.*;
>>
>> We do _not_ want * imports for normal imports, only for special cases
>> like static imports of JUnit Assert methods.
>>
>> Gary
>>
>> ---------- Forwarded message ----------
>> From: <ma...@apache.org>
>> Date: Sat, Oct 4, 2014 at 7:55 PM
>> Subject: [3/3] git commit: Add more type safety.
>> To: commits@logging.apache.org
>>
>>
>> Add more type safety.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>> Commit:
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/85f586c9
>> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/85f586c9
>> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/85f586c9
>>
>> Branch: refs/heads/master
>> Commit: 85f586c99514cf5bc73586d2d078fe0237581ad7
>> Parents: 16045e6
>> Author: Matt Sicker <ma...@apache.org>
>> Authored: Sat Oct 4 18:55:28 2014 -0500
>> Committer: Matt Sicker <ma...@apache.org>
>> Committed: Sat Oct 4 18:55:28 2014 -0500
>>
>> ----------------------------------------------------------------------
>>  .../apache/logging/log4j/jmx/gui/ClientGui.java | 22 +++++++++++---------
>>  1 file changed, 12 insertions(+), 10 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85f586c9/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
>> b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
>> index 0215fb5..b36cc67 100644
>> ---
>> a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
>> +++
>> b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
>> @@ -16,17 +16,14 @@
>>   */
>>  package org.apache.logging.log4j.jmx.gui;
>>
>> -import java.awt.BorderLayout;
>> -import java.awt.Color;
>> -import java.awt.Component;
>> -import java.awt.Font;
>> +import java.awt.*;
>>  import java.awt.event.ActionEvent;
>>  import java.io.IOException;
>>  import java.io.PrintWriter;
>>  import java.io.StringWriter;
>>  import java.util.HashMap;
>>  import java.util.Map;
>> -
>> +import java.util.Properties;
>>  import javax.management.InstanceNotFoundException;
>>  import javax.management.JMException;
>>  import javax.management.ListenerNotFoundException;
>> @@ -177,7 +174,12 @@ public class ClientGui extends JPanel implements
>> NotificationListener {
>>
>>      private void handleNotificationInAwtEventThread(final Notification
>> notif, final Object paramObject) {
>>          if
>> (StatusLoggerAdminMBean.NOTIF_TYPE_MESSAGE.equals(notif.getType())) {
>> -            final JTextArea text = statusLogTextAreaMap.get(paramObject);
>> +            if (!(paramObject instanceof ObjectName)) {
>> +                handle("Invalid notification object type", new
>> ClassCastException(paramObject.getClass().getName()));
>> +                return;
>> +            }
>> +            final ObjectName param = (ObjectName) paramObject;
>> +            final JTextArea text = statusLogTextAreaMap.get(param);
>>              if (text != null) {
>>                  text.append(notif.getMessage() + '\n');
>>              }
>> @@ -258,10 +260,10 @@ public class ClientGui extends JPanel implements
>> NotificationListener {
>>              serviceUrl = "service:jmx:rmi:///jndi/rmi://" + args[0] +
>> "/jmxrmi";
>>          }
>>          final JMXServiceURL url = new JMXServiceURL(serviceUrl);
>> -        final Map<String, String> paramMap = new HashMap<String,
>> String>();
>> -        for (final Object objKey : System.getProperties().keySet()) {
>> -            final String key = (String) objKey;
>> -            paramMap.put(key, System.getProperties().getProperty(key));
>> +        final Properties props = System.getProperties();
>> +        final Map<String, String> paramMap = new HashMap<String,
>> String>(props.size());
>> +        for (final String key : props.stringPropertyNames()) {
>> +            paramMap.put(key, props.getProperty(key));
>>          }
>>          final JMXConnector connector = JMXConnectorFactory.connect(url,
>> paramMap);
>>          final Client client = new Client(connector);
>>
>>
>>
>>
>> --
>> E-Mail: garydgregory@gmail.com | ggregory@apache.org
>> Java Persistence with Hibernate, Second Edition
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
>
> --
> Matt Sicker <bo...@gmail.com>
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Re: [3/3] git commit: Add more type safety.

Posted by Matt Sicker <bo...@gmail.com>.
My IDE settings must be messed up. Let me look into this. Thanks for
noticing, though!

On 4 October 2014 19:06, Gary Gregory <ga...@gmail.com> wrote:

> -1. This is backwards:
>
> -import java.awt.BorderLayout;
> -import java.awt.Color;
> -import java.awt.Component;
> -import java.awt.Font;
> +import java.awt.*;
>
> We do _not_ want * imports for normal imports, only for special cases like
> static imports of JUnit Assert methods.
>
> Gary
>
> ---------- Forwarded message ----------
> From: <ma...@apache.org>
> Date: Sat, Oct 4, 2014 at 7:55 PM
> Subject: [3/3] git commit: Add more type safety.
> To: commits@logging.apache.org
>
>
> Add more type safety.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/85f586c9
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/85f586c9
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/85f586c9
>
> Branch: refs/heads/master
> Commit: 85f586c99514cf5bc73586d2d078fe0237581ad7
> Parents: 16045e6
> Author: Matt Sicker <ma...@apache.org>
> Authored: Sat Oct 4 18:55:28 2014 -0500
> Committer: Matt Sicker <ma...@apache.org>
> Committed: Sat Oct 4 18:55:28 2014 -0500
>
> ----------------------------------------------------------------------
>  .../apache/logging/log4j/jmx/gui/ClientGui.java | 22 +++++++++++---------
>  1 file changed, 12 insertions(+), 10 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85f586c9/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
> ----------------------------------------------------------------------
> diff --git
> a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
> b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
> index 0215fb5..b36cc67 100644
> ---
> a/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
> +++
> b/log4j-jmx-gui/src/main/java/org/apache/logging/log4j/jmx/gui/ClientGui.java
> @@ -16,17 +16,14 @@
>   */
>  package org.apache.logging.log4j.jmx.gui;
>
> -import java.awt.BorderLayout;
> -import java.awt.Color;
> -import java.awt.Component;
> -import java.awt.Font;
> +import java.awt.*;
>  import java.awt.event.ActionEvent;
>  import java.io.IOException;
>  import java.io.PrintWriter;
>  import java.io.StringWriter;
>  import java.util.HashMap;
>  import java.util.Map;
> -
> +import java.util.Properties;
>  import javax.management.InstanceNotFoundException;
>  import javax.management.JMException;
>  import javax.management.ListenerNotFoundException;
> @@ -177,7 +174,12 @@ public class ClientGui extends JPanel implements
> NotificationListener {
>
>      private void handleNotificationInAwtEventThread(final Notification
> notif, final Object paramObject) {
>          if
> (StatusLoggerAdminMBean.NOTIF_TYPE_MESSAGE.equals(notif.getType())) {
> -            final JTextArea text = statusLogTextAreaMap.get(paramObject);
> +            if (!(paramObject instanceof ObjectName)) {
> +                handle("Invalid notification object type", new
> ClassCastException(paramObject.getClass().getName()));
> +                return;
> +            }
> +            final ObjectName param = (ObjectName) paramObject;
> +            final JTextArea text = statusLogTextAreaMap.get(param);
>              if (text != null) {
>                  text.append(notif.getMessage() + '\n');
>              }
> @@ -258,10 +260,10 @@ public class ClientGui extends JPanel implements
> NotificationListener {
>              serviceUrl = "service:jmx:rmi:///jndi/rmi://" + args[0] +
> "/jmxrmi";
>          }
>          final JMXServiceURL url = new JMXServiceURL(serviceUrl);
> -        final Map<String, String> paramMap = new HashMap<String,
> String>();
> -        for (final Object objKey : System.getProperties().keySet()) {
> -            final String key = (String) objKey;
> -            paramMap.put(key, System.getProperties().getProperty(key));
> +        final Properties props = System.getProperties();
> +        final Map<String, String> paramMap = new HashMap<String,
> String>(props.size());
> +        for (final String key : props.stringPropertyNames()) {
> +            paramMap.put(key, props.getProperty(key));
>          }
>          final JMXConnector connector = JMXConnectorFactory.connect(url,
> paramMap);
>          final Client client = new Client(connector);
>
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
Matt Sicker <bo...@gmail.com>