From 9b2b2da4d0568a50298cedfb07329f3eedb15d46 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 19 Nov 2015 08:26:10 +1300 Subject: Check for missing LBS information --- src/org/traccar/location/BaseLocationProvider.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/org/traccar/location/BaseLocationProvider.java b/src/org/traccar/location/BaseLocationProvider.java index d6eddc1cd..c422ed50a 100644 --- a/src/org/traccar/location/BaseLocationProvider.java +++ b/src/org/traccar/location/BaseLocationProvider.java @@ -15,6 +15,7 @@ */ package org.traccar.location; +import org.traccar.Config; import org.traccar.Context; import org.traccar.model.Event; @@ -25,20 +26,24 @@ public abstract class BaseLocationProvider implements LocationProvider { @Override public void getLocation(Map attributes, LocationProviderCallback callback) { + Config config = Context.getConfig(); + Number mcc = (Number) attributes.get(Event.KEY_MCC); - if (mcc == null) { - mcc = Context.getConfig().getInteger("location.mcc"); + if (mcc == null && config.hasKey("location.mcc")) { + mcc = config.getInteger("location.mcc"); } Number mnc = (Number) attributes.get(Event.KEY_MNC); - if (mnc == null) { - mnc = Context.getConfig().getInteger("location.mnc"); + if (mnc == null && config.hasKey("location.mnc")) { + mnc = config.getInteger("location.mnc"); } Number lac = (Number) attributes.get(Event.KEY_LAC); Number cid = (Number) attributes.get(Event.KEY_CID); - getLocation(mcc.intValue(), mnc.intValue(), lac.longValue(), cid.longValue(), callback); + if (mcc != null && mnc != null && lac != null && cid != null) { + getLocation(mcc.intValue(), mnc.intValue(), lac.longValue(), cid.longValue(), callback); + } } -- cgit v1.2.3