aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/traccar/BasePipelineFactory.java7
-rw-r--r--src/main/java/org/traccar/MainEventHandler.java8
-rw-r--r--src/main/java/org/traccar/MainModule.java5
-rw-r--r--src/main/java/org/traccar/WebDataHandler.java9
-rw-r--r--src/main/java/org/traccar/api/resource/DeviceResource.java6
-rw-r--r--src/main/java/org/traccar/database/MailManager.java7
-rw-r--r--src/main/java/org/traccar/session/ConnectionManager.java12
7 files changed, 32 insertions, 22 deletions
diff --git a/src/main/java/org/traccar/BasePipelineFactory.java b/src/main/java/org/traccar/BasePipelineFactory.java
index 3eb7011a1..915c3f7ea 100644
--- a/src/main/java/org/traccar/BasePipelineFactory.java
+++ b/src/main/java/org/traccar/BasePipelineFactory.java
@@ -15,6 +15,7 @@
*/
package org.traccar;
+import com.google.inject.Injector;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelInboundHandler;
@@ -55,11 +56,13 @@ import java.util.Map;
public abstract class BasePipelineFactory extends ChannelInitializer<Channel> {
+ private final Injector injector;
private final TrackerConnector connector;
private final String protocol;
private int timeout;
public BasePipelineFactory(TrackerConnector connector, Config config, String protocol) {
+ this.injector = Main.getInjector();
this.connector = connector;
this.protocol = protocol;
timeout = config.getInteger(Keys.PROTOCOL_TIMEOUT.withPrefix(protocol));
@@ -76,7 +79,7 @@ public abstract class BasePipelineFactory extends ChannelInitializer<Channel> {
private void addHandlers(ChannelPipeline pipeline, Class<? extends ChannelHandler>... handlerClasses) {
for (Class<? extends ChannelHandler> handlerClass : handlerClasses) {
if (handlerClass != null) {
- pipeline.addLast(Main.getInjector().getInstance(handlerClass));
+ pipeline.addLast(injector.getInstance(handlerClass));
}
}
}
@@ -111,7 +114,7 @@ public abstract class BasePipelineFactory extends ChannelInitializer<Channel> {
addProtocolHandlers(handler -> {
if (handler instanceof BaseProtocolDecoder || handler instanceof BaseProtocolEncoder) {
- Main.getInjector().injectMembers(handler);
+ injector.injectMembers(handler);
} else {
if (handler instanceof ChannelInboundHandler) {
handler = new WrapperInboundHandler((ChannelInboundHandler) handler);
diff --git a/src/main/java/org/traccar/MainEventHandler.java b/src/main/java/org/traccar/MainEventHandler.java
index d2665cbcc..965421d2f 100644
--- a/src/main/java/org/traccar/MainEventHandler.java
+++ b/src/main/java/org/traccar/MainEventHandler.java
@@ -55,13 +55,16 @@ public class MainEventHandler extends ChannelInboundHandlerAdapter {
private final CacheManager cacheManager;
private final Storage storage;
private final ConnectionManager connectionManager;
+ private final StatisticsManager statisticsManager;
@Inject
public MainEventHandler(
- Config config, CacheManager cacheManager, Storage storage, ConnectionManager connectionManager) {
+ Config config, CacheManager cacheManager, Storage storage,
+ ConnectionManager connectionManager, StatisticsManager statisticsManager) {
this.cacheManager = cacheManager;
this.storage = storage;
this.connectionManager = connectionManager;
+ this.statisticsManager = statisticsManager;
String connectionlessProtocolList = config.getString(Keys.STATUS_IGNORE_OFFLINE);
if (connectionlessProtocolList != null) {
connectionlessProtocols.addAll(Arrays.asList(connectionlessProtocolList.split("[, ]")));
@@ -139,8 +142,7 @@ public class MainEventHandler extends ChannelInboundHandlerAdapter {
}
LOGGER.info(builder.toString());
- Main.getInjector().getInstance(StatisticsManager.class)
- .registerMessageStored(position.getDeviceId(), position.getProtocol());
+ statisticsManager.registerMessageStored(position.getDeviceId(), position.getProtocol());
}
}
diff --git a/src/main/java/org/traccar/MainModule.java b/src/main/java/org/traccar/MainModule.java
index 3120118fc..5a5675859 100644
--- a/src/main/java/org/traccar/MainModule.java
+++ b/src/main/java/org/traccar/MainModule.java
@@ -111,9 +111,8 @@ public class MainModule extends AbstractModule {
}
@Provides
- public static Client provideClient() {
- return ClientBuilder.newClient().register(
- (ContextResolver<ObjectMapper>) clazz -> Main.getInjector().getInstance(ObjectMapper.class));
+ public static Client provideClient(ObjectMapper objectMapper) {
+ return ClientBuilder.newClient().register((ContextResolver<ObjectMapper>) clazz -> objectMapper);
}
@Singleton
diff --git a/src/main/java/org/traccar/WebDataHandler.java b/src/main/java/org/traccar/WebDataHandler.java
index 192a15bcf..d25c4fd3c 100644
--- a/src/main/java/org/traccar/WebDataHandler.java
+++ b/src/main/java/org/traccar/WebDataHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2015 - 2020 Anton Tananaev (anton@traccar.org)
+ * Copyright 2015 - 2022 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.
@@ -63,6 +63,7 @@ public class WebDataHandler extends BaseDataHandler {
private final CacheManager cacheManager;
private final ObjectMapper objectMapper;
private final Client client;
+ private final Timer timer;
private final String url;
private final String header;
@@ -78,11 +79,12 @@ public class WebDataHandler extends BaseDataHandler {
@Inject
public WebDataHandler(
- Config config, CacheManager cacheManager, ObjectMapper objectMapper, Client client) {
+ Config config, CacheManager cacheManager, ObjectMapper objectMapper, Client client, Timer timer) {
this.cacheManager = cacheManager;
this.objectMapper = objectMapper;
this.client = client;
+ this.timer = timer;
this.url = config.getString(Keys.FORWARD_URL);
this.header = config.getString(Keys.FORWARD_HEADER);
this.json = config.getBoolean(Keys.FORWARD_JSON);
@@ -248,8 +250,7 @@ public class WebDataHandler extends BaseDataHandler {
}
private void schedule() {
- Main.getInjector().getInstance(Timer.class).newTimeout(
- this, retryDelay * (long) Math.pow(2, retries++), TimeUnit.MILLISECONDS);
+ timer.newTimeout(this, retryDelay * (long) Math.pow(2, retries++), TimeUnit.MILLISECONDS);
}
@Override
diff --git a/src/main/java/org/traccar/api/resource/DeviceResource.java b/src/main/java/org/traccar/api/resource/DeviceResource.java
index 2509c9003..6660752d3 100644
--- a/src/main/java/org/traccar/api/resource/DeviceResource.java
+++ b/src/main/java/org/traccar/api/resource/DeviceResource.java
@@ -28,6 +28,7 @@ import org.traccar.storage.query.Columns;
import org.traccar.storage.query.Condition;
import org.traccar.storage.query.Request;
+import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
@@ -45,6 +46,9 @@ import java.util.List;
@Consumes(MediaType.APPLICATION_JSON)
public class DeviceResource extends BaseObjectResource<Device> {
+ @Inject
+ private CacheManager cacheManager;
+
public DeviceResource() {
super(Device.class);
}
@@ -122,7 +126,7 @@ public class DeviceResource extends BaseObjectResource<Device> {
new Columns.Include("positionId"),
new Condition.Equals("id", "id")));
- Main.getInjector().getInstance(CacheManager.class).updatePosition(position);
+ cacheManager.updatePosition(position);
} else {
throw new IllegalArgumentException();
}
diff --git a/src/main/java/org/traccar/database/MailManager.java b/src/main/java/org/traccar/database/MailManager.java
index 54f617d5f..ac0db2d97 100644
--- a/src/main/java/org/traccar/database/MailManager.java
+++ b/src/main/java/org/traccar/database/MailManager.java
@@ -18,7 +18,6 @@ package org.traccar.database;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.traccar.Main;
import org.traccar.config.Config;
import org.traccar.model.User;
import org.traccar.notification.PropertiesProvider;
@@ -42,10 +41,12 @@ public final class MailManager {
private static final Logger LOGGER = LoggerFactory.getLogger(MailManager.class);
private final Config config;
+ private final StatisticsManager statisticsManager;
@Inject
- public MailManager(Config config) {
+ public MailManager(Config config, StatisticsManager statisticsManager) {
this.config = config;
+ this.statisticsManager = statisticsManager;
}
private static Properties getProperties(PropertiesProvider provider) {
@@ -145,7 +146,7 @@ public final class MailManager {
}
try (Transport transport = session.getTransport()) {
- Main.getInjector().getInstance(StatisticsManager.class).registerMail();
+ statisticsManager.registerMail();
transport.connect(
properties.getProperty("mail.smtp.host"),
properties.getProperty("mail.smtp.username"),
diff --git a/src/main/java/org/traccar/session/ConnectionManager.java b/src/main/java/org/traccar/session/ConnectionManager.java
index cead771c9..05c4893fd 100644
--- a/src/main/java/org/traccar/session/ConnectionManager.java
+++ b/src/main/java/org/traccar/session/ConnectionManager.java
@@ -15,12 +15,12 @@
*/
package org.traccar.session;
+import com.google.inject.Injector;
import io.netty.channel.Channel;
import io.netty.util.Timeout;
import io.netty.util.Timer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.traccar.Main;
import org.traccar.Protocol;
import org.traccar.config.Config;
import org.traccar.config.Keys;
@@ -64,6 +64,7 @@ public class ConnectionManager {
private final Map<Long, DeviceState> deviceStates = new ConcurrentHashMap<>();
+ private final Injector injector;
private final Config config;
private final CacheManager cacheManager;
private final Storage storage;
@@ -75,8 +76,9 @@ public class ConnectionManager {
@Inject
public ConnectionManager(
- Config config, CacheManager cacheManager, Storage storage,
+ Injector injector, Config config, CacheManager cacheManager, Storage storage,
NotificationManager notificationManager, Timer timer) {
+ this.injector = injector;
this.config = config;
this.cacheManager = cacheManager;
this.storage = storage;
@@ -279,15 +281,13 @@ public class ConnectionManager {
DeviceState deviceState = getDeviceState(deviceId);
Map<Event, Position> result = new HashMap<>();
- Map<Event, Position> event = Main.getInjector()
- .getInstance(MotionEventHandler.class).updateMotionState(deviceState);
+ Map<Event, Position> event = injector.getInstance(MotionEventHandler.class).updateMotionState(deviceState);
if (event != null) {
result.putAll(event);
}
double speedLimit = AttributeUtil.lookup(cacheManager, Keys.EVENT_OVERSPEED_LIMIT, deviceId);
- event = Main.getInjector().getInstance(OverspeedEventHandler.class)
- .updateOverspeedState(deviceState, speedLimit);
+ event = injector.getInstance(OverspeedEventHandler.class).updateOverspeedState(deviceState, speedLimit);
if (event != null) {
result.putAll(event);
}