Skip to content

Commit

Permalink
Merge branch 'traccar:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-wolf-gb authored Apr 1, 2024
2 parents eca1638 + e413491 commit 80e4c30
Show file tree
Hide file tree
Showing 75 changed files with 1,376 additions and 1,185 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
traccar-web/package-lock.json
traccar-web/modern/package-lock.json
- run: |
wget -q https://trials.sencha.com/cmd/7.6.0/SenchaCmd-7.6.0.87-linux-amd64.sh.zip
wget -q https://traccar.nyc3.digitaloceanspaces.com/download/SenchaCmd-7.6.0.87-linux-amd64.sh.zip
unzip SenchaCmd-*.zip
./SenchaCmd-*.sh -q
echo "$HOME/bin/Sencha/Cmd/" >> $GITHUB_PATH
Expand Down
4 changes: 4 additions & 0 deletions debug.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

<entry key='logger.console'>true</entry>
<entry key='logger.queries'>false</entry>
<entry key='logger.fullStackTraces'>true</entry>

<entry key='mail.debug'>true</entry>

Expand All @@ -24,6 +25,9 @@
<entry key='database.user'>sa</entry>
<entry key='database.password'></entry>

<!--<entry key='server.instantAcknowledgement'>true</entry>
<entry key='server.buffering.threshold'>5000</entry>-->

<entry key='atrack.custom'>true</entry>
<entry key='intellitrac.port'>6037</entry>

Expand Down
38 changes: 0 additions & 38 deletions src/main/java/org/traccar/BaseDataHandler.java

This file was deleted.

97 changes: 20 additions & 77 deletions src/main/java/org/traccar/BasePipelineFactory.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2012 - 2023 Anton Tananaev (anton@traccar.org)
* Copyright 2012 - 2024 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.
Expand All @@ -25,36 +25,13 @@
import io.netty.handler.timeout.IdleStateHandler;
import org.traccar.config.Config;
import org.traccar.config.Keys;
import org.traccar.handler.AcknowledgementHandler;
import org.traccar.handler.ComputedAttributesHandler;
import org.traccar.handler.CopyAttributesHandler;
import org.traccar.handler.DefaultDataHandler;
import org.traccar.handler.DistanceHandler;
import org.traccar.handler.EngineHoursHandler;
import org.traccar.handler.FilterHandler;
import org.traccar.handler.GeocoderHandler;
import org.traccar.handler.GeofenceHandler;
import org.traccar.handler.GeolocationHandler;
import org.traccar.handler.HemisphereHandler;
import org.traccar.handler.MotionHandler;
import org.traccar.handler.NetworkForwarderHandler;
import org.traccar.handler.NetworkMessageHandler;
import org.traccar.handler.OpenChannelHandler;
import org.traccar.handler.RemoteAddressHandler;
import org.traccar.handler.SpeedLimitHandler;
import org.traccar.handler.StandardLoggingHandler;
import org.traccar.handler.TimeHandler;
import org.traccar.handler.events.AlertEventHandler;
import org.traccar.handler.events.BehaviorEventHandler;
import org.traccar.handler.events.CommandResultEventHandler;
import org.traccar.handler.events.DriverEventHandler;
import org.traccar.handler.events.FuelEventHandler;
import org.traccar.handler.events.GeofenceEventHandler;
import org.traccar.handler.events.IgnitionEventHandler;
import org.traccar.handler.events.MaintenanceEventHandler;
import org.traccar.handler.events.MediaEventHandler;
import org.traccar.handler.events.MotionEventHandler;
import org.traccar.handler.events.OverspeedEventHandler;
import org.traccar.handler.network.AcknowledgementHandler;
import org.traccar.handler.network.MainEventHandler;
import org.traccar.handler.network.NetworkForwarderHandler;
import org.traccar.handler.network.NetworkMessageHandler;
import org.traccar.handler.network.OpenChannelHandler;
import org.traccar.handler.network.RemoteAddressHandler;
import org.traccar.handler.network.StandardLoggingHandler;

import java.util.Map;

