From 59416923dcb3a756eaf532cc4259f2f6625c0762 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 31 Mar 2019 22:35:39 -0700 Subject: [PATCH] Convert project to gradle --- .gitignore | 3 + build.gradle | 83 ++++ checkstyle.xml => gradle/checkstyle.xml | 0 findbugs.xml => gradle/findbugs.xml | 0 gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 188 ++++++++ gradlew.bat | 100 +++++ pom.xml | 14 +- settings.gradle | 1 + .../java}/org/traccar/BaseDataHandler.java | 0 .../java}/org/traccar/BaseFrameDecoder.java | 0 .../org/traccar/BaseHttpProtocolDecoder.java | 0 .../org/traccar/BasePipelineFactory.java | 0 .../java}/org/traccar/BaseProtocol.java | 0 .../org/traccar/BaseProtocolDecoder.java | 0 .../org/traccar/BaseProtocolEncoder.java | 0 .../CharacterDelimiterFrameDecoder.java | 0 src/{ => main/java}/org/traccar/Context.java | 0 .../java}/org/traccar/DeviceSession.java | 0 .../org/traccar/EventLoopGroupFactory.java | 0 .../org/traccar/ExtendedObjectDecoder.java | 0 .../java}/org/traccar/GlobalTimer.java | 0 src/{ => main/java}/org/traccar/Main.java | 0 .../java}/org/traccar/MainEventHandler.java | 0 .../java}/org/traccar/MainModule.java | 0 .../java}/org/traccar/NetworkMessage.java | 0 .../java}/org/traccar/PipelineBuilder.java | 0 src/{ => main/java}/org/traccar/Protocol.java | 0 .../java}/org/traccar/ServerManager.java | 0 .../org/traccar/StringProtocolEncoder.java | 0 .../java}/org/traccar/TrackerServer.java | 0 .../java}/org/traccar/WebDataHandler.java | 0 .../java}/org/traccar/WindowsService.java | 0 .../java}/org/traccar/WrapperContext.java | 0 .../org/traccar/WrapperInboundHandler.java | 0 .../org/traccar/WrapperOutboundHandler.java | 0 .../java}/org/traccar/api/AsyncSocket.java | 0 .../org/traccar/api/AsyncSocketServlet.java | 0 .../org/traccar/api/BaseObjectResource.java | 0 .../java}/org/traccar/api/BaseResource.java | 0 .../org/traccar/api/CorsResponseFilter.java | 0 .../traccar/api/ExtendedObjectResource.java | 0 .../java}/org/traccar/api/MediaFilter.java | 0 .../org/traccar/api/ObjectMapperProvider.java | 0 .../org/traccar/api/ResourceErrorHandler.java | 0 .../traccar/api/SecurityRequestFilter.java | 0 .../org/traccar/api/SimpleObjectResource.java | 0 .../java}/org/traccar/api/UserPrincipal.java | 0 .../org/traccar/api/UserSecurityContext.java | 0 .../api/resource/AttributeResource.java | 0 .../api/resource/CalendarResource.java | 0 .../traccar/api/resource/CommandResource.java | 0 .../traccar/api/resource/DeviceResource.java | 0 .../traccar/api/resource/DriverResource.java | 0 .../traccar/api/resource/EventResource.java | 0 .../api/resource/GeofenceResource.java | 0 .../traccar/api/resource/GroupResource.java | 0 .../api/resource/MaintenanceResource.java | 0 .../api/resource/NotificationResource.java | 0 .../api/resource/PermissionsResource.java | 0 .../api/resource/PositionResource.java | 0 .../traccar/api/resource/ReportResource.java | 0 .../traccar/api/resource/ServerResource.java | 0 .../traccar/api/resource/SessionResource.java | 0 .../api/resource/StatisticsResource.java | 0 .../traccar/api/resource/UserResource.java | 0 .../java}/org/traccar/config/Config.java | 0 .../java}/org/traccar/config/ConfigKey.java | 0 .../org/traccar/config/ConfigSuffix.java | 0 .../java}/org/traccar/config/Keys.java | 0 .../org/traccar/database/ActiveDevice.java | 0 .../traccar/database/AttributesManager.java | 0 .../traccar/database/BaseObjectManager.java | 0 .../org/traccar/database/CalendarManager.java | 0 .../org/traccar/database/CommandsManager.java | 0 .../traccar/database/ConnectionManager.java | 0 .../org/traccar/database/DataManager.java | 0 .../org/traccar/database/DeviceManager.java | 0 .../org/traccar/database/DriversManager.java | 0 .../database/ExtendedObjectManager.java | 0 .../org/traccar/database/GeofenceManager.java | 0 .../java}/org/traccar/database/GroupTree.java | 0 .../org/traccar/database/GroupsManager.java | 0 .../org/traccar/database/IdentityManager.java | 0 .../org/traccar/database/LdapProvider.java | 0 .../org/traccar/database/MailManager.java | 0 .../traccar/database/MaintenancesManager.java | 0 .../traccar/database/ManagableObjects.java | 0 .../org/traccar/database/MediaManager.java | 0 .../traccar/database/NotificationManager.java | 0 .../traccar/database/PermissionsManager.java | 0 .../org/traccar/database/QueryBuilder.java | 0 .../org/traccar/database/QueryExtended.java | 0 .../org/traccar/database/QueryIgnore.java | 0 .../traccar/database/SimpleObjectManager.java | 0 .../traccar/database/StatisticsManager.java | 0 .../org/traccar/database/UsersManager.java | 0 .../java}/org/traccar/geocoder/Address.java | 0 .../org/traccar/geocoder/AddressFormat.java | 0 .../org/traccar/geocoder/BanGeocoder.java | 0 .../traccar/geocoder/BingMapsGeocoder.java | 0 .../org/traccar/geocoder/FactualGeocoder.java | 0 .../traccar/geocoder/GeocodeFarmGeocoder.java | 0 .../traccar/geocoder/GeocodeXyzGeocoder.java | 0 .../java}/org/traccar/geocoder/Geocoder.java | 0 .../traccar/geocoder/GeocoderException.java | 0 .../traccar/geocoder/GisgraphyGeocoder.java | 0 .../org/traccar/geocoder/GoogleGeocoder.java | 0 .../org/traccar/geocoder/HereGeocoder.java | 0 .../org/traccar/geocoder/JsonGeocoder.java | 0 .../traccar/geocoder/MapQuestGeocoder.java | 0 .../traccar/geocoder/MapmyIndiaGeocoder.java | 0 .../traccar/geocoder/NominatimGeocoder.java | 0 .../traccar/geocoder/OpenCageGeocoder.java | 0 .../org/traccar/geofence/GeofenceCircle.java | 0 .../traccar/geofence/GeofenceGeometry.java | 0 .../org/traccar/geofence/GeofencePolygon.java | 0 .../traccar/geofence/GeofencePolyline.java | 0 .../geolocation/GeolocationException.java | 0 .../geolocation/GeolocationProvider.java | 0 .../GoogleGeolocationProvider.java | 0 .../MozillaGeolocationProvider.java | 0 .../OpenCellIdGeolocationProvider.java | 0 .../UniversalGeolocationProvider.java | 0 .../UnwiredGeolocationProvider.java | 0 .../handler/ComputedAttributesHandler.java | 0 .../handler/CopyAttributesHandler.java | 0 .../traccar/handler/DefaultDataHandler.java | 0 .../org/traccar/handler/DistanceHandler.java | 0 .../traccar/handler/EngineHoursHandler.java | 0 .../org/traccar/handler/FilterHandler.java | 0 .../org/traccar/handler/GeocoderHandler.java | 0 .../traccar/handler/GeolocationHandler.java | 0 .../traccar/handler/HemisphereHandler.java | 0 .../org/traccar/handler/MotionHandler.java | 0 .../handler/NetworkMessageHandler.java | 0 .../traccar/handler/OpenChannelHandler.java | 0 .../traccar/handler/RemoteAddressHandler.java | 0 .../handler/StandardLoggingHandler.java | 0 .../handler/events/AlertEventHandler.java | 0 .../handler/events/BaseEventHandler.java | 0 .../events/CommandResultEventHandler.java | 0 .../handler/events/DriverEventHandler.java | 0 .../handler/events/FuelDropEventHandler.java | 0 .../handler/events/GeofenceEventHandler.java | 0 .../handler/events/IgnitionEventHandler.java | 0 .../events/MaintenanceEventHandler.java | 0 .../handler/events/MotionEventHandler.java | 0 .../handler/events/OverspeedEventHandler.java | 0 .../java}/org/traccar/helper/BcdUtil.java | 0 .../java}/org/traccar/helper/BitBuffer.java | 0 .../java}/org/traccar/helper/BitUtil.java | 0 .../java}/org/traccar/helper/BufferUtil.java | 0 .../java}/org/traccar/helper/Checksum.java | 0 .../org/traccar/helper/DataConverter.java | 0 .../java}/org/traccar/helper/DateBuilder.java | 0 .../java}/org/traccar/helper/DateUtil.java | 0 .../traccar/helper/DistanceCalculator.java | 0 .../java}/org/traccar/helper/Hashing.java | 0 .../org/traccar/helper/LocationTree.java | 0 .../java}/org/traccar/helper/Log.java | 0 .../java}/org/traccar/helper/LogAction.java | 0 .../java}/org/traccar/helper/ObdDecoder.java | 0 .../java}/org/traccar/helper/Parser.java | 0 .../org/traccar/helper/PatternBuilder.java | 0 .../java}/org/traccar/helper/PatternUtil.java | 0 .../org/traccar/helper/SanitizerModule.java | 0 .../org/traccar/helper/UnitsConverter.java | 0 .../java}/org/traccar/model/Attribute.java | 0 .../java}/org/traccar/model/BaseModel.java | 0 .../java}/org/traccar/model/Calendar.java | 0 .../java}/org/traccar/model/CellTower.java | 0 .../java}/org/traccar/model/Command.java | 0 .../java}/org/traccar/model/Device.java | 0 .../org/traccar/model/DeviceAccumulators.java | 0 .../java}/org/traccar/model/DeviceState.java | 0 .../java}/org/traccar/model/Driver.java | 0 .../java}/org/traccar/model/Event.java | 0 .../org/traccar/model/ExtendedModel.java | 0 .../java}/org/traccar/model/Geofence.java | 0 .../java}/org/traccar/model/Group.java | 0 .../java}/org/traccar/model/GroupedModel.java | 0 .../java}/org/traccar/model/Maintenance.java | 0 .../java}/org/traccar/model/ManagedUser.java | 0 .../java}/org/traccar/model/Message.java | 0 .../org/traccar/model/MiscFormatter.java | 0 .../java}/org/traccar/model/Network.java | 0 .../java}/org/traccar/model/Notification.java | 0 .../java}/org/traccar/model/Permission.java | 0 .../java}/org/traccar/model/Position.java | 0 .../org/traccar/model/ScheduledModel.java | 0 .../java}/org/traccar/model/Server.java | 0 .../java}/org/traccar/model/Statistics.java | 0 .../java}/org/traccar/model/Typed.java | 0 .../java}/org/traccar/model/User.java | 0 .../org/traccar/model/WifiAccessPoint.java | 0 .../traccar/notification/EventForwarder.java | 0 .../org/traccar/notification/FullMessage.java | 0 .../notification/JsonTypeEventForwarder.java | 36 +- .../notification/MessageException.java | 0 .../notification/NotificationFormatter.java | 0 .../notification/NotificatorManager.java | 0 .../notification/PropertiesProvider.java | 0 .../org/traccar/notificators/Notificator.java | 0 .../notificators/NotificatorFirebase.java | 0 .../traccar/notificators/NotificatorMail.java | 0 .../traccar/notificators/NotificatorNull.java | 0 .../traccar/notificators/NotificatorSms.java | 0 .../traccar/notificators/NotificatorWeb.java | 0 .../org/traccar/protocol/AdmProtocol.java | 0 .../traccar/protocol/AdmProtocolDecoder.java | 0 .../traccar/protocol/AdmProtocolEncoder.java | 0 .../org/traccar/protocol/AisProtocol.java | 0 .../traccar/protocol/AisProtocolDecoder.java | 0 .../protocol/AlematicsFrameDecoder.java | 0 .../traccar/protocol/AlematicsProtocol.java | 0 .../protocol/AlematicsProtocolDecoder.java | 0 .../org/traccar/protocol/AnytrekProtocol.java | 0 .../protocol/AnytrekProtocolDecoder.java | 0 .../org/traccar/protocol/ApelProtocol.java | 0 .../traccar/protocol/ApelProtocolDecoder.java | 0 .../traccar/protocol/AplicomFrameDecoder.java | 124 ++--- .../org/traccar/protocol/AplicomProtocol.java | 0 .../protocol/AplicomProtocolDecoder.java | 0 .../org/traccar/protocol/AppelloProtocol.java | 0 .../protocol/AppelloProtocolDecoder.java | 0 .../org/traccar/protocol/AppletProtocol.java | 0 .../protocol/AppletProtocolDecoder.java | 0 .../org/traccar/protocol/AquilaProtocol.java | 0 .../protocol/AquilaProtocolDecoder.java | 0 .../org/traccar/protocol/Ardi01Protocol.java | 0 .../protocol/Ardi01ProtocolDecoder.java | 0 .../org/traccar/protocol/ArknavProtocol.java | 0 .../protocol/ArknavProtocolDecoder.java | 0 .../traccar/protocol/ArknavX8Protocol.java | 0 .../protocol/ArknavX8ProtocolDecoder.java | 0 .../org/traccar/protocol/ArnaviProtocol.java | 0 .../protocol/ArnaviProtocolDecoder.java | 0 .../org/traccar/protocol/AstraProtocol.java | 0 .../protocol/AstraProtocolDecoder.java | 0 .../traccar/protocol/At2000FrameDecoder.java | 0 .../org/traccar/protocol/At2000Protocol.java | 0 .../protocol/At2000ProtocolDecoder.java | 0 .../traccar/protocol/AtrackFrameDecoder.java | 0 .../org/traccar/protocol/AtrackProtocol.java | 0 .../protocol/AtrackProtocolDecoder.java | 0 .../protocol/AtrackProtocolEncoder.java | 0 .../org/traccar/protocol/AuroProtocol.java | 0 .../traccar/protocol/AuroProtocolDecoder.java | 0 .../traccar/protocol/AustinNbProtocol.java | 0 .../protocol/AustinNbProtocolDecoder.java | 0 .../traccar/protocol/AutoFonFrameDecoder.java | 0 .../org/traccar/protocol/AutoFonProtocol.java | 0 .../protocol/AutoFonProtocolDecoder.java | 0 .../traccar/protocol/AutoGradeProtocol.java | 0 .../protocol/AutoGradeProtocolDecoder.java | 0 .../traccar/protocol/AutoTrackProtocol.java | 0 .../protocol/AutoTrackProtocolDecoder.java | 0 .../org/traccar/protocol/AvemaProtocol.java | 0 .../protocol/AvemaProtocolDecoder.java | 0 .../org/traccar/protocol/Avl301Protocol.java | 0 .../protocol/Avl301ProtocolDecoder.java | 0 .../org/traccar/protocol/BceFrameDecoder.java | 0 .../org/traccar/protocol/BceProtocol.java | 0 .../traccar/protocol/BceProtocolDecoder.java | 0 .../traccar/protocol/BceProtocolEncoder.java | 0 .../traccar/protocol/BlackKiteProtocol.java | 0 .../protocol/BlackKiteProtocolDecoder.java | 0 .../org/traccar/protocol/BoxProtocol.java | 0 .../traccar/protocol/BoxProtocolDecoder.java | 0 .../org/traccar/protocol/C2stekProtocol.java | 0 .../protocol/C2stekProtocolDecoder.java | 0 .../org/traccar/protocol/CalAmpProtocol.java | 0 .../protocol/CalAmpProtocolDecoder.java | 0 .../traccar/protocol/CarTrackProtocol.java | 0 .../protocol/CarTrackProtocolDecoder.java | 0 .../org/traccar/protocol/CarcellProtocol.java | 0 .../protocol/CarcellProtocolDecoder.java | 0 .../protocol/CarcellProtocolEncoder.java | 0 .../org/traccar/protocol/CarscopProtocol.java | 0 .../protocol/CarscopProtocolDecoder.java | 0 .../org/traccar/protocol/CastelProtocol.java | 0 .../protocol/CastelProtocolDecoder.java | 0 .../protocol/CastelProtocolEncoder.java | 0 .../org/traccar/protocol/CautelaProtocol.java | 0 .../protocol/CautelaProtocolDecoder.java | 0 .../protocol/CellocatorFrameDecoder.java | 0 .../traccar/protocol/CellocatorProtocol.java | 0 .../protocol/CellocatorProtocolDecoder.java | 0 .../protocol/CellocatorProtocolEncoder.java | 0 .../org/traccar/protocol/CguardProtocol.java | 0 .../protocol/CguardProtocolDecoder.java | 0 .../traccar/protocol/CityeasyProtocol.java | 0 .../protocol/CityeasyProtocolDecoder.java | 0 .../protocol/CityeasyProtocolEncoder.java | 0 .../traccar/protocol/ContinentalProtocol.java | 0 .../protocol/ContinentalProtocolDecoder.java | 0 .../traccar/protocol/CradlepointProtocol.java | 0 .../protocol/CradlepointProtocolDecoder.java | 0 .../org/traccar/protocol/DishaProtocol.java | 0 .../protocol/DishaProtocolDecoder.java | 0 .../org/traccar/protocol/DmtHttpProtocol.java | 0 .../protocol/DmtHttpProtocolDecoder.java | 0 .../org/traccar/protocol/DmtProtocol.java | 0 .../traccar/protocol/DmtProtocolDecoder.java | 0 .../org/traccar/protocol/DwayProtocol.java | 0 .../traccar/protocol/DwayProtocolDecoder.java | 0 .../traccar/protocol/EasyTrackProtocol.java | 0 .../protocol/EasyTrackProtocolDecoder.java | 0 .../org/traccar/protocol/EelinkProtocol.java | 0 .../protocol/EelinkProtocolDecoder.java | 0 .../protocol/EelinkProtocolEncoder.java | 0 .../traccar/protocol/EgtsFrameDecoder.java | 0 .../org/traccar/protocol/EgtsProtocol.java | 0 .../traccar/protocol/EgtsProtocolDecoder.java | 0 .../org/traccar/protocol/EnforaProtocol.java | 0 .../protocol/EnforaProtocolDecoder.java | 0 .../protocol/EnforaProtocolEncoder.java | 0 .../org/traccar/protocol/EsealProtocol.java | 0 .../protocol/EsealProtocolDecoder.java | 0 .../protocol/EsealProtocolEncoder.java | 0 .../traccar/protocol/EskyFrameDecoder.java | 0 .../org/traccar/protocol/EskyProtocol.java | 0 .../traccar/protocol/EskyProtocolDecoder.java | 0 .../traccar/protocol/ExtremTracProtocol.java | 0 .../protocol/ExtremTracProtocolDecoder.java | 0 .../traccar/protocol/FifotrackProtocol.java | 0 .../protocol/FifotrackProtocolDecoder.java | 0 .../org/traccar/protocol/FlespiProtocol.java | 0 .../protocol/FlespiProtocolDecoder.java | 0 .../traccar/protocol/FlexCommProtocol.java | 0 .../protocol/FlexCommProtocolDecoder.java | 0 .../traccar/protocol/FlextrackProtocol.java | 0 .../protocol/FlextrackProtocolDecoder.java | 0 .../org/traccar/protocol/FoxProtocol.java | 0 .../traccar/protocol/FoxProtocolDecoder.java | 0 .../org/traccar/protocol/FreedomProtocol.java | 0 .../protocol/FreedomProtocolDecoder.java | 0 .../traccar/protocol/FreematicsProtocol.java | 0 .../protocol/FreematicsProtocolDecoder.java | 0 .../traccar/protocol/GalileoFrameDecoder.java | 0 .../org/traccar/protocol/GalileoProtocol.java | 0 .../protocol/GalileoProtocolDecoder.java | 0 .../protocol/GalileoProtocolEncoder.java | 0 .../org/traccar/protocol/GatorProtocol.java | 0 .../protocol/GatorProtocolDecoder.java | 0 .../org/traccar/protocol/GenxProtocol.java | 0 .../traccar/protocol/GenxProtocolDecoder.java | 0 .../org/traccar/protocol/Gl100Protocol.java | 0 .../protocol/Gl100ProtocolDecoder.java | 0 .../protocol/Gl200BinaryProtocolDecoder.java | 0 .../traccar/protocol/Gl200FrameDecoder.java | 0 .../org/traccar/protocol/Gl200Protocol.java | 0 .../protocol/Gl200ProtocolDecoder.java | 0 .../protocol/Gl200ProtocolEncoder.java | 0 .../protocol/Gl200TextProtocolDecoder.java | 0 .../traccar/protocol/GlobalSatProtocol.java | 0 .../protocol/GlobalSatProtocolDecoder.java | 0 .../org/traccar/protocol/GnxProtocol.java | 0 .../traccar/protocol/GnxProtocolDecoder.java | 0 .../org/traccar/protocol/GoSafeProtocol.java | 0 .../protocol/GoSafeProtocolDecoder.java | 0 .../org/traccar/protocol/GotopProtocol.java | 0 .../protocol/GotopProtocolDecoder.java | 0 .../traccar/protocol/Gps056FrameDecoder.java | 0 .../org/traccar/protocol/Gps056Protocol.java | 0 .../protocol/Gps056ProtocolDecoder.java | 0 .../org/traccar/protocol/Gps103Protocol.java | 0 .../protocol/Gps103ProtocolDecoder.java | 0 .../protocol/Gps103ProtocolEncoder.java | 0 .../org/traccar/protocol/GpsGateProtocol.java | 0 .../protocol/GpsGateProtocolDecoder.java | 0 .../traccar/protocol/GpsMarkerProtocol.java | 0 .../protocol/GpsMarkerProtocolDecoder.java | 0 .../org/traccar/protocol/GpsmtaProtocol.java | 0 .../protocol/GpsmtaProtocolDecoder.java | 0 .../traccar/protocol/GranitFrameDecoder.java | 0 .../org/traccar/protocol/GranitProtocol.java | 0 .../protocol/GranitProtocolDecoder.java | 0 .../protocol/GranitProtocolEncoder.java | 0 .../protocol/GranitProtocolSmsEncoder.java | 0 .../org/traccar/protocol/Gt02Protocol.java | 0 .../traccar/protocol/Gt02ProtocolDecoder.java | 0 .../traccar/protocol/Gt06FrameDecoder.java | 0 .../org/traccar/protocol/Gt06Protocol.java | 0 .../traccar/protocol/Gt06ProtocolDecoder.java | 0 .../traccar/protocol/Gt06ProtocolEncoder.java | 0 .../org/traccar/protocol/Gt30Protocol.java | 0 .../traccar/protocol/Gt30ProtocolDecoder.java | 0 .../org/traccar/protocol/H02FrameDecoder.java | 0 .../org/traccar/protocol/H02Protocol.java | 0 .../traccar/protocol/H02ProtocolDecoder.java | 0 .../traccar/protocol/H02ProtocolEncoder.java | 0 .../org/traccar/protocol/HaicomProtocol.java | 0 .../protocol/HaicomProtocolDecoder.java | 0 .../org/traccar/protocol/HomtecsProtocol.java | 0 .../protocol/HomtecsProtocolDecoder.java | 0 .../protocol/HuaShengFrameDecoder.java | 0 .../traccar/protocol/HuaShengProtocol.java | 0 .../protocol/HuaShengProtocolDecoder.java | 0 .../traccar/protocol/HuabaoFrameDecoder.java | 0 .../org/traccar/protocol/HuabaoProtocol.java | 0 .../protocol/HuabaoProtocolDecoder.java | 0 .../protocol/HuabaoProtocolEncoder.java | 0 .../traccar/protocol/HunterProProtocol.java | 0 .../protocol/HunterProProtocolDecoder.java | 0 .../org/traccar/protocol/IdplProtocol.java | 0 .../traccar/protocol/IdplProtocolDecoder.java | 0 .../protocol/IntellitracFrameDecoder.java | 0 .../traccar/protocol/IntellitracProtocol.java | 0 .../protocol/IntellitracProtocolDecoder.java | 0 .../org/traccar/protocol/ItsProtocol.java | 0 .../traccar/protocol/ItsProtocolDecoder.java | 0 .../org/traccar/protocol/Ivt401Protocol.java | 0 .../protocol/Ivt401ProtocolDecoder.java | 0 .../protocol/JpKorjarFrameDecoder.java | 0 .../traccar/protocol/JpKorjarProtocol.java | 0 .../protocol/JpKorjarProtocolDecoder.java | 178 ++++---- .../traccar/protocol/Jt600FrameDecoder.java | 0 .../org/traccar/protocol/Jt600Protocol.java | 0 .../protocol/Jt600ProtocolDecoder.java | 0 .../protocol/Jt600ProtocolEncoder.java | 0 .../org/traccar/protocol/KenjiProtocol.java | 0 .../protocol/KenjiProtocolDecoder.java | 0 .../org/traccar/protocol/KhdProtocol.java | 0 .../traccar/protocol/KhdProtocolDecoder.java | 0 .../traccar/protocol/KhdProtocolEncoder.java | 0 .../traccar/protocol/L100FrameDecoder.java | 0 .../org/traccar/protocol/L100Protocol.java | 0 .../traccar/protocol/L100ProtocolDecoder.java | 0 .../org/traccar/protocol/LaipacProtocol.java | 0 .../protocol/LaipacProtocolDecoder.java | 0 .../org/traccar/protocol/M2cProtocol.java | 0 .../traccar/protocol/M2cProtocolDecoder.java | 0 .../org/traccar/protocol/M2mProtocol.java | 0 .../traccar/protocol/M2mProtocolDecoder.java | 0 .../org/traccar/protocol/MaestroProtocol.java | 0 .../protocol/MaestroProtocolDecoder.java | 0 .../traccar/protocol/ManPowerProtocol.java | 0 .../protocol/ManPowerProtocolDecoder.java | 0 .../protocol/MegastekFrameDecoder.java | 0 .../traccar/protocol/MegastekProtocol.java | 0 .../protocol/MegastekProtocolDecoder.java | 0 .../protocol/MeiligaoFrameDecoder.java | 0 .../traccar/protocol/MeiligaoProtocol.java | 0 .../protocol/MeiligaoProtocolDecoder.java | 0 .../protocol/MeiligaoProtocolEncoder.java | 0 .../protocol/MeitrackFrameDecoder.java | 0 .../traccar/protocol/MeitrackProtocol.java | 0 .../protocol/MeitrackProtocolDecoder.java | 0 .../protocol/MeitrackProtocolEncoder.java | 0 .../traccar/protocol/MilesmateProtocol.java | 0 .../protocol/MilesmateProtocolDecoder.java | 0 .../traccar/protocol/MiniFinderProtocol.java | 0 .../protocol/MiniFinderProtocolDecoder.java | 0 .../protocol/MiniFinderProtocolEncoder.java | 0 .../org/traccar/protocol/Mta6Protocol.java | 0 .../traccar/protocol/Mta6ProtocolDecoder.java | 0 .../org/traccar/protocol/MtxProtocol.java | 0 .../traccar/protocol/MtxProtocolDecoder.java | 0 .../org/traccar/protocol/MxtFrameDecoder.java | 0 .../org/traccar/protocol/MxtProtocol.java | 0 .../traccar/protocol/MxtProtocolDecoder.java | 0 .../traccar/protocol/NavigilFrameDecoder.java | 0 .../org/traccar/protocol/NavigilProtocol.java | 0 .../protocol/NavigilProtocolDecoder.java | 0 .../traccar/protocol/NavisFrameDecoder.java | 0 .../org/traccar/protocol/NavisProtocol.java | 0 .../protocol/NavisProtocolDecoder.java | 0 .../org/traccar/protocol/NeosProtocol.java | 0 .../traccar/protocol/NeosProtocolDecoder.java | 0 .../org/traccar/protocol/NoranProtocol.java | 0 .../protocol/NoranProtocolDecoder.java | 0 .../protocol/NoranProtocolEncoder.java | 0 .../org/traccar/protocol/NvsFrameDecoder.java | 0 .../org/traccar/protocol/NvsProtocol.java | 0 .../traccar/protocol/NvsProtocolDecoder.java | 0 .../org/traccar/protocol/NyitechProtocol.java | 0 .../protocol/NyitechProtocolDecoder.java | 0 .../traccar/protocol/ObdDongleProtocol.java | 0 .../protocol/ObdDongleProtocolDecoder.java | 0 .../org/traccar/protocol/OigoProtocol.java | 0 .../traccar/protocol/OigoProtocolDecoder.java | 0 .../org/traccar/protocol/OkoProtocol.java | 0 .../traccar/protocol/OkoProtocolDecoder.java | 0 .../org/traccar/protocol/OpenGtsProtocol.java | 0 .../protocol/OpenGtsProtocolDecoder.java | 0 .../traccar/protocol/OrionFrameDecoder.java | 0 .../org/traccar/protocol/OrionProtocol.java | 0 .../protocol/OrionProtocolDecoder.java | 0 .../org/traccar/protocol/OsmAndProtocol.java | 0 .../protocol/OsmAndProtocolDecoder.java | 0 .../traccar/protocol/OwnTracksProtocol.java | 0 .../protocol/OwnTracksProtocolDecoder.java | 0 .../traccar/protocol/PathAwayProtocol.java | 0 .../protocol/PathAwayProtocolDecoder.java | 0 .../traccar/protocol/PiligrimProtocol.java | 0 .../protocol/PiligrimProtocolDecoder.java | 0 .../traccar/protocol/PretraceProtocol.java | 0 .../protocol/PretraceProtocolDecoder.java | 0 .../protocol/PretraceProtocolEncoder.java | 0 .../org/traccar/protocol/PricolProtocol.java | 0 .../protocol/PricolProtocolDecoder.java | 0 .../traccar/protocol/ProgressProtocol.java | 0 .../protocol/ProgressProtocolDecoder.java | 0 .../org/traccar/protocol/Pt3000Protocol.java | 0 .../protocol/Pt3000ProtocolDecoder.java | 0 .../traccar/protocol/Pt502FrameDecoder.java | 0 .../org/traccar/protocol/Pt502Protocol.java | 0 .../protocol/Pt502ProtocolDecoder.java | 424 +++++++++--------- .../protocol/Pt502ProtocolEncoder.java | 0 .../org/traccar/protocol/Pt60Protocol.java | 0 .../traccar/protocol/Pt60ProtocolDecoder.java | 0 .../org/traccar/protocol/RaveonProtocol.java | 0 .../protocol/RaveonProtocolDecoder.java | 0 .../org/traccar/protocol/RecodaProtocol.java | 0 .../protocol/RecodaProtocolDecoder.java | 0 .../protocol/RetranslatorFrameDecoder.java | 0 .../protocol/RetranslatorProtocol.java | 0 .../protocol/RetranslatorProtocolDecoder.java | 0 .../org/traccar/protocol/RitiProtocol.java | 0 .../traccar/protocol/RitiProtocolDecoder.java | 0 .../protocol/RoboTrackFrameDecoder.java | 0 .../traccar/protocol/RoboTrackProtocol.java | 0 .../protocol/RoboTrackProtocolDecoder.java | 0 .../org/traccar/protocol/RuptelaProtocol.java | 0 .../protocol/RuptelaProtocolDecoder.java | 0 .../protocol/RuptelaProtocolEncoder.java | 0 .../protocol/SabertekFrameDecoder.java | 0 .../traccar/protocol/SabertekProtocol.java | 0 .../protocol/SabertekProtocolDecoder.java | 0 .../org/traccar/protocol/SanavProtocol.java | 0 .../protocol/SanavProtocolDecoder.java | 0 .../org/traccar/protocol/SatsolProtocol.java | 0 .../protocol/SatsolProtocolDecoder.java | 0 .../org/traccar/protocol/SigfoxProtocol.java | 0 .../protocol/SigfoxProtocolDecoder.java | 0 .../org/traccar/protocol/SiwiProtocol.java | 0 .../traccar/protocol/SiwiProtocolDecoder.java | 0 .../traccar/protocol/SkypatrolProtocol.java | 0 .../protocol/SkypatrolProtocolDecoder.java | 0 .../traccar/protocol/SmartSoleProtocol.java | 0 .../protocol/SmartSoleProtocolDecoder.java | 0 .../org/traccar/protocol/SmokeyProtocol.java | 0 .../protocol/SmokeyProtocolDecoder.java | 0 .../org/traccar/protocol/SpotProtocol.java | 0 .../traccar/protocol/SpotProtocolDecoder.java | 0 .../traccar/protocol/StarLinkProtocol.java | 0 .../protocol/StarLinkProtocolDecoder.java | 0 .../traccar/protocol/Stl060FrameDecoder.java | 0 .../org/traccar/protocol/Stl060Protocol.java | 0 .../protocol/Stl060ProtocolDecoder.java | 0 .../org/traccar/protocol/SuntechProtocol.java | 0 .../protocol/SuntechProtocolDecoder.java | 0 .../protocol/SuntechProtocolEncoder.java | 0 .../traccar/protocol/SupermateProtocol.java | 0 .../protocol/SupermateProtocolDecoder.java | 0 .../org/traccar/protocol/SviasProtocol.java | 102 ++--- .../protocol/SviasProtocolDecoder.java | 210 ++++----- .../protocol/SviasProtocolEncoder.java | 96 ++-- .../org/traccar/protocol/T55Protocol.java | 0 .../traccar/protocol/T55ProtocolDecoder.java | 0 .../org/traccar/protocol/T57FrameDecoder.java | 0 .../org/traccar/protocol/T57Protocol.java | 0 .../traccar/protocol/T57ProtocolDecoder.java | 0 .../org/traccar/protocol/T800xProtocol.java | 0 .../protocol/T800xProtocolDecoder.java | 0 .../protocol/T800xProtocolEncoder.java | 0 .../org/traccar/protocol/TaipProtocol.java | 0 .../traccar/protocol/TaipProtocolDecoder.java | 0 .../org/traccar/protocol/TekFrameDecoder.java | 0 .../org/traccar/protocol/TekProtocol.java | 0 .../traccar/protocol/TekProtocolDecoder.java | 0 .../org/traccar/protocol/TelemaxProtocol.java | 0 .../protocol/TelemaxProtocolDecoder.java | 0 .../traccar/protocol/TelicFrameDecoder.java | 0 .../org/traccar/protocol/TelicProtocol.java | 0 .../protocol/TelicProtocolDecoder.java | 0 .../protocol/TeltonikaFrameDecoder.java | 0 .../traccar/protocol/TeltonikaProtocol.java | 0 .../protocol/TeltonikaProtocolDecoder.java | 0 .../protocol/TeltonikaProtocolEncoder.java | 0 .../traccar/protocol/ThinkRaceProtocol.java | 0 .../protocol/ThinkRaceProtocolDecoder.java | 0 .../org/traccar/protocol/Tk102Protocol.java | 0 .../protocol/Tk102ProtocolDecoder.java | 0 .../traccar/protocol/Tk103FrameDecoder.java | 0 .../org/traccar/protocol/Tk103Protocol.java | 0 .../protocol/Tk103ProtocolDecoder.java | 0 .../protocol/Tk103ProtocolEncoder.java | 0 .../org/traccar/protocol/Tlt2hProtocol.java | 0 .../protocol/Tlt2hProtocolDecoder.java | 0 .../org/traccar/protocol/TlvProtocol.java | 0 .../traccar/protocol/TlvProtocolDecoder.java | 0 .../org/traccar/protocol/TmgFrameDecoder.java | 0 .../org/traccar/protocol/TmgProtocol.java | 0 .../traccar/protocol/TmgProtocolDecoder.java | 0 .../traccar/protocol/TopflytechProtocol.java | 0 .../protocol/TopflytechProtocolDecoder.java | 0 .../traccar/protocol/TotemFrameDecoder.java | 0 .../org/traccar/protocol/TotemProtocol.java | 0 .../protocol/TotemProtocolDecoder.java | 0 .../protocol/TotemProtocolEncoder.java | 0 .../org/traccar/protocol/Tr20Protocol.java | 0 .../traccar/protocol/Tr20ProtocolDecoder.java | 0 .../org/traccar/protocol/Tr900Protocol.java | 0 .../protocol/Tr900ProtocolDecoder.java | 0 .../traccar/protocol/TrackboxProtocol.java | 0 .../protocol/TrackboxProtocolDecoder.java | 0 .../traccar/protocol/TrakMateProtocol.java | 0 .../protocol/TrakMateProtocolDecoder.java | 0 .../traccar/protocol/TramigoFrameDecoder.java | 0 .../org/traccar/protocol/TramigoProtocol.java | 0 .../protocol/TramigoProtocolDecoder.java | 0 .../org/traccar/protocol/TrvProtocol.java | 0 .../traccar/protocol/TrvProtocolDecoder.java | 0 .../org/traccar/protocol/Tt8850Protocol.java | 0 .../protocol/Tt8850ProtocolDecoder.java | 0 .../org/traccar/protocol/TytanProtocol.java | 0 .../protocol/TytanProtocolDecoder.java | 0 .../org/traccar/protocol/TzoneProtocol.java | 0 .../protocol/TzoneProtocolDecoder.java | 0 .../protocol/UlbotechFrameDecoder.java | 0 .../traccar/protocol/UlbotechProtocol.java | 0 .../protocol/UlbotechProtocolDecoder.java | 0 .../org/traccar/protocol/UproProtocol.java | 0 .../traccar/protocol/UproProtocolDecoder.java | 0 .../org/traccar/protocol/V680Protocol.java | 0 .../traccar/protocol/V680ProtocolDecoder.java | 0 .../traccar/protocol/VisiontekProtocol.java | 0 .../protocol/VisiontekProtocolDecoder.java | 0 .../traccar/protocol/Vt200FrameDecoder.java | 0 .../org/traccar/protocol/Vt200Protocol.java | 0 .../protocol/Vt200ProtocolDecoder.java | 0 .../traccar/protocol/VtfmsFrameDecoder.java | 0 .../org/traccar/protocol/VtfmsProtocol.java | 0 .../protocol/VtfmsProtocolDecoder.java | 0 .../traccar/protocol/WatchFrameDecoder.java | 0 .../org/traccar/protocol/WatchProtocol.java | 0 .../protocol/WatchProtocolDecoder.java | 0 .../protocol/WatchProtocolEncoder.java | 0 .../org/traccar/protocol/WialonProtocol.java | 0 .../protocol/WialonProtocolDecoder.java | 0 .../protocol/WialonProtocolEncoder.java | 0 .../traccar/protocol/WondexFrameDecoder.java | 0 .../org/traccar/protocol/WondexProtocol.java | 0 .../protocol/WondexProtocolDecoder.java | 0 .../protocol/WondexProtocolEncoder.java | 0 .../traccar/protocol/WristbandProtocol.java | 0 .../protocol/WristbandProtocolDecoder.java | 0 .../traccar/protocol/XexunFrameDecoder.java | 0 .../org/traccar/protocol/XexunProtocol.java | 0 .../protocol/XexunProtocolDecoder.java | 0 .../protocol/XexunProtocolEncoder.java | 0 .../org/traccar/protocol/XirgoProtocol.java | 0 .../protocol/XirgoProtocolDecoder.java | 0 .../protocol/XirgoProtocolEncoder.java | 0 .../org/traccar/protocol/Xrb28Protocol.java | 0 .../protocol/Xrb28ProtocolDecoder.java | 0 .../protocol/Xrb28ProtocolEncoder.java | 0 .../org/traccar/protocol/Xt013Protocol.java | 0 .../protocol/Xt013ProtocolDecoder.java | 0 .../org/traccar/protocol/Xt2400Protocol.java | 0 .../protocol/Xt2400ProtocolDecoder.java | 0 .../org/traccar/protocol/YwtProtocol.java | 0 .../traccar/protocol/YwtProtocolDecoder.java | 0 .../java}/org/traccar/reports/Events.java | 0 .../org/traccar/reports/ReportUtils.java | 0 .../java}/org/traccar/reports/Route.java | 0 .../java}/org/traccar/reports/Stops.java | 0 .../java}/org/traccar/reports/Summary.java | 0 .../java}/org/traccar/reports/Trips.java | 0 .../org/traccar/reports/model/BaseReport.java | 0 .../traccar/reports/model/DeviceReport.java | 0 .../org/traccar/reports/model/StopReport.java | 0 .../traccar/reports/model/SummaryReport.java | 0 .../org/traccar/reports/model/TripReport.java | 0 .../traccar/reports/model/TripsConfig.java | 0 .../java}/org/traccar/sms/HttpSmsClient.java | 0 .../java}/org/traccar/sms/SmsManager.java | 2 +- .../sms/smpp/ClientSmppSessionHandler.java | 0 .../org/traccar/sms/smpp/EnquireLinkTask.java | 0 .../traccar/sms/smpp/ReconnectionTask.java | 0 .../org/traccar/sms/smpp/SmppClient.java | 0 .../sms/smpp/TextMessageEventHandler.java | 0 .../java}/org/traccar/web/ConsoleServlet.java | 0 .../java}/org/traccar/web/CsvBuilder.java | 0 .../java}/org/traccar/web/GpxBuilder.java | 0 .../java}/org/traccar/web/WebServer.java | 0 .../test/java}/org/traccar/BaseTest.java | 0 .../test/java}/org/traccar/ProtocolTest.java | 0 .../org/traccar/TestIdentityManager.java | 0 .../java}/org/traccar/WebDataHandlerTest.java | 0 .../org/traccar/calendar/CalendarTest.java | 0 .../java}/org/traccar/config/ConfigTest.java | 0 .../org/traccar/database/DataManagerTest.java | 0 .../org/traccar/database/GroupTreeTest.java | 0 .../traccar/geocoder/AddressFormatTest.java | 0 .../org/traccar/geocoder/GeocoderTest.java | 0 .../traccar/geofence/GeofenceCircleTest.java | 0 .../traccar/geofence/GeofencePolygonTest.java | 0 .../geofence/GeofencePolylineTest.java | 0 .../geolocation/GeolocationProviderTest.java | 0 .../handler/ComputedAttributesTest.java | 0 .../traccar/handler/DistanceHandlerTest.java | 0 .../traccar/handler/FilterHandlerTest.java | 0 .../traccar/handler/MotionHandlerTest.java | 0 .../handler/events/AlertEventHandlerTest.java | 0 .../events/CommandResultEventHandlerTest.java | 0 .../events/IgnitionEventHandlerTest.java | 0 .../events/MotionEventHandlerTest.java | 0 .../events/OverspeedEventHandlerTest.java | 0 .../java}/org/traccar/helper/BcdUtilTest.java | 0 .../org/traccar/helper/BitBufferTest.java | 0 .../java}/org/traccar/helper/BitUtilTest.java | 0 .../org/traccar/helper/ChecksumTest.java | 0 .../org/traccar/helper/DateBuilderTest.java | 0 .../org/traccar/helper/DateUtilTest.java | 0 .../helper/DistanceCalculatorTest.java | 0 .../org/traccar/helper/LocationTreeTest.java | 0 .../java}/org/traccar/helper/LogTest.java | 0 .../org/traccar/helper/ObdDecoderTest.java | 0 .../traccar/helper/PatternBuilderTest.java | 0 .../org/traccar/helper/PatternUtilTest.java | 0 .../org/traccar/model/MiscFormatterTest.java | 0 .../notification/NotificiationMailTest.java | 0 .../protocol/AdmProtocolDecoderTest.java | 0 .../protocol/AdmProtocolEncoderTest.java | 0 .../protocol/AisProtocolDecoderTest.java | 0 .../AlematicsProtocolDecoderTest.java | 0 .../protocol/AnytrekProtocolDecoderTest.java | 0 .../protocol/ApelProtocolDecoderTest.java | 0 .../protocol/AplicomFrameDecoderTest.java | 0 .../protocol/AplicomProtocolDecoderTest.java | 0 .../protocol/AppelloProtocolDecoderTest.java | 0 .../protocol/AppletProtocolDecoderTest.java | 0 .../protocol/AquilaProtocolDecoderTest.java | 0 .../protocol/Ardi01ProtocolDecoderTest.java | 0 .../protocol/ArknavProtocolDecoderTest.java | 0 .../protocol/ArknavX8ProtocolDecoderTest.java | 0 .../protocol/ArnaviProtocolDecoderTest.java | 0 .../protocol/AstraProtocolDecoderTest.java | 0 .../protocol/At2000FrameDecoderTest.java | 0 .../protocol/At2000ProtocolDecoderTest.java | 0 .../protocol/AtrackFrameDecoderTest.java | 0 .../protocol/AtrackProtocolDecoderTest.java | 0 .../protocol/AuroProtocolDecoderTest.java | 0 .../protocol/AustinNbProtocolDecoderTest.java | 0 .../protocol/AutoFonProtocolDecoderTest.java | 82 ++-- .../AutoGradeProtocolDecoderTest.java | 0 .../AutoTrackProtocolDecoderTest.java | 0 .../protocol/AvemaProtocolDecoderTest.java | 0 .../protocol/Avl301ProtocolDecoderTest.java | 0 .../protocol/BceProtocolDecoderTest.java | 0 .../protocol/BceProtocolEncoderTest.java | 0 .../BlackKiteProtocolDecoderTest.java | 0 .../protocol/BoxProtocolDecoderTest.java | 0 .../protocol/C2stekProtocolDecoderTest.java | 0 .../protocol/CalAmpProtocolDecoderTest.java | 0 .../protocol/CarTrackProtocolDecoderTest.java | 0 .../protocol/CarscopProtocolDecoderTest.java | 0 .../protocol/CastelProtocolDecoderTest.java | 0 .../protocol/CastelProtocolEncoderTest.java | 0 .../protocol/CautelaProtocolDecoderTest.java | 0 .../CellocatorProtocolDecoderTest.java | 0 .../CellocatorProtocolEncoderTest.java | 0 .../protocol/CguardProtocolDecoderTest.java | 0 .../protocol/CityeasyProtocolDecoderTest.java | 0 .../protocol/CityeasyProtocolEncoderTest.java | 0 .../ContinentalProtocolDecoderTest.java | 0 .../CradlepointProtocolDecoderTest.java | 0 .../protocol/DishaProtocolDecoderTest.java | 0 .../protocol/DmtHttpProtocolDecoderTest.java | 0 .../protocol/DmtProtocolDecoderTest.java | 0 .../protocol/DwayProtocolDecoderTest.java | 0 .../EasyTrackProtocolDecoderTest.java | 0 .../protocol/EelinkProtocolDecoderTest.java | 0 .../protocol/EelinkProtocolEncoderTest.java | 0 .../protocol/EgtsFrameDecoderTest.java | 0 .../protocol/EgtsProtocolDecoderTest.java | 0 .../protocol/EnforaProtocolDecoderTest.java | 0 .../protocol/EsealProtocolDecoderTest.java | 0 .../protocol/EsealProtocolEncoderTest.java | 0 .../protocol/EskyFrameDecoderTest.java | 0 .../protocol/EskyProtocolDecoderTest.java | 0 .../ExtremTracProtocolDecoderTest.java | 0 .../FifotrackProtocolDecoderTest.java | 0 .../protocol/FlespiProtocolDecoderTest.java | 0 .../protocol/FlexCommProtocolDecoderTest.java | 0 .../FlextrackProtocolDecoderTest.java | 0 .../protocol/FoxProtocolDecoderTest.java | 0 .../protocol/FreedomProtocolDecoderTest.java | 0 .../FreematicsProtocolDecoderTest.java | 0 .../protocol/GalileoFrameDecoderTest.java | 0 .../protocol/GalileoProtocolDecoderTest.java | 0 .../protocol/GalileoProtocolEncoderTest.java | 0 .../protocol/GatorProtocolDecoderTest.java | 0 .../protocol/GenxProtocolDecoderTest.java | 0 .../protocol/Gl100ProtocolDecoderTest.java | 0 .../Gl200BinaryProtocolDecoderTest.java | 0 .../protocol/Gl200FrameDecoderTest.java | 0 .../Gl200TextProtocolDecoderTest.java | 0 .../GlobalSatProtocolDecoderTest.java | 0 .../protocol/GnxProtocolDecoderTest.java | 0 .../protocol/GoSafeProtocolDecoderTest.java | 0 .../protocol/GotopProtocolDecoderTest.java | 0 .../protocol/Gps056FrameDecoderTest.java | 0 .../protocol/Gps056ProtocolDecoderTest.java | 0 .../protocol/Gps103ProtocolDecoderTest.java | 0 .../protocol/Gps103ProtocolEncoderTest.java | 0 .../protocol/GpsGateProtocolDecoderTest.java | 0 .../GpsMarkerProtocolDecoderTest.java | 0 .../protocol/GpsmtaProtocolDecoderTest.java | 0 .../protocol/GranitFrameDecoderTest.java | 0 .../protocol/GranitProtocolDecoderTest.java | 0 .../protocol/Gt02ProtocolDecoderTest.java | 0 .../protocol/Gt06FrameDecoderTest.java | 0 .../protocol/Gt06ProtocolDecoderTest.java | 0 .../protocol/Gt06ProtocolEncoderTest.java | 0 .../protocol/Gt30ProtocolDecoderTest.java | 0 .../traccar/protocol/H02FrameDecoderTest.java | 0 .../protocol/H02ProtocolDecoderTest.java | 0 .../protocol/H02ProtocolEncoderTest.java | 0 .../protocol/HaicomProtocolDecoderTest.java | 0 .../protocol/HomtecsProtocolDecoderTest.java | 0 .../protocol/HuaShengFrameDecoderTest.java | 0 .../protocol/HuaShengProtocolDecoderTest.java | 0 .../protocol/HuabaoFrameDecoderTest.java | 0 .../protocol/HuabaoProtocolDecoderTest.java | 0 .../protocol/HuabaoProtocolEncoderTest.java | 0 .../HunterProProtocolDecoderTest.java | 0 .../protocol/IdplProtocolDecoderTest.java | 0 .../IntellitracProtocolDecoderTest.java | 0 .../protocol/ItsProtocolDecoderTest.java | 0 .../protocol/Ivt401ProtocolDecoderTest.java | 0 .../protocol/JpKorjarProtocolDecoderTest.java | 0 .../protocol/Jt600FrameDecoderTest.java | 0 .../protocol/Jt600ProtocolDecoderTest.java | 0 .../protocol/Jt600ProtocolEncoderTest.java | 0 .../protocol/KenjiProtocolDecoderTest.java | 0 .../protocol/KhdProtocolDecoderTest.java | 0 .../protocol/KhdProtocolEncoderTest.java | 0 .../protocol/L100FrameDecoderTest.java | 0 .../protocol/L100ProtocolDecoderTest.java | 0 .../protocol/LaipacProtocolDecoderTest.java | 0 .../protocol/M2cProtocolDecoderTest.java | 0 .../protocol/M2mProtocolDecoderTest.java | 0 .../protocol/MaestroProtocolDecoderTest.java | 0 .../protocol/ManPowerProtocolDecoderTest.java | 0 .../protocol/MegastekFrameDecoderTest.java | 0 .../protocol/MegastekProtocolDecoderTest.java | 0 .../protocol/MeiligaoFrameDecoderTest.java | 0 .../protocol/MeiligaoProtocolDecoderTest.java | 0 .../protocol/MeiligaoProtocolEncoderTest.java | 0 .../protocol/MeitrackFrameDecoderTest.java | 0 .../protocol/MeitrackProtocolDecoderTest.java | 0 .../protocol/MeitrackProtocolEncoderTest.java | 0 .../MilesmateProtocolDecoderTest.java | 0 .../MiniFinderProtocolDecoderTest.java | 0 .../MiniFinderProtocolEncoderTest.java | 0 .../protocol/MtxProtocolDecoderTest.java | 0 .../protocol/MxtProtocolDecoderTest.java | 0 .../protocol/NavigilProtocolDecoderTest.java | 0 .../protocol/NavisFrameDecoderTest.java | 0 .../protocol/NavisProtocolDecoderTest.java | 0 .../protocol/NeosProtocolDecoderTest.java | 0 .../protocol/NoranProtocolDecoderTest.java | 0 .../protocol/NoranProtocolEncoderTest.java | 0 .../traccar/protocol/NvsFrameDecoderTest.java | 0 .../protocol/NvsProtocolDecoderTest.java | 0 .../protocol/NyitechProtocolDecoderTest.java | 0 .../ObdDongleProtocolDecoderTest.java | 0 .../protocol/OigoProtocolDecoderTest.java | 0 .../protocol/OkoProtocolDecoderTest.java | 0 .../protocol/OpenGtsProtocolDecoderTest.java | 0 .../protocol/OrionProtocolDecoderTest.java | 0 .../protocol/OsmAndProtocolDecoderTest.java | 0 .../OwnTracksProtocolDecoderTest.java | 0 .../protocol/PathAwayProtocolDecoderTest.java | 0 .../protocol/PiligrimProtocolDecoderTest.java | 0 .../protocol/PretraceProtocolDecoderTest.java | 0 .../protocol/PretraceProtocolEncoderTest.java | 0 .../protocol/PricolProtocolDecoderTest.java | 0 .../protocol/ProgressProtocolDecoderTest.java | 0 .../protocol/Pt3000ProtocolDecoderTest.java | 0 .../protocol/Pt502FrameDecoderTest.java | 0 .../protocol/Pt502ProtocolDecoderTest.java | 0 .../protocol/Pt502ProtocolEncoderTest.java | 0 .../protocol/Pt60ProtocolDecoderTest.java | 0 .../protocol/RaveonProtocolDecoderTest.java | 0 .../protocol/RecodaProtocolDecoderTest.java | 0 .../RetranslatorProtocolDecoderTest.java | 0 .../protocol/RitiProtocolDecoderTest.java | 0 .../protocol/RoboTrackFrameDecoderTest.java | 0 .../RoboTrackProtocolDecoderTest.java | 0 .../protocol/RuptelaProtocolDecoderTest.java | 0 .../protocol/RuptelaProtocolEncoderTest.java | 0 .../protocol/SabertekFrameDecoderTest.java | 0 .../protocol/SabertekProtocolDecoderTest.java | 0 .../protocol/SanavProtocolDecoderTest.java | 0 .../protocol/SatsolProtocolDecoderTest.java | 0 .../protocol/SigfoxProtocolDecoderTest.java | 0 .../protocol/SiwiProtocolDecoderTest.java | 0 .../SkypatrolProtocolDecoderTest.java | 0 .../SmartSoleProtocolDecoderTest.java | 0 .../protocol/SmokeyProtocolDecoderTest.java | 0 .../protocol/SpotProtocolDecoderTest.java | 0 .../protocol/StarLinkProtocolDecoderTest.java | 0 .../protocol/Stl060ProtocolDecoderTest.java | 0 .../protocol/SuntechProtocolDecoderTest.java | 0 .../SupermateProtocolDecoderTest.java | 0 .../protocol/SviasProtocolDecoderTest.java | 0 .../protocol/T55ProtocolDecoderTest.java | 0 .../traccar/protocol/T57FrameDecoderTest.java | 0 .../protocol/T57ProtocolDecoderTest.java | 0 .../protocol/T800xProtocolDecoderTest.java | 0 .../protocol/T800xProtocolEncoderTest.java | 0 .../protocol/TaipProtocolDecoderTest.java | 0 .../traccar/protocol/TekFrameDecoderTest.java | 0 .../protocol/TekProtocolDecoderTest.java | 0 .../protocol/TelemaxProtocolDecoderTest.java | 0 .../protocol/TelicFrameDecoderTest.java | 0 .../protocol/TelicProtocolDecoderTest.java | 0 .../TeltonikaProtocolDecoderTest.java | 0 .../TeltonikaProtocolEncoderTest.java | 0 .../ThinkRaceProtocolDecoderTest.java | 0 .../protocol/Tk102ProtocolDecoderTest.java | 0 .../protocol/Tk103FrameDecoderTest.java | 0 .../protocol/Tk103ProtocolDecoderTest.java | 0 .../protocol/Tk103ProtocolEncoderTest.java | 0 .../protocol/Tlt2hProtocolDecoderTest.java | 0 .../protocol/TlvProtocolDecoderTest.java | 0 .../traccar/protocol/TmgFrameDecoderTest.java | 0 .../protocol/TmgProtocolDecoderTest.java | 0 .../TopflytechProtocolDecoderTest.java | 0 .../protocol/TotemFrameDecoderTest.java | 0 .../protocol/TotemProtocolDecoderTest.java | 0 .../protocol/TotemProtocolEncoderTest.java | 0 .../protocol/Tr20ProtocolDecoderTest.java | 0 .../protocol/Tr900ProtocolDecoderTest.java | 0 .../protocol/TrackboxProtocolDecoderTest.java | 0 .../protocol/TrakMateProtocolDecoderTest.java | 0 .../protocol/TramigoFrameDecoderTest.java | 0 .../protocol/TramigoProtocolDecoderTest.java | 0 .../protocol/TrvProtocolDecoderTest.java | 0 .../protocol/Tt8850ProtocolDecoderTest.java | 0 .../protocol/TytanProtocolDecoderTest.java | 0 .../protocol/TzoneProtocolDecoderTest.java | 0 .../protocol/UlbotechFrameDecoderTest.java | 0 .../protocol/UlbotechProtocolDecoderTest.java | 0 .../protocol/UproProtocolDecoderTest.java | 0 .../protocol/V680ProtocolDecoderTest.java | 0 .../VisiontekProtocolDecoderTest.java | 0 .../protocol/Vt200FrameDecoderTest.java | 0 .../protocol/Vt200ProtocolDecoderTest.java | 0 .../protocol/VtfmsFrameDecoderTest.java | 0 .../protocol/VtfmsProtocolDecoderTest.java | 0 .../protocol/WatchFrameDecoderTest.java | 0 .../protocol/WatchProtocolDecoderTest.java | 0 .../protocol/WatchProtocolEncoderTest.java | 0 .../protocol/WialonProtocolDecoderTest.java | 0 .../protocol/WondexFrameDecoderTest.java | 0 .../protocol/WondexProtocolDecoderTest.java | 0 .../protocol/WondexProtocolEncoderTest.java | 48 +- .../WristbandProtocolDecoderTest.java | 0 .../protocol/XexunFrameDecoderTest.java | 0 .../protocol/XexunProtocolDecoderTest.java | 0 .../protocol/XirgoProtocolDecoderTest.java | 0 .../protocol/XirgoProtocolEncoderTest.java | 0 .../protocol/Xrb28ProtocolDecoderTest.java | 0 .../protocol/Xrb28ProtocolEncoderTest.java | 0 .../protocol/Xt013ProtocolDecoderTest.java | 0 .../protocol/Xt2400ProtocolDecoderTest.java | 0 .../protocol/YwtProtocolDecoderTest.java | 0 .../org/traccar/reports/ReportUtilsTest.java | 0 .../java}/org/traccar/web/WebServerTest.java | 0 977 files changed, 1033 insertions(+), 663 deletions(-) create mode 100644 build.gradle rename checkstyle.xml => gradle/checkstyle.xml (100%) rename findbugs.xml => gradle/findbugs.xml (100%) create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle rename src/{ => main/java}/org/traccar/BaseDataHandler.java (100%) rename src/{ => main/java}/org/traccar/BaseFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/BaseHttpProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/BasePipelineFactory.java (100%) rename src/{ => main/java}/org/traccar/BaseProtocol.java (100%) rename src/{ => main/java}/org/traccar/BaseProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/BaseProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/CharacterDelimiterFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/Context.java (100%) rename src/{ => main/java}/org/traccar/DeviceSession.java (100%) rename src/{ => main/java}/org/traccar/EventLoopGroupFactory.java (100%) rename src/{ => main/java}/org/traccar/ExtendedObjectDecoder.java (100%) rename src/{ => main/java}/org/traccar/GlobalTimer.java (100%) rename src/{ => main/java}/org/traccar/Main.java (100%) rename src/{ => main/java}/org/traccar/MainEventHandler.java (100%) rename src/{ => main/java}/org/traccar/MainModule.java (100%) rename src/{ => main/java}/org/traccar/NetworkMessage.java (100%) rename src/{ => main/java}/org/traccar/PipelineBuilder.java (100%) rename src/{ => main/java}/org/traccar/Protocol.java (100%) rename src/{ => main/java}/org/traccar/ServerManager.java (100%) rename src/{ => main/java}/org/traccar/StringProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/TrackerServer.java (100%) rename src/{ => main/java}/org/traccar/WebDataHandler.java (100%) rename src/{ => main/java}/org/traccar/WindowsService.java (100%) rename src/{ => main/java}/org/traccar/WrapperContext.java (100%) rename src/{ => main/java}/org/traccar/WrapperInboundHandler.java (100%) rename src/{ => main/java}/org/traccar/WrapperOutboundHandler.java (100%) rename src/{ => main/java}/org/traccar/api/AsyncSocket.java (100%) rename src/{ => main/java}/org/traccar/api/AsyncSocketServlet.java (100%) rename src/{ => main/java}/org/traccar/api/BaseObjectResource.java (100%) rename src/{ => main/java}/org/traccar/api/BaseResource.java (100%) rename src/{ => main/java}/org/traccar/api/CorsResponseFilter.java (100%) rename src/{ => main/java}/org/traccar/api/ExtendedObjectResource.java (100%) rename src/{ => main/java}/org/traccar/api/MediaFilter.java (100%) rename src/{ => main/java}/org/traccar/api/ObjectMapperProvider.java (100%) rename src/{ => main/java}/org/traccar/api/ResourceErrorHandler.java (100%) rename src/{ => main/java}/org/traccar/api/SecurityRequestFilter.java (100%) rename src/{ => main/java}/org/traccar/api/SimpleObjectResource.java (100%) rename src/{ => main/java}/org/traccar/api/UserPrincipal.java (100%) rename src/{ => main/java}/org/traccar/api/UserSecurityContext.java (100%) rename src/{ => main/java}/org/traccar/api/resource/AttributeResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/CalendarResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/CommandResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/DeviceResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/DriverResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/EventResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/GeofenceResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/GroupResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/MaintenanceResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/NotificationResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/PermissionsResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/PositionResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/ReportResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/ServerResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/SessionResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/StatisticsResource.java (100%) rename src/{ => main/java}/org/traccar/api/resource/UserResource.java (100%) rename src/{ => main/java}/org/traccar/config/Config.java (100%) rename src/{ => main/java}/org/traccar/config/ConfigKey.java (100%) rename src/{ => main/java}/org/traccar/config/ConfigSuffix.java (100%) rename src/{ => main/java}/org/traccar/config/Keys.java (100%) rename src/{ => main/java}/org/traccar/database/ActiveDevice.java (100%) rename src/{ => main/java}/org/traccar/database/AttributesManager.java (100%) rename src/{ => main/java}/org/traccar/database/BaseObjectManager.java (100%) rename src/{ => main/java}/org/traccar/database/CalendarManager.java (100%) rename src/{ => main/java}/org/traccar/database/CommandsManager.java (100%) rename src/{ => main/java}/org/traccar/database/ConnectionManager.java (100%) rename src/{ => main/java}/org/traccar/database/DataManager.java (100%) rename src/{ => main/java}/org/traccar/database/DeviceManager.java (100%) rename src/{ => main/java}/org/traccar/database/DriversManager.java (100%) rename src/{ => main/java}/org/traccar/database/ExtendedObjectManager.java (100%) rename src/{ => main/java}/org/traccar/database/GeofenceManager.java (100%) rename src/{ => main/java}/org/traccar/database/GroupTree.java (100%) rename src/{ => main/java}/org/traccar/database/GroupsManager.java (100%) rename src/{ => main/java}/org/traccar/database/IdentityManager.java (100%) rename src/{ => main/java}/org/traccar/database/LdapProvider.java (100%) rename src/{ => main/java}/org/traccar/database/MailManager.java (100%) rename src/{ => main/java}/org/traccar/database/MaintenancesManager.java (100%) rename src/{ => main/java}/org/traccar/database/ManagableObjects.java (100%) rename src/{ => main/java}/org/traccar/database/MediaManager.java (100%) rename src/{ => main/java}/org/traccar/database/NotificationManager.java (100%) rename src/{ => main/java}/org/traccar/database/PermissionsManager.java (100%) rename src/{ => main/java}/org/traccar/database/QueryBuilder.java (100%) rename src/{ => main/java}/org/traccar/database/QueryExtended.java (100%) rename src/{ => main/java}/org/traccar/database/QueryIgnore.java (100%) rename src/{ => main/java}/org/traccar/database/SimpleObjectManager.java (100%) rename src/{ => main/java}/org/traccar/database/StatisticsManager.java (100%) rename src/{ => main/java}/org/traccar/database/UsersManager.java (100%) rename src/{ => main/java}/org/traccar/geocoder/Address.java (100%) rename src/{ => main/java}/org/traccar/geocoder/AddressFormat.java (100%) rename src/{ => main/java}/org/traccar/geocoder/BanGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/BingMapsGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/FactualGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/GeocodeFarmGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/GeocodeXyzGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/Geocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/GeocoderException.java (100%) rename src/{ => main/java}/org/traccar/geocoder/GisgraphyGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/GoogleGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/HereGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/JsonGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/MapQuestGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/MapmyIndiaGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/NominatimGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geocoder/OpenCageGeocoder.java (100%) rename src/{ => main/java}/org/traccar/geofence/GeofenceCircle.java (100%) rename src/{ => main/java}/org/traccar/geofence/GeofenceGeometry.java (100%) rename src/{ => main/java}/org/traccar/geofence/GeofencePolygon.java (100%) rename src/{ => main/java}/org/traccar/geofence/GeofencePolyline.java (100%) rename src/{ => main/java}/org/traccar/geolocation/GeolocationException.java (100%) rename src/{ => main/java}/org/traccar/geolocation/GeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/geolocation/GoogleGeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/geolocation/MozillaGeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/geolocation/OpenCellIdGeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/geolocation/UniversalGeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/geolocation/UnwiredGeolocationProvider.java (100%) rename src/{ => main/java}/org/traccar/handler/ComputedAttributesHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/CopyAttributesHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/DefaultDataHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/DistanceHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/EngineHoursHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/FilterHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/GeocoderHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/GeolocationHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/HemisphereHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/MotionHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/NetworkMessageHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/OpenChannelHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/RemoteAddressHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/StandardLoggingHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/AlertEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/BaseEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/CommandResultEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/DriverEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/FuelDropEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/GeofenceEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/IgnitionEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/MaintenanceEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/MotionEventHandler.java (100%) rename src/{ => main/java}/org/traccar/handler/events/OverspeedEventHandler.java (100%) rename src/{ => main/java}/org/traccar/helper/BcdUtil.java (100%) rename src/{ => main/java}/org/traccar/helper/BitBuffer.java (100%) rename src/{ => main/java}/org/traccar/helper/BitUtil.java (100%) rename src/{ => main/java}/org/traccar/helper/BufferUtil.java (100%) rename src/{ => main/java}/org/traccar/helper/Checksum.java (100%) rename src/{ => main/java}/org/traccar/helper/DataConverter.java (100%) rename src/{ => main/java}/org/traccar/helper/DateBuilder.java (100%) rename src/{ => main/java}/org/traccar/helper/DateUtil.java (100%) rename src/{ => main/java}/org/traccar/helper/DistanceCalculator.java (100%) rename src/{ => main/java}/org/traccar/helper/Hashing.java (100%) rename src/{ => main/java}/org/traccar/helper/LocationTree.java (100%) rename src/{ => main/java}/org/traccar/helper/Log.java (100%) rename src/{ => main/java}/org/traccar/helper/LogAction.java (100%) rename src/{ => main/java}/org/traccar/helper/ObdDecoder.java (100%) rename src/{ => main/java}/org/traccar/helper/Parser.java (100%) rename src/{ => main/java}/org/traccar/helper/PatternBuilder.java (100%) rename src/{ => main/java}/org/traccar/helper/PatternUtil.java (100%) rename src/{ => main/java}/org/traccar/helper/SanitizerModule.java (100%) rename src/{ => main/java}/org/traccar/helper/UnitsConverter.java (100%) rename src/{ => main/java}/org/traccar/model/Attribute.java (100%) rename src/{ => main/java}/org/traccar/model/BaseModel.java (100%) rename src/{ => main/java}/org/traccar/model/Calendar.java (100%) rename src/{ => main/java}/org/traccar/model/CellTower.java (100%) rename src/{ => main/java}/org/traccar/model/Command.java (100%) rename src/{ => main/java}/org/traccar/model/Device.java (100%) rename src/{ => main/java}/org/traccar/model/DeviceAccumulators.java (100%) rename src/{ => main/java}/org/traccar/model/DeviceState.java (100%) rename src/{ => main/java}/org/traccar/model/Driver.java (100%) rename src/{ => main/java}/org/traccar/model/Event.java (100%) rename src/{ => main/java}/org/traccar/model/ExtendedModel.java (100%) rename src/{ => main/java}/org/traccar/model/Geofence.java (100%) rename src/{ => main/java}/org/traccar/model/Group.java (100%) rename src/{ => main/java}/org/traccar/model/GroupedModel.java (100%) rename src/{ => main/java}/org/traccar/model/Maintenance.java (100%) rename src/{ => main/java}/org/traccar/model/ManagedUser.java (100%) rename src/{ => main/java}/org/traccar/model/Message.java (100%) rename src/{ => main/java}/org/traccar/model/MiscFormatter.java (100%) rename src/{ => main/java}/org/traccar/model/Network.java (100%) rename src/{ => main/java}/org/traccar/model/Notification.java (100%) rename src/{ => main/java}/org/traccar/model/Permission.java (100%) rename src/{ => main/java}/org/traccar/model/Position.java (100%) rename src/{ => main/java}/org/traccar/model/ScheduledModel.java (100%) rename src/{ => main/java}/org/traccar/model/Server.java (100%) rename src/{ => main/java}/org/traccar/model/Statistics.java (100%) rename src/{ => main/java}/org/traccar/model/Typed.java (100%) rename src/{ => main/java}/org/traccar/model/User.java (100%) rename src/{ => main/java}/org/traccar/model/WifiAccessPoint.java (100%) rename src/{ => main/java}/org/traccar/notification/EventForwarder.java (100%) rename src/{ => main/java}/org/traccar/notification/FullMessage.java (100%) rename src/{ => main/java}/org/traccar/notification/JsonTypeEventForwarder.java (96%) rename src/{ => main/java}/org/traccar/notification/MessageException.java (100%) rename src/{ => main/java}/org/traccar/notification/NotificationFormatter.java (100%) rename src/{ => main/java}/org/traccar/notification/NotificatorManager.java (100%) rename src/{ => main/java}/org/traccar/notification/PropertiesProvider.java (100%) rename src/{ => main/java}/org/traccar/notificators/Notificator.java (100%) rename src/{ => main/java}/org/traccar/notificators/NotificatorFirebase.java (100%) rename src/{ => main/java}/org/traccar/notificators/NotificatorMail.java (100%) rename src/{ => main/java}/org/traccar/notificators/NotificatorNull.java (100%) rename src/{ => main/java}/org/traccar/notificators/NotificatorSms.java (100%) rename src/{ => main/java}/org/traccar/notificators/NotificatorWeb.java (100%) rename src/{ => main/java}/org/traccar/protocol/AdmProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AdmProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AdmProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AisProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AisProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AlematicsFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AlematicsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AlematicsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AnytrekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AnytrekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ApelProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ApelProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AplicomFrameDecoder.java (96%) rename src/{ => main/java}/org/traccar/protocol/AplicomProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AplicomProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AppelloProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AppelloProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AppletProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AppletProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AquilaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AquilaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Ardi01Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Ardi01ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArknavProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArknavProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArknavX8Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArknavX8ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArnaviProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ArnaviProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AstraProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AstraProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/At2000FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/At2000Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/At2000ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AtrackFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AtrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AtrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AtrackProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AuroProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AuroProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AustinNbProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AustinNbProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoFonFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoFonProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoFonProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoGradeProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoGradeProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoTrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AutoTrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/AvemaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/AvemaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Avl301Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Avl301ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/BceFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/BceProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/BceProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/BceProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/BlackKiteProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/BlackKiteProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/BoxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/BoxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/C2stekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/C2stekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CalAmpProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CalAmpProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarTrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarTrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarcellProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarcellProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarcellProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarscopProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CarscopProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CastelProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CastelProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CastelProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CautelaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CautelaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CellocatorFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CellocatorProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CellocatorProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CellocatorProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CguardProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CguardProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CityeasyProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CityeasyProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CityeasyProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ContinentalProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ContinentalProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/CradlepointProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/CradlepointProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/DishaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/DishaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/DmtHttpProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/DmtHttpProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/DmtProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/DmtProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/DwayProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/DwayProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EasyTrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EasyTrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EelinkProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EelinkProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EelinkProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EgtsFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EgtsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EgtsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EnforaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EnforaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EnforaProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EsealProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EsealProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EsealProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EskyFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/EskyProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/EskyProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ExtremTracProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ExtremTracProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FifotrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FifotrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlespiProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlespiProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlexCommProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlexCommProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlextrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FlextrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FoxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FoxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FreedomProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FreedomProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/FreematicsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/FreematicsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GalileoFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GalileoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GalileoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GalileoProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GatorProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GatorProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GenxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GenxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl100Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl100ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200BinaryProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gl200TextProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GlobalSatProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GlobalSatProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GnxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GnxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GoSafeProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GoSafeProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GotopProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GotopProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps056FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps056Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps056ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps103Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps103ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gps103ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsGateProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsGateProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsMarkerProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsMarkerProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsmtaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GpsmtaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GranitFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GranitProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/GranitProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GranitProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/GranitProtocolSmsEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt02Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt02ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt06FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt06Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt06ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt06ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt30Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Gt30ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/H02FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/H02Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/H02ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/H02ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HaicomProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/HaicomProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HomtecsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/HomtecsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuaShengFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuaShengProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuaShengProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuabaoFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuabaoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuabaoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HuabaoProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/HunterProProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/HunterProProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/IdplProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/IdplProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/IntellitracFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/IntellitracProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/IntellitracProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ItsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ItsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Ivt401Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Ivt401ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/JpKorjarFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/JpKorjarProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/JpKorjarProtocolDecoder.java (97%) rename src/{ => main/java}/org/traccar/protocol/Jt600FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Jt600Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Jt600ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Jt600ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/KenjiProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/KenjiProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/KhdProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/KhdProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/KhdProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/L100FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/L100Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/L100ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/LaipacProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/LaipacProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/M2cProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/M2cProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/M2mProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/M2mProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MaestroProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MaestroProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ManPowerProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ManPowerProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MegastekFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MegastekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MegastekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeiligaoFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeiligaoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeiligaoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeiligaoProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeitrackFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeitrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeitrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MeitrackProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MilesmateProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MilesmateProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MiniFinderProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MiniFinderProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MiniFinderProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Mta6Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Mta6ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MtxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MtxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MxtFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/MxtProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/MxtProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavigilFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavigilProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavigilProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavisFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavisProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NavisProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NeosProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NeosProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NoranProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NoranProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NoranProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NvsFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NvsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NvsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/NyitechProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/NyitechProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ObdDongleProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ObdDongleProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OigoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OigoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OkoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OkoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OpenGtsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OpenGtsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OrionFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OrionProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OrionProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OsmAndProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OsmAndProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/OwnTracksProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/OwnTracksProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/PathAwayProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/PathAwayProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/PiligrimProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/PiligrimProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/PretraceProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/PretraceProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/PretraceProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/PricolProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/PricolProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ProgressProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ProgressProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt3000Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt3000ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt502FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt502Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt502ProtocolDecoder.java (97%) rename src/{ => main/java}/org/traccar/protocol/Pt502ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt60Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Pt60ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RaveonProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RaveonProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RecodaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RecodaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RetranslatorFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RetranslatorProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RetranslatorProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RitiProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RitiProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RoboTrackFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RoboTrackProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RoboTrackProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RuptelaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/RuptelaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/RuptelaProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SabertekFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SabertekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SabertekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SanavProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SanavProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SatsolProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SatsolProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SigfoxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SigfoxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SiwiProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SiwiProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SkypatrolProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SkypatrolProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SmartSoleProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SmartSoleProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SmokeyProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SmokeyProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SpotProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SpotProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/StarLinkProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/StarLinkProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Stl060FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Stl060Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Stl060ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SuntechProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SuntechProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SuntechProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SupermateProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/SupermateProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/SviasProtocol.java (97%) rename src/{ => main/java}/org/traccar/protocol/SviasProtocolDecoder.java (97%) rename src/{ => main/java}/org/traccar/protocol/SviasProtocolEncoder.java (97%) rename src/{ => main/java}/org/traccar/protocol/T55Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/T55ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/T57FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/T57Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/T57ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/T800xProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/T800xProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/T800xProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TaipProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TaipProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TekFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TelemaxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TelemaxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TelicFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TelicProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TelicProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TeltonikaFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TeltonikaProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TeltonikaProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TeltonikaProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/ThinkRaceProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/ThinkRaceProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk102Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk102ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk103FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk103Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk103ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tk103ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tlt2hProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tlt2hProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TlvProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TlvProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TmgFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TmgProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TmgProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TopflytechProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TopflytechProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TotemFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TotemProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TotemProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TotemProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tr20Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tr20ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tr900Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tr900ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrackboxProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrackboxProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrakMateProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrakMateProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TramigoFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TramigoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TramigoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrvProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TrvProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tt8850Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Tt8850ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TytanProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TytanProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/TzoneProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/TzoneProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/UlbotechFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/UlbotechProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/UlbotechProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/UproProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/UproProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/V680Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/V680ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/VisiontekProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/VisiontekProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Vt200FrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Vt200Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Vt200ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/VtfmsFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/VtfmsProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/VtfmsProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WatchFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WatchProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/WatchProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WatchProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WialonProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/WialonProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WialonProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WondexFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WondexProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/WondexProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WondexProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/WristbandProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/WristbandProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/XexunFrameDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/XexunProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/XexunProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/XexunProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/XirgoProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/XirgoProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/XirgoProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xrb28Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xrb28ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xrb28ProtocolEncoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xt013Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xt013ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xt2400Protocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/Xt2400ProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/protocol/YwtProtocol.java (100%) rename src/{ => main/java}/org/traccar/protocol/YwtProtocolDecoder.java (100%) rename src/{ => main/java}/org/traccar/reports/Events.java (100%) rename src/{ => main/java}/org/traccar/reports/ReportUtils.java (100%) rename src/{ => main/java}/org/traccar/reports/Route.java (100%) rename src/{ => main/java}/org/traccar/reports/Stops.java (100%) rename src/{ => main/java}/org/traccar/reports/Summary.java (100%) rename src/{ => main/java}/org/traccar/reports/Trips.java (100%) rename src/{ => main/java}/org/traccar/reports/model/BaseReport.java (100%) rename src/{ => main/java}/org/traccar/reports/model/DeviceReport.java (100%) rename src/{ => main/java}/org/traccar/reports/model/StopReport.java (100%) rename src/{ => main/java}/org/traccar/reports/model/SummaryReport.java (100%) rename src/{ => main/java}/org/traccar/reports/model/TripReport.java (100%) rename src/{ => main/java}/org/traccar/reports/model/TripsConfig.java (100%) rename src/{ => main/java}/org/traccar/sms/HttpSmsClient.java (100%) rename src/{ => main/java}/org/traccar/sms/SmsManager.java (91%) rename src/{ => main/java}/org/traccar/sms/smpp/ClientSmppSessionHandler.java (100%) rename src/{ => main/java}/org/traccar/sms/smpp/EnquireLinkTask.java (100%) rename src/{ => main/java}/org/traccar/sms/smpp/ReconnectionTask.java (100%) rename src/{ => main/java}/org/traccar/sms/smpp/SmppClient.java (100%) rename src/{ => main/java}/org/traccar/sms/smpp/TextMessageEventHandler.java (100%) rename src/{ => main/java}/org/traccar/web/ConsoleServlet.java (100%) rename src/{ => main/java}/org/traccar/web/CsvBuilder.java (100%) rename src/{ => main/java}/org/traccar/web/GpxBuilder.java (100%) rename src/{ => main/java}/org/traccar/web/WebServer.java (100%) rename {test => src/test/java}/org/traccar/BaseTest.java (100%) rename {test => src/test/java}/org/traccar/ProtocolTest.java (100%) rename {test => src/test/java}/org/traccar/TestIdentityManager.java (100%) rename {test => src/test/java}/org/traccar/WebDataHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/calendar/CalendarTest.java (100%) rename {test => src/test/java}/org/traccar/config/ConfigTest.java (100%) rename {test => src/test/java}/org/traccar/database/DataManagerTest.java (100%) rename {test => src/test/java}/org/traccar/database/GroupTreeTest.java (100%) rename {test => src/test/java}/org/traccar/geocoder/AddressFormatTest.java (100%) rename {test => src/test/java}/org/traccar/geocoder/GeocoderTest.java (100%) rename {test => src/test/java}/org/traccar/geofence/GeofenceCircleTest.java (100%) rename {test => src/test/java}/org/traccar/geofence/GeofencePolygonTest.java (100%) rename {test => src/test/java}/org/traccar/geofence/GeofencePolylineTest.java (100%) rename {test => src/test/java}/org/traccar/geolocation/GeolocationProviderTest.java (100%) rename {test => src/test/java}/org/traccar/handler/ComputedAttributesTest.java (100%) rename {test => src/test/java}/org/traccar/handler/DistanceHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/FilterHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/MotionHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/events/AlertEventHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/events/CommandResultEventHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/events/IgnitionEventHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/events/MotionEventHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/handler/events/OverspeedEventHandlerTest.java (100%) rename {test => src/test/java}/org/traccar/helper/BcdUtilTest.java (100%) rename {test => src/test/java}/org/traccar/helper/BitBufferTest.java (100%) rename {test => src/test/java}/org/traccar/helper/BitUtilTest.java (100%) rename {test => src/test/java}/org/traccar/helper/ChecksumTest.java (100%) rename {test => src/test/java}/org/traccar/helper/DateBuilderTest.java (100%) rename {test => src/test/java}/org/traccar/helper/DateUtilTest.java (100%) rename {test => src/test/java}/org/traccar/helper/DistanceCalculatorTest.java (100%) rename {test => src/test/java}/org/traccar/helper/LocationTreeTest.java (100%) rename {test => src/test/java}/org/traccar/helper/LogTest.java (100%) rename {test => src/test/java}/org/traccar/helper/ObdDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/helper/PatternBuilderTest.java (100%) rename {test => src/test/java}/org/traccar/helper/PatternUtilTest.java (100%) rename {test => src/test/java}/org/traccar/model/MiscFormatterTest.java (100%) rename {test => src/test/java}/org/traccar/notification/NotificiationMailTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AdmProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AdmProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AisProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AlematicsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AnytrekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ApelProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AplicomFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AplicomProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AppelloProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AppletProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AquilaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Ardi01ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ArknavProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ArknavX8ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ArnaviProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AstraProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/At2000FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/At2000ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AtrackFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AtrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AuroProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AustinNbProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AutoFonProtocolDecoderTest.java (97%) rename {test => src/test/java}/org/traccar/protocol/AutoGradeProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AutoTrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/AvemaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Avl301ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/BceProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/BceProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/BlackKiteProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/BoxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/C2stekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CalAmpProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CarTrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CarscopProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CastelProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CastelProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CautelaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CellocatorProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CellocatorProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CguardProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CityeasyProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CityeasyProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ContinentalProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/CradlepointProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/DishaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/DmtHttpProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/DmtProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/DwayProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EasyTrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EelinkProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EelinkProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EgtsFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EgtsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EnforaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EsealProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EsealProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EskyFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/EskyProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ExtremTracProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FifotrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FlespiProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FlexCommProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FlextrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FoxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FreedomProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/FreematicsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GalileoFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GalileoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GalileoProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GatorProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GenxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gl100ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gl200BinaryProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gl200FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gl200TextProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GlobalSatProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GnxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GoSafeProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GotopProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gps056FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gps056ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gps103ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gps103ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GpsGateProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GpsmtaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GranitFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/GranitProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gt02ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gt06FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gt06ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gt06ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Gt30ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/H02FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/H02ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/H02ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HaicomProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HomtecsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HuaShengFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HuaShengProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HuabaoFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HuabaoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HuabaoProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/HunterProProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/IdplProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/IntellitracProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ItsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Ivt401ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/JpKorjarProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Jt600FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Jt600ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Jt600ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/KenjiProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/KhdProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/KhdProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/L100FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/L100ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/LaipacProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/M2cProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/M2mProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MaestroProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ManPowerProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MegastekFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MegastekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeiligaoFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeiligaoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeiligaoProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeitrackFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeitrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MeitrackProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MilesmateProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MiniFinderProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MiniFinderProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MtxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/MxtProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NavigilProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NavisFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NavisProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NeosProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NoranProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NoranProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NvsFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NvsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/NyitechProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ObdDongleProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OigoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OkoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OpenGtsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OrionProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OsmAndProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/OwnTracksProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/PathAwayProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/PiligrimProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/PretraceProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/PretraceProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/PricolProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ProgressProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Pt3000ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Pt502FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Pt502ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Pt502ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Pt60ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RaveonProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RecodaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RetranslatorProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RitiProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RoboTrackFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RoboTrackProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RuptelaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/RuptelaProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SabertekFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SabertekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SanavProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SatsolProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SigfoxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SiwiProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SkypatrolProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SmartSoleProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SmokeyProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SpotProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/StarLinkProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Stl060ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SuntechProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SupermateProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/SviasProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/T55ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/T57FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/T57ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/T800xProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/T800xProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TaipProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TekFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TelemaxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TelicFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TelicProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TeltonikaProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TeltonikaProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/ThinkRaceProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tk102ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tk103FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tk103ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tk103ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tlt2hProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TlvProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TmgFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TmgProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TopflytechProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TotemFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TotemProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TotemProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tr20ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tr900ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TrackboxProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TrakMateProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TramigoFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TramigoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TrvProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Tt8850ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TytanProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/TzoneProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/UlbotechFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/UlbotechProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/UproProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/V680ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/VisiontekProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Vt200FrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Vt200ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/VtfmsFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/VtfmsProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WatchFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WatchProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WatchProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WialonProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WondexFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WondexProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/WondexProtocolEncoderTest.java (96%) rename {test => src/test/java}/org/traccar/protocol/WristbandProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/XexunFrameDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/XexunProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/XirgoProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/XirgoProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Xrb28ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Xrb28ProtocolEncoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Xt013ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/Xt2400ProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/protocol/YwtProtocolDecoderTest.java (100%) rename {test => src/test/java}/org/traccar/reports/ReportUtilsTest.java (100%) rename {test => src/test/java}/org/traccar/web/WebServerTest.java (100%) diff --git a/.gitignore b/.gitignore index 00818a38a38..c005ef9e44c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ nbactions.xml *.iml .DS_Store .checkstyle +.gradle +out +build diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000000..155a893a516 --- /dev/null +++ b/build.gradle @@ -0,0 +1,83 @@ +plugins { + id "java" + id "checkstyle" +} + +repositories { + mavenCentral() +} + +sourceCompatibility = "1.8" +compileJava.options.encoding = "UTF-8" + +checkstyle { + configFile = "gradle/checkstyle.xml" as File + checkstyleTest.enabled = false +} + +ext { + jettyVersion = "9.4.14.v20181114" + jerseyVersion = "2.28" + jacksonVersion = "2.9.8" +} + +dependencies { + implementation "commons-codec:commons-codec:1.11" + implementation "com.h2database:h2:1.4.197" + implementation "mysql:mysql-connector-java:5.1.47" // bug should be fixed in 8.0.13 + implementation "org.postgresql:postgresql:42.2.5" + implementation "com.microsoft.sqlserver:mssql-jdbc:7.2.0.jre8" + implementation "com.zaxxer:HikariCP:3.3.0" + implementation "io.netty:netty-all:4.1.33.Final" + implementation "org.slf4j:slf4j-jdk14:1.7.25" + implementation "com.google.inject:guice:4.2.2" + implementation "com.google.inject.extensions:guice-assistedinject:4.2.2" + implementation "org.owasp.encoder:encoder:1.2.2" + implementation "org.glassfish:javax.json:1.1.4" + implementation "org.eclipse.jetty:jetty-server:$jettyVersion" + implementation "org.eclipse.jetty:jetty-servlet:$jettyVersion" + implementation "org.eclipse.jetty:jetty-webapp:$jettyVersion" + implementation "org.eclipse.jetty:jetty-jndi:$jettyVersion" + implementation "org.eclipse.jetty:jetty-proxy:$jettyVersion" + implementation "org.eclipse.jetty.websocket:websocket-server:$jettyVersion" + implementation "org.glassfish.jersey.containers:jersey-container-servlet:$jerseyVersion" + implementation "org.glassfish.jersey.media:jersey-media-json-jackson:$jerseyVersion" + implementation "org.glassfish.jersey.inject:jersey-hk2:$jerseyVersion" + implementation "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:$jacksonVersion" + implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr353:$jacksonVersion" + implementation "org.liquibase:liquibase-core:3.6.3" + implementation "com.sun.mail:javax.mail:1.6.2" + implementation "org.jxls:jxls:2.4.7" + implementation "org.jxls:jxls-poi:1.0.16" + implementation "org.apache.velocity:velocity:1.7" + implementation "org.apache.velocity:velocity-tools:2.0" + implementation "org.apache.commons:commons-collections4:4.2" + implementation "org.mnode.ical4j:ical4j:2.0.5" // needs upgrade + implementation "com.fizzed:ch-smpp:6.0.0-netty4-beta-3" + implementation "net.java.dev.jna:jna-platform:5.2.0" + implementation "com.github.jnr:jnr-posix:3.0.49" + implementation "javax.xml.bind:jaxb-api:2.3.1" + implementation "com.sun.xml.bind:jaxb-core:2.3.0.1" + implementation "com.sun.xml.bind:jaxb-impl:2.3.2" + implementation "javax.activation:activation:1.1.1" + testImplementation "junit:junit:4.12" +} + +task copyDependencies(type: Copy) { + into "$projectDir/target/lib" + from configurations.runtimeClasspath +} +task copyBinary(type: Copy) { + into "$projectDir/target" + from jar +} +assemble.dependsOn(copyBinary, copyDependencies) + +jar { + manifest { + attributes( + "Main-Class": "org.traccar.Main", + "Implementation-Version": "4.3", + "Class-Path": configurations.runtimeClasspath.files.collect { "lib/$it.name" }.join(" ")) + } +} diff --git a/checkstyle.xml b/gradle/checkstyle.xml similarity index 100% rename from checkstyle.xml rename to gradle/checkstyle.xml diff --git a/findbugs.xml b/gradle/findbugs.xml similarity index 100% rename from findbugs.xml rename to gradle/findbugs.xml diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c2d1cf016b3885f6930543d57b744ea8c220a1a GIT binary patch literal 55616 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000000..9991c503266 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pom.xml b/pom.xml index 9a5abbd848f..b9f5965f7e7 100644 --- a/pom.xml +++ b/pom.xml @@ -224,23 +224,13 @@ tracker-server target/classes - src - test - - - src - - **/*.java - - - maven-checkstyle-plugin 3.0.0 - checkstyle.xml + gradle/checkstyle.xml @@ -374,7 +364,7 @@ findbugs-maven-plugin 3.0.5 - findbugs.xml + gradle/findbugs.xml diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000000..eccaa4cdb54 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "traccar" diff --git a/src/org/traccar/BaseDataHandler.java b/src/main/java/org/traccar/BaseDataHandler.java similarity index 100% rename from src/org/traccar/BaseDataHandler.java rename to src/main/java/org/traccar/BaseDataHandler.java diff --git a/src/org/traccar/BaseFrameDecoder.java b/src/main/java/org/traccar/BaseFrameDecoder.java similarity index 100% rename from src/org/traccar/BaseFrameDecoder.java rename to src/main/java/org/traccar/BaseFrameDecoder.java diff --git a/src/org/traccar/BaseHttpProtocolDecoder.java b/src/main/java/org/traccar/BaseHttpProtocolDecoder.java similarity index 100% rename from src/org/traccar/BaseHttpProtocolDecoder.java rename to src/main/java/org/traccar/BaseHttpProtocolDecoder.java diff --git a/src/org/traccar/BasePipelineFactory.java b/src/main/java/org/traccar/BasePipelineFactory.java similarity index 100% rename from src/org/traccar/BasePipelineFactory.java rename to src/main/java/org/traccar/BasePipelineFactory.java diff --git a/src/org/traccar/BaseProtocol.java b/src/main/java/org/traccar/BaseProtocol.java similarity index 100% rename from src/org/traccar/BaseProtocol.java rename to src/main/java/org/traccar/BaseProtocol.java diff --git a/src/org/traccar/BaseProtocolDecoder.java b/src/main/java/org/traccar/BaseProtocolDecoder.java similarity index 100% rename from src/org/traccar/BaseProtocolDecoder.java rename to src/main/java/org/traccar/BaseProtocolDecoder.java diff --git a/src/org/traccar/BaseProtocolEncoder.java b/src/main/java/org/traccar/BaseProtocolEncoder.java similarity index 100% rename from src/org/traccar/BaseProtocolEncoder.java rename to src/main/java/org/traccar/BaseProtocolEncoder.java diff --git a/src/org/traccar/CharacterDelimiterFrameDecoder.java b/src/main/java/org/traccar/CharacterDelimiterFrameDecoder.java similarity index 100% rename from src/org/traccar/CharacterDelimiterFrameDecoder.java rename to src/main/java/org/traccar/CharacterDelimiterFrameDecoder.java diff --git a/src/org/traccar/Context.java b/src/main/java/org/traccar/Context.java similarity index 100% rename from src/org/traccar/Context.java rename to src/main/java/org/traccar/Context.java diff --git a/src/org/traccar/DeviceSession.java b/src/main/java/org/traccar/DeviceSession.java similarity index 100% rename from src/org/traccar/DeviceSession.java rename to src/main/java/org/traccar/DeviceSession.java diff --git a/src/org/traccar/EventLoopGroupFactory.java b/src/main/java/org/traccar/EventLoopGroupFactory.java similarity index 100% rename from src/org/traccar/EventLoopGroupFactory.java rename to src/main/java/org/traccar/EventLoopGroupFactory.java diff --git a/src/org/traccar/ExtendedObjectDecoder.java b/src/main/java/org/traccar/ExtendedObjectDecoder.java similarity index 100% rename from src/org/traccar/ExtendedObjectDecoder.java rename to src/main/java/org/traccar/ExtendedObjectDecoder.java diff --git a/src/org/traccar/GlobalTimer.java b/src/main/java/org/traccar/GlobalTimer.java similarity index 100% rename from src/org/traccar/GlobalTimer.java rename to src/main/java/org/traccar/GlobalTimer.java diff --git a/src/org/traccar/Main.java b/src/main/java/org/traccar/Main.java similarity index 100% rename from src/org/traccar/Main.java rename to src/main/java/org/traccar/Main.java diff --git a/src/org/traccar/MainEventHandler.java b/src/main/java/org/traccar/MainEventHandler.java similarity index 100% rename from src/org/traccar/MainEventHandler.java rename to src/main/java/org/traccar/MainEventHandler.java diff --git a/src/org/traccar/MainModule.java b/src/main/java/org/traccar/MainModule.java similarity index 100% rename from src/org/traccar/MainModule.java rename to src/main/java/org/traccar/MainModule.java diff --git a/src/org/traccar/NetworkMessage.java b/src/main/java/org/traccar/NetworkMessage.java similarity index 100% rename from src/org/traccar/NetworkMessage.java rename to src/main/java/org/traccar/NetworkMessage.java diff --git a/src/org/traccar/PipelineBuilder.java b/src/main/java/org/traccar/PipelineBuilder.java similarity index 100% rename from src/org/traccar/PipelineBuilder.java rename to src/main/java/org/traccar/PipelineBuilder.java diff --git a/src/org/traccar/Protocol.java b/src/main/java/org/traccar/Protocol.java similarity index 100% rename from src/org/traccar/Protocol.java rename to src/main/java/org/traccar/Protocol.java diff --git a/src/org/traccar/ServerManager.java b/src/main/java/org/traccar/ServerManager.java similarity index 100% rename from src/org/traccar/ServerManager.java rename to src/main/java/org/traccar/ServerManager.java diff --git a/src/org/traccar/StringProtocolEncoder.java b/src/main/java/org/traccar/StringProtocolEncoder.java similarity index 100% rename from src/org/traccar/StringProtocolEncoder.java rename to src/main/java/org/traccar/StringProtocolEncoder.java diff --git a/src/org/traccar/TrackerServer.java b/src/main/java/org/traccar/TrackerServer.java similarity index 100% rename from src/org/traccar/TrackerServer.java rename to src/main/java/org/traccar/TrackerServer.java diff --git a/src/org/traccar/WebDataHandler.java b/src/main/java/org/traccar/WebDataHandler.java similarity index 100% rename from src/org/traccar/WebDataHandler.java rename to src/main/java/org/traccar/WebDataHandler.java diff --git a/src/org/traccar/WindowsService.java b/src/main/java/org/traccar/WindowsService.java similarity index 100% rename from src/org/traccar/WindowsService.java rename to src/main/java/org/traccar/WindowsService.java diff --git a/src/org/traccar/WrapperContext.java b/src/main/java/org/traccar/WrapperContext.java similarity index 100% rename from src/org/traccar/WrapperContext.java rename to src/main/java/org/traccar/WrapperContext.java diff --git a/src/org/traccar/WrapperInboundHandler.java b/src/main/java/org/traccar/WrapperInboundHandler.java similarity index 100% rename from src/org/traccar/WrapperInboundHandler.java rename to src/main/java/org/traccar/WrapperInboundHandler.java diff --git a/src/org/traccar/WrapperOutboundHandler.java b/src/main/java/org/traccar/WrapperOutboundHandler.java similarity index 100% rename from src/org/traccar/WrapperOutboundHandler.java rename to src/main/java/org/traccar/WrapperOutboundHandler.java diff --git a/src/org/traccar/api/AsyncSocket.java b/src/main/java/org/traccar/api/AsyncSocket.java similarity index 100% rename from src/org/traccar/api/AsyncSocket.java rename to src/main/java/org/traccar/api/AsyncSocket.java diff --git a/src/org/traccar/api/AsyncSocketServlet.java b/src/main/java/org/traccar/api/AsyncSocketServlet.java similarity index 100% rename from src/org/traccar/api/AsyncSocketServlet.java rename to src/main/java/org/traccar/api/AsyncSocketServlet.java diff --git a/src/org/traccar/api/BaseObjectResource.java b/src/main/java/org/traccar/api/BaseObjectResource.java similarity index 100% rename from src/org/traccar/api/BaseObjectResource.java rename to src/main/java/org/traccar/api/BaseObjectResource.java diff --git a/src/org/traccar/api/BaseResource.java b/src/main/java/org/traccar/api/BaseResource.java similarity index 100% rename from src/org/traccar/api/BaseResource.java rename to src/main/java/org/traccar/api/BaseResource.java diff --git a/src/org/traccar/api/CorsResponseFilter.java b/src/main/java/org/traccar/api/CorsResponseFilter.java similarity index 100% rename from src/org/traccar/api/CorsResponseFilter.java rename to src/main/java/org/traccar/api/CorsResponseFilter.java diff --git a/src/org/traccar/api/ExtendedObjectResource.java b/src/main/java/org/traccar/api/ExtendedObjectResource.java similarity index 100% rename from src/org/traccar/api/ExtendedObjectResource.java rename to src/main/java/org/traccar/api/ExtendedObjectResource.java diff --git a/src/org/traccar/api/MediaFilter.java b/src/main/java/org/traccar/api/MediaFilter.java similarity index 100% rename from src/org/traccar/api/MediaFilter.java rename to src/main/java/org/traccar/api/MediaFilter.java diff --git a/src/org/traccar/api/ObjectMapperProvider.java b/src/main/java/org/traccar/api/ObjectMapperProvider.java similarity index 100% rename from src/org/traccar/api/ObjectMapperProvider.java rename to src/main/java/org/traccar/api/ObjectMapperProvider.java diff --git a/src/org/traccar/api/ResourceErrorHandler.java b/src/main/java/org/traccar/api/ResourceErrorHandler.java similarity index 100% rename from src/org/traccar/api/ResourceErrorHandler.java rename to src/main/java/org/traccar/api/ResourceErrorHandler.java diff --git a/src/org/traccar/api/SecurityRequestFilter.java b/src/main/java/org/traccar/api/SecurityRequestFilter.java similarity index 100% rename from src/org/traccar/api/SecurityRequestFilter.java rename to src/main/java/org/traccar/api/SecurityRequestFilter.java diff --git a/src/org/traccar/api/SimpleObjectResource.java b/src/main/java/org/traccar/api/SimpleObjectResource.java similarity index 100% rename from src/org/traccar/api/SimpleObjectResource.java rename to src/main/java/org/traccar/api/SimpleObjectResource.java diff --git a/src/org/traccar/api/UserPrincipal.java b/src/main/java/org/traccar/api/UserPrincipal.java similarity index 100% rename from src/org/traccar/api/UserPrincipal.java rename to src/main/java/org/traccar/api/UserPrincipal.java diff --git a/src/org/traccar/api/UserSecurityContext.java b/src/main/java/org/traccar/api/UserSecurityContext.java similarity index 100% rename from src/org/traccar/api/UserSecurityContext.java rename to src/main/java/org/traccar/api/UserSecurityContext.java diff --git a/src/org/traccar/api/resource/AttributeResource.java b/src/main/java/org/traccar/api/resource/AttributeResource.java similarity index 100% rename from src/org/traccar/api/resource/AttributeResource.java rename to src/main/java/org/traccar/api/resource/AttributeResource.java diff --git a/src/org/traccar/api/resource/CalendarResource.java b/src/main/java/org/traccar/api/resource/CalendarResource.java similarity index 100% rename from src/org/traccar/api/resource/CalendarResource.java rename to src/main/java/org/traccar/api/resource/CalendarResource.java diff --git a/src/org/traccar/api/resource/CommandResource.java b/src/main/java/org/traccar/api/resource/CommandResource.java similarity index 100% rename from src/org/traccar/api/resource/CommandResource.java rename to src/main/java/org/traccar/api/resource/CommandResource.java diff --git a/src/org/traccar/api/resource/DeviceResource.java b/src/main/java/org/traccar/api/resource/DeviceResource.java similarity index 100% rename from src/org/traccar/api/resource/DeviceResource.java rename to src/main/java/org/traccar/api/resource/DeviceResource.java diff --git a/src/org/traccar/api/resource/DriverResource.java b/src/main/java/org/traccar/api/resource/DriverResource.java similarity index 100% rename from src/org/traccar/api/resource/DriverResource.java rename to src/main/java/org/traccar/api/resource/DriverResource.java diff --git a/src/org/traccar/api/resource/EventResource.java b/src/main/java/org/traccar/api/resource/EventResource.java similarity index 100% rename from src/org/traccar/api/resource/EventResource.java rename to src/main/java/org/traccar/api/resource/EventResource.java diff --git a/src/org/traccar/api/resource/GeofenceResource.java b/src/main/java/org/traccar/api/resource/GeofenceResource.java similarity index 100% rename from src/org/traccar/api/resource/GeofenceResource.java rename to src/main/java/org/traccar/api/resource/GeofenceResource.java diff --git a/src/org/traccar/api/resource/GroupResource.java b/src/main/java/org/traccar/api/resource/GroupResource.java similarity index 100% rename from src/org/traccar/api/resource/GroupResource.java rename to src/main/java/org/traccar/api/resource/GroupResource.java diff --git a/src/org/traccar/api/resource/MaintenanceResource.java b/src/main/java/org/traccar/api/resource/MaintenanceResource.java similarity index 100% rename from src/org/traccar/api/resource/MaintenanceResource.java rename to src/main/java/org/traccar/api/resource/MaintenanceResource.java diff --git a/src/org/traccar/api/resource/NotificationResource.java b/src/main/java/org/traccar/api/resource/NotificationResource.java similarity index 100% rename from src/org/traccar/api/resource/NotificationResource.java rename to src/main/java/org/traccar/api/resource/NotificationResource.java diff --git a/src/org/traccar/api/resource/PermissionsResource.java b/src/main/java/org/traccar/api/resource/PermissionsResource.java similarity index 100% rename from src/org/traccar/api/resource/PermissionsResource.java rename to src/main/java/org/traccar/api/resource/PermissionsResource.java diff --git a/src/org/traccar/api/resource/PositionResource.java b/src/main/java/org/traccar/api/resource/PositionResource.java similarity index 100% rename from src/org/traccar/api/resource/PositionResource.java rename to src/main/java/org/traccar/api/resource/PositionResource.java diff --git a/src/org/traccar/api/resource/ReportResource.java b/src/main/java/org/traccar/api/resource/ReportResource.java similarity index 100% rename from src/org/traccar/api/resource/ReportResource.java rename to src/main/java/org/traccar/api/resource/ReportResource.java diff --git a/src/org/traccar/api/resource/ServerResource.java b/src/main/java/org/traccar/api/resource/ServerResource.java similarity index 100% rename from src/org/traccar/api/resource/ServerResource.java rename to src/main/java/org/traccar/api/resource/ServerResource.java diff --git a/src/org/traccar/api/resource/SessionResource.java b/src/main/java/org/traccar/api/resource/SessionResource.java similarity index 100% rename from src/org/traccar/api/resource/SessionResource.java rename to src/main/java/org/traccar/api/resource/SessionResource.java diff --git a/src/org/traccar/api/resource/StatisticsResource.java b/src/main/java/org/traccar/api/resource/StatisticsResource.java similarity index 100% rename from src/org/traccar/api/resource/StatisticsResource.java rename to src/main/java/org/traccar/api/resource/StatisticsResource.java diff --git a/src/org/traccar/api/resource/UserResource.java b/src/main/java/org/traccar/api/resource/UserResource.java similarity index 100% rename from src/org/traccar/api/resource/UserResource.java rename to src/main/java/org/traccar/api/resource/UserResource.java diff --git a/src/org/traccar/config/Config.java b/src/main/java/org/traccar/config/Config.java similarity index 100% rename from src/org/traccar/config/Config.java rename to src/main/java/org/traccar/config/Config.java diff --git a/src/org/traccar/config/ConfigKey.java b/src/main/java/org/traccar/config/ConfigKey.java similarity index 100% rename from src/org/traccar/config/ConfigKey.java rename to src/main/java/org/traccar/config/ConfigKey.java diff --git a/src/org/traccar/config/ConfigSuffix.java b/src/main/java/org/traccar/config/ConfigSuffix.java similarity index 100% rename from src/org/traccar/config/ConfigSuffix.java rename to src/main/java/org/traccar/config/ConfigSuffix.java diff --git a/src/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java similarity index 100% rename from src/org/traccar/config/Keys.java rename to src/main/java/org/traccar/config/Keys.java diff --git a/src/org/traccar/database/ActiveDevice.java b/src/main/java/org/traccar/database/ActiveDevice.java similarity index 100% rename from src/org/traccar/database/ActiveDevice.java rename to src/main/java/org/traccar/database/ActiveDevice.java diff --git a/src/org/traccar/database/AttributesManager.java b/src/main/java/org/traccar/database/AttributesManager.java similarity index 100% rename from src/org/traccar/database/AttributesManager.java rename to src/main/java/org/traccar/database/AttributesManager.java diff --git a/src/org/traccar/database/BaseObjectManager.java b/src/main/java/org/traccar/database/BaseObjectManager.java similarity index 100% rename from src/org/traccar/database/BaseObjectManager.java rename to src/main/java/org/traccar/database/BaseObjectManager.java diff --git a/src/org/traccar/database/CalendarManager.java b/src/main/java/org/traccar/database/CalendarManager.java similarity index 100% rename from src/org/traccar/database/CalendarManager.java rename to src/main/java/org/traccar/database/CalendarManager.java diff --git a/src/org/traccar/database/CommandsManager.java b/src/main/java/org/traccar/database/CommandsManager.java similarity index 100% rename from src/org/traccar/database/CommandsManager.java rename to src/main/java/org/traccar/database/CommandsManager.java diff --git a/src/org/traccar/database/ConnectionManager.java b/src/main/java/org/traccar/database/ConnectionManager.java similarity index 100% rename from src/org/traccar/database/ConnectionManager.java rename to src/main/java/org/traccar/database/ConnectionManager.java diff --git a/src/org/traccar/database/DataManager.java b/src/main/java/org/traccar/database/DataManager.java similarity index 100% rename from src/org/traccar/database/DataManager.java rename to src/main/java/org/traccar/database/DataManager.java diff --git a/src/org/traccar/database/DeviceManager.java b/src/main/java/org/traccar/database/DeviceManager.java similarity index 100% rename from src/org/traccar/database/DeviceManager.java rename to src/main/java/org/traccar/database/DeviceManager.java diff --git a/src/org/traccar/database/DriversManager.java b/src/main/java/org/traccar/database/DriversManager.java similarity index 100% rename from src/org/traccar/database/DriversManager.java rename to src/main/java/org/traccar/database/DriversManager.java diff --git a/src/org/traccar/database/ExtendedObjectManager.java b/src/main/java/org/traccar/database/ExtendedObjectManager.java similarity index 100% rename from src/org/traccar/database/ExtendedObjectManager.java rename to src/main/java/org/traccar/database/ExtendedObjectManager.java diff --git a/src/org/traccar/database/GeofenceManager.java b/src/main/java/org/traccar/database/GeofenceManager.java similarity index 100% rename from src/org/traccar/database/GeofenceManager.java rename to src/main/java/org/traccar/database/GeofenceManager.java diff --git a/src/org/traccar/database/GroupTree.java b/src/main/java/org/traccar/database/GroupTree.java similarity index 100% rename from src/org/traccar/database/GroupTree.java rename to src/main/java/org/traccar/database/GroupTree.java diff --git a/src/org/traccar/database/GroupsManager.java b/src/main/java/org/traccar/database/GroupsManager.java similarity index 100% rename from src/org/traccar/database/GroupsManager.java rename to src/main/java/org/traccar/database/GroupsManager.java diff --git a/src/org/traccar/database/IdentityManager.java b/src/main/java/org/traccar/database/IdentityManager.java similarity index 100% rename from src/org/traccar/database/IdentityManager.java rename to src/main/java/org/traccar/database/IdentityManager.java diff --git a/src/org/traccar/database/LdapProvider.java b/src/main/java/org/traccar/database/LdapProvider.java similarity index 100% rename from src/org/traccar/database/LdapProvider.java rename to src/main/java/org/traccar/database/LdapProvider.java diff --git a/src/org/traccar/database/MailManager.java b/src/main/java/org/traccar/database/MailManager.java similarity index 100% rename from src/org/traccar/database/MailManager.java rename to src/main/java/org/traccar/database/MailManager.java diff --git a/src/org/traccar/database/MaintenancesManager.java b/src/main/java/org/traccar/database/MaintenancesManager.java similarity index 100% rename from src/org/traccar/database/MaintenancesManager.java rename to src/main/java/org/traccar/database/MaintenancesManager.java diff --git a/src/org/traccar/database/ManagableObjects.java b/src/main/java/org/traccar/database/ManagableObjects.java similarity index 100% rename from src/org/traccar/database/ManagableObjects.java rename to src/main/java/org/traccar/database/ManagableObjects.java diff --git a/src/org/traccar/database/MediaManager.java b/src/main/java/org/traccar/database/MediaManager.java similarity index 100% rename from src/org/traccar/database/MediaManager.java rename to src/main/java/org/traccar/database/MediaManager.java diff --git a/src/org/traccar/database/NotificationManager.java b/src/main/java/org/traccar/database/NotificationManager.java similarity index 100% rename from src/org/traccar/database/NotificationManager.java rename to src/main/java/org/traccar/database/NotificationManager.java diff --git a/src/org/traccar/database/PermissionsManager.java b/src/main/java/org/traccar/database/PermissionsManager.java similarity index 100% rename from src/org/traccar/database/PermissionsManager.java rename to src/main/java/org/traccar/database/PermissionsManager.java diff --git a/src/org/traccar/database/QueryBuilder.java b/src/main/java/org/traccar/database/QueryBuilder.java similarity index 100% rename from src/org/traccar/database/QueryBuilder.java rename to src/main/java/org/traccar/database/QueryBuilder.java diff --git a/src/org/traccar/database/QueryExtended.java b/src/main/java/org/traccar/database/QueryExtended.java similarity index 100% rename from src/org/traccar/database/QueryExtended.java rename to src/main/java/org/traccar/database/QueryExtended.java diff --git a/src/org/traccar/database/QueryIgnore.java b/src/main/java/org/traccar/database/QueryIgnore.java similarity index 100% rename from src/org/traccar/database/QueryIgnore.java rename to src/main/java/org/traccar/database/QueryIgnore.java diff --git a/src/org/traccar/database/SimpleObjectManager.java b/src/main/java/org/traccar/database/SimpleObjectManager.java similarity index 100% rename from src/org/traccar/database/SimpleObjectManager.java rename to src/main/java/org/traccar/database/SimpleObjectManager.java diff --git a/src/org/traccar/database/StatisticsManager.java b/src/main/java/org/traccar/database/StatisticsManager.java similarity index 100% rename from src/org/traccar/database/StatisticsManager.java rename to src/main/java/org/traccar/database/StatisticsManager.java diff --git a/src/org/traccar/database/UsersManager.java b/src/main/java/org/traccar/database/UsersManager.java similarity index 100% rename from src/org/traccar/database/UsersManager.java rename to src/main/java/org/traccar/database/UsersManager.java diff --git a/src/org/traccar/geocoder/Address.java b/src/main/java/org/traccar/geocoder/Address.java similarity index 100% rename from src/org/traccar/geocoder/Address.java rename to src/main/java/org/traccar/geocoder/Address.java diff --git a/src/org/traccar/geocoder/AddressFormat.java b/src/main/java/org/traccar/geocoder/AddressFormat.java similarity index 100% rename from src/org/traccar/geocoder/AddressFormat.java rename to src/main/java/org/traccar/geocoder/AddressFormat.java diff --git a/src/org/traccar/geocoder/BanGeocoder.java b/src/main/java/org/traccar/geocoder/BanGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/BanGeocoder.java rename to src/main/java/org/traccar/geocoder/BanGeocoder.java diff --git a/src/org/traccar/geocoder/BingMapsGeocoder.java b/src/main/java/org/traccar/geocoder/BingMapsGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/BingMapsGeocoder.java rename to src/main/java/org/traccar/geocoder/BingMapsGeocoder.java diff --git a/src/org/traccar/geocoder/FactualGeocoder.java b/src/main/java/org/traccar/geocoder/FactualGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/FactualGeocoder.java rename to src/main/java/org/traccar/geocoder/FactualGeocoder.java diff --git a/src/org/traccar/geocoder/GeocodeFarmGeocoder.java b/src/main/java/org/traccar/geocoder/GeocodeFarmGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/GeocodeFarmGeocoder.java rename to src/main/java/org/traccar/geocoder/GeocodeFarmGeocoder.java diff --git a/src/org/traccar/geocoder/GeocodeXyzGeocoder.java b/src/main/java/org/traccar/geocoder/GeocodeXyzGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/GeocodeXyzGeocoder.java rename to src/main/java/org/traccar/geocoder/GeocodeXyzGeocoder.java diff --git a/src/org/traccar/geocoder/Geocoder.java b/src/main/java/org/traccar/geocoder/Geocoder.java similarity index 100% rename from src/org/traccar/geocoder/Geocoder.java rename to src/main/java/org/traccar/geocoder/Geocoder.java diff --git a/src/org/traccar/geocoder/GeocoderException.java b/src/main/java/org/traccar/geocoder/GeocoderException.java similarity index 100% rename from src/org/traccar/geocoder/GeocoderException.java rename to src/main/java/org/traccar/geocoder/GeocoderException.java diff --git a/src/org/traccar/geocoder/GisgraphyGeocoder.java b/src/main/java/org/traccar/geocoder/GisgraphyGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/GisgraphyGeocoder.java rename to src/main/java/org/traccar/geocoder/GisgraphyGeocoder.java diff --git a/src/org/traccar/geocoder/GoogleGeocoder.java b/src/main/java/org/traccar/geocoder/GoogleGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/GoogleGeocoder.java rename to src/main/java/org/traccar/geocoder/GoogleGeocoder.java diff --git a/src/org/traccar/geocoder/HereGeocoder.java b/src/main/java/org/traccar/geocoder/HereGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/HereGeocoder.java rename to src/main/java/org/traccar/geocoder/HereGeocoder.java diff --git a/src/org/traccar/geocoder/JsonGeocoder.java b/src/main/java/org/traccar/geocoder/JsonGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/JsonGeocoder.java rename to src/main/java/org/traccar/geocoder/JsonGeocoder.java diff --git a/src/org/traccar/geocoder/MapQuestGeocoder.java b/src/main/java/org/traccar/geocoder/MapQuestGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/MapQuestGeocoder.java rename to src/main/java/org/traccar/geocoder/MapQuestGeocoder.java diff --git a/src/org/traccar/geocoder/MapmyIndiaGeocoder.java b/src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/MapmyIndiaGeocoder.java rename to src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java diff --git a/src/org/traccar/geocoder/NominatimGeocoder.java b/src/main/java/org/traccar/geocoder/NominatimGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/NominatimGeocoder.java rename to src/main/java/org/traccar/geocoder/NominatimGeocoder.java diff --git a/src/org/traccar/geocoder/OpenCageGeocoder.java b/src/main/java/org/traccar/geocoder/OpenCageGeocoder.java similarity index 100% rename from src/org/traccar/geocoder/OpenCageGeocoder.java rename to src/main/java/org/traccar/geocoder/OpenCageGeocoder.java diff --git a/src/org/traccar/geofence/GeofenceCircle.java b/src/main/java/org/traccar/geofence/GeofenceCircle.java similarity index 100% rename from src/org/traccar/geofence/GeofenceCircle.java rename to src/main/java/org/traccar/geofence/GeofenceCircle.java diff --git a/src/org/traccar/geofence/GeofenceGeometry.java b/src/main/java/org/traccar/geofence/GeofenceGeometry.java similarity index 100% rename from src/org/traccar/geofence/GeofenceGeometry.java rename to src/main/java/org/traccar/geofence/GeofenceGeometry.java diff --git a/src/org/traccar/geofence/GeofencePolygon.java b/src/main/java/org/traccar/geofence/GeofencePolygon.java similarity index 100% rename from src/org/traccar/geofence/GeofencePolygon.java rename to src/main/java/org/traccar/geofence/GeofencePolygon.java diff --git a/src/org/traccar/geofence/GeofencePolyline.java b/src/main/java/org/traccar/geofence/GeofencePolyline.java similarity index 100% rename from src/org/traccar/geofence/GeofencePolyline.java rename to src/main/java/org/traccar/geofence/GeofencePolyline.java diff --git a/src/org/traccar/geolocation/GeolocationException.java b/src/main/java/org/traccar/geolocation/GeolocationException.java similarity index 100% rename from src/org/traccar/geolocation/GeolocationException.java rename to src/main/java/org/traccar/geolocation/GeolocationException.java diff --git a/src/org/traccar/geolocation/GeolocationProvider.java b/src/main/java/org/traccar/geolocation/GeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/GeolocationProvider.java rename to src/main/java/org/traccar/geolocation/GeolocationProvider.java diff --git a/src/org/traccar/geolocation/GoogleGeolocationProvider.java b/src/main/java/org/traccar/geolocation/GoogleGeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/GoogleGeolocationProvider.java rename to src/main/java/org/traccar/geolocation/GoogleGeolocationProvider.java diff --git a/src/org/traccar/geolocation/MozillaGeolocationProvider.java b/src/main/java/org/traccar/geolocation/MozillaGeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/MozillaGeolocationProvider.java rename to src/main/java/org/traccar/geolocation/MozillaGeolocationProvider.java diff --git a/src/org/traccar/geolocation/OpenCellIdGeolocationProvider.java b/src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/OpenCellIdGeolocationProvider.java rename to src/main/java/org/traccar/geolocation/OpenCellIdGeolocationProvider.java diff --git a/src/org/traccar/geolocation/UniversalGeolocationProvider.java b/src/main/java/org/traccar/geolocation/UniversalGeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/UniversalGeolocationProvider.java rename to src/main/java/org/traccar/geolocation/UniversalGeolocationProvider.java diff --git a/src/org/traccar/geolocation/UnwiredGeolocationProvider.java b/src/main/java/org/traccar/geolocation/UnwiredGeolocationProvider.java similarity index 100% rename from src/org/traccar/geolocation/UnwiredGeolocationProvider.java rename to src/main/java/org/traccar/geolocation/UnwiredGeolocationProvider.java diff --git a/src/org/traccar/handler/ComputedAttributesHandler.java b/src/main/java/org/traccar/handler/ComputedAttributesHandler.java similarity index 100% rename from src/org/traccar/handler/ComputedAttributesHandler.java rename to src/main/java/org/traccar/handler/ComputedAttributesHandler.java diff --git a/src/org/traccar/handler/CopyAttributesHandler.java b/src/main/java/org/traccar/handler/CopyAttributesHandler.java similarity index 100% rename from src/org/traccar/handler/CopyAttributesHandler.java rename to src/main/java/org/traccar/handler/CopyAttributesHandler.java diff --git a/src/org/traccar/handler/DefaultDataHandler.java b/src/main/java/org/traccar/handler/DefaultDataHandler.java similarity index 100% rename from src/org/traccar/handler/DefaultDataHandler.java rename to src/main/java/org/traccar/handler/DefaultDataHandler.java diff --git a/src/org/traccar/handler/DistanceHandler.java b/src/main/java/org/traccar/handler/DistanceHandler.java similarity index 100% rename from src/org/traccar/handler/DistanceHandler.java rename to src/main/java/org/traccar/handler/DistanceHandler.java diff --git a/src/org/traccar/handler/EngineHoursHandler.java b/src/main/java/org/traccar/handler/EngineHoursHandler.java similarity index 100% rename from src/org/traccar/handler/EngineHoursHandler.java rename to src/main/java/org/traccar/handler/EngineHoursHandler.java diff --git a/src/org/traccar/handler/FilterHandler.java b/src/main/java/org/traccar/handler/FilterHandler.java similarity index 100% rename from src/org/traccar/handler/FilterHandler.java rename to src/main/java/org/traccar/handler/FilterHandler.java diff --git a/src/org/traccar/handler/GeocoderHandler.java b/src/main/java/org/traccar/handler/GeocoderHandler.java similarity index 100% rename from src/org/traccar/handler/GeocoderHandler.java rename to src/main/java/org/traccar/handler/GeocoderHandler.java diff --git a/src/org/traccar/handler/GeolocationHandler.java b/src/main/java/org/traccar/handler/GeolocationHandler.java similarity index 100% rename from src/org/traccar/handler/GeolocationHandler.java rename to src/main/java/org/traccar/handler/GeolocationHandler.java diff --git a/src/org/traccar/handler/HemisphereHandler.java b/src/main/java/org/traccar/handler/HemisphereHandler.java similarity index 100% rename from src/org/traccar/handler/HemisphereHandler.java rename to src/main/java/org/traccar/handler/HemisphereHandler.java diff --git a/src/org/traccar/handler/MotionHandler.java b/src/main/java/org/traccar/handler/MotionHandler.java similarity index 100% rename from src/org/traccar/handler/MotionHandler.java rename to src/main/java/org/traccar/handler/MotionHandler.java diff --git a/src/org/traccar/handler/NetworkMessageHandler.java b/src/main/java/org/traccar/handler/NetworkMessageHandler.java similarity index 100% rename from src/org/traccar/handler/NetworkMessageHandler.java rename to src/main/java/org/traccar/handler/NetworkMessageHandler.java diff --git a/src/org/traccar/handler/OpenChannelHandler.java b/src/main/java/org/traccar/handler/OpenChannelHandler.java similarity index 100% rename from src/org/traccar/handler/OpenChannelHandler.java rename to src/main/java/org/traccar/handler/OpenChannelHandler.java diff --git a/src/org/traccar/handler/RemoteAddressHandler.java b/src/main/java/org/traccar/handler/RemoteAddressHandler.java similarity index 100% rename from src/org/traccar/handler/RemoteAddressHandler.java rename to src/main/java/org/traccar/handler/RemoteAddressHandler.java diff --git a/src/org/traccar/handler/StandardLoggingHandler.java b/src/main/java/org/traccar/handler/StandardLoggingHandler.java similarity index 100% rename from src/org/traccar/handler/StandardLoggingHandler.java rename to src/main/java/org/traccar/handler/StandardLoggingHandler.java diff --git a/src/org/traccar/handler/events/AlertEventHandler.java b/src/main/java/org/traccar/handler/events/AlertEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/AlertEventHandler.java rename to src/main/java/org/traccar/handler/events/AlertEventHandler.java diff --git a/src/org/traccar/handler/events/BaseEventHandler.java b/src/main/java/org/traccar/handler/events/BaseEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/BaseEventHandler.java rename to src/main/java/org/traccar/handler/events/BaseEventHandler.java diff --git a/src/org/traccar/handler/events/CommandResultEventHandler.java b/src/main/java/org/traccar/handler/events/CommandResultEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/CommandResultEventHandler.java rename to src/main/java/org/traccar/handler/events/CommandResultEventHandler.java diff --git a/src/org/traccar/handler/events/DriverEventHandler.java b/src/main/java/org/traccar/handler/events/DriverEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/DriverEventHandler.java rename to src/main/java/org/traccar/handler/events/DriverEventHandler.java diff --git a/src/org/traccar/handler/events/FuelDropEventHandler.java b/src/main/java/org/traccar/handler/events/FuelDropEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/FuelDropEventHandler.java rename to src/main/java/org/traccar/handler/events/FuelDropEventHandler.java diff --git a/src/org/traccar/handler/events/GeofenceEventHandler.java b/src/main/java/org/traccar/handler/events/GeofenceEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/GeofenceEventHandler.java rename to src/main/java/org/traccar/handler/events/GeofenceEventHandler.java diff --git a/src/org/traccar/handler/events/IgnitionEventHandler.java b/src/main/java/org/traccar/handler/events/IgnitionEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/IgnitionEventHandler.java rename to src/main/java/org/traccar/handler/events/IgnitionEventHandler.java diff --git a/src/org/traccar/handler/events/MaintenanceEventHandler.java b/src/main/java/org/traccar/handler/events/MaintenanceEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/MaintenanceEventHandler.java rename to src/main/java/org/traccar/handler/events/MaintenanceEventHandler.java diff --git a/src/org/traccar/handler/events/MotionEventHandler.java b/src/main/java/org/traccar/handler/events/MotionEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/MotionEventHandler.java rename to src/main/java/org/traccar/handler/events/MotionEventHandler.java diff --git a/src/org/traccar/handler/events/OverspeedEventHandler.java b/src/main/java/org/traccar/handler/events/OverspeedEventHandler.java similarity index 100% rename from src/org/traccar/handler/events/OverspeedEventHandler.java rename to src/main/java/org/traccar/handler/events/OverspeedEventHandler.java diff --git a/src/org/traccar/helper/BcdUtil.java b/src/main/java/org/traccar/helper/BcdUtil.java similarity index 100% rename from src/org/traccar/helper/BcdUtil.java rename to src/main/java/org/traccar/helper/BcdUtil.java diff --git a/src/org/traccar/helper/BitBuffer.java b/src/main/java/org/traccar/helper/BitBuffer.java similarity index 100% rename from src/org/traccar/helper/BitBuffer.java rename to src/main/java/org/traccar/helper/BitBuffer.java diff --git a/src/org/traccar/helper/BitUtil.java b/src/main/java/org/traccar/helper/BitUtil.java similarity index 100% rename from src/org/traccar/helper/BitUtil.java rename to src/main/java/org/traccar/helper/BitUtil.java diff --git a/src/org/traccar/helper/BufferUtil.java b/src/main/java/org/traccar/helper/BufferUtil.java similarity index 100% rename from src/org/traccar/helper/BufferUtil.java rename to src/main/java/org/traccar/helper/BufferUtil.java diff --git a/src/org/traccar/helper/Checksum.java b/src/main/java/org/traccar/helper/Checksum.java similarity index 100% rename from src/org/traccar/helper/Checksum.java rename to src/main/java/org/traccar/helper/Checksum.java diff --git a/src/org/traccar/helper/DataConverter.java b/src/main/java/org/traccar/helper/DataConverter.java similarity index 100% rename from src/org/traccar/helper/DataConverter.java rename to src/main/java/org/traccar/helper/DataConverter.java diff --git a/src/org/traccar/helper/DateBuilder.java b/src/main/java/org/traccar/helper/DateBuilder.java similarity index 100% rename from src/org/traccar/helper/DateBuilder.java rename to src/main/java/org/traccar/helper/DateBuilder.java diff --git a/src/org/traccar/helper/DateUtil.java b/src/main/java/org/traccar/helper/DateUtil.java similarity index 100% rename from src/org/traccar/helper/DateUtil.java rename to src/main/java/org/traccar/helper/DateUtil.java diff --git a/src/org/traccar/helper/DistanceCalculator.java b/src/main/java/org/traccar/helper/DistanceCalculator.java similarity index 100% rename from src/org/traccar/helper/DistanceCalculator.java rename to src/main/java/org/traccar/helper/DistanceCalculator.java diff --git a/src/org/traccar/helper/Hashing.java b/src/main/java/org/traccar/helper/Hashing.java similarity index 100% rename from src/org/traccar/helper/Hashing.java rename to src/main/java/org/traccar/helper/Hashing.java diff --git a/src/org/traccar/helper/LocationTree.java b/src/main/java/org/traccar/helper/LocationTree.java similarity index 100% rename from src/org/traccar/helper/LocationTree.java rename to src/main/java/org/traccar/helper/LocationTree.java diff --git a/src/org/traccar/helper/Log.java b/src/main/java/org/traccar/helper/Log.java similarity index 100% rename from src/org/traccar/helper/Log.java rename to src/main/java/org/traccar/helper/Log.java diff --git a/src/org/traccar/helper/LogAction.java b/src/main/java/org/traccar/helper/LogAction.java similarity index 100% rename from src/org/traccar/helper/LogAction.java rename to src/main/java/org/traccar/helper/LogAction.java diff --git a/src/org/traccar/helper/ObdDecoder.java b/src/main/java/org/traccar/helper/ObdDecoder.java similarity index 100% rename from src/org/traccar/helper/ObdDecoder.java rename to src/main/java/org/traccar/helper/ObdDecoder.java diff --git a/src/org/traccar/helper/Parser.java b/src/main/java/org/traccar/helper/Parser.java similarity index 100% rename from src/org/traccar/helper/Parser.java rename to src/main/java/org/traccar/helper/Parser.java diff --git a/src/org/traccar/helper/PatternBuilder.java b/src/main/java/org/traccar/helper/PatternBuilder.java similarity index 100% rename from src/org/traccar/helper/PatternBuilder.java rename to src/main/java/org/traccar/helper/PatternBuilder.java diff --git a/src/org/traccar/helper/PatternUtil.java b/src/main/java/org/traccar/helper/PatternUtil.java similarity index 100% rename from src/org/traccar/helper/PatternUtil.java rename to src/main/java/org/traccar/helper/PatternUtil.java diff --git a/src/org/traccar/helper/SanitizerModule.java b/src/main/java/org/traccar/helper/SanitizerModule.java similarity index 100% rename from src/org/traccar/helper/SanitizerModule.java rename to src/main/java/org/traccar/helper/SanitizerModule.java diff --git a/src/org/traccar/helper/UnitsConverter.java b/src/main/java/org/traccar/helper/UnitsConverter.java similarity index 100% rename from src/org/traccar/helper/UnitsConverter.java rename to src/main/java/org/traccar/helper/UnitsConverter.java diff --git a/src/org/traccar/model/Attribute.java b/src/main/java/org/traccar/model/Attribute.java similarity index 100% rename from src/org/traccar/model/Attribute.java rename to src/main/java/org/traccar/model/Attribute.java diff --git a/src/org/traccar/model/BaseModel.java b/src/main/java/org/traccar/model/BaseModel.java similarity index 100% rename from src/org/traccar/model/BaseModel.java rename to src/main/java/org/traccar/model/BaseModel.java diff --git a/src/org/traccar/model/Calendar.java b/src/main/java/org/traccar/model/Calendar.java similarity index 100% rename from src/org/traccar/model/Calendar.java rename to src/main/java/org/traccar/model/Calendar.java diff --git a/src/org/traccar/model/CellTower.java b/src/main/java/org/traccar/model/CellTower.java similarity index 100% rename from src/org/traccar/model/CellTower.java rename to src/main/java/org/traccar/model/CellTower.java diff --git a/src/org/traccar/model/Command.java b/src/main/java/org/traccar/model/Command.java similarity index 100% rename from src/org/traccar/model/Command.java rename to src/main/java/org/traccar/model/Command.java diff --git a/src/org/traccar/model/Device.java b/src/main/java/org/traccar/model/Device.java similarity index 100% rename from src/org/traccar/model/Device.java rename to src/main/java/org/traccar/model/Device.java diff --git a/src/org/traccar/model/DeviceAccumulators.java b/src/main/java/org/traccar/model/DeviceAccumulators.java similarity index 100% rename from src/org/traccar/model/DeviceAccumulators.java rename to src/main/java/org/traccar/model/DeviceAccumulators.java diff --git a/src/org/traccar/model/DeviceState.java b/src/main/java/org/traccar/model/DeviceState.java similarity index 100% rename from src/org/traccar/model/DeviceState.java rename to src/main/java/org/traccar/model/DeviceState.java diff --git a/src/org/traccar/model/Driver.java b/src/main/java/org/traccar/model/Driver.java similarity index 100% rename from src/org/traccar/model/Driver.java rename to src/main/java/org/traccar/model/Driver.java diff --git a/src/org/traccar/model/Event.java b/src/main/java/org/traccar/model/Event.java similarity index 100% rename from src/org/traccar/model/Event.java rename to src/main/java/org/traccar/model/Event.java diff --git a/src/org/traccar/model/ExtendedModel.java b/src/main/java/org/traccar/model/ExtendedModel.java similarity index 100% rename from src/org/traccar/model/ExtendedModel.java rename to src/main/java/org/traccar/model/ExtendedModel.java diff --git a/src/org/traccar/model/Geofence.java b/src/main/java/org/traccar/model/Geofence.java similarity index 100% rename from src/org/traccar/model/Geofence.java rename to src/main/java/org/traccar/model/Geofence.java diff --git a/src/org/traccar/model/Group.java b/src/main/java/org/traccar/model/Group.java similarity index 100% rename from src/org/traccar/model/Group.java rename to src/main/java/org/traccar/model/Group.java diff --git a/src/org/traccar/model/GroupedModel.java b/src/main/java/org/traccar/model/GroupedModel.java similarity index 100% rename from src/org/traccar/model/GroupedModel.java rename to src/main/java/org/traccar/model/GroupedModel.java diff --git a/src/org/traccar/model/Maintenance.java b/src/main/java/org/traccar/model/Maintenance.java similarity index 100% rename from src/org/traccar/model/Maintenance.java rename to src/main/java/org/traccar/model/Maintenance.java diff --git a/src/org/traccar/model/ManagedUser.java b/src/main/java/org/traccar/model/ManagedUser.java similarity index 100% rename from src/org/traccar/model/ManagedUser.java rename to src/main/java/org/traccar/model/ManagedUser.java diff --git a/src/org/traccar/model/Message.java b/src/main/java/org/traccar/model/Message.java similarity index 100% rename from src/org/traccar/model/Message.java rename to src/main/java/org/traccar/model/Message.java diff --git a/src/org/traccar/model/MiscFormatter.java b/src/main/java/org/traccar/model/MiscFormatter.java similarity index 100% rename from src/org/traccar/model/MiscFormatter.java rename to src/main/java/org/traccar/model/MiscFormatter.java diff --git a/src/org/traccar/model/Network.java b/src/main/java/org/traccar/model/Network.java similarity index 100% rename from src/org/traccar/model/Network.java rename to src/main/java/org/traccar/model/Network.java diff --git a/src/org/traccar/model/Notification.java b/src/main/java/org/traccar/model/Notification.java similarity index 100% rename from src/org/traccar/model/Notification.java rename to src/main/java/org/traccar/model/Notification.java diff --git a/src/org/traccar/model/Permission.java b/src/main/java/org/traccar/model/Permission.java similarity index 100% rename from src/org/traccar/model/Permission.java rename to src/main/java/org/traccar/model/Permission.java diff --git a/src/org/traccar/model/Position.java b/src/main/java/org/traccar/model/Position.java similarity index 100% rename from src/org/traccar/model/Position.java rename to src/main/java/org/traccar/model/Position.java diff --git a/src/org/traccar/model/ScheduledModel.java b/src/main/java/org/traccar/model/ScheduledModel.java similarity index 100% rename from src/org/traccar/model/ScheduledModel.java rename to src/main/java/org/traccar/model/ScheduledModel.java diff --git a/src/org/traccar/model/Server.java b/src/main/java/org/traccar/model/Server.java similarity index 100% rename from src/org/traccar/model/Server.java rename to src/main/java/org/traccar/model/Server.java diff --git a/src/org/traccar/model/Statistics.java b/src/main/java/org/traccar/model/Statistics.java similarity index 100% rename from src/org/traccar/model/Statistics.java rename to src/main/java/org/traccar/model/Statistics.java diff --git a/src/org/traccar/model/Typed.java b/src/main/java/org/traccar/model/Typed.java similarity index 100% rename from src/org/traccar/model/Typed.java rename to src/main/java/org/traccar/model/Typed.java diff --git a/src/org/traccar/model/User.java b/src/main/java/org/traccar/model/User.java similarity index 100% rename from src/org/traccar/model/User.java rename to src/main/java/org/traccar/model/User.java diff --git a/src/org/traccar/model/WifiAccessPoint.java b/src/main/java/org/traccar/model/WifiAccessPoint.java similarity index 100% rename from src/org/traccar/model/WifiAccessPoint.java rename to src/main/java/org/traccar/model/WifiAccessPoint.java diff --git a/src/org/traccar/notification/EventForwarder.java b/src/main/java/org/traccar/notification/EventForwarder.java similarity index 100% rename from src/org/traccar/notification/EventForwarder.java rename to src/main/java/org/traccar/notification/EventForwarder.java diff --git a/src/org/traccar/notification/FullMessage.java b/src/main/java/org/traccar/notification/FullMessage.java similarity index 100% rename from src/org/traccar/notification/FullMessage.java rename to src/main/java/org/traccar/notification/FullMessage.java diff --git a/src/org/traccar/notification/JsonTypeEventForwarder.java b/src/main/java/org/traccar/notification/JsonTypeEventForwarder.java similarity index 96% rename from src/org/traccar/notification/JsonTypeEventForwarder.java rename to src/main/java/org/traccar/notification/JsonTypeEventForwarder.java index fcafb964aa9..55d926fc8e8 100644 --- a/src/org/traccar/notification/JsonTypeEventForwarder.java +++ b/src/main/java/org/traccar/notification/JsonTypeEventForwarder.java @@ -1,18 +1,18 @@ -package org.traccar.notification; - -import java.util.Set; - -import org.traccar.model.Event; -import org.traccar.model.Position; - -import javax.ws.rs.client.AsyncInvoker; -import javax.ws.rs.client.Entity; - -public class JsonTypeEventForwarder extends EventForwarder { - - @Override - protected void executeRequest(Event event, Position position, Set users, AsyncInvoker invoker) { - invoker.post(Entity.json(preparePayload(event, position, users))); - } - -} +package org.traccar.notification; + +import java.util.Set; + +import org.traccar.model.Event; +import org.traccar.model.Position; + +import javax.ws.rs.client.AsyncInvoker; +import javax.ws.rs.client.Entity; + +public class JsonTypeEventForwarder extends EventForwarder { + + @Override + protected void executeRequest(Event event, Position position, Set users, AsyncInvoker invoker) { + invoker.post(Entity.json(preparePayload(event, position, users))); + } + +} diff --git a/src/org/traccar/notification/MessageException.java b/src/main/java/org/traccar/notification/MessageException.java similarity index 100% rename from src/org/traccar/notification/MessageException.java rename to src/main/java/org/traccar/notification/MessageException.java diff --git a/src/org/traccar/notification/NotificationFormatter.java b/src/main/java/org/traccar/notification/NotificationFormatter.java similarity index 100% rename from src/org/traccar/notification/NotificationFormatter.java rename to src/main/java/org/traccar/notification/NotificationFormatter.java diff --git a/src/org/traccar/notification/NotificatorManager.java b/src/main/java/org/traccar/notification/NotificatorManager.java similarity index 100% rename from src/org/traccar/notification/NotificatorManager.java rename to src/main/java/org/traccar/notification/NotificatorManager.java diff --git a/src/org/traccar/notification/PropertiesProvider.java b/src/main/java/org/traccar/notification/PropertiesProvider.java similarity index 100% rename from src/org/traccar/notification/PropertiesProvider.java rename to src/main/java/org/traccar/notification/PropertiesProvider.java diff --git a/src/org/traccar/notificators/Notificator.java b/src/main/java/org/traccar/notificators/Notificator.java similarity index 100% rename from src/org/traccar/notificators/Notificator.java rename to src/main/java/org/traccar/notificators/Notificator.java diff --git a/src/org/traccar/notificators/NotificatorFirebase.java b/src/main/java/org/traccar/notificators/NotificatorFirebase.java similarity index 100% rename from src/org/traccar/notificators/NotificatorFirebase.java rename to src/main/java/org/traccar/notificators/NotificatorFirebase.java diff --git a/src/org/traccar/notificators/NotificatorMail.java b/src/main/java/org/traccar/notificators/NotificatorMail.java similarity index 100% rename from src/org/traccar/notificators/NotificatorMail.java rename to src/main/java/org/traccar/notificators/NotificatorMail.java diff --git a/src/org/traccar/notificators/NotificatorNull.java b/src/main/java/org/traccar/notificators/NotificatorNull.java similarity index 100% rename from src/org/traccar/notificators/NotificatorNull.java rename to src/main/java/org/traccar/notificators/NotificatorNull.java diff --git a/src/org/traccar/notificators/NotificatorSms.java b/src/main/java/org/traccar/notificators/NotificatorSms.java similarity index 100% rename from src/org/traccar/notificators/NotificatorSms.java rename to src/main/java/org/traccar/notificators/NotificatorSms.java diff --git a/src/org/traccar/notificators/NotificatorWeb.java b/src/main/java/org/traccar/notificators/NotificatorWeb.java similarity index 100% rename from src/org/traccar/notificators/NotificatorWeb.java rename to src/main/java/org/traccar/notificators/NotificatorWeb.java diff --git a/src/org/traccar/protocol/AdmProtocol.java b/src/main/java/org/traccar/protocol/AdmProtocol.java similarity index 100% rename from src/org/traccar/protocol/AdmProtocol.java rename to src/main/java/org/traccar/protocol/AdmProtocol.java diff --git a/src/org/traccar/protocol/AdmProtocolDecoder.java b/src/main/java/org/traccar/protocol/AdmProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AdmProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AdmProtocolDecoder.java diff --git a/src/org/traccar/protocol/AdmProtocolEncoder.java b/src/main/java/org/traccar/protocol/AdmProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/AdmProtocolEncoder.java rename to src/main/java/org/traccar/protocol/AdmProtocolEncoder.java diff --git a/src/org/traccar/protocol/AisProtocol.java b/src/main/java/org/traccar/protocol/AisProtocol.java similarity index 100% rename from src/org/traccar/protocol/AisProtocol.java rename to src/main/java/org/traccar/protocol/AisProtocol.java diff --git a/src/org/traccar/protocol/AisProtocolDecoder.java b/src/main/java/org/traccar/protocol/AisProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AisProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AisProtocolDecoder.java diff --git a/src/org/traccar/protocol/AlematicsFrameDecoder.java b/src/main/java/org/traccar/protocol/AlematicsFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/AlematicsFrameDecoder.java rename to src/main/java/org/traccar/protocol/AlematicsFrameDecoder.java diff --git a/src/org/traccar/protocol/AlematicsProtocol.java b/src/main/java/org/traccar/protocol/AlematicsProtocol.java similarity index 100% rename from src/org/traccar/protocol/AlematicsProtocol.java rename to src/main/java/org/traccar/protocol/AlematicsProtocol.java diff --git a/src/org/traccar/protocol/AlematicsProtocolDecoder.java b/src/main/java/org/traccar/protocol/AlematicsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AlematicsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AlematicsProtocolDecoder.java diff --git a/src/org/traccar/protocol/AnytrekProtocol.java b/src/main/java/org/traccar/protocol/AnytrekProtocol.java similarity index 100% rename from src/org/traccar/protocol/AnytrekProtocol.java rename to src/main/java/org/traccar/protocol/AnytrekProtocol.java diff --git a/src/org/traccar/protocol/AnytrekProtocolDecoder.java b/src/main/java/org/traccar/protocol/AnytrekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AnytrekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AnytrekProtocolDecoder.java diff --git a/src/org/traccar/protocol/ApelProtocol.java b/src/main/java/org/traccar/protocol/ApelProtocol.java similarity index 100% rename from src/org/traccar/protocol/ApelProtocol.java rename to src/main/java/org/traccar/protocol/ApelProtocol.java diff --git a/src/org/traccar/protocol/ApelProtocolDecoder.java b/src/main/java/org/traccar/protocol/ApelProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ApelProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ApelProtocolDecoder.java diff --git a/src/org/traccar/protocol/AplicomFrameDecoder.java b/src/main/java/org/traccar/protocol/AplicomFrameDecoder.java similarity index 96% rename from src/org/traccar/protocol/AplicomFrameDecoder.java rename to src/main/java/org/traccar/protocol/AplicomFrameDecoder.java index 6e81e8202ee..56fca27c7f2 100644 --- a/src/org/traccar/protocol/AplicomFrameDecoder.java +++ b/src/main/java/org/traccar/protocol/AplicomFrameDecoder.java @@ -1,62 +1,62 @@ -/* - * Copyright 2013 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.protocol; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; -import io.netty.channel.ChannelHandlerContext; -import org.traccar.BaseFrameDecoder; - -public class AplicomFrameDecoder extends BaseFrameDecoder { - - @Override - protected Object decode( - ChannelHandlerContext ctx, Channel channel, ByteBuf buf) throws Exception { - - // Skip Alive message - while (buf.isReadable() && Character.isDigit(buf.getByte(buf.readerIndex()))) { - buf.readByte(); - } - - // Check minimum length - if (buf.readableBytes() < 11) { - return null; - } - - // Read flags - int version = buf.getUnsignedByte(buf.readerIndex() + 1); - int offset = 1 + 1 + 3; - if ((version & 0x80) != 0) { - offset += 4; - } - - // Get data length - int length = buf.getUnsignedShort(buf.readerIndex() + offset); - offset += 2; - if ((version & 0x40) != 0) { - offset += 3; - } - length += offset; // add header - - // Return buffer - if (buf.readableBytes() >= length) { - return buf.readRetainedSlice(length); - } - - return null; - } - -} +/* + * Copyright 2013 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.protocol; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import org.traccar.BaseFrameDecoder; + +public class AplicomFrameDecoder extends BaseFrameDecoder { + + @Override + protected Object decode( + ChannelHandlerContext ctx, Channel channel, ByteBuf buf) throws Exception { + + // Skip Alive message + while (buf.isReadable() && Character.isDigit(buf.getByte(buf.readerIndex()))) { + buf.readByte(); + } + + // Check minimum length + if (buf.readableBytes() < 11) { + return null; + } + + // Read flags + int version = buf.getUnsignedByte(buf.readerIndex() + 1); + int offset = 1 + 1 + 3; + if ((version & 0x80) != 0) { + offset += 4; + } + + // Get data length + int length = buf.getUnsignedShort(buf.readerIndex() + offset); + offset += 2; + if ((version & 0x40) != 0) { + offset += 3; + } + length += offset; // add header + + // Return buffer + if (buf.readableBytes() >= length) { + return buf.readRetainedSlice(length); + } + + return null; + } + +} diff --git a/src/org/traccar/protocol/AplicomProtocol.java b/src/main/java/org/traccar/protocol/AplicomProtocol.java similarity index 100% rename from src/org/traccar/protocol/AplicomProtocol.java rename to src/main/java/org/traccar/protocol/AplicomProtocol.java diff --git a/src/org/traccar/protocol/AplicomProtocolDecoder.java b/src/main/java/org/traccar/protocol/AplicomProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AplicomProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AplicomProtocolDecoder.java diff --git a/src/org/traccar/protocol/AppelloProtocol.java b/src/main/java/org/traccar/protocol/AppelloProtocol.java similarity index 100% rename from src/org/traccar/protocol/AppelloProtocol.java rename to src/main/java/org/traccar/protocol/AppelloProtocol.java diff --git a/src/org/traccar/protocol/AppelloProtocolDecoder.java b/src/main/java/org/traccar/protocol/AppelloProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AppelloProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AppelloProtocolDecoder.java diff --git a/src/org/traccar/protocol/AppletProtocol.java b/src/main/java/org/traccar/protocol/AppletProtocol.java similarity index 100% rename from src/org/traccar/protocol/AppletProtocol.java rename to src/main/java/org/traccar/protocol/AppletProtocol.java diff --git a/src/org/traccar/protocol/AppletProtocolDecoder.java b/src/main/java/org/traccar/protocol/AppletProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AppletProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AppletProtocolDecoder.java diff --git a/src/org/traccar/protocol/AquilaProtocol.java b/src/main/java/org/traccar/protocol/AquilaProtocol.java similarity index 100% rename from src/org/traccar/protocol/AquilaProtocol.java rename to src/main/java/org/traccar/protocol/AquilaProtocol.java diff --git a/src/org/traccar/protocol/AquilaProtocolDecoder.java b/src/main/java/org/traccar/protocol/AquilaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AquilaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AquilaProtocolDecoder.java diff --git a/src/org/traccar/protocol/Ardi01Protocol.java b/src/main/java/org/traccar/protocol/Ardi01Protocol.java similarity index 100% rename from src/org/traccar/protocol/Ardi01Protocol.java rename to src/main/java/org/traccar/protocol/Ardi01Protocol.java diff --git a/src/org/traccar/protocol/Ardi01ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Ardi01ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Ardi01ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Ardi01ProtocolDecoder.java diff --git a/src/org/traccar/protocol/ArknavProtocol.java b/src/main/java/org/traccar/protocol/ArknavProtocol.java similarity index 100% rename from src/org/traccar/protocol/ArknavProtocol.java rename to src/main/java/org/traccar/protocol/ArknavProtocol.java diff --git a/src/org/traccar/protocol/ArknavProtocolDecoder.java b/src/main/java/org/traccar/protocol/ArknavProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ArknavProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ArknavProtocolDecoder.java diff --git a/src/org/traccar/protocol/ArknavX8Protocol.java b/src/main/java/org/traccar/protocol/ArknavX8Protocol.java similarity index 100% rename from src/org/traccar/protocol/ArknavX8Protocol.java rename to src/main/java/org/traccar/protocol/ArknavX8Protocol.java diff --git a/src/org/traccar/protocol/ArknavX8ProtocolDecoder.java b/src/main/java/org/traccar/protocol/ArknavX8ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ArknavX8ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ArknavX8ProtocolDecoder.java diff --git a/src/org/traccar/protocol/ArnaviProtocol.java b/src/main/java/org/traccar/protocol/ArnaviProtocol.java similarity index 100% rename from src/org/traccar/protocol/ArnaviProtocol.java rename to src/main/java/org/traccar/protocol/ArnaviProtocol.java diff --git a/src/org/traccar/protocol/ArnaviProtocolDecoder.java b/src/main/java/org/traccar/protocol/ArnaviProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ArnaviProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ArnaviProtocolDecoder.java diff --git a/src/org/traccar/protocol/AstraProtocol.java b/src/main/java/org/traccar/protocol/AstraProtocol.java similarity index 100% rename from src/org/traccar/protocol/AstraProtocol.java rename to src/main/java/org/traccar/protocol/AstraProtocol.java diff --git a/src/org/traccar/protocol/AstraProtocolDecoder.java b/src/main/java/org/traccar/protocol/AstraProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AstraProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AstraProtocolDecoder.java diff --git a/src/org/traccar/protocol/At2000FrameDecoder.java b/src/main/java/org/traccar/protocol/At2000FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/At2000FrameDecoder.java rename to src/main/java/org/traccar/protocol/At2000FrameDecoder.java diff --git a/src/org/traccar/protocol/At2000Protocol.java b/src/main/java/org/traccar/protocol/At2000Protocol.java similarity index 100% rename from src/org/traccar/protocol/At2000Protocol.java rename to src/main/java/org/traccar/protocol/At2000Protocol.java diff --git a/src/org/traccar/protocol/At2000ProtocolDecoder.java b/src/main/java/org/traccar/protocol/At2000ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/At2000ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/At2000ProtocolDecoder.java diff --git a/src/org/traccar/protocol/AtrackFrameDecoder.java b/src/main/java/org/traccar/protocol/AtrackFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/AtrackFrameDecoder.java rename to src/main/java/org/traccar/protocol/AtrackFrameDecoder.java diff --git a/src/org/traccar/protocol/AtrackProtocol.java b/src/main/java/org/traccar/protocol/AtrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/AtrackProtocol.java rename to src/main/java/org/traccar/protocol/AtrackProtocol.java diff --git a/src/org/traccar/protocol/AtrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/AtrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AtrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AtrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/AtrackProtocolEncoder.java b/src/main/java/org/traccar/protocol/AtrackProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/AtrackProtocolEncoder.java rename to src/main/java/org/traccar/protocol/AtrackProtocolEncoder.java diff --git a/src/org/traccar/protocol/AuroProtocol.java b/src/main/java/org/traccar/protocol/AuroProtocol.java similarity index 100% rename from src/org/traccar/protocol/AuroProtocol.java rename to src/main/java/org/traccar/protocol/AuroProtocol.java diff --git a/src/org/traccar/protocol/AuroProtocolDecoder.java b/src/main/java/org/traccar/protocol/AuroProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AuroProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AuroProtocolDecoder.java diff --git a/src/org/traccar/protocol/AustinNbProtocol.java b/src/main/java/org/traccar/protocol/AustinNbProtocol.java similarity index 100% rename from src/org/traccar/protocol/AustinNbProtocol.java rename to src/main/java/org/traccar/protocol/AustinNbProtocol.java diff --git a/src/org/traccar/protocol/AustinNbProtocolDecoder.java b/src/main/java/org/traccar/protocol/AustinNbProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AustinNbProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AustinNbProtocolDecoder.java diff --git a/src/org/traccar/protocol/AutoFonFrameDecoder.java b/src/main/java/org/traccar/protocol/AutoFonFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/AutoFonFrameDecoder.java rename to src/main/java/org/traccar/protocol/AutoFonFrameDecoder.java diff --git a/src/org/traccar/protocol/AutoFonProtocol.java b/src/main/java/org/traccar/protocol/AutoFonProtocol.java similarity index 100% rename from src/org/traccar/protocol/AutoFonProtocol.java rename to src/main/java/org/traccar/protocol/AutoFonProtocol.java diff --git a/src/org/traccar/protocol/AutoFonProtocolDecoder.java b/src/main/java/org/traccar/protocol/AutoFonProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AutoFonProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AutoFonProtocolDecoder.java diff --git a/src/org/traccar/protocol/AutoGradeProtocol.java b/src/main/java/org/traccar/protocol/AutoGradeProtocol.java similarity index 100% rename from src/org/traccar/protocol/AutoGradeProtocol.java rename to src/main/java/org/traccar/protocol/AutoGradeProtocol.java diff --git a/src/org/traccar/protocol/AutoGradeProtocolDecoder.java b/src/main/java/org/traccar/protocol/AutoGradeProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AutoGradeProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AutoGradeProtocolDecoder.java diff --git a/src/org/traccar/protocol/AutoTrackProtocol.java b/src/main/java/org/traccar/protocol/AutoTrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/AutoTrackProtocol.java rename to src/main/java/org/traccar/protocol/AutoTrackProtocol.java diff --git a/src/org/traccar/protocol/AutoTrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/AutoTrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AutoTrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AutoTrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/AvemaProtocol.java b/src/main/java/org/traccar/protocol/AvemaProtocol.java similarity index 100% rename from src/org/traccar/protocol/AvemaProtocol.java rename to src/main/java/org/traccar/protocol/AvemaProtocol.java diff --git a/src/org/traccar/protocol/AvemaProtocolDecoder.java b/src/main/java/org/traccar/protocol/AvemaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/AvemaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/AvemaProtocolDecoder.java diff --git a/src/org/traccar/protocol/Avl301Protocol.java b/src/main/java/org/traccar/protocol/Avl301Protocol.java similarity index 100% rename from src/org/traccar/protocol/Avl301Protocol.java rename to src/main/java/org/traccar/protocol/Avl301Protocol.java diff --git a/src/org/traccar/protocol/Avl301ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Avl301ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Avl301ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Avl301ProtocolDecoder.java diff --git a/src/org/traccar/protocol/BceFrameDecoder.java b/src/main/java/org/traccar/protocol/BceFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/BceFrameDecoder.java rename to src/main/java/org/traccar/protocol/BceFrameDecoder.java diff --git a/src/org/traccar/protocol/BceProtocol.java b/src/main/java/org/traccar/protocol/BceProtocol.java similarity index 100% rename from src/org/traccar/protocol/BceProtocol.java rename to src/main/java/org/traccar/protocol/BceProtocol.java diff --git a/src/org/traccar/protocol/BceProtocolDecoder.java b/src/main/java/org/traccar/protocol/BceProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/BceProtocolDecoder.java rename to src/main/java/org/traccar/protocol/BceProtocolDecoder.java diff --git a/src/org/traccar/protocol/BceProtocolEncoder.java b/src/main/java/org/traccar/protocol/BceProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/BceProtocolEncoder.java rename to src/main/java/org/traccar/protocol/BceProtocolEncoder.java diff --git a/src/org/traccar/protocol/BlackKiteProtocol.java b/src/main/java/org/traccar/protocol/BlackKiteProtocol.java similarity index 100% rename from src/org/traccar/protocol/BlackKiteProtocol.java rename to src/main/java/org/traccar/protocol/BlackKiteProtocol.java diff --git a/src/org/traccar/protocol/BlackKiteProtocolDecoder.java b/src/main/java/org/traccar/protocol/BlackKiteProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/BlackKiteProtocolDecoder.java rename to src/main/java/org/traccar/protocol/BlackKiteProtocolDecoder.java diff --git a/src/org/traccar/protocol/BoxProtocol.java b/src/main/java/org/traccar/protocol/BoxProtocol.java similarity index 100% rename from src/org/traccar/protocol/BoxProtocol.java rename to src/main/java/org/traccar/protocol/BoxProtocol.java diff --git a/src/org/traccar/protocol/BoxProtocolDecoder.java b/src/main/java/org/traccar/protocol/BoxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/BoxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/BoxProtocolDecoder.java diff --git a/src/org/traccar/protocol/C2stekProtocol.java b/src/main/java/org/traccar/protocol/C2stekProtocol.java similarity index 100% rename from src/org/traccar/protocol/C2stekProtocol.java rename to src/main/java/org/traccar/protocol/C2stekProtocol.java diff --git a/src/org/traccar/protocol/C2stekProtocolDecoder.java b/src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/C2stekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/C2stekProtocolDecoder.java diff --git a/src/org/traccar/protocol/CalAmpProtocol.java b/src/main/java/org/traccar/protocol/CalAmpProtocol.java similarity index 100% rename from src/org/traccar/protocol/CalAmpProtocol.java rename to src/main/java/org/traccar/protocol/CalAmpProtocol.java diff --git a/src/org/traccar/protocol/CalAmpProtocolDecoder.java b/src/main/java/org/traccar/protocol/CalAmpProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CalAmpProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CalAmpProtocolDecoder.java diff --git a/src/org/traccar/protocol/CarTrackProtocol.java b/src/main/java/org/traccar/protocol/CarTrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/CarTrackProtocol.java rename to src/main/java/org/traccar/protocol/CarTrackProtocol.java diff --git a/src/org/traccar/protocol/CarTrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/CarTrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CarTrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CarTrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/CarcellProtocol.java b/src/main/java/org/traccar/protocol/CarcellProtocol.java similarity index 100% rename from src/org/traccar/protocol/CarcellProtocol.java rename to src/main/java/org/traccar/protocol/CarcellProtocol.java diff --git a/src/org/traccar/protocol/CarcellProtocolDecoder.java b/src/main/java/org/traccar/protocol/CarcellProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CarcellProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CarcellProtocolDecoder.java diff --git a/src/org/traccar/protocol/CarcellProtocolEncoder.java b/src/main/java/org/traccar/protocol/CarcellProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/CarcellProtocolEncoder.java rename to src/main/java/org/traccar/protocol/CarcellProtocolEncoder.java diff --git a/src/org/traccar/protocol/CarscopProtocol.java b/src/main/java/org/traccar/protocol/CarscopProtocol.java similarity index 100% rename from src/org/traccar/protocol/CarscopProtocol.java rename to src/main/java/org/traccar/protocol/CarscopProtocol.java diff --git a/src/org/traccar/protocol/CarscopProtocolDecoder.java b/src/main/java/org/traccar/protocol/CarscopProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CarscopProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CarscopProtocolDecoder.java diff --git a/src/org/traccar/protocol/CastelProtocol.java b/src/main/java/org/traccar/protocol/CastelProtocol.java similarity index 100% rename from src/org/traccar/protocol/CastelProtocol.java rename to src/main/java/org/traccar/protocol/CastelProtocol.java diff --git a/src/org/traccar/protocol/CastelProtocolDecoder.java b/src/main/java/org/traccar/protocol/CastelProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CastelProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CastelProtocolDecoder.java diff --git a/src/org/traccar/protocol/CastelProtocolEncoder.java b/src/main/java/org/traccar/protocol/CastelProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/CastelProtocolEncoder.java rename to src/main/java/org/traccar/protocol/CastelProtocolEncoder.java diff --git a/src/org/traccar/protocol/CautelaProtocol.java b/src/main/java/org/traccar/protocol/CautelaProtocol.java similarity index 100% rename from src/org/traccar/protocol/CautelaProtocol.java rename to src/main/java/org/traccar/protocol/CautelaProtocol.java diff --git a/src/org/traccar/protocol/CautelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/CautelaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CautelaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CautelaProtocolDecoder.java diff --git a/src/org/traccar/protocol/CellocatorFrameDecoder.java b/src/main/java/org/traccar/protocol/CellocatorFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/CellocatorFrameDecoder.java rename to src/main/java/org/traccar/protocol/CellocatorFrameDecoder.java diff --git a/src/org/traccar/protocol/CellocatorProtocol.java b/src/main/java/org/traccar/protocol/CellocatorProtocol.java similarity index 100% rename from src/org/traccar/protocol/CellocatorProtocol.java rename to src/main/java/org/traccar/protocol/CellocatorProtocol.java diff --git a/src/org/traccar/protocol/CellocatorProtocolDecoder.java b/src/main/java/org/traccar/protocol/CellocatorProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CellocatorProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CellocatorProtocolDecoder.java diff --git a/src/org/traccar/protocol/CellocatorProtocolEncoder.java b/src/main/java/org/traccar/protocol/CellocatorProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/CellocatorProtocolEncoder.java rename to src/main/java/org/traccar/protocol/CellocatorProtocolEncoder.java diff --git a/src/org/traccar/protocol/CguardProtocol.java b/src/main/java/org/traccar/protocol/CguardProtocol.java similarity index 100% rename from src/org/traccar/protocol/CguardProtocol.java rename to src/main/java/org/traccar/protocol/CguardProtocol.java diff --git a/src/org/traccar/protocol/CguardProtocolDecoder.java b/src/main/java/org/traccar/protocol/CguardProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CguardProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CguardProtocolDecoder.java diff --git a/src/org/traccar/protocol/CityeasyProtocol.java b/src/main/java/org/traccar/protocol/CityeasyProtocol.java similarity index 100% rename from src/org/traccar/protocol/CityeasyProtocol.java rename to src/main/java/org/traccar/protocol/CityeasyProtocol.java diff --git a/src/org/traccar/protocol/CityeasyProtocolDecoder.java b/src/main/java/org/traccar/protocol/CityeasyProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CityeasyProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CityeasyProtocolDecoder.java diff --git a/src/org/traccar/protocol/CityeasyProtocolEncoder.java b/src/main/java/org/traccar/protocol/CityeasyProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/CityeasyProtocolEncoder.java rename to src/main/java/org/traccar/protocol/CityeasyProtocolEncoder.java diff --git a/src/org/traccar/protocol/ContinentalProtocol.java b/src/main/java/org/traccar/protocol/ContinentalProtocol.java similarity index 100% rename from src/org/traccar/protocol/ContinentalProtocol.java rename to src/main/java/org/traccar/protocol/ContinentalProtocol.java diff --git a/src/org/traccar/protocol/ContinentalProtocolDecoder.java b/src/main/java/org/traccar/protocol/ContinentalProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ContinentalProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ContinentalProtocolDecoder.java diff --git a/src/org/traccar/protocol/CradlepointProtocol.java b/src/main/java/org/traccar/protocol/CradlepointProtocol.java similarity index 100% rename from src/org/traccar/protocol/CradlepointProtocol.java rename to src/main/java/org/traccar/protocol/CradlepointProtocol.java diff --git a/src/org/traccar/protocol/CradlepointProtocolDecoder.java b/src/main/java/org/traccar/protocol/CradlepointProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/CradlepointProtocolDecoder.java rename to src/main/java/org/traccar/protocol/CradlepointProtocolDecoder.java diff --git a/src/org/traccar/protocol/DishaProtocol.java b/src/main/java/org/traccar/protocol/DishaProtocol.java similarity index 100% rename from src/org/traccar/protocol/DishaProtocol.java rename to src/main/java/org/traccar/protocol/DishaProtocol.java diff --git a/src/org/traccar/protocol/DishaProtocolDecoder.java b/src/main/java/org/traccar/protocol/DishaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/DishaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/DishaProtocolDecoder.java diff --git a/src/org/traccar/protocol/DmtHttpProtocol.java b/src/main/java/org/traccar/protocol/DmtHttpProtocol.java similarity index 100% rename from src/org/traccar/protocol/DmtHttpProtocol.java rename to src/main/java/org/traccar/protocol/DmtHttpProtocol.java diff --git a/src/org/traccar/protocol/DmtHttpProtocolDecoder.java b/src/main/java/org/traccar/protocol/DmtHttpProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/DmtHttpProtocolDecoder.java rename to src/main/java/org/traccar/protocol/DmtHttpProtocolDecoder.java diff --git a/src/org/traccar/protocol/DmtProtocol.java b/src/main/java/org/traccar/protocol/DmtProtocol.java similarity index 100% rename from src/org/traccar/protocol/DmtProtocol.java rename to src/main/java/org/traccar/protocol/DmtProtocol.java diff --git a/src/org/traccar/protocol/DmtProtocolDecoder.java b/src/main/java/org/traccar/protocol/DmtProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/DmtProtocolDecoder.java rename to src/main/java/org/traccar/protocol/DmtProtocolDecoder.java diff --git a/src/org/traccar/protocol/DwayProtocol.java b/src/main/java/org/traccar/protocol/DwayProtocol.java similarity index 100% rename from src/org/traccar/protocol/DwayProtocol.java rename to src/main/java/org/traccar/protocol/DwayProtocol.java diff --git a/src/org/traccar/protocol/DwayProtocolDecoder.java b/src/main/java/org/traccar/protocol/DwayProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/DwayProtocolDecoder.java rename to src/main/java/org/traccar/protocol/DwayProtocolDecoder.java diff --git a/src/org/traccar/protocol/EasyTrackProtocol.java b/src/main/java/org/traccar/protocol/EasyTrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/EasyTrackProtocol.java rename to src/main/java/org/traccar/protocol/EasyTrackProtocol.java diff --git a/src/org/traccar/protocol/EasyTrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/EasyTrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EasyTrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EasyTrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/EelinkProtocol.java b/src/main/java/org/traccar/protocol/EelinkProtocol.java similarity index 100% rename from src/org/traccar/protocol/EelinkProtocol.java rename to src/main/java/org/traccar/protocol/EelinkProtocol.java diff --git a/src/org/traccar/protocol/EelinkProtocolDecoder.java b/src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EelinkProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EelinkProtocolDecoder.java diff --git a/src/org/traccar/protocol/EelinkProtocolEncoder.java b/src/main/java/org/traccar/protocol/EelinkProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/EelinkProtocolEncoder.java rename to src/main/java/org/traccar/protocol/EelinkProtocolEncoder.java diff --git a/src/org/traccar/protocol/EgtsFrameDecoder.java b/src/main/java/org/traccar/protocol/EgtsFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/EgtsFrameDecoder.java rename to src/main/java/org/traccar/protocol/EgtsFrameDecoder.java diff --git a/src/org/traccar/protocol/EgtsProtocol.java b/src/main/java/org/traccar/protocol/EgtsProtocol.java similarity index 100% rename from src/org/traccar/protocol/EgtsProtocol.java rename to src/main/java/org/traccar/protocol/EgtsProtocol.java diff --git a/src/org/traccar/protocol/EgtsProtocolDecoder.java b/src/main/java/org/traccar/protocol/EgtsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EgtsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EgtsProtocolDecoder.java diff --git a/src/org/traccar/protocol/EnforaProtocol.java b/src/main/java/org/traccar/protocol/EnforaProtocol.java similarity index 100% rename from src/org/traccar/protocol/EnforaProtocol.java rename to src/main/java/org/traccar/protocol/EnforaProtocol.java diff --git a/src/org/traccar/protocol/EnforaProtocolDecoder.java b/src/main/java/org/traccar/protocol/EnforaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EnforaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EnforaProtocolDecoder.java diff --git a/src/org/traccar/protocol/EnforaProtocolEncoder.java b/src/main/java/org/traccar/protocol/EnforaProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/EnforaProtocolEncoder.java rename to src/main/java/org/traccar/protocol/EnforaProtocolEncoder.java diff --git a/src/org/traccar/protocol/EsealProtocol.java b/src/main/java/org/traccar/protocol/EsealProtocol.java similarity index 100% rename from src/org/traccar/protocol/EsealProtocol.java rename to src/main/java/org/traccar/protocol/EsealProtocol.java diff --git a/src/org/traccar/protocol/EsealProtocolDecoder.java b/src/main/java/org/traccar/protocol/EsealProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EsealProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EsealProtocolDecoder.java diff --git a/src/org/traccar/protocol/EsealProtocolEncoder.java b/src/main/java/org/traccar/protocol/EsealProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/EsealProtocolEncoder.java rename to src/main/java/org/traccar/protocol/EsealProtocolEncoder.java diff --git a/src/org/traccar/protocol/EskyFrameDecoder.java b/src/main/java/org/traccar/protocol/EskyFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/EskyFrameDecoder.java rename to src/main/java/org/traccar/protocol/EskyFrameDecoder.java diff --git a/src/org/traccar/protocol/EskyProtocol.java b/src/main/java/org/traccar/protocol/EskyProtocol.java similarity index 100% rename from src/org/traccar/protocol/EskyProtocol.java rename to src/main/java/org/traccar/protocol/EskyProtocol.java diff --git a/src/org/traccar/protocol/EskyProtocolDecoder.java b/src/main/java/org/traccar/protocol/EskyProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/EskyProtocolDecoder.java rename to src/main/java/org/traccar/protocol/EskyProtocolDecoder.java diff --git a/src/org/traccar/protocol/ExtremTracProtocol.java b/src/main/java/org/traccar/protocol/ExtremTracProtocol.java similarity index 100% rename from src/org/traccar/protocol/ExtremTracProtocol.java rename to src/main/java/org/traccar/protocol/ExtremTracProtocol.java diff --git a/src/org/traccar/protocol/ExtremTracProtocolDecoder.java b/src/main/java/org/traccar/protocol/ExtremTracProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ExtremTracProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ExtremTracProtocolDecoder.java diff --git a/src/org/traccar/protocol/FifotrackProtocol.java b/src/main/java/org/traccar/protocol/FifotrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/FifotrackProtocol.java rename to src/main/java/org/traccar/protocol/FifotrackProtocol.java diff --git a/src/org/traccar/protocol/FifotrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FifotrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FifotrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/FlespiProtocol.java b/src/main/java/org/traccar/protocol/FlespiProtocol.java similarity index 100% rename from src/org/traccar/protocol/FlespiProtocol.java rename to src/main/java/org/traccar/protocol/FlespiProtocol.java diff --git a/src/org/traccar/protocol/FlespiProtocolDecoder.java b/src/main/java/org/traccar/protocol/FlespiProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FlespiProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FlespiProtocolDecoder.java diff --git a/src/org/traccar/protocol/FlexCommProtocol.java b/src/main/java/org/traccar/protocol/FlexCommProtocol.java similarity index 100% rename from src/org/traccar/protocol/FlexCommProtocol.java rename to src/main/java/org/traccar/protocol/FlexCommProtocol.java diff --git a/src/org/traccar/protocol/FlexCommProtocolDecoder.java b/src/main/java/org/traccar/protocol/FlexCommProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FlexCommProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FlexCommProtocolDecoder.java diff --git a/src/org/traccar/protocol/FlextrackProtocol.java b/src/main/java/org/traccar/protocol/FlextrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/FlextrackProtocol.java rename to src/main/java/org/traccar/protocol/FlextrackProtocol.java diff --git a/src/org/traccar/protocol/FlextrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/FlextrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FlextrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FlextrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/FoxProtocol.java b/src/main/java/org/traccar/protocol/FoxProtocol.java similarity index 100% rename from src/org/traccar/protocol/FoxProtocol.java rename to src/main/java/org/traccar/protocol/FoxProtocol.java diff --git a/src/org/traccar/protocol/FoxProtocolDecoder.java b/src/main/java/org/traccar/protocol/FoxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FoxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FoxProtocolDecoder.java diff --git a/src/org/traccar/protocol/FreedomProtocol.java b/src/main/java/org/traccar/protocol/FreedomProtocol.java similarity index 100% rename from src/org/traccar/protocol/FreedomProtocol.java rename to src/main/java/org/traccar/protocol/FreedomProtocol.java diff --git a/src/org/traccar/protocol/FreedomProtocolDecoder.java b/src/main/java/org/traccar/protocol/FreedomProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FreedomProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FreedomProtocolDecoder.java diff --git a/src/org/traccar/protocol/FreematicsProtocol.java b/src/main/java/org/traccar/protocol/FreematicsProtocol.java similarity index 100% rename from src/org/traccar/protocol/FreematicsProtocol.java rename to src/main/java/org/traccar/protocol/FreematicsProtocol.java diff --git a/src/org/traccar/protocol/FreematicsProtocolDecoder.java b/src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/FreematicsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/FreematicsProtocolDecoder.java diff --git a/src/org/traccar/protocol/GalileoFrameDecoder.java b/src/main/java/org/traccar/protocol/GalileoFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/GalileoFrameDecoder.java rename to src/main/java/org/traccar/protocol/GalileoFrameDecoder.java diff --git a/src/org/traccar/protocol/GalileoProtocol.java b/src/main/java/org/traccar/protocol/GalileoProtocol.java similarity index 100% rename from src/org/traccar/protocol/GalileoProtocol.java rename to src/main/java/org/traccar/protocol/GalileoProtocol.java diff --git a/src/org/traccar/protocol/GalileoProtocolDecoder.java b/src/main/java/org/traccar/protocol/GalileoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GalileoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GalileoProtocolDecoder.java diff --git a/src/org/traccar/protocol/GalileoProtocolEncoder.java b/src/main/java/org/traccar/protocol/GalileoProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/GalileoProtocolEncoder.java rename to src/main/java/org/traccar/protocol/GalileoProtocolEncoder.java diff --git a/src/org/traccar/protocol/GatorProtocol.java b/src/main/java/org/traccar/protocol/GatorProtocol.java similarity index 100% rename from src/org/traccar/protocol/GatorProtocol.java rename to src/main/java/org/traccar/protocol/GatorProtocol.java diff --git a/src/org/traccar/protocol/GatorProtocolDecoder.java b/src/main/java/org/traccar/protocol/GatorProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GatorProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GatorProtocolDecoder.java diff --git a/src/org/traccar/protocol/GenxProtocol.java b/src/main/java/org/traccar/protocol/GenxProtocol.java similarity index 100% rename from src/org/traccar/protocol/GenxProtocol.java rename to src/main/java/org/traccar/protocol/GenxProtocol.java diff --git a/src/org/traccar/protocol/GenxProtocolDecoder.java b/src/main/java/org/traccar/protocol/GenxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GenxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GenxProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gl100Protocol.java b/src/main/java/org/traccar/protocol/Gl100Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gl100Protocol.java rename to src/main/java/org/traccar/protocol/Gl100Protocol.java diff --git a/src/org/traccar/protocol/Gl100ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl100ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gl100ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gl100ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gl200BinaryProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl200BinaryProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gl200BinaryProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gl200BinaryProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gl200FrameDecoder.java b/src/main/java/org/traccar/protocol/Gl200FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gl200FrameDecoder.java rename to src/main/java/org/traccar/protocol/Gl200FrameDecoder.java diff --git a/src/org/traccar/protocol/Gl200Protocol.java b/src/main/java/org/traccar/protocol/Gl200Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gl200Protocol.java rename to src/main/java/org/traccar/protocol/Gl200Protocol.java diff --git a/src/org/traccar/protocol/Gl200ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl200ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gl200ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gl200ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gl200ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Gl200ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Gl200ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Gl200ProtocolEncoder.java diff --git a/src/org/traccar/protocol/Gl200TextProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gl200TextProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gl200TextProtocolDecoder.java diff --git a/src/org/traccar/protocol/GlobalSatProtocol.java b/src/main/java/org/traccar/protocol/GlobalSatProtocol.java similarity index 100% rename from src/org/traccar/protocol/GlobalSatProtocol.java rename to src/main/java/org/traccar/protocol/GlobalSatProtocol.java diff --git a/src/org/traccar/protocol/GlobalSatProtocolDecoder.java b/src/main/java/org/traccar/protocol/GlobalSatProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GlobalSatProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GlobalSatProtocolDecoder.java diff --git a/src/org/traccar/protocol/GnxProtocol.java b/src/main/java/org/traccar/protocol/GnxProtocol.java similarity index 100% rename from src/org/traccar/protocol/GnxProtocol.java rename to src/main/java/org/traccar/protocol/GnxProtocol.java diff --git a/src/org/traccar/protocol/GnxProtocolDecoder.java b/src/main/java/org/traccar/protocol/GnxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GnxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GnxProtocolDecoder.java diff --git a/src/org/traccar/protocol/GoSafeProtocol.java b/src/main/java/org/traccar/protocol/GoSafeProtocol.java similarity index 100% rename from src/org/traccar/protocol/GoSafeProtocol.java rename to src/main/java/org/traccar/protocol/GoSafeProtocol.java diff --git a/src/org/traccar/protocol/GoSafeProtocolDecoder.java b/src/main/java/org/traccar/protocol/GoSafeProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GoSafeProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GoSafeProtocolDecoder.java diff --git a/src/org/traccar/protocol/GotopProtocol.java b/src/main/java/org/traccar/protocol/GotopProtocol.java similarity index 100% rename from src/org/traccar/protocol/GotopProtocol.java rename to src/main/java/org/traccar/protocol/GotopProtocol.java diff --git a/src/org/traccar/protocol/GotopProtocolDecoder.java b/src/main/java/org/traccar/protocol/GotopProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GotopProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GotopProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gps056FrameDecoder.java b/src/main/java/org/traccar/protocol/Gps056FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gps056FrameDecoder.java rename to src/main/java/org/traccar/protocol/Gps056FrameDecoder.java diff --git a/src/org/traccar/protocol/Gps056Protocol.java b/src/main/java/org/traccar/protocol/Gps056Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gps056Protocol.java rename to src/main/java/org/traccar/protocol/Gps056Protocol.java diff --git a/src/org/traccar/protocol/Gps056ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gps056ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gps056ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gps056ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gps103Protocol.java b/src/main/java/org/traccar/protocol/Gps103Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gps103Protocol.java rename to src/main/java/org/traccar/protocol/Gps103Protocol.java diff --git a/src/org/traccar/protocol/Gps103ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gps103ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gps103ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gps103ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gps103ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Gps103ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Gps103ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Gps103ProtocolEncoder.java diff --git a/src/org/traccar/protocol/GpsGateProtocol.java b/src/main/java/org/traccar/protocol/GpsGateProtocol.java similarity index 100% rename from src/org/traccar/protocol/GpsGateProtocol.java rename to src/main/java/org/traccar/protocol/GpsGateProtocol.java diff --git a/src/org/traccar/protocol/GpsGateProtocolDecoder.java b/src/main/java/org/traccar/protocol/GpsGateProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GpsGateProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GpsGateProtocolDecoder.java diff --git a/src/org/traccar/protocol/GpsMarkerProtocol.java b/src/main/java/org/traccar/protocol/GpsMarkerProtocol.java similarity index 100% rename from src/org/traccar/protocol/GpsMarkerProtocol.java rename to src/main/java/org/traccar/protocol/GpsMarkerProtocol.java diff --git a/src/org/traccar/protocol/GpsMarkerProtocolDecoder.java b/src/main/java/org/traccar/protocol/GpsMarkerProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GpsMarkerProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GpsMarkerProtocolDecoder.java diff --git a/src/org/traccar/protocol/GpsmtaProtocol.java b/src/main/java/org/traccar/protocol/GpsmtaProtocol.java similarity index 100% rename from src/org/traccar/protocol/GpsmtaProtocol.java rename to src/main/java/org/traccar/protocol/GpsmtaProtocol.java diff --git a/src/org/traccar/protocol/GpsmtaProtocolDecoder.java b/src/main/java/org/traccar/protocol/GpsmtaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GpsmtaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GpsmtaProtocolDecoder.java diff --git a/src/org/traccar/protocol/GranitFrameDecoder.java b/src/main/java/org/traccar/protocol/GranitFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/GranitFrameDecoder.java rename to src/main/java/org/traccar/protocol/GranitFrameDecoder.java diff --git a/src/org/traccar/protocol/GranitProtocol.java b/src/main/java/org/traccar/protocol/GranitProtocol.java similarity index 100% rename from src/org/traccar/protocol/GranitProtocol.java rename to src/main/java/org/traccar/protocol/GranitProtocol.java diff --git a/src/org/traccar/protocol/GranitProtocolDecoder.java b/src/main/java/org/traccar/protocol/GranitProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/GranitProtocolDecoder.java rename to src/main/java/org/traccar/protocol/GranitProtocolDecoder.java diff --git a/src/org/traccar/protocol/GranitProtocolEncoder.java b/src/main/java/org/traccar/protocol/GranitProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/GranitProtocolEncoder.java rename to src/main/java/org/traccar/protocol/GranitProtocolEncoder.java diff --git a/src/org/traccar/protocol/GranitProtocolSmsEncoder.java b/src/main/java/org/traccar/protocol/GranitProtocolSmsEncoder.java similarity index 100% rename from src/org/traccar/protocol/GranitProtocolSmsEncoder.java rename to src/main/java/org/traccar/protocol/GranitProtocolSmsEncoder.java diff --git a/src/org/traccar/protocol/Gt02Protocol.java b/src/main/java/org/traccar/protocol/Gt02Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gt02Protocol.java rename to src/main/java/org/traccar/protocol/Gt02Protocol.java diff --git a/src/org/traccar/protocol/Gt02ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt02ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gt02ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gt02ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gt06FrameDecoder.java b/src/main/java/org/traccar/protocol/Gt06FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gt06FrameDecoder.java rename to src/main/java/org/traccar/protocol/Gt06FrameDecoder.java diff --git a/src/org/traccar/protocol/Gt06Protocol.java b/src/main/java/org/traccar/protocol/Gt06Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gt06Protocol.java rename to src/main/java/org/traccar/protocol/Gt06Protocol.java diff --git a/src/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gt06ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gt06ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Gt06ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Gt06ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Gt06ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Gt06ProtocolEncoder.java diff --git a/src/org/traccar/protocol/Gt30Protocol.java b/src/main/java/org/traccar/protocol/Gt30Protocol.java similarity index 100% rename from src/org/traccar/protocol/Gt30Protocol.java rename to src/main/java/org/traccar/protocol/Gt30Protocol.java diff --git a/src/org/traccar/protocol/Gt30ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Gt30ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Gt30ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Gt30ProtocolDecoder.java diff --git a/src/org/traccar/protocol/H02FrameDecoder.java b/src/main/java/org/traccar/protocol/H02FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/H02FrameDecoder.java rename to src/main/java/org/traccar/protocol/H02FrameDecoder.java diff --git a/src/org/traccar/protocol/H02Protocol.java b/src/main/java/org/traccar/protocol/H02Protocol.java similarity index 100% rename from src/org/traccar/protocol/H02Protocol.java rename to src/main/java/org/traccar/protocol/H02Protocol.java diff --git a/src/org/traccar/protocol/H02ProtocolDecoder.java b/src/main/java/org/traccar/protocol/H02ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/H02ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/H02ProtocolDecoder.java diff --git a/src/org/traccar/protocol/H02ProtocolEncoder.java b/src/main/java/org/traccar/protocol/H02ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/H02ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/H02ProtocolEncoder.java diff --git a/src/org/traccar/protocol/HaicomProtocol.java b/src/main/java/org/traccar/protocol/HaicomProtocol.java similarity index 100% rename from src/org/traccar/protocol/HaicomProtocol.java rename to src/main/java/org/traccar/protocol/HaicomProtocol.java diff --git a/src/org/traccar/protocol/HaicomProtocolDecoder.java b/src/main/java/org/traccar/protocol/HaicomProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/HaicomProtocolDecoder.java rename to src/main/java/org/traccar/protocol/HaicomProtocolDecoder.java diff --git a/src/org/traccar/protocol/HomtecsProtocol.java b/src/main/java/org/traccar/protocol/HomtecsProtocol.java similarity index 100% rename from src/org/traccar/protocol/HomtecsProtocol.java rename to src/main/java/org/traccar/protocol/HomtecsProtocol.java diff --git a/src/org/traccar/protocol/HomtecsProtocolDecoder.java b/src/main/java/org/traccar/protocol/HomtecsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/HomtecsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/HomtecsProtocolDecoder.java diff --git a/src/org/traccar/protocol/HuaShengFrameDecoder.java b/src/main/java/org/traccar/protocol/HuaShengFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/HuaShengFrameDecoder.java rename to src/main/java/org/traccar/protocol/HuaShengFrameDecoder.java diff --git a/src/org/traccar/protocol/HuaShengProtocol.java b/src/main/java/org/traccar/protocol/HuaShengProtocol.java similarity index 100% rename from src/org/traccar/protocol/HuaShengProtocol.java rename to src/main/java/org/traccar/protocol/HuaShengProtocol.java diff --git a/src/org/traccar/protocol/HuaShengProtocolDecoder.java b/src/main/java/org/traccar/protocol/HuaShengProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/HuaShengProtocolDecoder.java rename to src/main/java/org/traccar/protocol/HuaShengProtocolDecoder.java diff --git a/src/org/traccar/protocol/HuabaoFrameDecoder.java b/src/main/java/org/traccar/protocol/HuabaoFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/HuabaoFrameDecoder.java rename to src/main/java/org/traccar/protocol/HuabaoFrameDecoder.java diff --git a/src/org/traccar/protocol/HuabaoProtocol.java b/src/main/java/org/traccar/protocol/HuabaoProtocol.java similarity index 100% rename from src/org/traccar/protocol/HuabaoProtocol.java rename to src/main/java/org/traccar/protocol/HuabaoProtocol.java diff --git a/src/org/traccar/protocol/HuabaoProtocolDecoder.java b/src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/HuabaoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/HuabaoProtocolDecoder.java diff --git a/src/org/traccar/protocol/HuabaoProtocolEncoder.java b/src/main/java/org/traccar/protocol/HuabaoProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/HuabaoProtocolEncoder.java rename to src/main/java/org/traccar/protocol/HuabaoProtocolEncoder.java diff --git a/src/org/traccar/protocol/HunterProProtocol.java b/src/main/java/org/traccar/protocol/HunterProProtocol.java similarity index 100% rename from src/org/traccar/protocol/HunterProProtocol.java rename to src/main/java/org/traccar/protocol/HunterProProtocol.java diff --git a/src/org/traccar/protocol/HunterProProtocolDecoder.java b/src/main/java/org/traccar/protocol/HunterProProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/HunterProProtocolDecoder.java rename to src/main/java/org/traccar/protocol/HunterProProtocolDecoder.java diff --git a/src/org/traccar/protocol/IdplProtocol.java b/src/main/java/org/traccar/protocol/IdplProtocol.java similarity index 100% rename from src/org/traccar/protocol/IdplProtocol.java rename to src/main/java/org/traccar/protocol/IdplProtocol.java diff --git a/src/org/traccar/protocol/IdplProtocolDecoder.java b/src/main/java/org/traccar/protocol/IdplProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/IdplProtocolDecoder.java rename to src/main/java/org/traccar/protocol/IdplProtocolDecoder.java diff --git a/src/org/traccar/protocol/IntellitracFrameDecoder.java b/src/main/java/org/traccar/protocol/IntellitracFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/IntellitracFrameDecoder.java rename to src/main/java/org/traccar/protocol/IntellitracFrameDecoder.java diff --git a/src/org/traccar/protocol/IntellitracProtocol.java b/src/main/java/org/traccar/protocol/IntellitracProtocol.java similarity index 100% rename from src/org/traccar/protocol/IntellitracProtocol.java rename to src/main/java/org/traccar/protocol/IntellitracProtocol.java diff --git a/src/org/traccar/protocol/IntellitracProtocolDecoder.java b/src/main/java/org/traccar/protocol/IntellitracProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/IntellitracProtocolDecoder.java rename to src/main/java/org/traccar/protocol/IntellitracProtocolDecoder.java diff --git a/src/org/traccar/protocol/ItsProtocol.java b/src/main/java/org/traccar/protocol/ItsProtocol.java similarity index 100% rename from src/org/traccar/protocol/ItsProtocol.java rename to src/main/java/org/traccar/protocol/ItsProtocol.java diff --git a/src/org/traccar/protocol/ItsProtocolDecoder.java b/src/main/java/org/traccar/protocol/ItsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ItsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ItsProtocolDecoder.java diff --git a/src/org/traccar/protocol/Ivt401Protocol.java b/src/main/java/org/traccar/protocol/Ivt401Protocol.java similarity index 100% rename from src/org/traccar/protocol/Ivt401Protocol.java rename to src/main/java/org/traccar/protocol/Ivt401Protocol.java diff --git a/src/org/traccar/protocol/Ivt401ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Ivt401ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Ivt401ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Ivt401ProtocolDecoder.java diff --git a/src/org/traccar/protocol/JpKorjarFrameDecoder.java b/src/main/java/org/traccar/protocol/JpKorjarFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/JpKorjarFrameDecoder.java rename to src/main/java/org/traccar/protocol/JpKorjarFrameDecoder.java diff --git a/src/org/traccar/protocol/JpKorjarProtocol.java b/src/main/java/org/traccar/protocol/JpKorjarProtocol.java similarity index 100% rename from src/org/traccar/protocol/JpKorjarProtocol.java rename to src/main/java/org/traccar/protocol/JpKorjarProtocol.java diff --git a/src/org/traccar/protocol/JpKorjarProtocolDecoder.java b/src/main/java/org/traccar/protocol/JpKorjarProtocolDecoder.java similarity index 97% rename from src/org/traccar/protocol/JpKorjarProtocolDecoder.java rename to src/main/java/org/traccar/protocol/JpKorjarProtocolDecoder.java index a8389d1b143..33026918a6e 100644 --- a/src/org/traccar/protocol/JpKorjarProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/JpKorjarProtocolDecoder.java @@ -1,89 +1,89 @@ -/* - * Copyright 2016 Nyash (nyashh@gmail.com) - * Copyright 2016 - 2018 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.protocol; - -import io.netty.channel.Channel; -import org.traccar.BaseProtocolDecoder; -import org.traccar.DeviceSession; -import org.traccar.Protocol; -import org.traccar.helper.Parser; -import org.traccar.helper.PatternBuilder; -import org.traccar.model.CellTower; -import org.traccar.model.Network; -import org.traccar.model.Position; - -import java.net.SocketAddress; -import java.util.regex.Pattern; - -public class JpKorjarProtocolDecoder extends BaseProtocolDecoder { - - public JpKorjarProtocolDecoder(Protocol protocol) { - super(protocol); - } - - private static final Pattern PATTERN = new PatternBuilder() - .text("KORJAR.PL,") - .number("(d+),") // imei - .number("(dd)(dd)(dd)") // date (yymmdd) - .number("(dd)(dd)(dd),") // time (hhmmss) - .number("(d+.d+)([NS]),") // latitude - .number("(d+.d+)([EW]),") // longitude - .number("(d+.d+),") // speed - .number("(d+),") // course - .number("[FL]:(d+.d+)V,") // battery - .number("([01]) ") // valid - .number("(d+) ") // mcc - .number("(d+) ") // mnc - .number("(x+) ") // lac - .number("(x+),") // cid - .compile(); - - @Override - protected Object decode( - Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { - - Parser parser = new Parser(PATTERN, (String) msg); - if (!parser.matches()) { - return null; - } - - Position position = new Position(getProtocolName()); - - DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); - if (deviceSession == null) { - return null; - } - position.setDeviceId(deviceSession.getDeviceId()); - - position.setTime(parser.nextDateTime()); - - position.setLatitude(parser.nextCoordinate(Parser.CoordinateFormat.DEG_HEM)); - position.setLongitude(parser.nextCoordinate(Parser.CoordinateFormat.DEG_HEM)); - position.setSpeed(parser.nextDouble(0)); - position.setCourse(parser.nextDouble(0)); - - position.set(Position.KEY_BATTERY, parser.nextDouble(0)); - - position.setValid(parser.nextInt(0) == 1); - - position.setNetwork(new Network(CellTower.from( - parser.nextInt(0), parser.nextInt(0), parser.nextHexInt(0), parser.nextHexInt(0)))); - - return position; - } - -} +/* + * Copyright 2016 Nyash (nyashh@gmail.com) + * Copyright 2016 - 2018 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.protocol; + +import io.netty.channel.Channel; +import org.traccar.BaseProtocolDecoder; +import org.traccar.DeviceSession; +import org.traccar.Protocol; +import org.traccar.helper.Parser; +import org.traccar.helper.PatternBuilder; +import org.traccar.model.CellTower; +import org.traccar.model.Network; +import org.traccar.model.Position; + +import java.net.SocketAddress; +import java.util.regex.Pattern; + +public class JpKorjarProtocolDecoder extends BaseProtocolDecoder { + + public JpKorjarProtocolDecoder(Protocol protocol) { + super(protocol); + } + + private static final Pattern PATTERN = new PatternBuilder() + .text("KORJAR.PL,") + .number("(d+),") // imei + .number("(dd)(dd)(dd)") // date (yymmdd) + .number("(dd)(dd)(dd),") // time (hhmmss) + .number("(d+.d+)([NS]),") // latitude + .number("(d+.d+)([EW]),") // longitude + .number("(d+.d+),") // speed + .number("(d+),") // course + .number("[FL]:(d+.d+)V,") // battery + .number("([01]) ") // valid + .number("(d+) ") // mcc + .number("(d+) ") // mnc + .number("(x+) ") // lac + .number("(x+),") // cid + .compile(); + + @Override + protected Object decode( + Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { + + Parser parser = new Parser(PATTERN, (String) msg); + if (!parser.matches()) { + return null; + } + + Position position = new Position(getProtocolName()); + + DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); + if (deviceSession == null) { + return null; + } + position.setDeviceId(deviceSession.getDeviceId()); + + position.setTime(parser.nextDateTime()); + + position.setLatitude(parser.nextCoordinate(Parser.CoordinateFormat.DEG_HEM)); + position.setLongitude(parser.nextCoordinate(Parser.CoordinateFormat.DEG_HEM)); + position.setSpeed(parser.nextDouble(0)); + position.setCourse(parser.nextDouble(0)); + + position.set(Position.KEY_BATTERY, parser.nextDouble(0)); + + position.setValid(parser.nextInt(0) == 1); + + position.setNetwork(new Network(CellTower.from( + parser.nextInt(0), parser.nextInt(0), parser.nextHexInt(0), parser.nextHexInt(0)))); + + return position; + } + +} diff --git a/src/org/traccar/protocol/Jt600FrameDecoder.java b/src/main/java/org/traccar/protocol/Jt600FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Jt600FrameDecoder.java rename to src/main/java/org/traccar/protocol/Jt600FrameDecoder.java diff --git a/src/org/traccar/protocol/Jt600Protocol.java b/src/main/java/org/traccar/protocol/Jt600Protocol.java similarity index 100% rename from src/org/traccar/protocol/Jt600Protocol.java rename to src/main/java/org/traccar/protocol/Jt600Protocol.java diff --git a/src/org/traccar/protocol/Jt600ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Jt600ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Jt600ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Jt600ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Jt600ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Jt600ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Jt600ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Jt600ProtocolEncoder.java diff --git a/src/org/traccar/protocol/KenjiProtocol.java b/src/main/java/org/traccar/protocol/KenjiProtocol.java similarity index 100% rename from src/org/traccar/protocol/KenjiProtocol.java rename to src/main/java/org/traccar/protocol/KenjiProtocol.java diff --git a/src/org/traccar/protocol/KenjiProtocolDecoder.java b/src/main/java/org/traccar/protocol/KenjiProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/KenjiProtocolDecoder.java rename to src/main/java/org/traccar/protocol/KenjiProtocolDecoder.java diff --git a/src/org/traccar/protocol/KhdProtocol.java b/src/main/java/org/traccar/protocol/KhdProtocol.java similarity index 100% rename from src/org/traccar/protocol/KhdProtocol.java rename to src/main/java/org/traccar/protocol/KhdProtocol.java diff --git a/src/org/traccar/protocol/KhdProtocolDecoder.java b/src/main/java/org/traccar/protocol/KhdProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/KhdProtocolDecoder.java rename to src/main/java/org/traccar/protocol/KhdProtocolDecoder.java diff --git a/src/org/traccar/protocol/KhdProtocolEncoder.java b/src/main/java/org/traccar/protocol/KhdProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/KhdProtocolEncoder.java rename to src/main/java/org/traccar/protocol/KhdProtocolEncoder.java diff --git a/src/org/traccar/protocol/L100FrameDecoder.java b/src/main/java/org/traccar/protocol/L100FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/L100FrameDecoder.java rename to src/main/java/org/traccar/protocol/L100FrameDecoder.java diff --git a/src/org/traccar/protocol/L100Protocol.java b/src/main/java/org/traccar/protocol/L100Protocol.java similarity index 100% rename from src/org/traccar/protocol/L100Protocol.java rename to src/main/java/org/traccar/protocol/L100Protocol.java diff --git a/src/org/traccar/protocol/L100ProtocolDecoder.java b/src/main/java/org/traccar/protocol/L100ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/L100ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/L100ProtocolDecoder.java diff --git a/src/org/traccar/protocol/LaipacProtocol.java b/src/main/java/org/traccar/protocol/LaipacProtocol.java similarity index 100% rename from src/org/traccar/protocol/LaipacProtocol.java rename to src/main/java/org/traccar/protocol/LaipacProtocol.java diff --git a/src/org/traccar/protocol/LaipacProtocolDecoder.java b/src/main/java/org/traccar/protocol/LaipacProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/LaipacProtocolDecoder.java rename to src/main/java/org/traccar/protocol/LaipacProtocolDecoder.java diff --git a/src/org/traccar/protocol/M2cProtocol.java b/src/main/java/org/traccar/protocol/M2cProtocol.java similarity index 100% rename from src/org/traccar/protocol/M2cProtocol.java rename to src/main/java/org/traccar/protocol/M2cProtocol.java diff --git a/src/org/traccar/protocol/M2cProtocolDecoder.java b/src/main/java/org/traccar/protocol/M2cProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/M2cProtocolDecoder.java rename to src/main/java/org/traccar/protocol/M2cProtocolDecoder.java diff --git a/src/org/traccar/protocol/M2mProtocol.java b/src/main/java/org/traccar/protocol/M2mProtocol.java similarity index 100% rename from src/org/traccar/protocol/M2mProtocol.java rename to src/main/java/org/traccar/protocol/M2mProtocol.java diff --git a/src/org/traccar/protocol/M2mProtocolDecoder.java b/src/main/java/org/traccar/protocol/M2mProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/M2mProtocolDecoder.java rename to src/main/java/org/traccar/protocol/M2mProtocolDecoder.java diff --git a/src/org/traccar/protocol/MaestroProtocol.java b/src/main/java/org/traccar/protocol/MaestroProtocol.java similarity index 100% rename from src/org/traccar/protocol/MaestroProtocol.java rename to src/main/java/org/traccar/protocol/MaestroProtocol.java diff --git a/src/org/traccar/protocol/MaestroProtocolDecoder.java b/src/main/java/org/traccar/protocol/MaestroProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MaestroProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MaestroProtocolDecoder.java diff --git a/src/org/traccar/protocol/ManPowerProtocol.java b/src/main/java/org/traccar/protocol/ManPowerProtocol.java similarity index 100% rename from src/org/traccar/protocol/ManPowerProtocol.java rename to src/main/java/org/traccar/protocol/ManPowerProtocol.java diff --git a/src/org/traccar/protocol/ManPowerProtocolDecoder.java b/src/main/java/org/traccar/protocol/ManPowerProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ManPowerProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ManPowerProtocolDecoder.java diff --git a/src/org/traccar/protocol/MegastekFrameDecoder.java b/src/main/java/org/traccar/protocol/MegastekFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/MegastekFrameDecoder.java rename to src/main/java/org/traccar/protocol/MegastekFrameDecoder.java diff --git a/src/org/traccar/protocol/MegastekProtocol.java b/src/main/java/org/traccar/protocol/MegastekProtocol.java similarity index 100% rename from src/org/traccar/protocol/MegastekProtocol.java rename to src/main/java/org/traccar/protocol/MegastekProtocol.java diff --git a/src/org/traccar/protocol/MegastekProtocolDecoder.java b/src/main/java/org/traccar/protocol/MegastekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MegastekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MegastekProtocolDecoder.java diff --git a/src/org/traccar/protocol/MeiligaoFrameDecoder.java b/src/main/java/org/traccar/protocol/MeiligaoFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/MeiligaoFrameDecoder.java rename to src/main/java/org/traccar/protocol/MeiligaoFrameDecoder.java diff --git a/src/org/traccar/protocol/MeiligaoProtocol.java b/src/main/java/org/traccar/protocol/MeiligaoProtocol.java similarity index 100% rename from src/org/traccar/protocol/MeiligaoProtocol.java rename to src/main/java/org/traccar/protocol/MeiligaoProtocol.java diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/main/java/org/traccar/protocol/MeiligaoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MeiligaoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MeiligaoProtocolDecoder.java diff --git a/src/org/traccar/protocol/MeiligaoProtocolEncoder.java b/src/main/java/org/traccar/protocol/MeiligaoProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/MeiligaoProtocolEncoder.java rename to src/main/java/org/traccar/protocol/MeiligaoProtocolEncoder.java diff --git a/src/org/traccar/protocol/MeitrackFrameDecoder.java b/src/main/java/org/traccar/protocol/MeitrackFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/MeitrackFrameDecoder.java rename to src/main/java/org/traccar/protocol/MeitrackFrameDecoder.java diff --git a/src/org/traccar/protocol/MeitrackProtocol.java b/src/main/java/org/traccar/protocol/MeitrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/MeitrackProtocol.java rename to src/main/java/org/traccar/protocol/MeitrackProtocol.java diff --git a/src/org/traccar/protocol/MeitrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MeitrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MeitrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/MeitrackProtocolEncoder.java b/src/main/java/org/traccar/protocol/MeitrackProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/MeitrackProtocolEncoder.java rename to src/main/java/org/traccar/protocol/MeitrackProtocolEncoder.java diff --git a/src/org/traccar/protocol/MilesmateProtocol.java b/src/main/java/org/traccar/protocol/MilesmateProtocol.java similarity index 100% rename from src/org/traccar/protocol/MilesmateProtocol.java rename to src/main/java/org/traccar/protocol/MilesmateProtocol.java diff --git a/src/org/traccar/protocol/MilesmateProtocolDecoder.java b/src/main/java/org/traccar/protocol/MilesmateProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MilesmateProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MilesmateProtocolDecoder.java diff --git a/src/org/traccar/protocol/MiniFinderProtocol.java b/src/main/java/org/traccar/protocol/MiniFinderProtocol.java similarity index 100% rename from src/org/traccar/protocol/MiniFinderProtocol.java rename to src/main/java/org/traccar/protocol/MiniFinderProtocol.java diff --git a/src/org/traccar/protocol/MiniFinderProtocolDecoder.java b/src/main/java/org/traccar/protocol/MiniFinderProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MiniFinderProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MiniFinderProtocolDecoder.java diff --git a/src/org/traccar/protocol/MiniFinderProtocolEncoder.java b/src/main/java/org/traccar/protocol/MiniFinderProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/MiniFinderProtocolEncoder.java rename to src/main/java/org/traccar/protocol/MiniFinderProtocolEncoder.java diff --git a/src/org/traccar/protocol/Mta6Protocol.java b/src/main/java/org/traccar/protocol/Mta6Protocol.java similarity index 100% rename from src/org/traccar/protocol/Mta6Protocol.java rename to src/main/java/org/traccar/protocol/Mta6Protocol.java diff --git a/src/org/traccar/protocol/Mta6ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Mta6ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Mta6ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Mta6ProtocolDecoder.java diff --git a/src/org/traccar/protocol/MtxProtocol.java b/src/main/java/org/traccar/protocol/MtxProtocol.java similarity index 100% rename from src/org/traccar/protocol/MtxProtocol.java rename to src/main/java/org/traccar/protocol/MtxProtocol.java diff --git a/src/org/traccar/protocol/MtxProtocolDecoder.java b/src/main/java/org/traccar/protocol/MtxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MtxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MtxProtocolDecoder.java diff --git a/src/org/traccar/protocol/MxtFrameDecoder.java b/src/main/java/org/traccar/protocol/MxtFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/MxtFrameDecoder.java rename to src/main/java/org/traccar/protocol/MxtFrameDecoder.java diff --git a/src/org/traccar/protocol/MxtProtocol.java b/src/main/java/org/traccar/protocol/MxtProtocol.java similarity index 100% rename from src/org/traccar/protocol/MxtProtocol.java rename to src/main/java/org/traccar/protocol/MxtProtocol.java diff --git a/src/org/traccar/protocol/MxtProtocolDecoder.java b/src/main/java/org/traccar/protocol/MxtProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/MxtProtocolDecoder.java rename to src/main/java/org/traccar/protocol/MxtProtocolDecoder.java diff --git a/src/org/traccar/protocol/NavigilFrameDecoder.java b/src/main/java/org/traccar/protocol/NavigilFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/NavigilFrameDecoder.java rename to src/main/java/org/traccar/protocol/NavigilFrameDecoder.java diff --git a/src/org/traccar/protocol/NavigilProtocol.java b/src/main/java/org/traccar/protocol/NavigilProtocol.java similarity index 100% rename from src/org/traccar/protocol/NavigilProtocol.java rename to src/main/java/org/traccar/protocol/NavigilProtocol.java diff --git a/src/org/traccar/protocol/NavigilProtocolDecoder.java b/src/main/java/org/traccar/protocol/NavigilProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NavigilProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NavigilProtocolDecoder.java diff --git a/src/org/traccar/protocol/NavisFrameDecoder.java b/src/main/java/org/traccar/protocol/NavisFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/NavisFrameDecoder.java rename to src/main/java/org/traccar/protocol/NavisFrameDecoder.java diff --git a/src/org/traccar/protocol/NavisProtocol.java b/src/main/java/org/traccar/protocol/NavisProtocol.java similarity index 100% rename from src/org/traccar/protocol/NavisProtocol.java rename to src/main/java/org/traccar/protocol/NavisProtocol.java diff --git a/src/org/traccar/protocol/NavisProtocolDecoder.java b/src/main/java/org/traccar/protocol/NavisProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NavisProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NavisProtocolDecoder.java diff --git a/src/org/traccar/protocol/NeosProtocol.java b/src/main/java/org/traccar/protocol/NeosProtocol.java similarity index 100% rename from src/org/traccar/protocol/NeosProtocol.java rename to src/main/java/org/traccar/protocol/NeosProtocol.java diff --git a/src/org/traccar/protocol/NeosProtocolDecoder.java b/src/main/java/org/traccar/protocol/NeosProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NeosProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NeosProtocolDecoder.java diff --git a/src/org/traccar/protocol/NoranProtocol.java b/src/main/java/org/traccar/protocol/NoranProtocol.java similarity index 100% rename from src/org/traccar/protocol/NoranProtocol.java rename to src/main/java/org/traccar/protocol/NoranProtocol.java diff --git a/src/org/traccar/protocol/NoranProtocolDecoder.java b/src/main/java/org/traccar/protocol/NoranProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NoranProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NoranProtocolDecoder.java diff --git a/src/org/traccar/protocol/NoranProtocolEncoder.java b/src/main/java/org/traccar/protocol/NoranProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/NoranProtocolEncoder.java rename to src/main/java/org/traccar/protocol/NoranProtocolEncoder.java diff --git a/src/org/traccar/protocol/NvsFrameDecoder.java b/src/main/java/org/traccar/protocol/NvsFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/NvsFrameDecoder.java rename to src/main/java/org/traccar/protocol/NvsFrameDecoder.java diff --git a/src/org/traccar/protocol/NvsProtocol.java b/src/main/java/org/traccar/protocol/NvsProtocol.java similarity index 100% rename from src/org/traccar/protocol/NvsProtocol.java rename to src/main/java/org/traccar/protocol/NvsProtocol.java diff --git a/src/org/traccar/protocol/NvsProtocolDecoder.java b/src/main/java/org/traccar/protocol/NvsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NvsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NvsProtocolDecoder.java diff --git a/src/org/traccar/protocol/NyitechProtocol.java b/src/main/java/org/traccar/protocol/NyitechProtocol.java similarity index 100% rename from src/org/traccar/protocol/NyitechProtocol.java rename to src/main/java/org/traccar/protocol/NyitechProtocol.java diff --git a/src/org/traccar/protocol/NyitechProtocolDecoder.java b/src/main/java/org/traccar/protocol/NyitechProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/NyitechProtocolDecoder.java rename to src/main/java/org/traccar/protocol/NyitechProtocolDecoder.java diff --git a/src/org/traccar/protocol/ObdDongleProtocol.java b/src/main/java/org/traccar/protocol/ObdDongleProtocol.java similarity index 100% rename from src/org/traccar/protocol/ObdDongleProtocol.java rename to src/main/java/org/traccar/protocol/ObdDongleProtocol.java diff --git a/src/org/traccar/protocol/ObdDongleProtocolDecoder.java b/src/main/java/org/traccar/protocol/ObdDongleProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ObdDongleProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ObdDongleProtocolDecoder.java diff --git a/src/org/traccar/protocol/OigoProtocol.java b/src/main/java/org/traccar/protocol/OigoProtocol.java similarity index 100% rename from src/org/traccar/protocol/OigoProtocol.java rename to src/main/java/org/traccar/protocol/OigoProtocol.java diff --git a/src/org/traccar/protocol/OigoProtocolDecoder.java b/src/main/java/org/traccar/protocol/OigoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OigoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OigoProtocolDecoder.java diff --git a/src/org/traccar/protocol/OkoProtocol.java b/src/main/java/org/traccar/protocol/OkoProtocol.java similarity index 100% rename from src/org/traccar/protocol/OkoProtocol.java rename to src/main/java/org/traccar/protocol/OkoProtocol.java diff --git a/src/org/traccar/protocol/OkoProtocolDecoder.java b/src/main/java/org/traccar/protocol/OkoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OkoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OkoProtocolDecoder.java diff --git a/src/org/traccar/protocol/OpenGtsProtocol.java b/src/main/java/org/traccar/protocol/OpenGtsProtocol.java similarity index 100% rename from src/org/traccar/protocol/OpenGtsProtocol.java rename to src/main/java/org/traccar/protocol/OpenGtsProtocol.java diff --git a/src/org/traccar/protocol/OpenGtsProtocolDecoder.java b/src/main/java/org/traccar/protocol/OpenGtsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OpenGtsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OpenGtsProtocolDecoder.java diff --git a/src/org/traccar/protocol/OrionFrameDecoder.java b/src/main/java/org/traccar/protocol/OrionFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/OrionFrameDecoder.java rename to src/main/java/org/traccar/protocol/OrionFrameDecoder.java diff --git a/src/org/traccar/protocol/OrionProtocol.java b/src/main/java/org/traccar/protocol/OrionProtocol.java similarity index 100% rename from src/org/traccar/protocol/OrionProtocol.java rename to src/main/java/org/traccar/protocol/OrionProtocol.java diff --git a/src/org/traccar/protocol/OrionProtocolDecoder.java b/src/main/java/org/traccar/protocol/OrionProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OrionProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OrionProtocolDecoder.java diff --git a/src/org/traccar/protocol/OsmAndProtocol.java b/src/main/java/org/traccar/protocol/OsmAndProtocol.java similarity index 100% rename from src/org/traccar/protocol/OsmAndProtocol.java rename to src/main/java/org/traccar/protocol/OsmAndProtocol.java diff --git a/src/org/traccar/protocol/OsmAndProtocolDecoder.java b/src/main/java/org/traccar/protocol/OsmAndProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OsmAndProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OsmAndProtocolDecoder.java diff --git a/src/org/traccar/protocol/OwnTracksProtocol.java b/src/main/java/org/traccar/protocol/OwnTracksProtocol.java similarity index 100% rename from src/org/traccar/protocol/OwnTracksProtocol.java rename to src/main/java/org/traccar/protocol/OwnTracksProtocol.java diff --git a/src/org/traccar/protocol/OwnTracksProtocolDecoder.java b/src/main/java/org/traccar/protocol/OwnTracksProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/OwnTracksProtocolDecoder.java rename to src/main/java/org/traccar/protocol/OwnTracksProtocolDecoder.java diff --git a/src/org/traccar/protocol/PathAwayProtocol.java b/src/main/java/org/traccar/protocol/PathAwayProtocol.java similarity index 100% rename from src/org/traccar/protocol/PathAwayProtocol.java rename to src/main/java/org/traccar/protocol/PathAwayProtocol.java diff --git a/src/org/traccar/protocol/PathAwayProtocolDecoder.java b/src/main/java/org/traccar/protocol/PathAwayProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/PathAwayProtocolDecoder.java rename to src/main/java/org/traccar/protocol/PathAwayProtocolDecoder.java diff --git a/src/org/traccar/protocol/PiligrimProtocol.java b/src/main/java/org/traccar/protocol/PiligrimProtocol.java similarity index 100% rename from src/org/traccar/protocol/PiligrimProtocol.java rename to src/main/java/org/traccar/protocol/PiligrimProtocol.java diff --git a/src/org/traccar/protocol/PiligrimProtocolDecoder.java b/src/main/java/org/traccar/protocol/PiligrimProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/PiligrimProtocolDecoder.java rename to src/main/java/org/traccar/protocol/PiligrimProtocolDecoder.java diff --git a/src/org/traccar/protocol/PretraceProtocol.java b/src/main/java/org/traccar/protocol/PretraceProtocol.java similarity index 100% rename from src/org/traccar/protocol/PretraceProtocol.java rename to src/main/java/org/traccar/protocol/PretraceProtocol.java diff --git a/src/org/traccar/protocol/PretraceProtocolDecoder.java b/src/main/java/org/traccar/protocol/PretraceProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/PretraceProtocolDecoder.java rename to src/main/java/org/traccar/protocol/PretraceProtocolDecoder.java diff --git a/src/org/traccar/protocol/PretraceProtocolEncoder.java b/src/main/java/org/traccar/protocol/PretraceProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/PretraceProtocolEncoder.java rename to src/main/java/org/traccar/protocol/PretraceProtocolEncoder.java diff --git a/src/org/traccar/protocol/PricolProtocol.java b/src/main/java/org/traccar/protocol/PricolProtocol.java similarity index 100% rename from src/org/traccar/protocol/PricolProtocol.java rename to src/main/java/org/traccar/protocol/PricolProtocol.java diff --git a/src/org/traccar/protocol/PricolProtocolDecoder.java b/src/main/java/org/traccar/protocol/PricolProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/PricolProtocolDecoder.java rename to src/main/java/org/traccar/protocol/PricolProtocolDecoder.java diff --git a/src/org/traccar/protocol/ProgressProtocol.java b/src/main/java/org/traccar/protocol/ProgressProtocol.java similarity index 100% rename from src/org/traccar/protocol/ProgressProtocol.java rename to src/main/java/org/traccar/protocol/ProgressProtocol.java diff --git a/src/org/traccar/protocol/ProgressProtocolDecoder.java b/src/main/java/org/traccar/protocol/ProgressProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ProgressProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ProgressProtocolDecoder.java diff --git a/src/org/traccar/protocol/Pt3000Protocol.java b/src/main/java/org/traccar/protocol/Pt3000Protocol.java similarity index 100% rename from src/org/traccar/protocol/Pt3000Protocol.java rename to src/main/java/org/traccar/protocol/Pt3000Protocol.java diff --git a/src/org/traccar/protocol/Pt3000ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Pt3000ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Pt3000ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Pt3000ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Pt502FrameDecoder.java b/src/main/java/org/traccar/protocol/Pt502FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Pt502FrameDecoder.java rename to src/main/java/org/traccar/protocol/Pt502FrameDecoder.java diff --git a/src/org/traccar/protocol/Pt502Protocol.java b/src/main/java/org/traccar/protocol/Pt502Protocol.java similarity index 100% rename from src/org/traccar/protocol/Pt502Protocol.java rename to src/main/java/org/traccar/protocol/Pt502Protocol.java diff --git a/src/org/traccar/protocol/Pt502ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Pt502ProtocolDecoder.java similarity index 97% rename from src/org/traccar/protocol/Pt502ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Pt502ProtocolDecoder.java index 12210652b72..0afec67adb6 100644 --- a/src/org/traccar/protocol/Pt502ProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/Pt502ProtocolDecoder.java @@ -1,212 +1,212 @@ -/* - * Copyright 2012 - 2018 Anton Tananaev (anton@traccar.org) - * Copyright 2012 Luis Parada (luis.parada@gmail.com) - * - * 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.protocol; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; -import io.netty.channel.Channel; -import org.traccar.BaseProtocolDecoder; -import org.traccar.Context; -import org.traccar.DeviceSession; -import org.traccar.NetworkMessage; -import org.traccar.Protocol; -import org.traccar.helper.DateBuilder; -import org.traccar.helper.Parser; -import org.traccar.helper.PatternBuilder; -import org.traccar.model.Position; - -import java.net.SocketAddress; -import java.nio.charset.StandardCharsets; -import java.util.regex.Pattern; - -public class Pt502ProtocolDecoder extends BaseProtocolDecoder { - - private static final int MAX_CHUNK_SIZE = 960; - - private ByteBuf photo; - - public Pt502ProtocolDecoder(Protocol protocol) { - super(protocol); - } - - private static final Pattern PATTERN = new PatternBuilder() - .any().text("$") - .expression("([^,]+),") // type - .number("(d+),") // id - .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) - .expression("([AV]),") // validity - .number("(d+)(dd.dddd),") // latitude - .expression("([NS]),") - .number("(d+)(dd.dddd),") // longitude - .expression("([EW]),") - .number("(d+.d+)?,") // speed - .number("(d+.d+)?,") // course - .number("(dd)(dd)(dd),,,") // date (ddmmyy) - .expression("./") - .expression("([01])+,") // input - .expression("([01])+/") // output - .expression("([^/]+)?/") // adc - .number("(d+)") // odometer - .expression("/([^/]+)?/") // rfid - .number("(xxx)").optional(2) // state - .any() - .compile(); - - private String decodeAlarm(String value) { - switch (value) { - case "IN1": - return Position.ALARM_SOS; - case "GOF": - return Position.ALARM_GEOFENCE; - case "TOW": - return Position.ALARM_TOW; - case "HDA": - return Position.ALARM_ACCELERATION; - case "HDB": - return Position.ALARM_BRAKING; - case "FDA": - return Position.ALARM_FATIGUE_DRIVING; - case "SKA": - return Position.ALARM_VIBRATION; - case "PMA": - return Position.ALARM_MOVEMENT; - case "CPA": - return Position.ALARM_POWER_CUT; - default: - return null; - } - } - - private Position decodePosition(Channel channel, SocketAddress remoteAddress, String sentence) { - - Parser parser = new Parser(PATTERN, sentence); - if (!parser.matches()) { - return null; - } - - Position position = new Position(getProtocolName()); - position.set(Position.KEY_ALARM, decodeAlarm(parser.next())); - - DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); - if (deviceSession == null) { - return null; - } - position.setDeviceId(deviceSession.getDeviceId()); - - DateBuilder dateBuilder = new DateBuilder() - .setTime(parser.nextInt(0), parser.nextInt(0), parser.nextInt(0), parser.nextInt(0)); - - position.setValid(parser.next().equals("A")); - position.setLatitude(parser.nextCoordinate()); - position.setLongitude(parser.nextCoordinate()); - position.setSpeed(parser.nextDouble(0)); - position.setCourse(parser.nextDouble(0)); - - dateBuilder.setDateReverse(parser.nextInt(0), parser.nextInt(0), parser.nextInt(0)); - position.setTime(dateBuilder.getDate()); - - position.set(Position.KEY_INPUT, parser.next()); - position.set(Position.KEY_OUTPUT, parser.next()); - - if (parser.hasNext()) { - String[] values = parser.next().split(","); - for (int i = 0; i < values.length; i++) { - position.set(Position.PREFIX_ADC + (i + 1), Integer.parseInt(values[i], 16)); - } - } - - position.set(Position.KEY_ODOMETER, parser.nextInt(0)); - position.set(Position.KEY_DRIVER_UNIQUE_ID, parser.next()); - - if (parser.hasNext()) { - int value = parser.nextHexInt(0); - position.set(Position.KEY_BATTERY, value >> 8); - position.set(Position.KEY_RSSI, (value >> 4) & 0xf); - position.set(Position.KEY_SATELLITES, value & 0xf); - } - - return position; - } - - private void requestPhotoFragment(Channel channel) { - if (channel != null) { - int offset = photo.writerIndex(); - int size = Math.min(photo.writableBytes(), MAX_CHUNK_SIZE); - channel.writeAndFlush(new NetworkMessage("#PHD" + offset + "," + size + "\r\n", channel.remoteAddress())); - } - } - - @Override - protected Object decode( - Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { - - ByteBuf buf = (ByteBuf) msg; - - int typeEndIndex = buf.indexOf(buf.readerIndex(), buf.writerIndex(), (byte) ','); - String type = buf.toString(buf.readerIndex(), typeEndIndex - buf.readerIndex(), StandardCharsets.US_ASCII); - - if (type.startsWith("$PHD")) { - - int dataIndex = buf.indexOf(typeEndIndex + 1, buf.writerIndex(), (byte) ',') + 1; - buf.readerIndex(dataIndex); - - if (photo != null) { - - photo.writeBytes(buf.readSlice(buf.readableBytes())); - - if (photo.writableBytes() > 0) { - - requestPhotoFragment(channel); - - } else { - - DeviceSession deviceSession = getDeviceSession(channel, remoteAddress); - String uniqueId = Context.getIdentityManager().getById(deviceSession.getDeviceId()).getUniqueId(); - - Position position = new Position(getProtocolName()); - position.setDeviceId(deviceSession.getDeviceId()); - - getLastLocation(position, null); - - position.set(Position.KEY_IMAGE, Context.getMediaManager().writeFile(uniqueId, photo, "jpg")); - photo.release(); - photo = null; - - return position; - - } - - } - - } else { - - if (type.startsWith("$PHO")) { - int size = Integer.parseInt(type.split("-")[0].substring(4)); - if (size > 0) { - photo = Unpooled.buffer(size); - requestPhotoFragment(channel); - } - } - - return decodePosition(channel, remoteAddress, buf.toString(StandardCharsets.US_ASCII)); - - } - - return null; - } - -} +/* + * Copyright 2012 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2012 Luis Parada (luis.parada@gmail.com) + * + * 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.protocol; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.Channel; +import org.traccar.BaseProtocolDecoder; +import org.traccar.Context; +import org.traccar.DeviceSession; +import org.traccar.NetworkMessage; +import org.traccar.Protocol; +import org.traccar.helper.DateBuilder; +import org.traccar.helper.Parser; +import org.traccar.helper.PatternBuilder; +import org.traccar.model.Position; + +import java.net.SocketAddress; +import java.nio.charset.StandardCharsets; +import java.util.regex.Pattern; + +public class Pt502ProtocolDecoder extends BaseProtocolDecoder { + + private static final int MAX_CHUNK_SIZE = 960; + + private ByteBuf photo; + + public Pt502ProtocolDecoder(Protocol protocol) { + super(protocol); + } + + private static final Pattern PATTERN = new PatternBuilder() + .any().text("$") + .expression("([^,]+),") // type + .number("(d+),") // id + .number("(dd)(dd)(dd).(ddd),") // time (hhmmss.sss) + .expression("([AV]),") // validity + .number("(d+)(dd.dddd),") // latitude + .expression("([NS]),") + .number("(d+)(dd.dddd),") // longitude + .expression("([EW]),") + .number("(d+.d+)?,") // speed + .number("(d+.d+)?,") // course + .number("(dd)(dd)(dd),,,") // date (ddmmyy) + .expression("./") + .expression("([01])+,") // input + .expression("([01])+/") // output + .expression("([^/]+)?/") // adc + .number("(d+)") // odometer + .expression("/([^/]+)?/") // rfid + .number("(xxx)").optional(2) // state + .any() + .compile(); + + private String decodeAlarm(String value) { + switch (value) { + case "IN1": + return Position.ALARM_SOS; + case "GOF": + return Position.ALARM_GEOFENCE; + case "TOW": + return Position.ALARM_TOW; + case "HDA": + return Position.ALARM_ACCELERATION; + case "HDB": + return Position.ALARM_BRAKING; + case "FDA": + return Position.ALARM_FATIGUE_DRIVING; + case "SKA": + return Position.ALARM_VIBRATION; + case "PMA": + return Position.ALARM_MOVEMENT; + case "CPA": + return Position.ALARM_POWER_CUT; + default: + return null; + } + } + + private Position decodePosition(Channel channel, SocketAddress remoteAddress, String sentence) { + + Parser parser = new Parser(PATTERN, sentence); + if (!parser.matches()) { + return null; + } + + Position position = new Position(getProtocolName()); + position.set(Position.KEY_ALARM, decodeAlarm(parser.next())); + + DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); + if (deviceSession == null) { + return null; + } + position.setDeviceId(deviceSession.getDeviceId()); + + DateBuilder dateBuilder = new DateBuilder() + .setTime(parser.nextInt(0), parser.nextInt(0), parser.nextInt(0), parser.nextInt(0)); + + position.setValid(parser.next().equals("A")); + position.setLatitude(parser.nextCoordinate()); + position.setLongitude(parser.nextCoordinate()); + position.setSpeed(parser.nextDouble(0)); + position.setCourse(parser.nextDouble(0)); + + dateBuilder.setDateReverse(parser.nextInt(0), parser.nextInt(0), parser.nextInt(0)); + position.setTime(dateBuilder.getDate()); + + position.set(Position.KEY_INPUT, parser.next()); + position.set(Position.KEY_OUTPUT, parser.next()); + + if (parser.hasNext()) { + String[] values = parser.next().split(","); + for (int i = 0; i < values.length; i++) { + position.set(Position.PREFIX_ADC + (i + 1), Integer.parseInt(values[i], 16)); + } + } + + position.set(Position.KEY_ODOMETER, parser.nextInt(0)); + position.set(Position.KEY_DRIVER_UNIQUE_ID, parser.next()); + + if (parser.hasNext()) { + int value = parser.nextHexInt(0); + position.set(Position.KEY_BATTERY, value >> 8); + position.set(Position.KEY_RSSI, (value >> 4) & 0xf); + position.set(Position.KEY_SATELLITES, value & 0xf); + } + + return position; + } + + private void requestPhotoFragment(Channel channel) { + if (channel != null) { + int offset = photo.writerIndex(); + int size = Math.min(photo.writableBytes(), MAX_CHUNK_SIZE); + channel.writeAndFlush(new NetworkMessage("#PHD" + offset + "," + size + "\r\n", channel.remoteAddress())); + } + } + + @Override + protected Object decode( + Channel channel, SocketAddress remoteAddress, Object msg) throws Exception { + + ByteBuf buf = (ByteBuf) msg; + + int typeEndIndex = buf.indexOf(buf.readerIndex(), buf.writerIndex(), (byte) ','); + String type = buf.toString(buf.readerIndex(), typeEndIndex - buf.readerIndex(), StandardCharsets.US_ASCII); + + if (type.startsWith("$PHD")) { + + int dataIndex = buf.indexOf(typeEndIndex + 1, buf.writerIndex(), (byte) ',') + 1; + buf.readerIndex(dataIndex); + + if (photo != null) { + + photo.writeBytes(buf.readSlice(buf.readableBytes())); + + if (photo.writableBytes() > 0) { + + requestPhotoFragment(channel); + + } else { + + DeviceSession deviceSession = getDeviceSession(channel, remoteAddress); + String uniqueId = Context.getIdentityManager().getById(deviceSession.getDeviceId()).getUniqueId(); + + Position position = new Position(getProtocolName()); + position.setDeviceId(deviceSession.getDeviceId()); + + getLastLocation(position, null); + + position.set(Position.KEY_IMAGE, Context.getMediaManager().writeFile(uniqueId, photo, "jpg")); + photo.release(); + photo = null; + + return position; + + } + + } + + } else { + + if (type.startsWith("$PHO")) { + int size = Integer.parseInt(type.split("-")[0].substring(4)); + if (size > 0) { + photo = Unpooled.buffer(size); + requestPhotoFragment(channel); + } + } + + return decodePosition(channel, remoteAddress, buf.toString(StandardCharsets.US_ASCII)); + + } + + return null; + } + +} diff --git a/src/org/traccar/protocol/Pt502ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Pt502ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Pt502ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Pt502ProtocolEncoder.java diff --git a/src/org/traccar/protocol/Pt60Protocol.java b/src/main/java/org/traccar/protocol/Pt60Protocol.java similarity index 100% rename from src/org/traccar/protocol/Pt60Protocol.java rename to src/main/java/org/traccar/protocol/Pt60Protocol.java diff --git a/src/org/traccar/protocol/Pt60ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Pt60ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Pt60ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Pt60ProtocolDecoder.java diff --git a/src/org/traccar/protocol/RaveonProtocol.java b/src/main/java/org/traccar/protocol/RaveonProtocol.java similarity index 100% rename from src/org/traccar/protocol/RaveonProtocol.java rename to src/main/java/org/traccar/protocol/RaveonProtocol.java diff --git a/src/org/traccar/protocol/RaveonProtocolDecoder.java b/src/main/java/org/traccar/protocol/RaveonProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RaveonProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RaveonProtocolDecoder.java diff --git a/src/org/traccar/protocol/RecodaProtocol.java b/src/main/java/org/traccar/protocol/RecodaProtocol.java similarity index 100% rename from src/org/traccar/protocol/RecodaProtocol.java rename to src/main/java/org/traccar/protocol/RecodaProtocol.java diff --git a/src/org/traccar/protocol/RecodaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RecodaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RecodaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RecodaProtocolDecoder.java diff --git a/src/org/traccar/protocol/RetranslatorFrameDecoder.java b/src/main/java/org/traccar/protocol/RetranslatorFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/RetranslatorFrameDecoder.java rename to src/main/java/org/traccar/protocol/RetranslatorFrameDecoder.java diff --git a/src/org/traccar/protocol/RetranslatorProtocol.java b/src/main/java/org/traccar/protocol/RetranslatorProtocol.java similarity index 100% rename from src/org/traccar/protocol/RetranslatorProtocol.java rename to src/main/java/org/traccar/protocol/RetranslatorProtocol.java diff --git a/src/org/traccar/protocol/RetranslatorProtocolDecoder.java b/src/main/java/org/traccar/protocol/RetranslatorProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RetranslatorProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RetranslatorProtocolDecoder.java diff --git a/src/org/traccar/protocol/RitiProtocol.java b/src/main/java/org/traccar/protocol/RitiProtocol.java similarity index 100% rename from src/org/traccar/protocol/RitiProtocol.java rename to src/main/java/org/traccar/protocol/RitiProtocol.java diff --git a/src/org/traccar/protocol/RitiProtocolDecoder.java b/src/main/java/org/traccar/protocol/RitiProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RitiProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RitiProtocolDecoder.java diff --git a/src/org/traccar/protocol/RoboTrackFrameDecoder.java b/src/main/java/org/traccar/protocol/RoboTrackFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/RoboTrackFrameDecoder.java rename to src/main/java/org/traccar/protocol/RoboTrackFrameDecoder.java diff --git a/src/org/traccar/protocol/RoboTrackProtocol.java b/src/main/java/org/traccar/protocol/RoboTrackProtocol.java similarity index 100% rename from src/org/traccar/protocol/RoboTrackProtocol.java rename to src/main/java/org/traccar/protocol/RoboTrackProtocol.java diff --git a/src/org/traccar/protocol/RoboTrackProtocolDecoder.java b/src/main/java/org/traccar/protocol/RoboTrackProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RoboTrackProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RoboTrackProtocolDecoder.java diff --git a/src/org/traccar/protocol/RuptelaProtocol.java b/src/main/java/org/traccar/protocol/RuptelaProtocol.java similarity index 100% rename from src/org/traccar/protocol/RuptelaProtocol.java rename to src/main/java/org/traccar/protocol/RuptelaProtocol.java diff --git a/src/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/RuptelaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java diff --git a/src/org/traccar/protocol/RuptelaProtocolEncoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/RuptelaProtocolEncoder.java rename to src/main/java/org/traccar/protocol/RuptelaProtocolEncoder.java diff --git a/src/org/traccar/protocol/SabertekFrameDecoder.java b/src/main/java/org/traccar/protocol/SabertekFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/SabertekFrameDecoder.java rename to src/main/java/org/traccar/protocol/SabertekFrameDecoder.java diff --git a/src/org/traccar/protocol/SabertekProtocol.java b/src/main/java/org/traccar/protocol/SabertekProtocol.java similarity index 100% rename from src/org/traccar/protocol/SabertekProtocol.java rename to src/main/java/org/traccar/protocol/SabertekProtocol.java diff --git a/src/org/traccar/protocol/SabertekProtocolDecoder.java b/src/main/java/org/traccar/protocol/SabertekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SabertekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SabertekProtocolDecoder.java diff --git a/src/org/traccar/protocol/SanavProtocol.java b/src/main/java/org/traccar/protocol/SanavProtocol.java similarity index 100% rename from src/org/traccar/protocol/SanavProtocol.java rename to src/main/java/org/traccar/protocol/SanavProtocol.java diff --git a/src/org/traccar/protocol/SanavProtocolDecoder.java b/src/main/java/org/traccar/protocol/SanavProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SanavProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SanavProtocolDecoder.java diff --git a/src/org/traccar/protocol/SatsolProtocol.java b/src/main/java/org/traccar/protocol/SatsolProtocol.java similarity index 100% rename from src/org/traccar/protocol/SatsolProtocol.java rename to src/main/java/org/traccar/protocol/SatsolProtocol.java diff --git a/src/org/traccar/protocol/SatsolProtocolDecoder.java b/src/main/java/org/traccar/protocol/SatsolProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SatsolProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SatsolProtocolDecoder.java diff --git a/src/org/traccar/protocol/SigfoxProtocol.java b/src/main/java/org/traccar/protocol/SigfoxProtocol.java similarity index 100% rename from src/org/traccar/protocol/SigfoxProtocol.java rename to src/main/java/org/traccar/protocol/SigfoxProtocol.java diff --git a/src/org/traccar/protocol/SigfoxProtocolDecoder.java b/src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SigfoxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SigfoxProtocolDecoder.java diff --git a/src/org/traccar/protocol/SiwiProtocol.java b/src/main/java/org/traccar/protocol/SiwiProtocol.java similarity index 100% rename from src/org/traccar/protocol/SiwiProtocol.java rename to src/main/java/org/traccar/protocol/SiwiProtocol.java diff --git a/src/org/traccar/protocol/SiwiProtocolDecoder.java b/src/main/java/org/traccar/protocol/SiwiProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SiwiProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SiwiProtocolDecoder.java diff --git a/src/org/traccar/protocol/SkypatrolProtocol.java b/src/main/java/org/traccar/protocol/SkypatrolProtocol.java similarity index 100% rename from src/org/traccar/protocol/SkypatrolProtocol.java rename to src/main/java/org/traccar/protocol/SkypatrolProtocol.java diff --git a/src/org/traccar/protocol/SkypatrolProtocolDecoder.java b/src/main/java/org/traccar/protocol/SkypatrolProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SkypatrolProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SkypatrolProtocolDecoder.java diff --git a/src/org/traccar/protocol/SmartSoleProtocol.java b/src/main/java/org/traccar/protocol/SmartSoleProtocol.java similarity index 100% rename from src/org/traccar/protocol/SmartSoleProtocol.java rename to src/main/java/org/traccar/protocol/SmartSoleProtocol.java diff --git a/src/org/traccar/protocol/SmartSoleProtocolDecoder.java b/src/main/java/org/traccar/protocol/SmartSoleProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SmartSoleProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SmartSoleProtocolDecoder.java diff --git a/src/org/traccar/protocol/SmokeyProtocol.java b/src/main/java/org/traccar/protocol/SmokeyProtocol.java similarity index 100% rename from src/org/traccar/protocol/SmokeyProtocol.java rename to src/main/java/org/traccar/protocol/SmokeyProtocol.java diff --git a/src/org/traccar/protocol/SmokeyProtocolDecoder.java b/src/main/java/org/traccar/protocol/SmokeyProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SmokeyProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SmokeyProtocolDecoder.java diff --git a/src/org/traccar/protocol/SpotProtocol.java b/src/main/java/org/traccar/protocol/SpotProtocol.java similarity index 100% rename from src/org/traccar/protocol/SpotProtocol.java rename to src/main/java/org/traccar/protocol/SpotProtocol.java diff --git a/src/org/traccar/protocol/SpotProtocolDecoder.java b/src/main/java/org/traccar/protocol/SpotProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SpotProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SpotProtocolDecoder.java diff --git a/src/org/traccar/protocol/StarLinkProtocol.java b/src/main/java/org/traccar/protocol/StarLinkProtocol.java similarity index 100% rename from src/org/traccar/protocol/StarLinkProtocol.java rename to src/main/java/org/traccar/protocol/StarLinkProtocol.java diff --git a/src/org/traccar/protocol/StarLinkProtocolDecoder.java b/src/main/java/org/traccar/protocol/StarLinkProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/StarLinkProtocolDecoder.java rename to src/main/java/org/traccar/protocol/StarLinkProtocolDecoder.java diff --git a/src/org/traccar/protocol/Stl060FrameDecoder.java b/src/main/java/org/traccar/protocol/Stl060FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Stl060FrameDecoder.java rename to src/main/java/org/traccar/protocol/Stl060FrameDecoder.java diff --git a/src/org/traccar/protocol/Stl060Protocol.java b/src/main/java/org/traccar/protocol/Stl060Protocol.java similarity index 100% rename from src/org/traccar/protocol/Stl060Protocol.java rename to src/main/java/org/traccar/protocol/Stl060Protocol.java diff --git a/src/org/traccar/protocol/Stl060ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Stl060ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Stl060ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Stl060ProtocolDecoder.java diff --git a/src/org/traccar/protocol/SuntechProtocol.java b/src/main/java/org/traccar/protocol/SuntechProtocol.java similarity index 100% rename from src/org/traccar/protocol/SuntechProtocol.java rename to src/main/java/org/traccar/protocol/SuntechProtocol.java diff --git a/src/org/traccar/protocol/SuntechProtocolDecoder.java b/src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SuntechProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SuntechProtocolDecoder.java diff --git a/src/org/traccar/protocol/SuntechProtocolEncoder.java b/src/main/java/org/traccar/protocol/SuntechProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/SuntechProtocolEncoder.java rename to src/main/java/org/traccar/protocol/SuntechProtocolEncoder.java diff --git a/src/org/traccar/protocol/SupermateProtocol.java b/src/main/java/org/traccar/protocol/SupermateProtocol.java similarity index 100% rename from src/org/traccar/protocol/SupermateProtocol.java rename to src/main/java/org/traccar/protocol/SupermateProtocol.java diff --git a/src/org/traccar/protocol/SupermateProtocolDecoder.java b/src/main/java/org/traccar/protocol/SupermateProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/SupermateProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SupermateProtocolDecoder.java diff --git a/src/org/traccar/protocol/SviasProtocol.java b/src/main/java/org/traccar/protocol/SviasProtocol.java similarity index 97% rename from src/org/traccar/protocol/SviasProtocol.java rename to src/main/java/org/traccar/protocol/SviasProtocol.java index c6624b7d4d4..f01f28389a0 100644 --- a/src/org/traccar/protocol/SviasProtocol.java +++ b/src/main/java/org/traccar/protocol/SviasProtocol.java @@ -1,51 +1,51 @@ -/* - * Copyright 2018 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.protocol; - -import io.netty.handler.codec.string.StringDecoder; -import io.netty.handler.codec.string.StringEncoder; -import org.traccar.BaseProtocol; -import org.traccar.CharacterDelimiterFrameDecoder; -import org.traccar.PipelineBuilder; -import org.traccar.TrackerServer; - -import org.traccar.model.Command; - -public class SviasProtocol extends BaseProtocol { - - public SviasProtocol() { - setSupportedDataCommands( - Command.TYPE_CUSTOM, - Command.TYPE_POSITION_SINGLE, - Command.TYPE_SET_ODOMETER, - Command.TYPE_ENGINE_STOP, - Command.TYPE_ENGINE_RESUME, - Command.TYPE_ALARM_ARM, - Command.TYPE_ALARM_DISARM, - Command.TYPE_ALARM_REMOVE); - addServer(new TrackerServer(false, getName()) { - @Override - protected void addProtocolHandlers(PipelineBuilder pipeline) { - pipeline.addLast(new CharacterDelimiterFrameDecoder(1024, "]")); - pipeline.addLast(new StringEncoder()); - pipeline.addLast(new StringDecoder()); - pipeline.addLast(new SviasProtocolEncoder()); - pipeline.addLast(new SviasProtocolDecoder(SviasProtocol.this)); - } - }); - } - -} +/* + * Copyright 2018 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.protocol; + +import io.netty.handler.codec.string.StringDecoder; +import io.netty.handler.codec.string.StringEncoder; +import org.traccar.BaseProtocol; +import org.traccar.CharacterDelimiterFrameDecoder; +import org.traccar.PipelineBuilder; +import org.traccar.TrackerServer; + +import org.traccar.model.Command; + +public class SviasProtocol extends BaseProtocol { + + public SviasProtocol() { + setSupportedDataCommands( + Command.TYPE_CUSTOM, + Command.TYPE_POSITION_SINGLE, + Command.TYPE_SET_ODOMETER, + Command.TYPE_ENGINE_STOP, + Command.TYPE_ENGINE_RESUME, + Command.TYPE_ALARM_ARM, + Command.TYPE_ALARM_DISARM, + Command.TYPE_ALARM_REMOVE); + addServer(new TrackerServer(false, getName()) { + @Override + protected void addProtocolHandlers(PipelineBuilder pipeline) { + pipeline.addLast(new CharacterDelimiterFrameDecoder(1024, "]")); + pipeline.addLast(new StringEncoder()); + pipeline.addLast(new StringDecoder()); + pipeline.addLast(new SviasProtocolEncoder()); + pipeline.addLast(new SviasProtocolDecoder(SviasProtocol.this)); + } + }); + } + +} diff --git a/src/org/traccar/protocol/SviasProtocolDecoder.java b/src/main/java/org/traccar/protocol/SviasProtocolDecoder.java similarity index 97% rename from src/org/traccar/protocol/SviasProtocolDecoder.java rename to src/main/java/org/traccar/protocol/SviasProtocolDecoder.java index 97848317517..7e783f6cd3a 100644 --- a/src/org/traccar/protocol/SviasProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/SviasProtocolDecoder.java @@ -1,105 +1,105 @@ -/* - * Copyright 2018 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.protocol; - -import io.netty.channel.Channel; -import org.traccar.BaseProtocolDecoder; -import org.traccar.NetworkMessage; -import org.traccar.Protocol; -import org.traccar.helper.BitUtil; -import org.traccar.helper.PatternBuilder; - -import java.net.SocketAddress; -import java.util.regex.Pattern; -import org.traccar.DeviceSession; -import org.traccar.helper.Parser; -import org.traccar.helper.UnitsConverter; -import org.traccar.model.Position; - -public class SviasProtocolDecoder extends BaseProtocolDecoder { - - public SviasProtocolDecoder(Protocol protocol) { - super(protocol); - } - - private static final Pattern PATTERN = new PatternBuilder() - .text("[") // delimiter - .number("d{4},") // hardware version - .number("d{4},") // software version - .number("d+,") // index - .number("(d+),") // imei - .number("d+,") // hour meter - .number("(d+)(dd)(dd),") // date (dmmyy) - .number("(d+)(dd)(dd),") // time (hmmss) - .number("(-?)(d+)(dd)(d{5}),") // latitude - .number("(-?)(d+)(dd)(d{5}),") // longitude - .number("(d+),") // speed - .number("(d+),") // course - .number("(d+),") // odometer - .number("(d+),") // input - .number("(d+),") // output / status - .number("(d),") - .number("(d),") - .number("(d+),") // power - .number("(d+),") // battery level - .number("(d+),") // rssi - .any() - .compile(); - - @Override - protected Object decode(Channel channel, SocketAddress remoteAddress, Object msg) - throws Exception { - - if (channel != null) { - channel.writeAndFlush(new NetworkMessage("@", remoteAddress)); - } - - Parser parser = new Parser(PATTERN, (String) msg); - if (!parser.matches()) { - return null; - } - - DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); - if (deviceSession == null) { - return null; - } - - Position position = new Position(getProtocolName()); - position.setDeviceId(deviceSession.getDeviceId()); - - position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY_HMS)); - position.setLatitude(parser.nextCoordinate(Parser.CoordinateFormat.HEM_DEG_MIN_MIN)); - position.setLongitude(parser.nextCoordinate(Parser.CoordinateFormat.HEM_DEG_MIN_MIN)); - position.setSpeed(UnitsConverter.knotsFromKph(parser.nextDouble() * 0.01)); - position.setCourse(parser.nextDouble() * 0.01); - - position.set(Position.KEY_ODOMETER, parser.nextInt() * 100); - - int input = parser.nextInt(); - int output = parser.nextInt(); - - position.set(Position.KEY_ALARM, BitUtil.check(input, 0) ? Position.ALARM_SOS : null); - position.set(Position.KEY_IGNITION, BitUtil.check(input, 4)); - position.setValid(BitUtil.check(output, 0)); - - position.set(Position.KEY_POWER, parser.nextInt() * 0.001); - position.set(Position.KEY_BATTERY_LEVEL, parser.nextInt()); - position.set(Position.KEY_RSSI, parser.nextInt()); - - return position; - } - -} +/* + * Copyright 2018 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.protocol; + +import io.netty.channel.Channel; +import org.traccar.BaseProtocolDecoder; +import org.traccar.NetworkMessage; +import org.traccar.Protocol; +import org.traccar.helper.BitUtil; +import org.traccar.helper.PatternBuilder; + +import java.net.SocketAddress; +import java.util.regex.Pattern; +import org.traccar.DeviceSession; +import org.traccar.helper.Parser; +import org.traccar.helper.UnitsConverter; +import org.traccar.model.Position; + +public class SviasProtocolDecoder extends BaseProtocolDecoder { + + public SviasProtocolDecoder(Protocol protocol) { + super(protocol); + } + + private static final Pattern PATTERN = new PatternBuilder() + .text("[") // delimiter + .number("d{4},") // hardware version + .number("d{4},") // software version + .number("d+,") // index + .number("(d+),") // imei + .number("d+,") // hour meter + .number("(d+)(dd)(dd),") // date (dmmyy) + .number("(d+)(dd)(dd),") // time (hmmss) + .number("(-?)(d+)(dd)(d{5}),") // latitude + .number("(-?)(d+)(dd)(d{5}),") // longitude + .number("(d+),") // speed + .number("(d+),") // course + .number("(d+),") // odometer + .number("(d+),") // input + .number("(d+),") // output / status + .number("(d),") + .number("(d),") + .number("(d+),") // power + .number("(d+),") // battery level + .number("(d+),") // rssi + .any() + .compile(); + + @Override + protected Object decode(Channel channel, SocketAddress remoteAddress, Object msg) + throws Exception { + + if (channel != null) { + channel.writeAndFlush(new NetworkMessage("@", remoteAddress)); + } + + Parser parser = new Parser(PATTERN, (String) msg); + if (!parser.matches()) { + return null; + } + + DeviceSession deviceSession = getDeviceSession(channel, remoteAddress, parser.next()); + if (deviceSession == null) { + return null; + } + + Position position = new Position(getProtocolName()); + position.setDeviceId(deviceSession.getDeviceId()); + + position.setTime(parser.nextDateTime(Parser.DateTimeFormat.DMY_HMS)); + position.setLatitude(parser.nextCoordinate(Parser.CoordinateFormat.HEM_DEG_MIN_MIN)); + position.setLongitude(parser.nextCoordinate(Parser.CoordinateFormat.HEM_DEG_MIN_MIN)); + position.setSpeed(UnitsConverter.knotsFromKph(parser.nextDouble() * 0.01)); + position.setCourse(parser.nextDouble() * 0.01); + + position.set(Position.KEY_ODOMETER, parser.nextInt() * 100); + + int input = parser.nextInt(); + int output = parser.nextInt(); + + position.set(Position.KEY_ALARM, BitUtil.check(input, 0) ? Position.ALARM_SOS : null); + position.set(Position.KEY_IGNITION, BitUtil.check(input, 4)); + position.setValid(BitUtil.check(output, 0)); + + position.set(Position.KEY_POWER, parser.nextInt() * 0.001); + position.set(Position.KEY_BATTERY_LEVEL, parser.nextInt()); + position.set(Position.KEY_RSSI, parser.nextInt()); + + return position; + } + +} diff --git a/src/org/traccar/protocol/SviasProtocolEncoder.java b/src/main/java/org/traccar/protocol/SviasProtocolEncoder.java similarity index 97% rename from src/org/traccar/protocol/SviasProtocolEncoder.java rename to src/main/java/org/traccar/protocol/SviasProtocolEncoder.java index 9fce57223f5..8bfbef11970 100644 --- a/src/org/traccar/protocol/SviasProtocolEncoder.java +++ b/src/main/java/org/traccar/protocol/SviasProtocolEncoder.java @@ -1,48 +1,48 @@ -/* - * Copyright 2018 Anton Tananaev (anton@traccar.org) - * Copyright 2018 Andrey Kunitsyn (andrey@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.protocol; - -import org.traccar.StringProtocolEncoder; -import org.traccar.model.Command; - -public class SviasProtocolEncoder extends StringProtocolEncoder { - - @Override - protected Object encodeCommand(Command command) { - switch (command.getType()) { - case Command.TYPE_CUSTOM: - return formatCommand(command, "{%s}", Command.KEY_DATA); - case Command.TYPE_POSITION_SINGLE: - return formatCommand(command, "AT+STR=1*"); - case Command.TYPE_SET_ODOMETER: - return formatCommand(command, "AT+ODT={%s}*", Command.KEY_DATA); - case Command.TYPE_ENGINE_STOP: - return formatCommand(command, "AT+OUT=1,1*"); - case Command.TYPE_ENGINE_RESUME: - return formatCommand(command, "AT+OUT=1,0*"); - case Command.TYPE_ALARM_ARM: - return formatCommand(command, "AT+OUT=2,1*"); - case Command.TYPE_ALARM_DISARM: - return formatCommand(command, "AT+OUT=2,0*"); - case Command.TYPE_ALARM_REMOVE: - return formatCommand(command, "AT+PNC=600*"); - default: - return null; - } - } - -} +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@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.protocol; + +import org.traccar.StringProtocolEncoder; +import org.traccar.model.Command; + +public class SviasProtocolEncoder extends StringProtocolEncoder { + + @Override + protected Object encodeCommand(Command command) { + switch (command.getType()) { + case Command.TYPE_CUSTOM: + return formatCommand(command, "{%s}", Command.KEY_DATA); + case Command.TYPE_POSITION_SINGLE: + return formatCommand(command, "AT+STR=1*"); + case Command.TYPE_SET_ODOMETER: + return formatCommand(command, "AT+ODT={%s}*", Command.KEY_DATA); + case Command.TYPE_ENGINE_STOP: + return formatCommand(command, "AT+OUT=1,1*"); + case Command.TYPE_ENGINE_RESUME: + return formatCommand(command, "AT+OUT=1,0*"); + case Command.TYPE_ALARM_ARM: + return formatCommand(command, "AT+OUT=2,1*"); + case Command.TYPE_ALARM_DISARM: + return formatCommand(command, "AT+OUT=2,0*"); + case Command.TYPE_ALARM_REMOVE: + return formatCommand(command, "AT+PNC=600*"); + default: + return null; + } + } + +} diff --git a/src/org/traccar/protocol/T55Protocol.java b/src/main/java/org/traccar/protocol/T55Protocol.java similarity index 100% rename from src/org/traccar/protocol/T55Protocol.java rename to src/main/java/org/traccar/protocol/T55Protocol.java diff --git a/src/org/traccar/protocol/T55ProtocolDecoder.java b/src/main/java/org/traccar/protocol/T55ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/T55ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/T55ProtocolDecoder.java diff --git a/src/org/traccar/protocol/T57FrameDecoder.java b/src/main/java/org/traccar/protocol/T57FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/T57FrameDecoder.java rename to src/main/java/org/traccar/protocol/T57FrameDecoder.java diff --git a/src/org/traccar/protocol/T57Protocol.java b/src/main/java/org/traccar/protocol/T57Protocol.java similarity index 100% rename from src/org/traccar/protocol/T57Protocol.java rename to src/main/java/org/traccar/protocol/T57Protocol.java diff --git a/src/org/traccar/protocol/T57ProtocolDecoder.java b/src/main/java/org/traccar/protocol/T57ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/T57ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/T57ProtocolDecoder.java diff --git a/src/org/traccar/protocol/T800xProtocol.java b/src/main/java/org/traccar/protocol/T800xProtocol.java similarity index 100% rename from src/org/traccar/protocol/T800xProtocol.java rename to src/main/java/org/traccar/protocol/T800xProtocol.java diff --git a/src/org/traccar/protocol/T800xProtocolDecoder.java b/src/main/java/org/traccar/protocol/T800xProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/T800xProtocolDecoder.java rename to src/main/java/org/traccar/protocol/T800xProtocolDecoder.java diff --git a/src/org/traccar/protocol/T800xProtocolEncoder.java b/src/main/java/org/traccar/protocol/T800xProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/T800xProtocolEncoder.java rename to src/main/java/org/traccar/protocol/T800xProtocolEncoder.java diff --git a/src/org/traccar/protocol/TaipProtocol.java b/src/main/java/org/traccar/protocol/TaipProtocol.java similarity index 100% rename from src/org/traccar/protocol/TaipProtocol.java rename to src/main/java/org/traccar/protocol/TaipProtocol.java diff --git a/src/org/traccar/protocol/TaipProtocolDecoder.java b/src/main/java/org/traccar/protocol/TaipProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TaipProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TaipProtocolDecoder.java diff --git a/src/org/traccar/protocol/TekFrameDecoder.java b/src/main/java/org/traccar/protocol/TekFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TekFrameDecoder.java rename to src/main/java/org/traccar/protocol/TekFrameDecoder.java diff --git a/src/org/traccar/protocol/TekProtocol.java b/src/main/java/org/traccar/protocol/TekProtocol.java similarity index 100% rename from src/org/traccar/protocol/TekProtocol.java rename to src/main/java/org/traccar/protocol/TekProtocol.java diff --git a/src/org/traccar/protocol/TekProtocolDecoder.java b/src/main/java/org/traccar/protocol/TekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TekProtocolDecoder.java diff --git a/src/org/traccar/protocol/TelemaxProtocol.java b/src/main/java/org/traccar/protocol/TelemaxProtocol.java similarity index 100% rename from src/org/traccar/protocol/TelemaxProtocol.java rename to src/main/java/org/traccar/protocol/TelemaxProtocol.java diff --git a/src/org/traccar/protocol/TelemaxProtocolDecoder.java b/src/main/java/org/traccar/protocol/TelemaxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TelemaxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TelemaxProtocolDecoder.java diff --git a/src/org/traccar/protocol/TelicFrameDecoder.java b/src/main/java/org/traccar/protocol/TelicFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TelicFrameDecoder.java rename to src/main/java/org/traccar/protocol/TelicFrameDecoder.java diff --git a/src/org/traccar/protocol/TelicProtocol.java b/src/main/java/org/traccar/protocol/TelicProtocol.java similarity index 100% rename from src/org/traccar/protocol/TelicProtocol.java rename to src/main/java/org/traccar/protocol/TelicProtocol.java diff --git a/src/org/traccar/protocol/TelicProtocolDecoder.java b/src/main/java/org/traccar/protocol/TelicProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TelicProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TelicProtocolDecoder.java diff --git a/src/org/traccar/protocol/TeltonikaFrameDecoder.java b/src/main/java/org/traccar/protocol/TeltonikaFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TeltonikaFrameDecoder.java rename to src/main/java/org/traccar/protocol/TeltonikaFrameDecoder.java diff --git a/src/org/traccar/protocol/TeltonikaProtocol.java b/src/main/java/org/traccar/protocol/TeltonikaProtocol.java similarity index 100% rename from src/org/traccar/protocol/TeltonikaProtocol.java rename to src/main/java/org/traccar/protocol/TeltonikaProtocol.java diff --git a/src/org/traccar/protocol/TeltonikaProtocolDecoder.java b/src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TeltonikaProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TeltonikaProtocolDecoder.java diff --git a/src/org/traccar/protocol/TeltonikaProtocolEncoder.java b/src/main/java/org/traccar/protocol/TeltonikaProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/TeltonikaProtocolEncoder.java rename to src/main/java/org/traccar/protocol/TeltonikaProtocolEncoder.java diff --git a/src/org/traccar/protocol/ThinkRaceProtocol.java b/src/main/java/org/traccar/protocol/ThinkRaceProtocol.java similarity index 100% rename from src/org/traccar/protocol/ThinkRaceProtocol.java rename to src/main/java/org/traccar/protocol/ThinkRaceProtocol.java diff --git a/src/org/traccar/protocol/ThinkRaceProtocolDecoder.java b/src/main/java/org/traccar/protocol/ThinkRaceProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/ThinkRaceProtocolDecoder.java rename to src/main/java/org/traccar/protocol/ThinkRaceProtocolDecoder.java diff --git a/src/org/traccar/protocol/Tk102Protocol.java b/src/main/java/org/traccar/protocol/Tk102Protocol.java similarity index 100% rename from src/org/traccar/protocol/Tk102Protocol.java rename to src/main/java/org/traccar/protocol/Tk102Protocol.java diff --git a/src/org/traccar/protocol/Tk102ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tk102ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tk102ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tk102ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Tk103FrameDecoder.java b/src/main/java/org/traccar/protocol/Tk103FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tk103FrameDecoder.java rename to src/main/java/org/traccar/protocol/Tk103FrameDecoder.java diff --git a/src/org/traccar/protocol/Tk103Protocol.java b/src/main/java/org/traccar/protocol/Tk103Protocol.java similarity index 100% rename from src/org/traccar/protocol/Tk103Protocol.java rename to src/main/java/org/traccar/protocol/Tk103Protocol.java diff --git a/src/org/traccar/protocol/Tk103ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tk103ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tk103ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tk103ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Tk103ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Tk103ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Tk103ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Tk103ProtocolEncoder.java diff --git a/src/org/traccar/protocol/Tlt2hProtocol.java b/src/main/java/org/traccar/protocol/Tlt2hProtocol.java similarity index 100% rename from src/org/traccar/protocol/Tlt2hProtocol.java rename to src/main/java/org/traccar/protocol/Tlt2hProtocol.java diff --git a/src/org/traccar/protocol/Tlt2hProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tlt2hProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tlt2hProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tlt2hProtocolDecoder.java diff --git a/src/org/traccar/protocol/TlvProtocol.java b/src/main/java/org/traccar/protocol/TlvProtocol.java similarity index 100% rename from src/org/traccar/protocol/TlvProtocol.java rename to src/main/java/org/traccar/protocol/TlvProtocol.java diff --git a/src/org/traccar/protocol/TlvProtocolDecoder.java b/src/main/java/org/traccar/protocol/TlvProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TlvProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TlvProtocolDecoder.java diff --git a/src/org/traccar/protocol/TmgFrameDecoder.java b/src/main/java/org/traccar/protocol/TmgFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TmgFrameDecoder.java rename to src/main/java/org/traccar/protocol/TmgFrameDecoder.java diff --git a/src/org/traccar/protocol/TmgProtocol.java b/src/main/java/org/traccar/protocol/TmgProtocol.java similarity index 100% rename from src/org/traccar/protocol/TmgProtocol.java rename to src/main/java/org/traccar/protocol/TmgProtocol.java diff --git a/src/org/traccar/protocol/TmgProtocolDecoder.java b/src/main/java/org/traccar/protocol/TmgProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TmgProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TmgProtocolDecoder.java diff --git a/src/org/traccar/protocol/TopflytechProtocol.java b/src/main/java/org/traccar/protocol/TopflytechProtocol.java similarity index 100% rename from src/org/traccar/protocol/TopflytechProtocol.java rename to src/main/java/org/traccar/protocol/TopflytechProtocol.java diff --git a/src/org/traccar/protocol/TopflytechProtocolDecoder.java b/src/main/java/org/traccar/protocol/TopflytechProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TopflytechProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TopflytechProtocolDecoder.java diff --git a/src/org/traccar/protocol/TotemFrameDecoder.java b/src/main/java/org/traccar/protocol/TotemFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TotemFrameDecoder.java rename to src/main/java/org/traccar/protocol/TotemFrameDecoder.java diff --git a/src/org/traccar/protocol/TotemProtocol.java b/src/main/java/org/traccar/protocol/TotemProtocol.java similarity index 100% rename from src/org/traccar/protocol/TotemProtocol.java rename to src/main/java/org/traccar/protocol/TotemProtocol.java diff --git a/src/org/traccar/protocol/TotemProtocolDecoder.java b/src/main/java/org/traccar/protocol/TotemProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TotemProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TotemProtocolDecoder.java diff --git a/src/org/traccar/protocol/TotemProtocolEncoder.java b/src/main/java/org/traccar/protocol/TotemProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/TotemProtocolEncoder.java rename to src/main/java/org/traccar/protocol/TotemProtocolEncoder.java diff --git a/src/org/traccar/protocol/Tr20Protocol.java b/src/main/java/org/traccar/protocol/Tr20Protocol.java similarity index 100% rename from src/org/traccar/protocol/Tr20Protocol.java rename to src/main/java/org/traccar/protocol/Tr20Protocol.java diff --git a/src/org/traccar/protocol/Tr20ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tr20ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tr20ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tr20ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Tr900Protocol.java b/src/main/java/org/traccar/protocol/Tr900Protocol.java similarity index 100% rename from src/org/traccar/protocol/Tr900Protocol.java rename to src/main/java/org/traccar/protocol/Tr900Protocol.java diff --git a/src/org/traccar/protocol/Tr900ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tr900ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tr900ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tr900ProtocolDecoder.java diff --git a/src/org/traccar/protocol/TrackboxProtocol.java b/src/main/java/org/traccar/protocol/TrackboxProtocol.java similarity index 100% rename from src/org/traccar/protocol/TrackboxProtocol.java rename to src/main/java/org/traccar/protocol/TrackboxProtocol.java diff --git a/src/org/traccar/protocol/TrackboxProtocolDecoder.java b/src/main/java/org/traccar/protocol/TrackboxProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TrackboxProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TrackboxProtocolDecoder.java diff --git a/src/org/traccar/protocol/TrakMateProtocol.java b/src/main/java/org/traccar/protocol/TrakMateProtocol.java similarity index 100% rename from src/org/traccar/protocol/TrakMateProtocol.java rename to src/main/java/org/traccar/protocol/TrakMateProtocol.java diff --git a/src/org/traccar/protocol/TrakMateProtocolDecoder.java b/src/main/java/org/traccar/protocol/TrakMateProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TrakMateProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TrakMateProtocolDecoder.java diff --git a/src/org/traccar/protocol/TramigoFrameDecoder.java b/src/main/java/org/traccar/protocol/TramigoFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/TramigoFrameDecoder.java rename to src/main/java/org/traccar/protocol/TramigoFrameDecoder.java diff --git a/src/org/traccar/protocol/TramigoProtocol.java b/src/main/java/org/traccar/protocol/TramigoProtocol.java similarity index 100% rename from src/org/traccar/protocol/TramigoProtocol.java rename to src/main/java/org/traccar/protocol/TramigoProtocol.java diff --git a/src/org/traccar/protocol/TramigoProtocolDecoder.java b/src/main/java/org/traccar/protocol/TramigoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TramigoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TramigoProtocolDecoder.java diff --git a/src/org/traccar/protocol/TrvProtocol.java b/src/main/java/org/traccar/protocol/TrvProtocol.java similarity index 100% rename from src/org/traccar/protocol/TrvProtocol.java rename to src/main/java/org/traccar/protocol/TrvProtocol.java diff --git a/src/org/traccar/protocol/TrvProtocolDecoder.java b/src/main/java/org/traccar/protocol/TrvProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TrvProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TrvProtocolDecoder.java diff --git a/src/org/traccar/protocol/Tt8850Protocol.java b/src/main/java/org/traccar/protocol/Tt8850Protocol.java similarity index 100% rename from src/org/traccar/protocol/Tt8850Protocol.java rename to src/main/java/org/traccar/protocol/Tt8850Protocol.java diff --git a/src/org/traccar/protocol/Tt8850ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Tt8850ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Tt8850ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Tt8850ProtocolDecoder.java diff --git a/src/org/traccar/protocol/TytanProtocol.java b/src/main/java/org/traccar/protocol/TytanProtocol.java similarity index 100% rename from src/org/traccar/protocol/TytanProtocol.java rename to src/main/java/org/traccar/protocol/TytanProtocol.java diff --git a/src/org/traccar/protocol/TytanProtocolDecoder.java b/src/main/java/org/traccar/protocol/TytanProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TytanProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TytanProtocolDecoder.java diff --git a/src/org/traccar/protocol/TzoneProtocol.java b/src/main/java/org/traccar/protocol/TzoneProtocol.java similarity index 100% rename from src/org/traccar/protocol/TzoneProtocol.java rename to src/main/java/org/traccar/protocol/TzoneProtocol.java diff --git a/src/org/traccar/protocol/TzoneProtocolDecoder.java b/src/main/java/org/traccar/protocol/TzoneProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/TzoneProtocolDecoder.java rename to src/main/java/org/traccar/protocol/TzoneProtocolDecoder.java diff --git a/src/org/traccar/protocol/UlbotechFrameDecoder.java b/src/main/java/org/traccar/protocol/UlbotechFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/UlbotechFrameDecoder.java rename to src/main/java/org/traccar/protocol/UlbotechFrameDecoder.java diff --git a/src/org/traccar/protocol/UlbotechProtocol.java b/src/main/java/org/traccar/protocol/UlbotechProtocol.java similarity index 100% rename from src/org/traccar/protocol/UlbotechProtocol.java rename to src/main/java/org/traccar/protocol/UlbotechProtocol.java diff --git a/src/org/traccar/protocol/UlbotechProtocolDecoder.java b/src/main/java/org/traccar/protocol/UlbotechProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/UlbotechProtocolDecoder.java rename to src/main/java/org/traccar/protocol/UlbotechProtocolDecoder.java diff --git a/src/org/traccar/protocol/UproProtocol.java b/src/main/java/org/traccar/protocol/UproProtocol.java similarity index 100% rename from src/org/traccar/protocol/UproProtocol.java rename to src/main/java/org/traccar/protocol/UproProtocol.java diff --git a/src/org/traccar/protocol/UproProtocolDecoder.java b/src/main/java/org/traccar/protocol/UproProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/UproProtocolDecoder.java rename to src/main/java/org/traccar/protocol/UproProtocolDecoder.java diff --git a/src/org/traccar/protocol/V680Protocol.java b/src/main/java/org/traccar/protocol/V680Protocol.java similarity index 100% rename from src/org/traccar/protocol/V680Protocol.java rename to src/main/java/org/traccar/protocol/V680Protocol.java diff --git a/src/org/traccar/protocol/V680ProtocolDecoder.java b/src/main/java/org/traccar/protocol/V680ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/V680ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/V680ProtocolDecoder.java diff --git a/src/org/traccar/protocol/VisiontekProtocol.java b/src/main/java/org/traccar/protocol/VisiontekProtocol.java similarity index 100% rename from src/org/traccar/protocol/VisiontekProtocol.java rename to src/main/java/org/traccar/protocol/VisiontekProtocol.java diff --git a/src/org/traccar/protocol/VisiontekProtocolDecoder.java b/src/main/java/org/traccar/protocol/VisiontekProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/VisiontekProtocolDecoder.java rename to src/main/java/org/traccar/protocol/VisiontekProtocolDecoder.java diff --git a/src/org/traccar/protocol/Vt200FrameDecoder.java b/src/main/java/org/traccar/protocol/Vt200FrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/Vt200FrameDecoder.java rename to src/main/java/org/traccar/protocol/Vt200FrameDecoder.java diff --git a/src/org/traccar/protocol/Vt200Protocol.java b/src/main/java/org/traccar/protocol/Vt200Protocol.java similarity index 100% rename from src/org/traccar/protocol/Vt200Protocol.java rename to src/main/java/org/traccar/protocol/Vt200Protocol.java diff --git a/src/org/traccar/protocol/Vt200ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Vt200ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Vt200ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Vt200ProtocolDecoder.java diff --git a/src/org/traccar/protocol/VtfmsFrameDecoder.java b/src/main/java/org/traccar/protocol/VtfmsFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/VtfmsFrameDecoder.java rename to src/main/java/org/traccar/protocol/VtfmsFrameDecoder.java diff --git a/src/org/traccar/protocol/VtfmsProtocol.java b/src/main/java/org/traccar/protocol/VtfmsProtocol.java similarity index 100% rename from src/org/traccar/protocol/VtfmsProtocol.java rename to src/main/java/org/traccar/protocol/VtfmsProtocol.java diff --git a/src/org/traccar/protocol/VtfmsProtocolDecoder.java b/src/main/java/org/traccar/protocol/VtfmsProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/VtfmsProtocolDecoder.java rename to src/main/java/org/traccar/protocol/VtfmsProtocolDecoder.java diff --git a/src/org/traccar/protocol/WatchFrameDecoder.java b/src/main/java/org/traccar/protocol/WatchFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/WatchFrameDecoder.java rename to src/main/java/org/traccar/protocol/WatchFrameDecoder.java diff --git a/src/org/traccar/protocol/WatchProtocol.java b/src/main/java/org/traccar/protocol/WatchProtocol.java similarity index 100% rename from src/org/traccar/protocol/WatchProtocol.java rename to src/main/java/org/traccar/protocol/WatchProtocol.java diff --git a/src/org/traccar/protocol/WatchProtocolDecoder.java b/src/main/java/org/traccar/protocol/WatchProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/WatchProtocolDecoder.java rename to src/main/java/org/traccar/protocol/WatchProtocolDecoder.java diff --git a/src/org/traccar/protocol/WatchProtocolEncoder.java b/src/main/java/org/traccar/protocol/WatchProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/WatchProtocolEncoder.java rename to src/main/java/org/traccar/protocol/WatchProtocolEncoder.java diff --git a/src/org/traccar/protocol/WialonProtocol.java b/src/main/java/org/traccar/protocol/WialonProtocol.java similarity index 100% rename from src/org/traccar/protocol/WialonProtocol.java rename to src/main/java/org/traccar/protocol/WialonProtocol.java diff --git a/src/org/traccar/protocol/WialonProtocolDecoder.java b/src/main/java/org/traccar/protocol/WialonProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/WialonProtocolDecoder.java rename to src/main/java/org/traccar/protocol/WialonProtocolDecoder.java diff --git a/src/org/traccar/protocol/WialonProtocolEncoder.java b/src/main/java/org/traccar/protocol/WialonProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/WialonProtocolEncoder.java rename to src/main/java/org/traccar/protocol/WialonProtocolEncoder.java diff --git a/src/org/traccar/protocol/WondexFrameDecoder.java b/src/main/java/org/traccar/protocol/WondexFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/WondexFrameDecoder.java rename to src/main/java/org/traccar/protocol/WondexFrameDecoder.java diff --git a/src/org/traccar/protocol/WondexProtocol.java b/src/main/java/org/traccar/protocol/WondexProtocol.java similarity index 100% rename from src/org/traccar/protocol/WondexProtocol.java rename to src/main/java/org/traccar/protocol/WondexProtocol.java diff --git a/src/org/traccar/protocol/WondexProtocolDecoder.java b/src/main/java/org/traccar/protocol/WondexProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/WondexProtocolDecoder.java rename to src/main/java/org/traccar/protocol/WondexProtocolDecoder.java diff --git a/src/org/traccar/protocol/WondexProtocolEncoder.java b/src/main/java/org/traccar/protocol/WondexProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/WondexProtocolEncoder.java rename to src/main/java/org/traccar/protocol/WondexProtocolEncoder.java diff --git a/src/org/traccar/protocol/WristbandProtocol.java b/src/main/java/org/traccar/protocol/WristbandProtocol.java similarity index 100% rename from src/org/traccar/protocol/WristbandProtocol.java rename to src/main/java/org/traccar/protocol/WristbandProtocol.java diff --git a/src/org/traccar/protocol/WristbandProtocolDecoder.java b/src/main/java/org/traccar/protocol/WristbandProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/WristbandProtocolDecoder.java rename to src/main/java/org/traccar/protocol/WristbandProtocolDecoder.java diff --git a/src/org/traccar/protocol/XexunFrameDecoder.java b/src/main/java/org/traccar/protocol/XexunFrameDecoder.java similarity index 100% rename from src/org/traccar/protocol/XexunFrameDecoder.java rename to src/main/java/org/traccar/protocol/XexunFrameDecoder.java diff --git a/src/org/traccar/protocol/XexunProtocol.java b/src/main/java/org/traccar/protocol/XexunProtocol.java similarity index 100% rename from src/org/traccar/protocol/XexunProtocol.java rename to src/main/java/org/traccar/protocol/XexunProtocol.java diff --git a/src/org/traccar/protocol/XexunProtocolDecoder.java b/src/main/java/org/traccar/protocol/XexunProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/XexunProtocolDecoder.java rename to src/main/java/org/traccar/protocol/XexunProtocolDecoder.java diff --git a/src/org/traccar/protocol/XexunProtocolEncoder.java b/src/main/java/org/traccar/protocol/XexunProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/XexunProtocolEncoder.java rename to src/main/java/org/traccar/protocol/XexunProtocolEncoder.java diff --git a/src/org/traccar/protocol/XirgoProtocol.java b/src/main/java/org/traccar/protocol/XirgoProtocol.java similarity index 100% rename from src/org/traccar/protocol/XirgoProtocol.java rename to src/main/java/org/traccar/protocol/XirgoProtocol.java diff --git a/src/org/traccar/protocol/XirgoProtocolDecoder.java b/src/main/java/org/traccar/protocol/XirgoProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/XirgoProtocolDecoder.java rename to src/main/java/org/traccar/protocol/XirgoProtocolDecoder.java diff --git a/src/org/traccar/protocol/XirgoProtocolEncoder.java b/src/main/java/org/traccar/protocol/XirgoProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/XirgoProtocolEncoder.java rename to src/main/java/org/traccar/protocol/XirgoProtocolEncoder.java diff --git a/src/org/traccar/protocol/Xrb28Protocol.java b/src/main/java/org/traccar/protocol/Xrb28Protocol.java similarity index 100% rename from src/org/traccar/protocol/Xrb28Protocol.java rename to src/main/java/org/traccar/protocol/Xrb28Protocol.java diff --git a/src/org/traccar/protocol/Xrb28ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Xrb28ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Xrb28ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Xrb28ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Xrb28ProtocolEncoder.java b/src/main/java/org/traccar/protocol/Xrb28ProtocolEncoder.java similarity index 100% rename from src/org/traccar/protocol/Xrb28ProtocolEncoder.java rename to src/main/java/org/traccar/protocol/Xrb28ProtocolEncoder.java diff --git a/src/org/traccar/protocol/Xt013Protocol.java b/src/main/java/org/traccar/protocol/Xt013Protocol.java similarity index 100% rename from src/org/traccar/protocol/Xt013Protocol.java rename to src/main/java/org/traccar/protocol/Xt013Protocol.java diff --git a/src/org/traccar/protocol/Xt013ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Xt013ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Xt013ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Xt013ProtocolDecoder.java diff --git a/src/org/traccar/protocol/Xt2400Protocol.java b/src/main/java/org/traccar/protocol/Xt2400Protocol.java similarity index 100% rename from src/org/traccar/protocol/Xt2400Protocol.java rename to src/main/java/org/traccar/protocol/Xt2400Protocol.java diff --git a/src/org/traccar/protocol/Xt2400ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Xt2400ProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/Xt2400ProtocolDecoder.java rename to src/main/java/org/traccar/protocol/Xt2400ProtocolDecoder.java diff --git a/src/org/traccar/protocol/YwtProtocol.java b/src/main/java/org/traccar/protocol/YwtProtocol.java similarity index 100% rename from src/org/traccar/protocol/YwtProtocol.java rename to src/main/java/org/traccar/protocol/YwtProtocol.java diff --git a/src/org/traccar/protocol/YwtProtocolDecoder.java b/src/main/java/org/traccar/protocol/YwtProtocolDecoder.java similarity index 100% rename from src/org/traccar/protocol/YwtProtocolDecoder.java rename to src/main/java/org/traccar/protocol/YwtProtocolDecoder.java diff --git a/src/org/traccar/reports/Events.java b/src/main/java/org/traccar/reports/Events.java similarity index 100% rename from src/org/traccar/reports/Events.java rename to src/main/java/org/traccar/reports/Events.java diff --git a/src/org/traccar/reports/ReportUtils.java b/src/main/java/org/traccar/reports/ReportUtils.java similarity index 100% rename from src/org/traccar/reports/ReportUtils.java rename to src/main/java/org/traccar/reports/ReportUtils.java diff --git a/src/org/traccar/reports/Route.java b/src/main/java/org/traccar/reports/Route.java similarity index 100% rename from src/org/traccar/reports/Route.java rename to src/main/java/org/traccar/reports/Route.java diff --git a/src/org/traccar/reports/Stops.java b/src/main/java/org/traccar/reports/Stops.java similarity index 100% rename from src/org/traccar/reports/Stops.java rename to src/main/java/org/traccar/reports/Stops.java diff --git a/src/org/traccar/reports/Summary.java b/src/main/java/org/traccar/reports/Summary.java similarity index 100% rename from src/org/traccar/reports/Summary.java rename to src/main/java/org/traccar/reports/Summary.java diff --git a/src/org/traccar/reports/Trips.java b/src/main/java/org/traccar/reports/Trips.java similarity index 100% rename from src/org/traccar/reports/Trips.java rename to src/main/java/org/traccar/reports/Trips.java diff --git a/src/org/traccar/reports/model/BaseReport.java b/src/main/java/org/traccar/reports/model/BaseReport.java similarity index 100% rename from src/org/traccar/reports/model/BaseReport.java rename to src/main/java/org/traccar/reports/model/BaseReport.java diff --git a/src/org/traccar/reports/model/DeviceReport.java b/src/main/java/org/traccar/reports/model/DeviceReport.java similarity index 100% rename from src/org/traccar/reports/model/DeviceReport.java rename to src/main/java/org/traccar/reports/model/DeviceReport.java diff --git a/src/org/traccar/reports/model/StopReport.java b/src/main/java/org/traccar/reports/model/StopReport.java similarity index 100% rename from src/org/traccar/reports/model/StopReport.java rename to src/main/java/org/traccar/reports/model/StopReport.java diff --git a/src/org/traccar/reports/model/SummaryReport.java b/src/main/java/org/traccar/reports/model/SummaryReport.java similarity index 100% rename from src/org/traccar/reports/model/SummaryReport.java rename to src/main/java/org/traccar/reports/model/SummaryReport.java diff --git a/src/org/traccar/reports/model/TripReport.java b/src/main/java/org/traccar/reports/model/TripReport.java similarity index 100% rename from src/org/traccar/reports/model/TripReport.java rename to src/main/java/org/traccar/reports/model/TripReport.java diff --git a/src/org/traccar/reports/model/TripsConfig.java b/src/main/java/org/traccar/reports/model/TripsConfig.java similarity index 100% rename from src/org/traccar/reports/model/TripsConfig.java rename to src/main/java/org/traccar/reports/model/TripsConfig.java diff --git a/src/org/traccar/sms/HttpSmsClient.java b/src/main/java/org/traccar/sms/HttpSmsClient.java similarity index 100% rename from src/org/traccar/sms/HttpSmsClient.java rename to src/main/java/org/traccar/sms/HttpSmsClient.java diff --git a/src/org/traccar/sms/SmsManager.java b/src/main/java/org/traccar/sms/SmsManager.java similarity index 91% rename from src/org/traccar/sms/SmsManager.java rename to src/main/java/org/traccar/sms/SmsManager.java index 1e3d40f6e39..3b0cbda7fcf 100644 --- a/src/org/traccar/sms/SmsManager.java +++ b/src/main/java/org/traccar/sms/SmsManager.java @@ -24,6 +24,6 @@ void sendMessageSync( String destAddress, String message, boolean command) throws InterruptedException, MessageException; void sendMessageAsync( - final String destAddress, final String message, final boolean command); + String destAddress, String message, boolean command); } diff --git a/src/org/traccar/sms/smpp/ClientSmppSessionHandler.java b/src/main/java/org/traccar/sms/smpp/ClientSmppSessionHandler.java similarity index 100% rename from src/org/traccar/sms/smpp/ClientSmppSessionHandler.java rename to src/main/java/org/traccar/sms/smpp/ClientSmppSessionHandler.java diff --git a/src/org/traccar/sms/smpp/EnquireLinkTask.java b/src/main/java/org/traccar/sms/smpp/EnquireLinkTask.java similarity index 100% rename from src/org/traccar/sms/smpp/EnquireLinkTask.java rename to src/main/java/org/traccar/sms/smpp/EnquireLinkTask.java diff --git a/src/org/traccar/sms/smpp/ReconnectionTask.java b/src/main/java/org/traccar/sms/smpp/ReconnectionTask.java similarity index 100% rename from src/org/traccar/sms/smpp/ReconnectionTask.java rename to src/main/java/org/traccar/sms/smpp/ReconnectionTask.java diff --git a/src/org/traccar/sms/smpp/SmppClient.java b/src/main/java/org/traccar/sms/smpp/SmppClient.java similarity index 100% rename from src/org/traccar/sms/smpp/SmppClient.java rename to src/main/java/org/traccar/sms/smpp/SmppClient.java diff --git a/src/org/traccar/sms/smpp/TextMessageEventHandler.java b/src/main/java/org/traccar/sms/smpp/TextMessageEventHandler.java similarity index 100% rename from src/org/traccar/sms/smpp/TextMessageEventHandler.java rename to src/main/java/org/traccar/sms/smpp/TextMessageEventHandler.java diff --git a/src/org/traccar/web/ConsoleServlet.java b/src/main/java/org/traccar/web/ConsoleServlet.java similarity index 100% rename from src/org/traccar/web/ConsoleServlet.java rename to src/main/java/org/traccar/web/ConsoleServlet.java diff --git a/src/org/traccar/web/CsvBuilder.java b/src/main/java/org/traccar/web/CsvBuilder.java similarity index 100% rename from src/org/traccar/web/CsvBuilder.java rename to src/main/java/org/traccar/web/CsvBuilder.java diff --git a/src/org/traccar/web/GpxBuilder.java b/src/main/java/org/traccar/web/GpxBuilder.java similarity index 100% rename from src/org/traccar/web/GpxBuilder.java rename to src/main/java/org/traccar/web/GpxBuilder.java diff --git a/src/org/traccar/web/WebServer.java b/src/main/java/org/traccar/web/WebServer.java similarity index 100% rename from src/org/traccar/web/WebServer.java rename to src/main/java/org/traccar/web/WebServer.java diff --git a/test/org/traccar/BaseTest.java b/src/test/java/org/traccar/BaseTest.java similarity index 100% rename from test/org/traccar/BaseTest.java rename to src/test/java/org/traccar/BaseTest.java diff --git a/test/org/traccar/ProtocolTest.java b/src/test/java/org/traccar/ProtocolTest.java similarity index 100% rename from test/org/traccar/ProtocolTest.java rename to src/test/java/org/traccar/ProtocolTest.java diff --git a/test/org/traccar/TestIdentityManager.java b/src/test/java/org/traccar/TestIdentityManager.java similarity index 100% rename from test/org/traccar/TestIdentityManager.java rename to src/test/java/org/traccar/TestIdentityManager.java diff --git a/test/org/traccar/WebDataHandlerTest.java b/src/test/java/org/traccar/WebDataHandlerTest.java similarity index 100% rename from test/org/traccar/WebDataHandlerTest.java rename to src/test/java/org/traccar/WebDataHandlerTest.java diff --git a/test/org/traccar/calendar/CalendarTest.java b/src/test/java/org/traccar/calendar/CalendarTest.java similarity index 100% rename from test/org/traccar/calendar/CalendarTest.java rename to src/test/java/org/traccar/calendar/CalendarTest.java diff --git a/test/org/traccar/config/ConfigTest.java b/src/test/java/org/traccar/config/ConfigTest.java similarity index 100% rename from test/org/traccar/config/ConfigTest.java rename to src/test/java/org/traccar/config/ConfigTest.java diff --git a/test/org/traccar/database/DataManagerTest.java b/src/test/java/org/traccar/database/DataManagerTest.java similarity index 100% rename from test/org/traccar/database/DataManagerTest.java rename to src/test/java/org/traccar/database/DataManagerTest.java diff --git a/test/org/traccar/database/GroupTreeTest.java b/src/test/java/org/traccar/database/GroupTreeTest.java similarity index 100% rename from test/org/traccar/database/GroupTreeTest.java rename to src/test/java/org/traccar/database/GroupTreeTest.java diff --git a/test/org/traccar/geocoder/AddressFormatTest.java b/src/test/java/org/traccar/geocoder/AddressFormatTest.java similarity index 100% rename from test/org/traccar/geocoder/AddressFormatTest.java rename to src/test/java/org/traccar/geocoder/AddressFormatTest.java diff --git a/test/org/traccar/geocoder/GeocoderTest.java b/src/test/java/org/traccar/geocoder/GeocoderTest.java similarity index 100% rename from test/org/traccar/geocoder/GeocoderTest.java rename to src/test/java/org/traccar/geocoder/GeocoderTest.java diff --git a/test/org/traccar/geofence/GeofenceCircleTest.java b/src/test/java/org/traccar/geofence/GeofenceCircleTest.java similarity index 100% rename from test/org/traccar/geofence/GeofenceCircleTest.java rename to src/test/java/org/traccar/geofence/GeofenceCircleTest.java diff --git a/test/org/traccar/geofence/GeofencePolygonTest.java b/src/test/java/org/traccar/geofence/GeofencePolygonTest.java similarity index 100% rename from test/org/traccar/geofence/GeofencePolygonTest.java rename to src/test/java/org/traccar/geofence/GeofencePolygonTest.java diff --git a/test/org/traccar/geofence/GeofencePolylineTest.java b/src/test/java/org/traccar/geofence/GeofencePolylineTest.java similarity index 100% rename from test/org/traccar/geofence/GeofencePolylineTest.java rename to src/test/java/org/traccar/geofence/GeofencePolylineTest.java diff --git a/test/org/traccar/geolocation/GeolocationProviderTest.java b/src/test/java/org/traccar/geolocation/GeolocationProviderTest.java similarity index 100% rename from test/org/traccar/geolocation/GeolocationProviderTest.java rename to src/test/java/org/traccar/geolocation/GeolocationProviderTest.java diff --git a/test/org/traccar/handler/ComputedAttributesTest.java b/src/test/java/org/traccar/handler/ComputedAttributesTest.java similarity index 100% rename from test/org/traccar/handler/ComputedAttributesTest.java rename to src/test/java/org/traccar/handler/ComputedAttributesTest.java diff --git a/test/org/traccar/handler/DistanceHandlerTest.java b/src/test/java/org/traccar/handler/DistanceHandlerTest.java similarity index 100% rename from test/org/traccar/handler/DistanceHandlerTest.java rename to src/test/java/org/traccar/handler/DistanceHandlerTest.java diff --git a/test/org/traccar/handler/FilterHandlerTest.java b/src/test/java/org/traccar/handler/FilterHandlerTest.java similarity index 100% rename from test/org/traccar/handler/FilterHandlerTest.java rename to src/test/java/org/traccar/handler/FilterHandlerTest.java diff --git a/test/org/traccar/handler/MotionHandlerTest.java b/src/test/java/org/traccar/handler/MotionHandlerTest.java similarity index 100% rename from test/org/traccar/handler/MotionHandlerTest.java rename to src/test/java/org/traccar/handler/MotionHandlerTest.java diff --git a/test/org/traccar/handler/events/AlertEventHandlerTest.java b/src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java similarity index 100% rename from test/org/traccar/handler/events/AlertEventHandlerTest.java rename to src/test/java/org/traccar/handler/events/AlertEventHandlerTest.java diff --git a/test/org/traccar/handler/events/CommandResultEventHandlerTest.java b/src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java similarity index 100% rename from test/org/traccar/handler/events/CommandResultEventHandlerTest.java rename to src/test/java/org/traccar/handler/events/CommandResultEventHandlerTest.java diff --git a/test/org/traccar/handler/events/IgnitionEventHandlerTest.java b/src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java similarity index 100% rename from test/org/traccar/handler/events/IgnitionEventHandlerTest.java rename to src/test/java/org/traccar/handler/events/IgnitionEventHandlerTest.java diff --git a/test/org/traccar/handler/events/MotionEventHandlerTest.java b/src/test/java/org/traccar/handler/events/MotionEventHandlerTest.java similarity index 100% rename from test/org/traccar/handler/events/MotionEventHandlerTest.java rename to src/test/java/org/traccar/handler/events/MotionEventHandlerTest.java diff --git a/test/org/traccar/handler/events/OverspeedEventHandlerTest.java b/src/test/java/org/traccar/handler/events/OverspeedEventHandlerTest.java similarity index 100% rename from test/org/traccar/handler/events/OverspeedEventHandlerTest.java rename to src/test/java/org/traccar/handler/events/OverspeedEventHandlerTest.java diff --git a/test/org/traccar/helper/BcdUtilTest.java b/src/test/java/org/traccar/helper/BcdUtilTest.java similarity index 100% rename from test/org/traccar/helper/BcdUtilTest.java rename to src/test/java/org/traccar/helper/BcdUtilTest.java diff --git a/test/org/traccar/helper/BitBufferTest.java b/src/test/java/org/traccar/helper/BitBufferTest.java similarity index 100% rename from test/org/traccar/helper/BitBufferTest.java rename to src/test/java/org/traccar/helper/BitBufferTest.java diff --git a/test/org/traccar/helper/BitUtilTest.java b/src/test/java/org/traccar/helper/BitUtilTest.java similarity index 100% rename from test/org/traccar/helper/BitUtilTest.java rename to src/test/java/org/traccar/helper/BitUtilTest.java diff --git a/test/org/traccar/helper/ChecksumTest.java b/src/test/java/org/traccar/helper/ChecksumTest.java similarity index 100% rename from test/org/traccar/helper/ChecksumTest.java rename to src/test/java/org/traccar/helper/ChecksumTest.java diff --git a/test/org/traccar/helper/DateBuilderTest.java b/src/test/java/org/traccar/helper/DateBuilderTest.java similarity index 100% rename from test/org/traccar/helper/DateBuilderTest.java rename to src/test/java/org/traccar/helper/DateBuilderTest.java diff --git a/test/org/traccar/helper/DateUtilTest.java b/src/test/java/org/traccar/helper/DateUtilTest.java similarity index 100% rename from test/org/traccar/helper/DateUtilTest.java rename to src/test/java/org/traccar/helper/DateUtilTest.java diff --git a/test/org/traccar/helper/DistanceCalculatorTest.java b/src/test/java/org/traccar/helper/DistanceCalculatorTest.java similarity index 100% rename from test/org/traccar/helper/DistanceCalculatorTest.java rename to src/test/java/org/traccar/helper/DistanceCalculatorTest.java diff --git a/test/org/traccar/helper/LocationTreeTest.java b/src/test/java/org/traccar/helper/LocationTreeTest.java similarity index 100% rename from test/org/traccar/helper/LocationTreeTest.java rename to src/test/java/org/traccar/helper/LocationTreeTest.java diff --git a/test/org/traccar/helper/LogTest.java b/src/test/java/org/traccar/helper/LogTest.java similarity index 100% rename from test/org/traccar/helper/LogTest.java rename to src/test/java/org/traccar/helper/LogTest.java diff --git a/test/org/traccar/helper/ObdDecoderTest.java b/src/test/java/org/traccar/helper/ObdDecoderTest.java similarity index 100% rename from test/org/traccar/helper/ObdDecoderTest.java rename to src/test/java/org/traccar/helper/ObdDecoderTest.java diff --git a/test/org/traccar/helper/PatternBuilderTest.java b/src/test/java/org/traccar/helper/PatternBuilderTest.java similarity index 100% rename from test/org/traccar/helper/PatternBuilderTest.java rename to src/test/java/org/traccar/helper/PatternBuilderTest.java diff --git a/test/org/traccar/helper/PatternUtilTest.java b/src/test/java/org/traccar/helper/PatternUtilTest.java similarity index 100% rename from test/org/traccar/helper/PatternUtilTest.java rename to src/test/java/org/traccar/helper/PatternUtilTest.java diff --git a/test/org/traccar/model/MiscFormatterTest.java b/src/test/java/org/traccar/model/MiscFormatterTest.java similarity index 100% rename from test/org/traccar/model/MiscFormatterTest.java rename to src/test/java/org/traccar/model/MiscFormatterTest.java diff --git a/test/org/traccar/notification/NotificiationMailTest.java b/src/test/java/org/traccar/notification/NotificiationMailTest.java similarity index 100% rename from test/org/traccar/notification/NotificiationMailTest.java rename to src/test/java/org/traccar/notification/NotificiationMailTest.java diff --git a/test/org/traccar/protocol/AdmProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AdmProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AdmProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AdmProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AdmProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/AdmProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/AdmProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/AdmProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/AisProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AisProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AisProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AisProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AlematicsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AlematicsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AlematicsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AlematicsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AnytrekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AnytrekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AnytrekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AnytrekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ApelProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ApelProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ApelProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ApelProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AplicomFrameDecoderTest.java b/src/test/java/org/traccar/protocol/AplicomFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AplicomFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/AplicomFrameDecoderTest.java diff --git a/test/org/traccar/protocol/AplicomProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AplicomProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AplicomProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AplicomProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AppelloProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AppelloProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AppelloProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AppelloProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AppletProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AppletProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AppletProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AppletProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AquilaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AquilaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AquilaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AquilaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Ardi01ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Ardi01ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Ardi01ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Ardi01ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ArknavProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ArknavProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ArknavProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ArknavProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ArknavX8ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ArknavX8ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ArknavX8ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ArknavX8ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ArnaviProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ArnaviProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ArnaviProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ArnaviProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AstraProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AstraProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AstraProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AstraProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/At2000FrameDecoderTest.java b/src/test/java/org/traccar/protocol/At2000FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/At2000FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/At2000FrameDecoderTest.java diff --git a/test/org/traccar/protocol/At2000ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/At2000ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/At2000ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/At2000ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AtrackFrameDecoderTest.java b/src/test/java/org/traccar/protocol/AtrackFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AtrackFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/AtrackFrameDecoderTest.java diff --git a/test/org/traccar/protocol/AtrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AtrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AtrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AuroProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AuroProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AuroProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AuroProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AustinNbProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AustinNbProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AustinNbProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AustinNbProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AutoFonProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AutoFonProtocolDecoderTest.java similarity index 97% rename from test/org/traccar/protocol/AutoFonProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AutoFonProtocolDecoderTest.java index 4c8199a13ff..9e17b437ff3 100644 --- a/test/org/traccar/protocol/AutoFonProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/AutoFonProtocolDecoderTest.java @@ -1,41 +1,41 @@ -package org.traccar.protocol; - -import org.junit.Test; -import org.traccar.ProtocolTest; - - -public class AutoFonProtocolDecoderTest extends ProtocolTest { - - @Test - public void testDecode() throws Exception { - - AutoFonProtocolDecoder decoder = new AutoFonProtocolDecoder(null); - - verifyNull(decoder, binary( - "10556103592310314825728F")); - - verifyPosition(decoder, binary( - "02080000251848470afa010262daa690013aa4046da83745f8812560df010001126a")); - - verifyPosition(decoder, binary( - "111E00000000000000000100007101010B0C020302010B0C0005A053FFFFFFFF02010B0C00276047FFFFFFFF1F5600FA000176F218C7850C0B0B0C203A033DBD46035783EF009E00320014FFFF45")); - - //verifyPosition(decoder, binary( - // "12060000007501010B0C00089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF02007601010B0C00269CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF4A007601010B0C01089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF04007501010B0C01269CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF80007601010B0C02089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFFA6007501010B0C02231F5600FA000176F218C70000000000000000000000000000000000000003E7FFFF9629")); - - verifyNull(decoder, binary( - "41035151305289931441139602662095148807")); - - verifyNull(decoder, binary( - "41032125656985547543619173484002123481")); - - verifyPosition(decoder, binary( - "023E00001E004D411EFA01772F185285009C48041F1E366C2961380F26B10B00911C"), - position("2010-01-27 04:00:08.000", true, 54.73838, 56.10343)); - - verifyPosition(decoder, binary( - "023E00001E004D411EFA01772F185285009C48041F1E366C2961380F26B10B00911C")); - - } - -} +package org.traccar.protocol; + +import org.junit.Test; +import org.traccar.ProtocolTest; + + +public class AutoFonProtocolDecoderTest extends ProtocolTest { + + @Test + public void testDecode() throws Exception { + + AutoFonProtocolDecoder decoder = new AutoFonProtocolDecoder(null); + + verifyNull(decoder, binary( + "10556103592310314825728F")); + + verifyPosition(decoder, binary( + "02080000251848470afa010262daa690013aa4046da83745f8812560df010001126a")); + + verifyPosition(decoder, binary( + "111E00000000000000000100007101010B0C020302010B0C0005A053FFFFFFFF02010B0C00276047FFFFFFFF1F5600FA000176F218C7850C0B0B0C203A033DBD46035783EF009E00320014FFFF45")); + + //verifyPosition(decoder, binary( + // "12060000007501010B0C00089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF02007601010B0C00269CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF4A007601010B0C01089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF04007501010B0C01269CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFF80007601010B0C02089CFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000003E7FFFFA6007501010B0C02231F5600FA000176F218C70000000000000000000000000000000000000003E7FFFF9629")); + + verifyNull(decoder, binary( + "41035151305289931441139602662095148807")); + + verifyNull(decoder, binary( + "41032125656985547543619173484002123481")); + + verifyPosition(decoder, binary( + "023E00001E004D411EFA01772F185285009C48041F1E366C2961380F26B10B00911C"), + position("2010-01-27 04:00:08.000", true, 54.73838, 56.10343)); + + verifyPosition(decoder, binary( + "023E00001E004D411EFA01772F185285009C48041F1E366C2961380F26B10B00911C")); + + } + +} diff --git a/test/org/traccar/protocol/AutoGradeProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AutoGradeProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AutoGradeProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AutoGradeProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AutoTrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AutoTrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AutoTrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AutoTrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/AvemaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/AvemaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/AvemaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/AvemaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Avl301ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Avl301ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Avl301ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Avl301ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/BceProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/BceProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/BceProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/BceProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/BceProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/BceProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/BceProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/BceProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/BlackKiteProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/BlackKiteProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/BlackKiteProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/BlackKiteProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/BoxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/BoxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/BoxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/BoxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/C2stekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/C2stekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/C2stekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/C2stekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CalAmpProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CalAmpProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CalAmpProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CalAmpProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CarTrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CarTrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CarTrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CarTrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CarscopProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CarscopProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CarscopProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CarscopProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CastelProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CastelProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CastelProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CastelProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CastelProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/CastelProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/CastelProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/CastelProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/CautelaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CautelaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CautelaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CautelaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CellocatorProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CellocatorProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CellocatorProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CellocatorProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CellocatorProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/CellocatorProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/CellocatorProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/CellocatorProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/CguardProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CguardProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CguardProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CguardProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CityeasyProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CityeasyProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CityeasyProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CityeasyProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CityeasyProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/CityeasyProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/CityeasyProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/CityeasyProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/ContinentalProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ContinentalProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ContinentalProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ContinentalProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/CradlepointProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/CradlepointProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/CradlepointProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/CradlepointProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/DishaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/DishaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/DishaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/DishaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/DmtHttpProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/DmtHttpProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/DmtHttpProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/DmtHttpProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/DmtProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/DmtProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/DmtProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/DmtProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/DwayProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/DwayProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/DwayProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/DwayProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EasyTrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EasyTrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EasyTrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EasyTrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EelinkProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EelinkProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EelinkProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EelinkProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EelinkProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/EelinkProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/EelinkProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/EelinkProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/EgtsFrameDecoderTest.java b/src/test/java/org/traccar/protocol/EgtsFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EgtsFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/EgtsFrameDecoderTest.java diff --git a/test/org/traccar/protocol/EgtsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EgtsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EgtsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EgtsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EnforaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EnforaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EnforaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EnforaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EsealProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EsealProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EsealProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EsealProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/EsealProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/EsealProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/EsealProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/EsealProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/EskyFrameDecoderTest.java b/src/test/java/org/traccar/protocol/EskyFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EskyFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/EskyFrameDecoderTest.java diff --git a/test/org/traccar/protocol/EskyProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/EskyProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/EskyProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ExtremTracProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ExtremTracProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ExtremTracProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ExtremTracProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FifotrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FifotrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FifotrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FifotrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FlespiProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FlespiProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FlespiProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FlespiProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FlexCommProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FlexCommProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FlexCommProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FlexCommProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FlextrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FlextrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FlextrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FlextrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FoxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FoxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FoxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FoxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FreedomProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FreedomProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FreedomProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FreedomProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/FreematicsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/FreematicsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/FreematicsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/FreematicsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GalileoFrameDecoderTest.java b/src/test/java/org/traccar/protocol/GalileoFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GalileoFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/GalileoFrameDecoderTest.java diff --git a/test/org/traccar/protocol/GalileoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GalileoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GalileoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GalileoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GalileoProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/GalileoProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/GalileoProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/GalileoProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/GatorProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GatorProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GatorProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GatorProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GenxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GenxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GenxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GenxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gl100ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gl100ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gl100ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gl100ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gl200BinaryProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gl200BinaryProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gl200BinaryProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gl200BinaryProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gl200FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Gl200FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gl200FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Gl200FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Gl200TextProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gl200TextProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gl200TextProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GlobalSatProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GlobalSatProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GlobalSatProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GlobalSatProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GnxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GnxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GnxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GnxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GoSafeProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GoSafeProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GoSafeProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GoSafeProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GotopProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GotopProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GotopProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GotopProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gps056FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Gps056FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gps056FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Gps056FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Gps056ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gps056ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gps056ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gps056ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gps103ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gps103ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gps103ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gps103ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gps103ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Gps103ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gps103ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Gps103ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/GpsGateProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GpsGateProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GpsGateProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GpsGateProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GpsMarkerProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GpsmtaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GpsmtaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GpsmtaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GpsmtaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/GranitFrameDecoderTest.java b/src/test/java/org/traccar/protocol/GranitFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GranitFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/GranitFrameDecoderTest.java diff --git a/test/org/traccar/protocol/GranitProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/GranitProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/GranitProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/GranitProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gt02ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gt02ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gt02ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gt02ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gt06FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Gt06FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gt06FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Gt06FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Gt06ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gt06ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gt06ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Gt06ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Gt06ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gt06ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Gt06ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Gt30ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Gt30ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Gt30ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Gt30ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/H02FrameDecoderTest.java b/src/test/java/org/traccar/protocol/H02FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/H02FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/H02FrameDecoderTest.java diff --git a/test/org/traccar/protocol/H02ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/H02ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/H02ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/H02ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/H02ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/H02ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/H02ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/H02ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/HaicomProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HaicomProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HaicomProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/HaicomProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/HomtecsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HomtecsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HomtecsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/HomtecsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/HuaShengFrameDecoderTest.java b/src/test/java/org/traccar/protocol/HuaShengFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HuaShengFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/HuaShengFrameDecoderTest.java diff --git a/test/org/traccar/protocol/HuaShengProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HuaShengProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HuaShengProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/HuaShengProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/HuabaoFrameDecoderTest.java b/src/test/java/org/traccar/protocol/HuabaoFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HuabaoFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/HuabaoFrameDecoderTest.java diff --git a/test/org/traccar/protocol/HuabaoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HuabaoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/HuabaoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/HuabaoProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/HuabaoProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/HuabaoProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/HuabaoProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/HunterProProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/HunterProProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/HunterProProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/HunterProProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/IdplProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/IdplProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/IdplProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/IdplProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/IntellitracProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/IntellitracProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/IntellitracProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/IntellitracProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ItsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ItsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ItsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ItsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Ivt401ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Ivt401ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Ivt401ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Ivt401ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/JpKorjarProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/JpKorjarProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/JpKorjarProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/JpKorjarProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Jt600FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Jt600FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Jt600FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Jt600FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Jt600ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Jt600ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Jt600ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Jt600ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Jt600ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Jt600ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Jt600ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Jt600ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/KenjiProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/KenjiProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/KenjiProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/KenjiProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/KhdProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/KhdProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/KhdProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/KhdProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/KhdProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/KhdProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/KhdProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/KhdProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/L100FrameDecoderTest.java b/src/test/java/org/traccar/protocol/L100FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/L100FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/L100FrameDecoderTest.java diff --git a/test/org/traccar/protocol/L100ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/L100ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/L100ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/L100ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/LaipacProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/LaipacProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/LaipacProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/LaipacProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/M2cProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/M2cProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/M2cProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/M2cProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/M2mProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/M2mProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/M2mProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/M2mProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MaestroProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MaestroProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MaestroProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MaestroProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ManPowerProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ManPowerProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ManPowerProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ManPowerProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MegastekFrameDecoderTest.java b/src/test/java/org/traccar/protocol/MegastekFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MegastekFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/MegastekFrameDecoderTest.java diff --git a/test/org/traccar/protocol/MegastekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MegastekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MegastekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MegastekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MeiligaoFrameDecoderTest.java b/src/test/java/org/traccar/protocol/MeiligaoFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeiligaoFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/MeiligaoFrameDecoderTest.java diff --git a/test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MeiligaoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeiligaoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MeiligaoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MeiligaoProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/MeiligaoProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeiligaoProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/MeiligaoProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/MeitrackFrameDecoderTest.java b/src/test/java/org/traccar/protocol/MeitrackFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeitrackFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/MeitrackFrameDecoderTest.java diff --git a/test/org/traccar/protocol/MeitrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MeitrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeitrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MeitrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MeitrackProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/MeitrackProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/MeitrackProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/MeitrackProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/MilesmateProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MilesmateProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MilesmateProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MilesmateProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MiniFinderProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MiniFinderProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MiniFinderProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/MiniFinderProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/MiniFinderProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/MiniFinderProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/MtxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MtxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MtxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MtxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/MxtProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/MxtProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/MxtProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NavigilProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NavigilProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NavigilProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NavigilProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NavisFrameDecoderTest.java b/src/test/java/org/traccar/protocol/NavisFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NavisFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/NavisFrameDecoderTest.java diff --git a/test/org/traccar/protocol/NavisProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NavisProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NavisProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NavisProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NeosProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NeosProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NeosProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NeosProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NoranProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NoranProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NoranProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NoranProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NoranProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/NoranProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/NoranProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/NoranProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/NvsFrameDecoderTest.java b/src/test/java/org/traccar/protocol/NvsFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NvsFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/NvsFrameDecoderTest.java diff --git a/test/org/traccar/protocol/NvsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NvsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NvsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NvsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/NyitechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/NyitechProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/NyitechProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/NyitechProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ObdDongleProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ObdDongleProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ObdDongleProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ObdDongleProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OigoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OigoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OigoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OigoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OkoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OkoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OkoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OkoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OpenGtsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OpenGtsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OpenGtsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OrionProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OrionProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OrionProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OrionProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OsmAndProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OsmAndProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OsmAndProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OsmAndProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/OwnTracksProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/OwnTracksProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/OwnTracksProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/OwnTracksProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/PathAwayProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/PathAwayProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/PathAwayProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/PathAwayProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/PiligrimProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/PiligrimProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/PiligrimProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/PiligrimProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/PretraceProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/PretraceProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/PretraceProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/PretraceProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/PretraceProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/PretraceProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/PretraceProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/PretraceProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/PricolProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/PricolProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/PricolProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/PricolProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/ProgressProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ProgressProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ProgressProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ProgressProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Pt3000ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Pt3000ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Pt3000ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Pt3000ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Pt502FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Pt502FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Pt502FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Pt502FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Pt502ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Pt502ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Pt502ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Pt502ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Pt502ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Pt502ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Pt502ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Pt502ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Pt60ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Pt60ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Pt60ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Pt60ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RaveonProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RaveonProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RaveonProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RaveonProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RecodaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RecodaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RecodaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RecodaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RetranslatorProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RetranslatorProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RetranslatorProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RetranslatorProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RitiProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RitiProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RitiProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RitiProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RoboTrackFrameDecoderTest.java b/src/test/java/org/traccar/protocol/RoboTrackFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RoboTrackFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/RoboTrackFrameDecoderTest.java diff --git a/test/org/traccar/protocol/RoboTrackProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RoboTrackProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RoboTrackProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RoboTrackProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RuptelaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/RuptelaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/RuptelaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/RuptelaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/RuptelaProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/RuptelaProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/RuptelaProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/RuptelaProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/SabertekFrameDecoderTest.java b/src/test/java/org/traccar/protocol/SabertekFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SabertekFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/SabertekFrameDecoderTest.java diff --git a/test/org/traccar/protocol/SabertekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SabertekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SabertekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SabertekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SanavProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SanavProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SanavProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SanavProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SatsolProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SatsolProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SatsolProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SatsolProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SigfoxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SigfoxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SigfoxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SigfoxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SiwiProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SiwiProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SiwiProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SiwiProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SkypatrolProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SkypatrolProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SkypatrolProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SkypatrolProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SmartSoleProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SmartSoleProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SmartSoleProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SmartSoleProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SmokeyProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SmokeyProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SmokeyProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SmokeyProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SpotProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SpotProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SpotProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SpotProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/StarLinkProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/StarLinkProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/StarLinkProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/StarLinkProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Stl060ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Stl060ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Stl060ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Stl060ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SuntechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SuntechProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SuntechProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SupermateProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SupermateProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SupermateProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SupermateProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/SviasProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/SviasProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/SviasProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/SviasProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/T55ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/T55ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/T55ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/T55ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/T57FrameDecoderTest.java b/src/test/java/org/traccar/protocol/T57FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/T57FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/T57FrameDecoderTest.java diff --git a/test/org/traccar/protocol/T57ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/T57ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/T57ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/T57ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/T800xProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/T800xProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/T800xProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/T800xProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/T800xProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/T800xProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/T800xProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/T800xProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/TaipProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TaipProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TaipProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TaipProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TekFrameDecoderTest.java b/src/test/java/org/traccar/protocol/TekFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TekFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/TekFrameDecoderTest.java diff --git a/test/org/traccar/protocol/TekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TelemaxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TelemaxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TelemaxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TelemaxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TelicFrameDecoderTest.java b/src/test/java/org/traccar/protocol/TelicFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TelicFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/TelicFrameDecoderTest.java diff --git a/test/org/traccar/protocol/TelicProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TelicProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TelicProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TelicProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TeltonikaProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TeltonikaProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TeltonikaProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TeltonikaProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TeltonikaProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/TeltonikaProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/TeltonikaProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/TeltonikaProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/ThinkRaceProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/ThinkRaceProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/ThinkRaceProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/ThinkRaceProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Tk102ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tk102ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tk102ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tk102ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Tk103FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Tk103FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tk103FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Tk103FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Tk103ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tk103ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tk103ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tk103ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Tk103ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Tk103ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tk103ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Tk103ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Tlt2hProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tlt2hProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tlt2hProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tlt2hProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TlvProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TlvProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TlvProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TlvProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TmgFrameDecoderTest.java b/src/test/java/org/traccar/protocol/TmgFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TmgFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/TmgFrameDecoderTest.java diff --git a/test/org/traccar/protocol/TmgProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TmgProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TmgProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TmgProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TopflytechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TopflytechProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TopflytechProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TopflytechProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TotemFrameDecoderTest.java b/src/test/java/org/traccar/protocol/TotemFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TotemFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/TotemFrameDecoderTest.java diff --git a/test/org/traccar/protocol/TotemProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TotemProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TotemProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TotemProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TotemProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/TotemProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/TotemProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/TotemProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Tr20ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tr20ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tr20ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tr20ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Tr900ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tr900ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tr900ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tr900ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TrackboxProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TrackboxProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TrackboxProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TrackboxProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TrakMateProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TrakMateProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TrakMateProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TrakMateProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TramigoFrameDecoderTest.java b/src/test/java/org/traccar/protocol/TramigoFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TramigoFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/TramigoFrameDecoderTest.java diff --git a/test/org/traccar/protocol/TramigoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TramigoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TramigoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TramigoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TrvProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TrvProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TrvProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TrvProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Tt8850ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Tt8850ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Tt8850ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Tt8850ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TytanProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TytanProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TytanProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TytanProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/TzoneProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/TzoneProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/TzoneProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/TzoneProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/UlbotechFrameDecoderTest.java b/src/test/java/org/traccar/protocol/UlbotechFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/UlbotechFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/UlbotechFrameDecoderTest.java diff --git a/test/org/traccar/protocol/UlbotechProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/UlbotechProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/UlbotechProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/UlbotechProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/UproProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/UproProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/UproProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/V680ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/V680ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/V680ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/V680ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/VisiontekProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/VisiontekProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/VisiontekProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/VisiontekProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Vt200FrameDecoderTest.java b/src/test/java/org/traccar/protocol/Vt200FrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Vt200FrameDecoderTest.java rename to src/test/java/org/traccar/protocol/Vt200FrameDecoderTest.java diff --git a/test/org/traccar/protocol/Vt200ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Vt200ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Vt200ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Vt200ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/VtfmsFrameDecoderTest.java b/src/test/java/org/traccar/protocol/VtfmsFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/VtfmsFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/VtfmsFrameDecoderTest.java diff --git a/test/org/traccar/protocol/VtfmsProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/VtfmsProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/VtfmsProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/VtfmsProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/WatchFrameDecoderTest.java b/src/test/java/org/traccar/protocol/WatchFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WatchFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/WatchFrameDecoderTest.java diff --git a/test/org/traccar/protocol/WatchProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/WatchProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WatchProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/WatchProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/WatchProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/WatchProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/WatchProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/WatchProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/WialonProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/WialonProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WialonProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/WialonProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/WondexFrameDecoderTest.java b/src/test/java/org/traccar/protocol/WondexFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WondexFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/WondexFrameDecoderTest.java diff --git a/test/org/traccar/protocol/WondexProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/WondexProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WondexProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/WondexProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/WondexProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/WondexProtocolEncoderTest.java similarity index 96% rename from test/org/traccar/protocol/WondexProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/WondexProtocolEncoderTest.java index 3d76cb677b1..8209fc41249 100644 --- a/test/org/traccar/protocol/WondexProtocolEncoderTest.java +++ b/src/test/java/org/traccar/protocol/WondexProtocolEncoderTest.java @@ -1,24 +1,24 @@ -package org.traccar.protocol; - -import org.junit.Test; -import org.traccar.ProtocolTest; -import org.traccar.model.Command; - -import static org.junit.Assert.assertEquals; - -public class WondexProtocolEncoderTest extends ProtocolTest { - @Test - public void testEncode() throws Exception { - - WondexProtocolEncoder encoder = new WondexProtocolEncoder(); - - Command command = new Command(); - command.setDeviceId(2); - command.setType(Command.TYPE_POSITION_SINGLE); - command.set(Command.KEY_DEVICE_PASSWORD, "0000"); - - assertEquals("$WP+GETLOCATION=0000", encoder.encodeCommand(command)); - - } - -} +package org.traccar.protocol; + +import org.junit.Test; +import org.traccar.ProtocolTest; +import org.traccar.model.Command; + +import static org.junit.Assert.assertEquals; + +public class WondexProtocolEncoderTest extends ProtocolTest { + @Test + public void testEncode() throws Exception { + + WondexProtocolEncoder encoder = new WondexProtocolEncoder(); + + Command command = new Command(); + command.setDeviceId(2); + command.setType(Command.TYPE_POSITION_SINGLE); + command.set(Command.KEY_DEVICE_PASSWORD, "0000"); + + assertEquals("$WP+GETLOCATION=0000", encoder.encodeCommand(command)); + + } + +} diff --git a/test/org/traccar/protocol/WristbandProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/WristbandProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/WristbandProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/WristbandProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/XexunFrameDecoderTest.java b/src/test/java/org/traccar/protocol/XexunFrameDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/XexunFrameDecoderTest.java rename to src/test/java/org/traccar/protocol/XexunFrameDecoderTest.java diff --git a/test/org/traccar/protocol/XexunProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/XexunProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/XexunProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/XexunProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/XirgoProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/XirgoProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/XirgoProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/XirgoProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/XirgoProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/XirgoProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/XirgoProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/XirgoProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Xrb28ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Xrb28ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Xrb28ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Xrb28ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Xrb28ProtocolEncoderTest.java b/src/test/java/org/traccar/protocol/Xrb28ProtocolEncoderTest.java similarity index 100% rename from test/org/traccar/protocol/Xrb28ProtocolEncoderTest.java rename to src/test/java/org/traccar/protocol/Xrb28ProtocolEncoderTest.java diff --git a/test/org/traccar/protocol/Xt013ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Xt013ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Xt013ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Xt013ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/Xt2400ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Xt2400ProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/Xt2400ProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/Xt2400ProtocolDecoderTest.java diff --git a/test/org/traccar/protocol/YwtProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/YwtProtocolDecoderTest.java similarity index 100% rename from test/org/traccar/protocol/YwtProtocolDecoderTest.java rename to src/test/java/org/traccar/protocol/YwtProtocolDecoderTest.java diff --git a/test/org/traccar/reports/ReportUtilsTest.java b/src/test/java/org/traccar/reports/ReportUtilsTest.java similarity index 100% rename from test/org/traccar/reports/ReportUtilsTest.java rename to src/test/java/org/traccar/reports/ReportUtilsTest.java diff --git a/test/org/traccar/web/WebServerTest.java b/src/test/java/org/traccar/web/WebServerTest.java similarity index 100% rename from test/org/traccar/web/WebServerTest.java rename to src/test/java/org/traccar/web/WebServerTest.java