Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.dke.data.agrirouter.api.enums

/**
* Enum containing all the content message types the AR is supporting.
*/
enum class ContentMessageType(private val key: String) : TechnicalMessageType {
ISO_11783_TASKDATA_ZIP("iso:11783:-10:taskdata:zip"),
ISO_11783_DEVICE_DESCRIPTION("iso:11783:-10:device_description:protobuf"),
ISO_11783_TIME_LOG("iso:11783:-10:time_log:protobuf"),
SHP_SHAPE_ZIP("shp:shape:zip"),
DOC_PDF("doc:pdf"),
IMG_JPEG("img:jpeg"),
IMG_PNG("img:png"),
IMG_BMP("img:bmp"),
VID_AVI("vid:avi"),
VID_MP4("vid:mp4"),
VID_WMV("vid:wmv"),
GPS_INFO("gps:info");

override fun getKey(): String {
return key
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.dke.data.agrirouter.api.enums

/**
* Enum containing all the content message types the AR is supporting.
*/
enum class SystemMessageType(private val key: String) : TechnicalMessageType {
EMPTY(""),
DKE_CLOUD_ONBOARD_ENDPOINTS("dke:cloud_onboard_endpoints"),
DKE_CLOUD_OFFBOARD_ENDPOINTS("dke:cloud_offboard_endpoints"),
DKE_CAPABILITIES("dke:capabilities"),
DKE_SUBSCRIPTION("dke:subscription"),
DKE_LIST_ENDPOINTS("dke:list_endpoints"),
DKE_LIST_ENDPOINTS_UNFILTERED("dke:list_endpoints_unfiltered"),
DKE_FEED_CONFIRM("dke:feed_confirm"),
DKE_FEED_DELETE("dke:feed_delete"),
DKE_FEED_MESSAGE_QUERY("dke:feed_message_query"),
DKE_FEED_HEADER_QUERY("dke:feed_header_query");

override fun getKey(): String {
return key
}

}
Original file line number Diff line number Diff line change
@@ -1,32 +1,13 @@
package com.dke.data.agrirouter.api.enums

enum class TechnicalMessageType(val key: String) {
EMPTY(""),
DKE_CLOUD_ONBOARD_ENDPOINTS("dke:cloud_onboard_endpoints"),
DKE_CLOUD_OFFBOARD_ENDPOINTS("dke:cloud_offboard_endpoints"),
DKE_CAPABILITIES("dke:capabilities"),
DKE_SUBSCRIPTION("dke:subscription"),
DKE_LIST_ENDPOINTS("dke:list_endpoints"),
DKE_LIST_ENDPOINTS_UNFILTERED("dke:list_endpoints_unfiltered"),
DKE_FEED_CONFIRM("dke:feed_confirm"),
DKE_FEED_DELETE("dke:feed_delete"),
DKE_FEED_MESSAGE_QUERY("dke:feed_message_query"),
DKE_FEED_HEADER_QUERY("dke:feed_header_query"),
/**
* Common interface for all technical message types.
*/
interface TechnicalMessageType {

DKE_OTHER("dke:other"),
ISO_11783_TASKDATA_ZIP("iso:11783:-10:taskdata:zip"),
ISO_11783_DEVICE_DESCRIPTION("iso:11783:-10:device_description:protobuf"),
ISO_11783_TIME_LOG("iso:11783:-10:time_log:protobuf"),
SHP_SHAPE_ZIP("shp:shape:zip"),
DOC_PDF("doc:pdf"),
IMG_JPEG("img:jpeg"),
IMG_PNG("img:png"),
IMG_BMP("img:bmp"),
VID_AVI("vid:avi"),
VID_MP4("vid:mp4"),
VID_WMV("vid:wmv"),
GPS_INFO("gps:info"),
/**
* The key of the technical message type.
*/
fun getKey(): String

TESTING_PURPOSE_INVALID("SOME_INVALID_TYPE"),
TEST_OTHER ("test:other")
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import agrirouter.request.payload.account.Endpoints;
import com.dke.data.agrirouter.api.dto.onboard.OnboardingResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.service.messaging.mqtt.ListEndpointsService;
import com.dke.data.agrirouter.api.service.parameters.ListEndpointsParameters;
import com.dke.data.agrirouter.impl.messaging.mqtt.ListEndpointsServiceImpl;
Expand All @@ -26,7 +26,7 @@ public ListEndpointsFunctionsService(IMqttClient iMqttClient) {
public String requestFullListFilteredByAppliedRoutings(OnboardingResponse onboardingResponse) {
ListEndpointsParameters listEndpointsParameters = new ListEndpointsParameters();
listEndpointsParameters.setDirection(Endpoints.ListEndpointsQuery.Direction.SEND_RECEIVE);
listEndpointsParameters.setTechnicalMessageType(TechnicalMessageType.EMPTY);
listEndpointsParameters.setTechnicalMessageType(SystemMessageType.EMPTY);
listEndpointsParameters.setOnboardingResponse(onboardingResponse);
listEndpointsParameters.setUnfilteredList(false);

Expand All @@ -42,7 +42,7 @@ public String requestFullListFilteredByAppliedRoutings(OnboardingResponse onboar
public String requestFullList(OnboardingResponse onboardingResponse) {
ListEndpointsParameters listEndpointsParameters = new ListEndpointsParameters();
listEndpointsParameters.setDirection(Endpoints.ListEndpointsQuery.Direction.SEND_RECEIVE);
listEndpointsParameters.setTechnicalMessageType(TechnicalMessageType.EMPTY);
listEndpointsParameters.setTechnicalMessageType(SystemMessageType.EMPTY);
listEndpointsParameters.setOnboardingResponse(onboardingResponse);
listEndpointsParameters.setUnfilteredList(true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import agrirouter.request.payload.account.Endpoints;
import com.dke.data.agrirouter.api.dto.onboard.OnboardingResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.env.Environment;
import com.dke.data.agrirouter.api.service.messaging.http.ListEndpointsService;
import com.dke.data.agrirouter.api.service.parameters.ListEndpointsParameters;
Expand All @@ -26,7 +26,7 @@ public ListEndpointsFunctionsService(Environment environment) {
public String requestFullListFilteredByAppliedRoutings(OnboardingResponse onboardingResponse) {
ListEndpointsParameters listEndpointsParameters = new ListEndpointsParameters();
listEndpointsParameters.setDirection(Endpoints.ListEndpointsQuery.Direction.SEND_RECEIVE);
listEndpointsParameters.setTechnicalMessageType(TechnicalMessageType.EMPTY);
listEndpointsParameters.setTechnicalMessageType(SystemMessageType.EMPTY);
listEndpointsParameters.setOnboardingResponse(onboardingResponse);
listEndpointsParameters.setUnfilteredList(false);

Expand All @@ -42,7 +42,7 @@ public String requestFullListFilteredByAppliedRoutings(OnboardingResponse onboar
public String requestFullList(OnboardingResponse onboardingResponse) {
ListEndpointsParameters listEndpointsParameters = new ListEndpointsParameters();
listEndpointsParameters.setDirection(Endpoints.ListEndpointsQuery.Direction.SEND_RECEIVE);
listEndpointsParameters.setTechnicalMessageType(TechnicalMessageType.EMPTY);
listEndpointsParameters.setTechnicalMessageType(SystemMessageType.EMPTY);
listEndpointsParameters.setOnboardingResponse(onboardingResponse);
listEndpointsParameters.setUnfilteredList(true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import agrirouter.request.payload.endpoint.Capabilities;
import agrirouter.request.payload.endpoint.SubscriptionOuterClass;
import com.dke.data.agrirouter.api.dto.encoding.EncodedMessage;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.service.LoggingEnabledService;
import com.dke.data.agrirouter.api.service.messaging.encoding.EncodeMessageService;
Expand Down Expand Up @@ -46,7 +47,7 @@ default EncodedMessage encode(DeleteMessageParameters parameters) {
parameters.getOnboardingResponse()));
messageHeaderParameters.setMetadata(MessageOuterClass.Metadata.newBuilder().build());

messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_FEED_DELETE);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_FEED_DELETE);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

FeedRequests.MessageDelete.Builder messageContent = FeedRequests.MessageDelete.newBuilder();
Expand Down Expand Up @@ -106,9 +107,9 @@ default EncodedMessage encode(ListEndpointsParameters parameters) {

if (parameters.getUnfilteredList()) {
messageHeaderParameters.setTechnicalMessageType(
TechnicalMessageType.DKE_LIST_ENDPOINTS_UNFILTERED);
SystemMessageType.DKE_LIST_ENDPOINTS_UNFILTERED);
} else {
messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_LIST_ENDPOINTS);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_LIST_ENDPOINTS);
}
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

Expand Down Expand Up @@ -155,7 +156,7 @@ default EncodedMessage encode(MessageConfirmationParameters parameters) {
? parameters.getSequenceNumber()
: SequenceNumberService.generateSequenceNumberForEndpoint(
parameters.getOnboardingResponse()));
messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_FEED_CONFIRM);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_FEED_CONFIRM);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

FeedRequests.MessageConfirm.Builder messageContent = FeedRequests.MessageConfirm.newBuilder();
Expand Down Expand Up @@ -198,7 +199,7 @@ default EncodedMessage encode(SetCapabilitiesParameters parameters) {
? parameters.getSequenceNumber()
: SequenceNumberService.generateSequenceNumberForEndpoint(
parameters.getOnboardingResponse()));
messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_CAPABILITIES);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_CAPABILITIES);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

Capabilities.CapabilitySpecification.Builder builder =
Expand Down Expand Up @@ -260,7 +261,7 @@ default EncodedMessage encodeMessage(SetSubscriptionParameters parameters) {
? parameters.getSequenceNumber()
: SequenceNumberService.generateSequenceNumberForEndpoint(
parameters.getOnboardingResponse()));
messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_SUBSCRIPTION);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_SUBSCRIPTION);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

SubscriptionOuterClass.Subscription.Builder messageContent =
Expand Down Expand Up @@ -381,8 +382,7 @@ default EncodedMessage encode(CloudOnboardingParameters parameters) {
: SequenceNumberService.generateSequenceNumberForEndpoint(
parameters.getOnboardingResponse()));
messageHeaderParameters.setMetadata(MessageOuterClass.Metadata.newBuilder().build());
messageHeaderParameters.setTechnicalMessageType(
TechnicalMessageType.DKE_CLOUD_ONBOARD_ENDPOINTS);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_CLOUD_ONBOARD_ENDPOINTS);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);

CloudVirtualizedAppRegistration.OnboardingRequest.Builder messageContent =
Expand Down Expand Up @@ -429,8 +429,7 @@ default EncodedMessage encode(CloudOffboardingParameters parameters) {

MessageHeaderParameters messageHeaderParameters = new MessageHeaderParameters();
messageHeaderParameters.setApplicationMessageId(applicationMessageID);
messageHeaderParameters.setTechnicalMessageType(
TechnicalMessageType.DKE_CLOUD_OFFBOARD_ENDPOINTS);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_CLOUD_OFFBOARD_ENDPOINTS);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);
messageHeaderParameters.setMetadata(MessageOuterClass.Metadata.newBuilder().build());
messageHeaderParameters.setApplicationMessageSeqNo(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.dke.data.agrirouter.impl.messaging.mqtt;

import agrirouter.feed.response.FeedResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.messaging.MqttAsyncMessageSendingResult;
import com.dke.data.agrirouter.api.service.messaging.mqtt.MessageHeaderQueryService;
import com.dke.data.agrirouter.api.service.parameters.MessageQueryParameters;
Expand All @@ -23,7 +23,7 @@ public MessageHeaderQueryServiceImpl(IMqttClient mqttClient) {
super(mqttClient);
messageQueryHelperService =
new MessageQueryHelperService(
mqttClient, new EncodeMessageServiceImpl(), TechnicalMessageType.DKE_FEED_HEADER_QUERY);
mqttClient, new EncodeMessageServiceImpl(), SystemMessageType.DKE_FEED_HEADER_QUERY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.dke.data.agrirouter.impl.messaging.mqtt;

import agrirouter.feed.response.FeedResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.messaging.MqttAsyncMessageSendingResult;
import com.dke.data.agrirouter.api.service.messaging.encoding.MessageDecoder;
import com.dke.data.agrirouter.api.service.messaging.mqtt.MessageQueryService;
Expand All @@ -26,9 +26,7 @@ public MessageQueryServiceImpl(IMqttClient mqttClient) {
super(mqttClient);
this.messageQueryHelperService =
new MessageQueryHelperService(
mqttClient,
new EncodeMessageServiceImpl(),
TechnicalMessageType.DKE_FEED_MESSAGE_QUERY);
mqttClient, new EncodeMessageServiceImpl(), SystemMessageType.DKE_FEED_MESSAGE_QUERY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.dke.data.agrirouter.impl.messaging.rest;

import agrirouter.feed.response.FeedResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.env.Environment;
import com.dke.data.agrirouter.api.messaging.HttpAsyncMessageSendingResult;
import com.dke.data.agrirouter.api.service.messaging.http.MessageHeaderQueryService;
Expand All @@ -21,7 +21,7 @@ public MessageHeaderQueryServiceImpl(Environment environment) {
super(environment);
messageQueryHelperService =
new MessageQueryHelperService(
new EncodeMessageServiceImpl(), TechnicalMessageType.DKE_FEED_HEADER_QUERY);
new EncodeMessageServiceImpl(), SystemMessageType.DKE_FEED_HEADER_QUERY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.dke.data.agrirouter.impl.messaging.rest;

import agrirouter.feed.response.FeedResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.env.Environment;
import com.dke.data.agrirouter.api.messaging.HttpAsyncMessageSendingResult;
import com.dke.data.agrirouter.api.service.messaging.encoding.MessageDecoder;
Expand All @@ -24,7 +24,7 @@ public MessageQueryServiceImpl(Environment environment) {
super(environment);
messageQueryHelperService =
new MessageQueryHelperService(
new EncodeMessageServiceImpl(), TechnicalMessageType.DKE_FEED_MESSAGE_QUERY);
new EncodeMessageServiceImpl(), SystemMessageType.DKE_FEED_MESSAGE_QUERY);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import agrirouter.request.Request;
import agrirouter.request.payload.endpoint.Capabilities;
import com.dke.data.agrirouter.api.dto.encoding.DecodeMessageResponse;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.service.messaging.encoding.EncodeMessageService;
import com.dke.data.agrirouter.api.service.parameters.MessageHeaderParameters;
import com.dke.data.agrirouter.api.service.parameters.PayloadParameters;
Expand Down Expand Up @@ -71,7 +71,7 @@ private MessageHeaderParameters getMessageHeaderParameters() {
MessageHeaderParameters messageHeaderParameters = new MessageHeaderParameters();
messageHeaderParameters.setApplicationMessageId("1");
messageHeaderParameters.setApplicationMessageSeqNo(1);
messageHeaderParameters.setTechnicalMessageType(TechnicalMessageType.DKE_CAPABILITIES);
messageHeaderParameters.setTechnicalMessageType(SystemMessageType.DKE_CAPABILITIES);
messageHeaderParameters.setMode(Request.RequestEnvelope.Mode.DIRECT);
return messageHeaderParameters;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
import com.dke.data.agrirouter.api.dto.encoding.DecodeMessageResponse;
import com.dke.data.agrirouter.api.dto.messaging.FetchMessageResponse;
import com.dke.data.agrirouter.api.dto.messaging.inner.Message;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.ContentMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.env.QA;
import com.dke.data.agrirouter.api.service.messaging.encoding.DecodeMessageService;
import com.dke.data.agrirouter.api.service.messaging.http.FetchMessageService;
Expand Down Expand Up @@ -47,7 +48,7 @@ void givenValidEndpointWhenSendingCapabilitiesTheCapabilityMessageShouldBeAccept
List<SetCapabilitiesParameters.CapabilityParameters> capabilities = new ArrayList<>();
SetCapabilitiesParameters.CapabilityParameters capability =
new SetCapabilitiesParameters.CapabilityParameters();
capability.setTechnicalMessageType(TechnicalMessageType.ISO_11783_TASKDATA_ZIP);
capability.setTechnicalMessageType(ContentMessageType.ISO_11783_TASKDATA_ZIP);
capability.setDirection(Capabilities.CapabilitySpecification.Direction.SEND_RECEIVE);
capabilities.add(capability);
parameters.setCapabilitiesParameters(capabilities);
Expand Down Expand Up @@ -90,7 +91,7 @@ void givenValidEndpointWhenSendingInvalidCapabilitiesTheCapabilityMessageShouldN
List<SetCapabilitiesParameters.CapabilityParameters> capabilities = new ArrayList<>();
SetCapabilitiesParameters.CapabilityParameters capability =
new SetCapabilitiesParameters.CapabilityParameters();
capability.setTechnicalMessageType(TechnicalMessageType.DKE_FEED_DELETE);
capability.setTechnicalMessageType(SystemMessageType.DKE_FEED_DELETE);
capability.setDirection(Capabilities.CapabilitySpecification.Direction.SEND_RECEIVE);
capabilities.add(capability);
parameters.setCapabilitiesParameters(capabilities);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
import com.dke.data.agrirouter.api.dto.encoding.DecodeMessageResponse;
import com.dke.data.agrirouter.api.dto.messaging.FetchMessageResponse;
import com.dke.data.agrirouter.api.dto.messaging.inner.Message;
import com.dke.data.agrirouter.api.enums.TechnicalMessageType;
import com.dke.data.agrirouter.api.enums.ContentMessageType;
import com.dke.data.agrirouter.api.enums.SystemMessageType;
import com.dke.data.agrirouter.api.env.QA;
import com.dke.data.agrirouter.api.service.messaging.encoding.DecodeMessageService;
import com.dke.data.agrirouter.api.service.messaging.http.FetchMessageService;
Expand Down Expand Up @@ -42,7 +43,7 @@ void givenValidEndpointWhenSendingSubscriptionsTheSubscriptionMessageShouldBeAcc
List<SetSubscriptionParameters.Subscription> subscriptions = new ArrayList<>();
SetSubscriptionParameters.Subscription subscription =
new SetSubscriptionParameters.Subscription();
subscription.setTechnicalMessageType(TechnicalMessageType.ISO_11783_TASKDATA_ZIP);
subscription.setTechnicalMessageType(ContentMessageType.ISO_11783_TASKDATA_ZIP);
subscriptions.add(subscription);
parameters.setSubscriptions(subscriptions);
setSubscriptionService.send(parameters);
Expand Down Expand Up @@ -80,7 +81,7 @@ void givenValidEndpointWhenSendingInvalidSubscriptionsTheSubscriptionMessageShou
List<SetSubscriptionParameters.Subscription> subscriptions = new ArrayList<>();
SetSubscriptionParameters.Subscription subscription =
new SetSubscriptionParameters.Subscription();
subscription.setTechnicalMessageType(TechnicalMessageType.DKE_FEED_DELETE);
subscription.setTechnicalMessageType(SystemMessageType.DKE_FEED_DELETE);
subscriptions.add(subscription);
parameters.setSubscriptions(subscriptions);
setSubscriptionService.send(parameters);
Expand Down