Skip to content

Commit

Permalink
Updating Greengrass client (#163)
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidOgunsAWS authored Jun 14, 2021
1 parent 67950ad commit 9037bcd
Show file tree
Hide file tree
Showing 20 changed files with 1,345 additions and 136 deletions.
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

0 comments on commit 9037bcd

Please sign in to comment.