aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/model/CellTower.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/model/CellTower.java')
-rw-r--r--src/main/java/org/traccar/model/CellTower.java115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/model/CellTower.java b/src/main/java/org/traccar/model/CellTower.java
new file mode 100644
index 000000000..6d1dfbd7f
--- /dev/null
+++ b/src/main/java/org/traccar/model/CellTower.java
@@ -0,0 +1,115 @@
+/*
+ * 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.annotation.JsonInclude;
+import org.traccar.Context;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class CellTower {
+
+ public static CellTower from(int mcc, int mnc, int lac, long cid) {
+ CellTower cellTower = new CellTower();
+ cellTower.setMobileCountryCode(mcc);
+ cellTower.setMobileNetworkCode(mnc);
+ cellTower.setLocationAreaCode(lac);
+ cellTower.setCellId(cid);
+ return cellTower;
+ }
+
+ public static CellTower from(int mcc, int mnc, int lac, long cid, int rssi) {
+ CellTower cellTower = CellTower.from(mcc, mnc, lac, cid);
+ cellTower.setSignalStrength(rssi);
+ return cellTower;
+ }
+
+ public static CellTower fromLacCid(int lac, long cid) {
+ return from(
+ Context.getConfig().getInteger("geolocation.mcc"),
+ Context.getConfig().getInteger("geolocation.mnc"), lac, cid);
+ }
+
+ public static CellTower fromCidLac(long cid, int lac) {
+ return fromLacCid(lac, cid);
+ }
+
+ private String radioType;
+
+ public String getRadioType() {
+ return radioType;
+ }
+
+ public void setRadioType(String radioType) {
+ this.radioType = radioType;
+ }
+
+ private Long cellId;
+
+ public Long getCellId() {
+ return cellId;
+ }
+
+ public void setCellId(Long 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;
+ }
+
+ private Integer signalStrength;
+
+ public Integer getSignalStrength() {
+ return signalStrength;
+ }
+
+ public void setSignalStrength(Integer signalStrength) {
+ this.signalStrength = signalStrength;
+ }
+
+ public void setOperator(long operator) {
+ String operatorString = String.valueOf(operator);
+ mobileCountryCode = Integer.parseInt(operatorString.substring(0, 3));
+ mobileNetworkCode = Integer.parseInt(operatorString.substring(3));
+ }
+
+}