From 12e88e5cccc00eb5882124db9e0350ae568902e6 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 19 Dec 2016 08:24:15 +1300 Subject: Better network location support --- src/org/traccar/model/CellTower.java | 63 +++++++++++++++++ src/org/traccar/model/Device.java | 1 + src/org/traccar/model/Network.java | 110 +++++++++++++++++++++++++++++ src/org/traccar/model/Position.java | 20 ++++++ src/org/traccar/model/WifiAccessPoint.java | 33 +++++++++ 5 files changed, 227 insertions(+) create mode 100644 src/org/traccar/model/CellTower.java create mode 100644 src/org/traccar/model/Network.java create mode 100644 src/org/traccar/model/WifiAccessPoint.java (limited to 'src/org/traccar/model') diff --git a/src/org/traccar/model/CellTower.java b/src/org/traccar/model/CellTower.java new file mode 100644 index 000000000..3447bb921 --- /dev/null +++ b/src/org/traccar/model/CellTower.java @@ -0,0 +1,63 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.traccar.model; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) +public class CellTower { + + private Integer cellId; + + public Integer getCellId() { + return cellId; + } + + public void setCellId(Integer cellId) { + this.cellId = cellId; + } + + private Integer locationAreaCode; + + public Integer getLocationAreaCode() { + return locationAreaCode; + } + + public void setLocationAreaCode(Integer locationAreaCode) { + this.locationAreaCode = locationAreaCode; + } + + private Integer mobileCountryCode; + + public Integer getMobileCountryCode() { + return mobileCountryCode; + } + + public void setMobileCountryCode(Integer mobileCountryCode) { + this.mobileCountryCode = mobileCountryCode; + } + + private Integer mobileNetworkCode; + + public Integer getMobileNetworkCode() { + return mobileNetworkCode; + } + + public void setMobileNetworkCode(Integer mobileNetworkCode) { + this.mobileNetworkCode = mobileNetworkCode; + } + +} diff --git a/src/org/traccar/model/Device.java b/src/org/traccar/model/Device.java index e492a6120..22426c4db 100644 --- a/src/org/traccar/model/Device.java +++ b/src/org/traccar/model/Device.java @@ -141,4 +141,5 @@ public class Device extends Extensible { public void setCategory(String category) { this.category = category; } + } diff --git a/src/org/traccar/model/Network.java b/src/org/traccar/model/Network.java new file mode 100644 index 000000000..9dd315640 --- /dev/null +++ b/src/org/traccar/model/Network.java @@ -0,0 +1,110 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.traccar.model; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import java.util.ArrayList; +import java.util.Collection; + +@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) +public class Network { + + private Integer homeMobileCountryCode; + + public Integer getHomeMobileCountryCode() { + return homeMobileCountryCode; + } + + public void setHomeMobileCountryCode(Integer homeMobileCountryCode) { + this.homeMobileCountryCode = homeMobileCountryCode; + } + + private Integer homeMobileNetworkCode; + + public Integer getHomeMobileNetworkCode() { + return homeMobileNetworkCode; + } + + public void setHomeMobileNetworkCode(Integer homeMobileNetworkCode) { + this.homeMobileNetworkCode = homeMobileNetworkCode; + } + + private String radioType; + + public String getRadioType() { + return radioType; + } + + public void setRadioType(String radioType) { + this.radioType = radioType; + } + + private String carrier; + + public String getCarrier() { + return carrier; + } + + public void setCarrier(String carrier) { + this.carrier = carrier; + } + + private Boolean considerIp = false; + + public Boolean getConsiderIp() { + return considerIp; + } + + public void setConsiderIp(Boolean considerIp) { + this.considerIp = considerIp; + } + + private Collection cellTowers; + + public Collection getCellTowers() { + return cellTowers; + } + + public void setCellTowers(Collection cellTowers) { + this.cellTowers = cellTowers; + } + + public void addCellTower(CellTower cellTower) { + if (cellTowers == null) { + cellTowers = new ArrayList<>(); + } + cellTowers.add(cellTower); + } + + private Collection wifiAccessPoints; + + public Collection getWifiAccessPoints() { + return wifiAccessPoints; + } + + public void setWifiAccessPoints(Collection wifiAccessPoints) { + this.wifiAccessPoints = wifiAccessPoints; + } + + public void addWifiAccessPoint(WifiAccessPoint wifiAccessPoint) { + if (wifiAccessPoints == null) { + wifiAccessPoints = new ArrayList<>(); + } + wifiAccessPoints.add(wifiAccessPoint); + } + +} diff --git a/src/org/traccar/model/Position.java b/src/org/traccar/model/Position.java index 8ca2588e2..19874ae91 100644 --- a/src/org/traccar/model/Position.java +++ b/src/org/traccar/model/Position.java @@ -248,4 +248,24 @@ public class Position extends Message { this.address = address; } + private double accuracy; + + public double getAccuracy() { + return accuracy; + } + + public void setAccuracy(double accuracy) { + this.accuracy = accuracy; + } + + private Network network; + + public Network getNetwork() { + return network; + } + + public void setNetwork(Network network) { + this.network = network; + } + } diff --git a/src/org/traccar/model/WifiAccessPoint.java b/src/org/traccar/model/WifiAccessPoint.java new file mode 100644 index 000000000..e4a613e7c --- /dev/null +++ b/src/org/traccar/model/WifiAccessPoint.java @@ -0,0 +1,33 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.traccar.model; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) +public class WifiAccessPoint { + + private String macAddress; + + public String getMacAddress() { + return macAddress; + } + + public void setMacAddress(String macAddress) { + this.macAddress = macAddress; + } + +} -- cgit v1.2.3