Skip to content
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
Expand Up @@ -70,7 +70,7 @@ public T read(JsonReader in) throws IOException {
};
}
}

private static class OptionalTypeAdapter<E> extends TypeAdapter<Optional<E>> {
public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
@Override
Expand Down Expand Up @@ -103,20 +103,16 @@ public void write(JsonWriter out, Optional<E> value) throws IOException {

@Override
public Optional<E> read(JsonReader in) throws IOException {
final JsonToken peek = in.peek();
if (peek != JsonToken.NULL){
return Optional.ofNullable(adapter.read(in));
}
return Optional.empty();
return Optional.ofNullable(adapter.read(in));
}
}

/**
* Used to compare two members of a blob shape for equality. Array equals nesting
* inside of an Optional doesn't work
*
*
* Note: Generated code for equals method of Smithy shapes relies on this
*
*
* @param lhs
* @param rhs
* @return
Expand Down Expand Up @@ -169,7 +165,7 @@ public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationConte
* @return
*/
public abstract String getServiceName();

private static final Map<String, Class<? extends EventStreamJsonMessage>> FRAMEWORK_APPLICATION_MODEL_TYPES
= new HashMap<>();
static {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package software.amazon.awssdk.aws.greengrass;

import java.lang.Override;
import java.lang.Void;
import java.util.concurrent.CompletableFuture;
import software.amazon.awssdk.aws.greengrass.model.DeleteThingShadowResponse;
import software.amazon.awssdk.eventstreamrpc.OperationResponse;
import software.amazon.awssdk.eventstreamrpc.StreamResponse;
import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage;

public final class DeleteThingShadowResponseHandler implements StreamResponse<DeleteThingShadowResponse, EventStreamJsonMessage> {
private final OperationResponse<DeleteThingShadowResponse, EventStreamJsonMessage> operationResponse;

public DeleteThingShadowResponseHandler(
final OperationResponse<DeleteThingShadowResponse, EventStreamJsonMessage> operationResponse) {
this.operationResponse = operationResponse;
}

@Override
public CompletableFuture<Void> getRequestFlushFuture() {
return operationResponse.getRequestFlushFuture();
}

@Override
public CompletableFuture<DeleteThingShadowResponse> getResponse() {
return operationResponse.getResponse();
}

@Override
public CompletableFuture<Void> sendStreamEvent(final EventStreamJsonMessage event) {
return operationResponse.sendStreamEvent(event);
}

@Override
public CompletableFuture<Void> closeStream() {
return operationResponse.closeStream();
}

@Override
public boolean isClosed() {
return operationResponse.isClosed();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package software.amazon.awssdk.aws.greengrass;

import java.lang.Override;
import java.lang.Void;
import java.util.concurrent.CompletableFuture;
import software.amazon.awssdk.aws.greengrass.model.GetThingShadowResponse;
import software.amazon.awssdk.eventstreamrpc.OperationResponse;
import software.amazon.awssdk.eventstreamrpc.StreamResponse;
import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage;

public final class GetThingShadowResponseHandler implements StreamResponse<GetThingShadowResponse, EventStreamJsonMessage> {
private final OperationResponse<GetThingShadowResponse, EventStreamJsonMessage> operationResponse;

public GetThingShadowResponseHandler(
final OperationResponse<GetThingShadowResponse, EventStreamJsonMessage> operationResponse) {
this.operationResponse = operationResponse;
}

@Override
public CompletableFuture<Void> getRequestFlushFuture() {
return operationResponse.getRequestFlushFuture();
}

@Override
public CompletableFuture<GetThingShadowResponse> getResponse() {
return operationResponse.getResponse();
}

@Override
public CompletableFuture<Void> sendStreamEvent(final EventStreamJsonMessage event) {
return operationResponse.sendStreamEvent(event);
}

@Override
public CompletableFuture<Void> closeStream() {
return operationResponse.closeStream();
}

@Override
public boolean isClosed() {
return operationResponse.isClosed();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,16 @@
import software.amazon.awssdk.aws.greengrass.model.CreateDebugPasswordRequest;
import software.amazon.awssdk.aws.greengrass.model.CreateLocalDeploymentRequest;
import software.amazon.awssdk.aws.greengrass.model.DeferComponentUpdateRequest;
import software.amazon.awssdk.aws.greengrass.model.DeleteThingShadowRequest;
import software.amazon.awssdk.aws.greengrass.model.GetComponentDetailsRequest;
import software.amazon.awssdk.aws.greengrass.model.GetConfigurationRequest;
import software.amazon.awssdk.aws.greengrass.model.GetLocalDeploymentStatusRequest;
import software.amazon.awssdk.aws.greengrass.model.GetSecretValueRequest;
import software.amazon.awssdk.aws.greengrass.model.GetThingShadowRequest;
import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage;
import software.amazon.awssdk.aws.greengrass.model.ListComponentsRequest;
import software.amazon.awssdk.aws.greengrass.model.ListLocalDeploymentsRequest;
import software.amazon.awssdk.aws.greengrass.model.ListNamedShadowsForThingRequest;
import software.amazon.awssdk.aws.greengrass.model.PublishToIoTCoreRequest;
import software.amazon.awssdk.aws.greengrass.model.PublishToTopicRequest;
import software.amazon.awssdk.aws.greengrass.model.RestartComponentRequest;
Expand All @@ -26,6 +29,7 @@
import software.amazon.awssdk.aws.greengrass.model.SubscriptionResponseMessage;
import software.amazon.awssdk.aws.greengrass.model.UpdateConfigurationRequest;
import software.amazon.awssdk.aws.greengrass.model.UpdateStateRequest;
import software.amazon.awssdk.aws.greengrass.model.UpdateThingShadowRequest;
import software.amazon.awssdk.aws.greengrass.model.ValidateAuthorizationTokenRequest;
import software.amazon.awssdk.aws.greengrass.model.ValidateConfigurationUpdateEvents;
import software.amazon.awssdk.eventstreamrpc.StreamResponseHandler;
Expand All @@ -35,36 +39,54 @@ public interface GreengrassCoreIPC {
SubscribeToIoTCoreResponseHandler subscribeToIoTCore(final SubscribeToIoTCoreRequest request,
final Optional<StreamResponseHandler<IoTCoreMessage>> streamResponseHandler);

PublishToTopicResponseHandler publishToTopic(final PublishToTopicRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

PublishToIoTCoreResponseHandler publishToIoTCore(final PublishToIoTCoreRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToConfigurationUpdateResponseHandler subscribeToConfigurationUpdate(
final SubscribeToConfigurationUpdateRequest request,
final Optional<StreamResponseHandler<ConfigurationUpdateEvents>> streamResponseHandler);

DeleteThingShadowResponseHandler deleteThingShadow(final DeleteThingShadowRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

DeferComponentUpdateResponseHandler deferComponentUpdate(
final DeferComponentUpdateRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToValidateConfigurationUpdatesResponseHandler subscribeToValidateConfigurationUpdates(
final SubscribeToValidateConfigurationUpdatesRequest request,
final Optional<StreamResponseHandler<ValidateConfigurationUpdateEvents>> streamResponseHandler);

GetConfigurationResponseHandler getConfiguration(final GetConfigurationRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request,
final Optional<StreamResponseHandler<SubscriptionResponseMessage>> streamResponseHandler);

GetComponentDetailsResponseHandler getComponentDetails(final GetComponentDetailsRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

PublishToTopicResponseHandler publishToTopic(final PublishToTopicRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

ListComponentsResponseHandler listComponents(final ListComponentsRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

CreateDebugPasswordResponseHandler createDebugPassword(final CreateDebugPasswordRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

DeferComponentUpdateResponseHandler deferComponentUpdate(
final DeferComponentUpdateRequest request,
GetThingShadowResponseHandler getThingShadow(final GetThingShadowRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SendConfigurationValidityReportResponseHandler sendConfigurationValidityReport(
final SendConfigurationValidityReportRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

UpdateConfigurationResponseHandler updateConfiguration(final UpdateConfigurationRequest request,
UpdateThingShadowResponseHandler updateThingShadow(final UpdateThingShadowRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToValidateConfigurationUpdatesResponseHandler subscribeToValidateConfigurationUpdates(
final SubscribeToValidateConfigurationUpdatesRequest request,
final Optional<StreamResponseHandler<ValidateConfigurationUpdateEvents>> streamResponseHandler);
UpdateConfigurationResponseHandler updateConfiguration(final UpdateConfigurationRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

ValidateAuthorizationTokenResponseHandler validateAuthorizationToken(
final ValidateAuthorizationTokenRequest request,
Expand All @@ -83,13 +105,8 @@ GetSecretValueResponseHandler getSecretValue(final GetSecretValueRequest request
UpdateStateResponseHandler updateState(final UpdateStateRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

GetConfigurationResponseHandler getConfiguration(final GetConfigurationRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request,
final Optional<StreamResponseHandler<SubscriptionResponseMessage>> streamResponseHandler);

GetComponentDetailsResponseHandler getComponentDetails(final GetComponentDetailsRequest request,
ListNamedShadowsForThingResponseHandler listNamedShadowsForThing(
final ListNamedShadowsForThingRequest request,
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);

SubscribeToComponentUpdatesResponseHandler subscribeToComponentUpdates(
Expand Down
Loading