From e5dcf6780162d818823291fec273f40031099f1b Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 5 Aug 2018 22:19:14 +0200 Subject: [PATCH] AbstractEfaProvider: Improve anyType 'loc' parsing. --- .../src/de/schildbach/pte/AbstractEfaProvider.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 094aedba..dd391aed 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -779,14 +779,20 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { place = locality != null ? locality : defaultPlace; name = objectName != null ? objectName : nameElem; } else if ("loc".equals(type)) { - if (coord != null) { + if (locality != null) { + locationType = LocationType.ADDRESS; + place = null; + name = locality; + } else if (nameElem != null) { + locationType = LocationType.ADDRESS; + place = null; + name = nameElem; + } else if (coord != null) { locationType = LocationType.COORD; place = null; name = null; } else { - locationType = LocationType.ADDRESS; - place = null; - name = locality; + throw new IllegalArgumentException("not enough data for type/anyType: " + type); } } else if ("address".equals(type) || "singlehouse".equals(type)) { locationType = LocationType.ADDRESS;