From 487eab49cddbca97170bfd515443b7389d59a5bb Mon Sep 17 00:00:00 2001 From: Jeremy Lakeman Date: Tue, 25 Feb 2014 15:26:13 +1030 Subject: [PATCH] Parse DNA replies with no phone or name gracefully --- java/org/servalproject/servaldna/MdpDnaLookup.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/org/servalproject/servaldna/MdpDnaLookup.java b/java/org/servalproject/servaldna/MdpDnaLookup.java index b096cba2..d989de76 100644 --- a/java/org/servalproject/servaldna/MdpDnaLookup.java +++ b/java/org/servalproject/servaldna/MdpDnaLookup.java @@ -41,13 +41,13 @@ public class MdpDnaLookup extends ChannelSelector.Handler{ response.payload.get(bytes); String resultString = new String(bytes); String fields[] = resultString.split("\\|"); - if (fields.length < 4) - throw new IOException("Expected 4 result fields"); + if (fields.length < 2) + throw new IOException("Expected at least 2 result fields, got \""+resultString+"\""); ServalDCommand.LookupResult result = new ServalDCommand.LookupResult(); result.subscriberId = new SubscriberId(fields[0]); result.uri = fields[1]; - result.did = fields[2]; - result.name = fields[3]; + result.did = (fields.length>2)?fields[2]:""; + result.name = (fields.length>3)?fields[3]:""; results.result(result); } catch (IOException e) { e.printStackTrace();