Expand Down Expand Up @@ -83,15 +60,7 @@ public BasePipelineFactory(TrackerConnector connector, Config config, String pro

protected abstract void addProtocolHandlers(PipelineBuilder pipeline);

@SafeVarargs
private void addHandlers(ChannelPipeline pipeline, Class<? extends ChannelHandler>... handlerClasses) {
for (Class<? extends ChannelHandler> handlerClass : handlerClasses) {
if (handlerClass != null) {
pipeline.addLast(injector.getInstance(handlerClass));
}
}
}

@SuppressWarnings("unchecked")
public static <T extends ChannelHandler> T getHandler(ChannelPipeline pipeline, Class<T> clazz) {
for (Map.Entry<String, ChannelHandler> handlerEntry : pipeline) {
ChannelHandler handler = handlerEntry.getValue();
Expand All @@ -107,6 +76,11 @@ public static <T extends ChannelHandler> T getHandler(ChannelPipeline pipeline,
return null;
}

private <T> T injectMembers(T object) {
injector.injectMembers(object);
return object;
}

@Override
protected void initChannel(Channel channel) {
final ChannelPipeline pipeline = channel.pipeline();
Expand All @@ -119,23 +93,18 @@ protected void initChannel(Channel channel) {
pipeline.addLast(new OpenChannelHandler(connector));
if (config.hasKey(Keys.SERVER_FORWARD)) {
int port = config.getInteger(Keys.PROTOCOL_PORT.withPrefix(protocol));
var handler = new NetworkForwarderHandler(port);
injector.injectMembers(handler);
pipeline.addLast(handler);
pipeline.addLast(injectMembers(new NetworkForwarderHandler(port)));
}
pipeline.addLast(new NetworkMessageHandler());

var loggingHandler = new StandardLoggingHandler(protocol);
injector.injectMembers(loggingHandler);
pipeline.addLast(loggingHandler);
pipeline.addLast(injectMembers(new StandardLoggingHandler(protocol)));

if (!connector.isDatagram() && !config.getBoolean(Keys.SERVER_INSTANT_ACKNOWLEDGEMENT)) {
pipeline.addLast(new AcknowledgementHandler());
}

addProtocolHandlers(handler -> {
if (handler instanceof BaseProtocolDecoder || handler instanceof BaseProtocolEncoder) {
injector.injectMembers(handler);
injectMembers(handler);
} else {
if (handler instanceof ChannelInboundHandler) {
handler = new WrapperInboundHandler((ChannelInboundHandler) handler);
Expand All @@ -146,35 +115,9 @@ protected void initChannel(Channel channel) {
pipeline.addLast(handler);
});

addHandlers(
pipeline,
TimeHandler.class,
GeolocationHandler.class,
HemisphereHandler.class,
DistanceHandler.class,
RemoteAddressHandler.class,
FilterHandler.class,
GeofenceHandler.class,
GeocoderHandler.class,
SpeedLimitHandler.class,
MotionHandler.class,
CopyAttributesHandler.class,
EngineHoursHandler.class,
ComputedAttributesHandler.class,
PositionForwardingHandler.class,
DefaultDataHandler.class,
MediaEventHandler.class,
CommandResultEventHandler.class,
OverspeedEventHandler.class,
BehaviorEventHandler.class,
FuelEventHandler.class,
MotionEventHandler.class,
GeofenceEventHandler.class,
AlertEventHandler.class,
IgnitionEventHandler.class,
MaintenanceEventHandler.class,
DriverEventHandler.class,
MainEventHandler.class);
pipeline.addLast(injector.getInstance(RemoteAddressHandler.class));
pipeline.addLast(injector.getInstance(ProcessingHandler.class));
pipeline.addLast(injector.getInstance(MainEventHandler.class));
}

}
2 changes: 1 addition & 1 deletion src/main/java/org/traccar/ExtendedObjectDecoder.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import io.netty.util.ReferenceCountUtil;
import org.traccar.config.Config;
import org.traccar.config.Keys;
import org.traccar.handler.AcknowledgementHandler;
import org.traccar.handler.network.AcknowledgementHandler;
import org.traccar.helper.DataConverter;
import org.traccar.model.Position;

Expand Down
42 changes: 0 additions & 42 deletions src/main/java/org/traccar/GlobalTimer.java

This file was deleted.

Loading

0 comments on commit 80e4c30

Please sign in to comment.