From f333055596631da5759f8eafe1abaae5a4da9622 Mon Sep 17 00:00:00 2001 From: Kai Kreuzer Date: Fri, 14 Nov 2014 17:33:11 +0100 Subject: [PATCH] Fixed another NPE on newly added zone player Signed-off-by: Kai Kreuzer (github: @kaikreuzer) --- .../sonos/handler/ZonePlayerHandler.java | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java b/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java index 675983c459d9..e1675b4bd767 100644 --- a/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java +++ b/addons/binding/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/handler/ZonePlayerHandler.java @@ -154,15 +154,10 @@ public void initialize() { if (configuration.udn != null) { onSubscription(); onUpdate(); + super.initialize(); } else { logger.warn("Cannot initalize the zoneplayer. UDN not set."); } - - if (getThing().getStatus() == ThingStatus.OFFLINE) { - logger.debug("Setting status for thing '{}' to ONLINE", getThing() - .getUID()); - getThing().setStatus(ThingStatus.ONLINE); - } } @Override @@ -1251,28 +1246,29 @@ public void playLineIn(Command command) { protected ZonePlayerHandler getHandlerByName(String remotePlayerName) { - Thing thing = thingRegistry.getByUID(new ThingUID( - ZONEPLAYER_THING_TYPE_UID, remotePlayerName)); - - if (thing == null) { - Collection allThings = thingRegistry.getAll(); - for (Thing aThing : allThings) { - if (aThing.getThingTypeUID().equals( - this.getThing().getThingTypeUID())) { - if (aThing.getConfiguration().get(UDN) - .equals(remotePlayerName)) { - thing = aThing; - break; + if(thingRegistry!=null) { + Thing thing = thingRegistry.getByUID(new ThingUID( + ZONEPLAYER_THING_TYPE_UID, remotePlayerName)); + + if (thing == null) { + Collection allThings = thingRegistry.getAll(); + for (Thing aThing : allThings) { + if (aThing.getThingTypeUID().equals( + this.getThing().getThingTypeUID())) { + if (aThing.getConfiguration().get(UDN) + .equals(remotePlayerName)) { + thing = aThing; + break; + } } } } - } - if(thing != null) { - return (ZonePlayerHandler) thing.getHandler(); - } else { - return null; + if(thing != null) { + return (ZonePlayerHandler) thing.getHandler(); + } } + return null; }