From 2ca9e5d5cea18b56535cc24a74269303af8c0fb4 Mon Sep 17 00:00:00 2001 From: Denny Date: Fri, 10 Feb 2017 19:34:50 -0500 Subject: [PATCH] Resolves #183 - alias list throws NPE when created with a null or empty name and receives alias updates. --- src/alias/AliasList.java | 57 ++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/src/alias/AliasList.java b/src/alias/AliasList.java index 8c9afa98..44a2b2e9 100644 --- a/src/alias/AliasList.java +++ b/src/alias/AliasList.java @@ -631,36 +631,47 @@ public class AliasList implements Listener return mName; } + /** + * Indicates if this alias list has a non-null, non-empty name + */ + private boolean hasName() + { + return mName != null && !mName.isEmpty(); + } + /** * Receive alias change event notifications and modify this list accordingly */ @Override public void receive(AliasEvent event) { - Alias alias = event.getAlias(); - - switch(event.getEvent()) + if(hasName()) { - case ADD: - if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) - { - addAlias(alias); - } - break; - case CHANGE: - if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) - { - addAlias(alias); - } - break; - case DELETE: - if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) - { - removeAlias(alias); - } - break; - default: - break; + Alias alias = event.getAlias(); + + switch(event.getEvent()) + { + case ADD: + if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) + { + addAlias(alias); + } + break; + case CHANGE: + if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) + { + addAlias(alias); + } + break; + case DELETE: + if(alias.getList() != null && getName().equalsIgnoreCase(alias.getList())) + { + removeAlias(alias); + } + break; + default: + break; + } } } }